diff --git a/src/main/java/eu/mhsl/minenet/minigames/instance/game/Game.java b/src/main/java/eu/mhsl/minenet/minigames/instance/game/Game.java index dfae886..7cd870b 100644 --- a/src/main/java/eu/mhsl/minenet/minigames/instance/game/Game.java +++ b/src/main/java/eu/mhsl/minenet/minigames/instance/game/Game.java @@ -11,6 +11,7 @@ import eu.mhsl.minenet.minigames.instance.Spawnable; import eu.mhsl.minenet.minigames.instance.room.Room; import net.minestom.server.MinecraftServer; import net.minestom.server.coordinate.Pos; +import net.minestom.server.entity.GameMode; import net.minestom.server.entity.Player; import net.minestom.server.event.item.ItemDropEvent; import net.minestom.server.event.player.PlayerBlockBreakEvent; @@ -98,7 +99,11 @@ public abstract class Game extends MineNetInstance implements Spawnable { public void unload() { this.onUnload(); - getPlayers().forEach(Room::setOwnRoom); + getPlayers().forEach(player -> { + Room.setOwnRoom(player); + player.setGameMode(GameMode.SURVIVAL); + player.setInvisible(false); + }); scheduler().scheduleTask(() -> { diff --git a/src/main/java/eu/mhsl/minenet/minigames/instance/game/stateless/types/elytraRace/ElytraRace.java b/src/main/java/eu/mhsl/minenet/minigames/instance/game/stateless/types/elytraRace/ElytraRace.java index 2206789..18d696a 100644 --- a/src/main/java/eu/mhsl/minenet/minigames/instance/game/stateless/types/elytraRace/ElytraRace.java +++ b/src/main/java/eu/mhsl/minenet/minigames/instance/game/stateless/types/elytraRace/ElytraRace.java @@ -39,6 +39,7 @@ public class ElytraRace extends StatelessGame { private final ValeGenerator vale = new ValeGenerator(); private final int gameHeight = 0; + private final int seaLevel = -55; private final int ringSpacing = 100; private final int ringCount; @@ -61,7 +62,7 @@ public class ElytraRace extends StatelessGame { this.ringCount = ringCount; setGenerator(vale); - vale.setCalculateSeaLevel(point -> -55); + vale.setCalculateSeaLevel(point -> seaLevel); vale.setXShiftMultiplier(integer -> NumberUtil.map(integer, 50, 500, 0, 1)); vale.addMixIn(new PlaneTerrainGenerator(gameHeight, Block.BARRIER)); @@ -105,9 +106,7 @@ public class ElytraRace extends StatelessGame { @Override protected void onLoad(@NotNull CompletableFuture callback) { Point spawnpoint = new Pos(vale.getXShiftAtZ(0), -46, 0); - GeneratorUtils.iterateArea(spawnpoint.sub(5, 0, 5), spawnpoint.add(5, 0, 5), point -> { - setBlock(point, BlockPallet.STREET.rnd()); - }); + GeneratorUtils.iterateArea(spawnpoint.sub(5, 0, 5), spawnpoint.add(5, 0, 5), point -> setBlock(point, BlockPallet.STREET.rnd())); generateRing(ringSpacing); generateRing(ringSpacing * 2); @@ -194,8 +193,8 @@ public class ElytraRace extends StatelessGame { Point ringPos = getRingPositionAtZ(zPos); GeneratorUtils.iterateArea( - ringPos.sub(100, 0, 0).withY(0), // TODO 0 was before update getDimensionType().getMinY, might not work correctly - ringPos.add(100, 0, 0).withY(gameHeight), + ringPos.sub(100, 0, 0).withY(0), + ringPos.add(100, 0, 0).withY(seaLevel), point -> batch.setBlock(point, Block.BARRIER) ); GeneratorUtils.iterateArea( diff --git a/src/main/java/eu/mhsl/minenet/minigames/instance/game/stateless/types/tetris/Tetris.java b/src/main/java/eu/mhsl/minenet/minigames/instance/game/stateless/types/tetris/Tetris.java index 3b5dfe1..f7b19ef 100644 --- a/src/main/java/eu/mhsl/minenet/minigames/instance/game/stateless/types/tetris/Tetris.java +++ b/src/main/java/eu/mhsl/minenet/minigames/instance/game/stateless/types/tetris/Tetris.java @@ -61,9 +61,11 @@ class Tetris extends StatelessGame { @Override protected void onStop() { - this.tetrisGames.forEach((player, tetrisGame) -> tetrisGame.loose()); - this.tetrisGames.forEach((player, tetrisGame) -> getScore().insertResult(player, tetrisGame.getScore())); - this.tetrisGames.forEach((player, tetrisGame) -> tetrisGame.sidebar.removeViewer(player)); + this.tetrisGames.forEach((player, tetrisGame) -> { + tetrisGame.loose(); + getScore().insertResult(player, tetrisGame.getScore()); + tetrisGame.sidebar.removeViewer(player); + }); } @Override @@ -136,6 +138,7 @@ class Tetris extends StatelessGame { private void letPlayerLoose(Player player) { TetrisGame tetrisGame = this.tetrisGames.get(player); player.setGameMode(GameMode.SPECTATOR); + player.setInvisible(true); getScore().insertResult(player, tetrisGame.getScore()); boolean allGamesLost = this.tetrisGames.values().stream() diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index 9f18e11..39956b0 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -17,4 +17,5 @@ api: port: 8080 admins: - - minetec \ No newline at end of file + - minetec + - 28Pupsi28 \ No newline at end of file