public class TabScheme { private static Comparator usersComparator; private static Comparator guildsComparator; public static void setScheme(final Tab t) { restart(); t.setSlot(1, "&8", "&1&7&m----------", "------"); t.setSlot(2, "&8", "&2&7&m----------", "------"); t.setSlot(3, "&8", "&3&7&m----------", "------"); t.setSlot(5, "&2&l ","A&7&lRIVI&8&l.PL", ""); t.setSlot(7, "&8", "&4&7&m----------", "------"); t.setSlot(8, "&8", "&5&7&m----------", "------"); t.setSlot(58, "&8", "&7&7&m----------", "------"); t.setSlot(59, "&8", "&8&7&m----------", "------"); t.setSlot(60, "&8", "&9&7&m----------", "------"); t.setSlot(9, "&8", "&6&7&m----------", "------"); t.setSlot(4, " &6", "TOP GRACZY", ""); t.setSlot(11, " &6", "INFORMACJE", ""); t.setSlot(14, " &c", "&c*&7&m----------", "---&c*"); t.setSlot(29, " &c", "&1&c*&7&m----------", "-----&c*"); t.setSlot(41, " &c", "&2&c*&7&m----------", "-----&c*"); t.setSlot(44, " &6", "TWOJA GILDIA", ""); t.setSlot(6, " &6", "TOP GILDII", ""); t.setSlot(38, "&7", "Online:&6 ", + Bukkit.getOnlinePlayers().size() + "&7/&6" + Config.SLOTMANAGER_SLOTS); int playerSlot = 10; int guildSlot = 12; for (int i = 0; i < 16; ++i) { String guild = ""; if (i < RankList.getTopGuilds().size()) { final RankList.Data g = RankList.getTopGuilds().get(i); guild = g.getKey().getTag() + " &7[" + g.getPoints() + "]"; } String user = ""; if (i < RankList.getTopPlayers().size()) { final RankList.Data g2 = RankList.getTopPlayers().get(i); user = g2.getKey().getLastName(); } t.setSlot(playerSlot, "&7", i + 1 + ". &r", user); t.setSlot(guildSlot, "&7", i + 1 + ". &r&c", guild); playerSlot += 3; guildSlot += 3; } final User user2 = UserManager.getUser(t.getPlayer()); final Guild g3 = GuildManager.getGuild(t.getPlayer()); t.setSlot(17, "&7", "Nick: ", "&6" + t.getPlayer().getName()); t.setSlot(20, "&7", "Punkty: ", "&6" + user2.getPoints()); t.setSlot(23, "&7", "Zabojstwa: ", "&6" + user2.getKills()); t.setSlot(26, "&7", "Zgony: ", "&6" + user2.getDeaths()); t.setSlot(32, "&7", "Godzina: ", "&6" + Util.getTime(System.currentTimeMillis())); t.setSlot(35, "&7", "TPS: ", "&6" + Ticking.getTPS()); t.setSlot(47, "&7", "&7Tag Gildii: ", "&8" + ((g3 == null) ? "brak" : g3.getTag())); t.setSlot(50, "&7", "&7Punkty: ", "&8" + ((g3 == null) ? "brak" : g3.getPoints())); t.setSlot(53, "&7", "&7Zabojstwa: ", "&8" + ((g3 == null) ? "brak" : g3.getKillsguild())); t.setSlot(56, "&7", "&7Zgony: ", "&8" + ((g3 == null) ? "brak" : g3.getDeathsguild())); } public static void highUpdate(final Tab t) { int playerSlot = 10; int guildSlot = 12; for (int i = 0; i < 16; ++i) { String guild = ""; if (i < RankList.getTopGuilds().size()) { final RankList.Data g = RankList.getTopGuilds().get(i); guild = g.getKey().getTag() + " &7[" + g.getPoints() + "]"; } String user = ""; if (i < RankList.getTopPlayers().size()) { final RankList.Data g2 = RankList.getTopPlayers().get(i); user = g2.getKey().getLastName(); } t.getSlot(playerSlot).updatePrefixAndSuffix("&7", user); t.getSlot(guildSlot).updatePrefixAndSuffix("&7", guild); playerSlot += 3; guildSlot += 3; } final User user2 = UserManager.getUser(t.getPlayer()); final Guild g3 = GuildManager.getGuild(t.getPlayer()); t.getSlot(17).updatePrefixAndSuffix("&7", "&6" + t.getPlayer().getName()); t.getSlot(20).updatePrefixAndSuffix("&7", "&6" + user2.getPoints()); t.getSlot(23).updatePrefixAndSuffix("&7", "&6" + user2.getKills()); t.getSlot(26).updatePrefixAndSuffix("&7", "&6" + user2.getDeaths()); t.getSlot(47).updatePrefixAndSuffix("&7", "&7&8" + ((g3 == null) ? "brak" : g3.getTag())); t.getSlot(50).updatePrefixAndSuffix("&7", "&7&8" + ((g3 == null) ? "brak" : g3.getPoints())); t.getSlot(53).updatePrefixAndSuffix("&7", "&7&8" + ((g3 == null) ? "brak" : g3.getKillsguild())); t.getSlot(56).updatePrefixAndSuffix("&7", "&7&8" + ((g3 == null) ? "brak" : g3.getDeathsguild())); } public static void lowUpdate(final Tab tab) { tab.getSlot(38).updatePrefixAndSuffix("&7", "&6" + Bukkit.getOnlinePlayers().size() + "&7/&6" + Config.SLOTMANAGER_SLOTS); tab.getSlot(35).updatePrefixAndSuffix("&7", "&6" + Ticking.getTPS()); tab.getSlot(32).updatePrefixAndSuffix("&7", "&6" + Util.getTime(System.currentTimeMillis())); } public static void restart() { final List stats = new ArrayList(); stats.addAll(UserManager.getUsers().values()); Collections.sort(stats, TabScheme.usersComparator); final List> toAddPlayers = new LinkedList>(); for (int i = 0; i < Math.min(16, stats.size()); ++i) { final User u = stats.get(i); toAddPlayers.add(new RankList.Data(u, u.getPoints())); } RankList.setTopPlayers(toAddPlayers); final List guilds = new ArrayList(); guilds.addAll(GuildManager.getGuilds().values()); Collections.sort(guilds, getGuildsComparator()); final List> toAddGuilds = new LinkedList>(); for (int j = 0; j < Math.min(16, guilds.size()); ++j) { final Guild g = guilds.get(j); toAddGuilds.add(new RankList.Data(g, g.getPoints())); } RankList.setTopGuilds(toAddGuilds); new TabHighUpdateTask().runTaskLater((Plugin)GuildPlugin.getPlugin(), 20L); } public static Comparator getUsersComparator() { return TabScheme.usersComparator; } public static Comparator getGuildsComparator() { return TabScheme.guildsComparator; } static { TabScheme.usersComparator = new Comparator() { @Override public int compare(final User o1, final User o2) { return o2.getPoints() - o1.getPoints(); } }; TabScheme.guildsComparator = new Comparator() { @Override public int compare(final Guild o1, final Guild o2) { return o2.getPoints() - o1.getPoints(); } }; } }