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 games = new ConcurrentHashMap<>(); private static final Set 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 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); } }