public class UserManager { private static final ConcurrentHashMap users = new ConcurrentHashMap(); public static User getUser(String name) { for (User u : users.values()) { if (u.getName().equalsIgnoreCase(name)) { return u; } } return null; } public static User getUser(Player p) { for (User u : users.values()) { if (u.getName().equalsIgnoreCase(p.getName())) { return u; } } return null; } public static void createrUser(Player p) { User u = new User(p); users.put(p.getName(), u); RankingManager.addRanking(u); KillManager.addKill(u); DeathManager.addDeath(u); AssistManager.addAssist(u); CoinsManager.addCoins(u); BreakManager.addBreak(u); } public static void createrUser(String p) { User u = new User(p); users.put(p, u); RankingManager.addRanking(u); KillManager.addKill(u); DeathManager.addDeath(u); AssistManager.addAssist(u); CoinsManager.addCoins(u); BreakManager.addBreak(u); } public static void deleteUser(User u) { users.remove(u.getName()); RankingManager.removeRanking(u); KillManager.removeKill(u); DeathManager.removeDeath(u); AssistManager.removeAssist(u); CoinsManager.removeCoins(u); BreakManager.removeBreak(u); CorePlugin.getStore().update(false, "DELETE FROM `{P}users` WHERE `name` = '" + u.getName() + "'"); } public static boolean canPlaceByBorder(Location loc) { return (Math.abs(Config.BORDER_WORLD_RADIUS - loc.getBlockX()) >= 10) && (Math.abs(Config.BORDER_WORLD_RADIUS - loc.getBlockZ()) >= 10) && (Math.abs(-Config.BORDER_WORLD_RADIUS - loc.getBlockX()) >= 10) && (Math.abs(-Config.BORDER_WORLD_RADIUS - loc.getBlockZ()) >= 10) && (Math.abs(-Config.BORDER_WORLD_RADIUS - loc.getBlockX()) >= 10) && (Math.abs(Config.BORDER_WORLD_RADIUS - loc.getBlockZ()) >= 10) && (Math.abs(Config.BORDER_WORLD_RADIUS - loc.getBlockX()) >= 10) && (Math.abs(-Config.BORDER_WORLD_RADIUS - loc.getBlockZ()) >= 10); } public static void loadUsers() { try { ResultSet rs = CorePlugin.getStore().query("SELECT * FROM `{P}users`"); while (rs.next()) { User u = new User(rs); users.put(u.getName(), u); RankingManager.addRanking(u); KillManager.addKill(u); DeathManager.addDeath(u); AssistManager.addAssist(u); CoinsManager.addCoins(u); BreakManager.addBreak(u); } rs.close(); Logger.info(new String[] {"Loaded " + users.size() + " players" }); } catch (SQLException e) { Logger.info(new String[] {"Can not load players Error " + e.getMessage() }); e.printStackTrace(); } } public static ConcurrentHashMap getUsers() { return users; } }