removed countdown when no player left

This commit is contained in:
Lars Neuhaus 2024-11-04 15:04:09 +01:00
parent f85ebbbb5d
commit 55be88b7da
2 changed files with 21 additions and 10 deletions

View File

@ -89,5 +89,5 @@ tasks.register('copyJarToServer', Exec) {
dependsOn shadowJar dependsOn shadowJar
mustRunAfter shadowJar mustRunAfter shadowJar
commandLine 'scp', 'build/libs/Minigames-1.0-SNAPSHOT.jar', 'root@10.20.6.5:/root/minigames' commandLine 'scp', 'build/libs/Minigames-1.0-SNAPSHOT.jar', '/home/lars/Documents/Minecraft Server/minigames'
} }

View File

@ -69,6 +69,7 @@ class Tetris extends StatelessGame {
@Override @Override
protected void onPlayerLeave(Player p) { protected void onPlayerLeave(Player p) {
this.tetrisGames.get(p).sidebar.removeViewer(p); this.tetrisGames.get(p).sidebar.removeViewer(p);
this.letPlayerLoose(p);
} }
@Override @Override
@ -124,19 +125,29 @@ class Tetris extends StatelessGame {
} }
protected void onPlayerTick(PlayerTickEvent event) { protected void onPlayerTick(PlayerTickEvent event) {
TetrisGame tetrisGame = this.tetrisGames.get(event.getPlayer()); Player player = event.getPlayer();
TetrisGame tetrisGame = this.tetrisGames.get(player);
if(tetrisGame == null) return; if(tetrisGame == null) return;
if(tetrisGame.lost && event.getPlayer().getGameMode() != GameMode.SPECTATOR) { if(tetrisGame.lost && player.getGameMode() != GameMode.SPECTATOR) {
event.getPlayer().setGameMode(GameMode.SPECTATOR); letPlayerLoose(player);
getScore().insertResult(event.getPlayer(), tetrisGame.getScore()); }
}
if(!setTimeLimit) { private void letPlayerLoose(Player player) {
TetrisGame tetrisGame = this.tetrisGames.get(player);
player.setGameMode(GameMode.SPECTATOR);
getScore().insertResult(player, tetrisGame.getScore());
boolean allGamesLost = this.tetrisGames.values().stream()
.filter(tetrisGame1 -> !tetrisGame1.lost)
.toList()
.isEmpty();
if(!setTimeLimit && !allGamesLost) {
this.setTimeLimit(90); this.setTimeLimit(90);
setTimeLimit = true; setTimeLimit = true;
new ChatMessage(Icon.SCIENCE).appendStatic("Noch 90 Sekunden!").send(getPlayers()); new ChatMessage(Icon.SCIENCE).appendStatic("Noch 90 Sekunden!").send(getPlayers());
} }
} }
}
@Override @Override
protected boolean onPlayerJoin(Player p) { protected boolean onPlayerJoin(Player p) {