Fix for events

This commit is contained in:
2025-05-14 19:28:27 +02:00
parent e893d7934a
commit 260656ad35
3 changed files with 9 additions and 3 deletions
@@ -37,7 +37,7 @@ public class EndCountdown extends StateDependent {
@Override @Override
public void enable() { public void enable() {
if (Config.isEvent()) { if (Config.isEvent()) {
task = Bukkit.getScheduler().runTaskLater(MissileWars.getPlugin(), this::stop, 1200); task = Bukkit.getScheduler().runTaskLater(MissileWars.getPlugin(), this::stop, 200);
} else { } else {
task = Bukkit.getScheduler().runTaskLater(MissileWars.getPlugin(), this::restart, Config.EndTime); task = Bukkit.getScheduler().runTaskLater(MissileWars.getPlugin(), this::restart, Config.EndTime);
} }
@@ -20,6 +20,7 @@
package de.steamwar.towerrun.countdowns; package de.steamwar.towerrun.countdowns;
import de.steamwar.towerrun.TowerRun; import de.steamwar.towerrun.TowerRun;
import de.steamwar.towerrun.config.Config;
import de.steamwar.towerrun.game.TowerRunGame; import de.steamwar.towerrun.game.TowerRunGame;
import de.steamwar.towerrun.state.GameStates; import de.steamwar.towerrun.state.GameStates;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
@@ -48,7 +49,11 @@ public class EndCountdown extends Countdown {
void timerEnd() { void timerEnd() {
Bukkit.getOnlinePlayers().forEach(player -> player.playSound(player.getLocation(), Sound.BLOCK_NOTE_BLOCK_PLING, 1, 1)); Bukkit.getOnlinePlayers().forEach(player -> player.playSound(player.getLocation(), Sound.BLOCK_NOTE_BLOCK_PLING, 1, 1));
if (RESETS) { if (RESETS) {
TowerRunGame.reset(); if (Config.event()) {
Bukkit.shutdown();
} else {
TowerRunGame.reset();
}
lobbyCountdown.setTime(lobbyCountdown.defaultTime()); lobbyCountdown.setTime(lobbyCountdown.defaultTime());
} else { } else {
Bukkit.shutdown(); Bukkit.shutdown();
@@ -62,12 +62,13 @@ public class LobbyListener extends GameStateBukkitListener {
int team = user.getTeam(); int team = user.getTeam();
if (team != Config.EVENT_TEAM_BLUE_ID && team != Config.EVENT_TEAM_RED_ID) { if (team != Config.EVENT_TEAM_BLUE_ID && team != Config.EVENT_TEAM_RED_ID) {
player.setGameMode(GameMode.SPECTATOR);
return; return;
} }
if (TowerRunGame.PLAYERS_ALIVE.stream().map(towerRunPlayer -> SteamwarUser.get(towerRunPlayer.player().getUniqueId()).getTeam()).filter(integer -> integer == team).count() < Config.EVENT_MAXIMUM_TEAM_MEMBERS) { if (TowerRunGame.PLAYERS_ALIVE.stream().map(towerRunPlayer -> SteamwarUser.get(towerRunPlayer.player().getUniqueId()).getTeam()).filter(integer -> integer == team).count() < Config.EVENT_MAXIMUM_TEAM_MEMBERS) {
TowerRunGame.PLAYERS_ALIVE.add(TowerRunPlayer.get(player)); TowerRunGame.PLAYERS_ALIVE.add(TowerRunPlayer.get(player));
} else {
player.setGameMode(GameMode.SPECTATOR);
} }
} else { } else {
TowerRunGame.PLAYERS_ALIVE.add(TowerRunPlayer.get(player)); TowerRunGame.PLAYERS_ALIVE.add(TowerRunPlayer.get(player));