@Override public ServerObject getServer(String serverName) { for (ServerGroupObject group : serverGroups) for (ServerObject server : group.getServers()) if (server.getName().equals(serverName)) return server; for (ServerGroupObject group : serverGroups) for (ServerObject server : group.getServers()) if (server.getName().equalsIgnoreCase(serverName)) return server; return null; }
@Override public int compareTo(Object o) { if (! (o instanceof ServerObject)) return 1; ServerObject so = (ServerObject) o; try { return Integer.parseInt(getName().split("-")[getName().split("-").length-1]) - Integer.parseInt(so.getName().split("-")[so.getName().split("-").length-1]); } catch (Exception e) { return getName().compareTo(so.getName()); } } }
public String replace(String string, ServerObject server) { if (server == null) return ChatColor.translateAlternateColorCodes('&', string); return ChatColor.translateAlternateColorCodes('&', string .replace("%name%", server.getName()) .replace("%server_name%", server.getName()) .replace("%current_players%", Integer.toString(server.getOnlinePlayerCount())) .replace("%max_players%", Integer.toString(server.getMaxPlayerCount())) .replace("%state%", server.getState()) .replace("%extra%", server.getExtra()) .replace("%motd%", server.getMotd()) .replace("%map%", server.getMap())); }
.filter(server -> !server.getName().equals(notThisName)) .filter(server -> server.getOnlinePlayerCount() < server.getMaxPlayerCount()) .collect(Collectors.toList()); if (history.contains(server.getName()) && ! removeServers.contains(server)) removeServers.add(server); break; return TimoCloudBungee.getInstance().getProxy().getServers().get(target.getName());
@Override public void execute(CommandSender sender, String[] strings) { for (ServerGroupObject serverGroupObject : TimoCloudAPI.getBungeeAPI().getThisProxy().getGroup().getServerGroups()) { for (ServerObject serverObject : serverGroupObject.getServers()) { sender.sendMessage( new TextComponent(ChatColor.translateAlternateColorCodes('&', "&a[" + serverObject.getName() + "] &e(" + serverObject.getOnlinePlayerCount() + "): &r" + serverObject.getOnlinePlayers().stream().map(PlayerObject::getName).sorted(String.CASE_INSENSITIVE_ORDER).collect(Collectors.joining(", ")))) ); } } sender.sendMessage(new TextComponent(ChatColor.RESET + "Total players online: " + TimoCloudAPI.getBungeeAPI().getThisProxy().getGroup().getOnlinePlayerCount())); } }
public void onSignClick(Player player, Location location) { SignInstance signInstance = getSignInstanceByLocation(location); if (signInstance == null || signInstance.getTarget() == null || signInstance.getTargetServer() == null) return; TimoCloudBukkit.getInstance().sendPlayerToServer(player, signInstance.getTargetServer().getName()); }
@Override public void execute(CommandSender sender, String[] args) { if (args.length == 0) { sendMessage(sender, "Please specify the name of the player you want to find"); return; } PlayerObject playerObject = TimoCloudAPI.getUniversalAPI().getPlayer(args[0]); if (playerObject == null) { sendMessage(sender, "&cThe player '&e" + args[0] + "&c' is not online."); return; } sendMessage(sender, "&e" + playerObject.getName() + " &ais online at &6" + playerObject.getServer().getName()); }