Files
blockandseek/src/main/java/hdvtdev/blockAndSeek/managers/GamesManager.java
2025-07-03 02:40:14 +03:00

56 lines
1.5 KiB
Java

package hdvtdev.blockAndSeek.managers;
import hdvtdev.blockAndSeek.BlockAndSeek;
import hdvtdev.blockAndSeek.BlockAndSeekGame;
import hdvtdev.blockAndSeek.BlockAndSeekMap;
import org.bukkit.Bukkit;
import org.bukkit.WorldCreator;
import org.bukkit.entity.Player;
import java.io.File;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
public class GamesManager {
private static final ConcurrentHashMap<String, BlockAndSeekGame> games = new ConcurrentHashMap<>();
private static final Set<Player> seekerImmune = ConcurrentHashMap.newKeySet();
public static boolean triggerSeekerImmune(Player player) {
return seekerImmune.remove(player);
}
public static void addSeekerImmune(Player player) {
seekerImmune.add(player);
}
public static Set<String> getAvailableGames() {
return games.keySet();
}
public static int createGame(String name) {
if (games.containsKey(name)) return 1;
if (Bukkit.getWorld(name) == null) {
if (new File(BlockAndSeek.getServerDataFolder(), name).exists()) {
Bukkit.createWorld(new WorldCreator(name));
} else return 2;
}
BlockAndSeekMap map = MapsManager.getMap(name);
BlockAndSeekGame game = new BlockAndSeekGame(name, map);
games.put(name, game);
return 0;
}
public static void remove(String name) {
games.remove(name);
}
public static BlockAndSeekGame get(String name) {
return games.get(name);
}
}