Fix arena start condition

This commit is contained in:
Lixfel
2024-12-03 17:05:53 +01:00
parent 3abba4ae35
commit 7b55e99be0
2 changed files with 8 additions and 12 deletions
@@ -85,6 +85,14 @@ public class ServerStarter {
directory = new File(SERVER_PATH, mode.getFolder());
arguments.put("config", mode.getConfig());
tempWorld(SERVER_PATH + mode.getFolder() + "/arenas/" + map);
startCondition = () -> {
if(playersToSend.stream().anyMatch(player -> Subserver.isArena(Subserver.getSubserver(player)))) {
playersToSend.forEach(player -> Chatter.of(player).system("FIGHT_IN_ARENA"));
return false;
}
return true;
};
return this;
}
@@ -60,19 +60,7 @@ public class FightCommand extends SWCommand {
sender.sendMessage(start);
}
private static boolean alreadyInArena(PlayerChatter sender){
if(Subserver.isArena(Subserver.getSubserver(sender.getPlayer()))){
sender.system("FIGHT_IN_ARENA");
return true;
}
return false;
}
static void createArena(PlayerChatter sender, String precommand, boolean allowMerging, ArenaMode arenaMode, String map, boolean historic, FightCallback callback) {
if(alreadyInArena(sender))
return;
if (arenaMode == null) {
getModes(sender, precommand, historic);
return;