From ad280c96c9f7a5c1490ca20e6f9cd449f384e8f4 Mon Sep 17 00:00:00 2001 From: Sarah Date: Thu, 19 Nov 2015 20:45:40 +0100 Subject: [PATCH 01/43] adding interactive Chat elements. --- .../src/mineplex/core/common/Rank.java | 62 +++++++++++++++++ .../src/mineplex/hub/HubManager.java | 28 +++++++- .../game/arcade/managers/GameChatManager.java | 69 +++++++++++++++++-- 3 files changed, 151 insertions(+), 8 deletions(-) diff --git a/Plugins/Mineplex.Core.Common/src/mineplex/core/common/Rank.java b/Plugins/Mineplex.Core.Common/src/mineplex/core/common/Rank.java index 45fd28921..803ec5c0b 100644 --- a/Plugins/Mineplex.Core.Common/src/mineplex/core/common/Rank.java +++ b/Plugins/Mineplex.Core.Common/src/mineplex/core/common/Rank.java @@ -116,4 +116,66 @@ public enum Rank { return _donor; } + + public String getRankDescription() + { + switch(this) + { + case ULTRA: + return "Mineplex’s first premium rank\n" + + "Buy ULTRA at mineplex.com/shop!"; + case HERO: + return "Mineplex’s second premium rank\n" + + "Buy HERO at mineplex.com/shop!"; + case LEGEND: + return "Mineplex’s third premium rank\n" + + "Buy LEGEND at mineplex.com/shop!"; + case TITAN: + return "This is a special rank that can only be found in\n" + + "mythical chests and on special occasions!"; + case TWITCH: + return "Official Twitch Streamer!"; + case YOUTUBE: + return "Official Youtuber!"; + case MEDIA: + return "Official Mineplex Artist or Designer!"; + case MAPDEV: + return "Players with the Builder rank are building\n" + + "all the beautiful maps you can see on Mineplex!"; + case MAPLEAD: + return "Mapleads are the head of Builders."; + case HELPER: + return "Trainees are staff in training,\n" + + "and are here to help players and moderate!\n" + + "If you have any question, just message them per /a."; + case MODERATOR: + return "Moderators are here to moderate\n" + + "and help players with any concerns they have. \n" + + "If you have any question, just message them per /a."; + case SNR_MODERATOR: + return "Senior Moderators are in a special\n" + + "Senior Moderator team where they have to fulfill team tasks.\n" + + "They are similar to Moderators who you can always ask for help!\n" + + "If you have any question, just message them per /a."; + case SUPPORT: + return "Support Agents take care of all the tickets\n" + + "that get sent to mineplex.com/support"; + case JNR_DEV: + return "Junior Developers are making new Games\n" + + "and new Features for you to enjoy!"; + case ADMIN: + return "Administrators have their own\n" + + " Senior Moderator Team that they lead!"; + case DEVELOPER: + return "Developers are making new Games\n" + + "and new Features for you to enjoy!"; + case OWNER: + return "Owners are the Founder of Mineplex\n" + + "and they all Manage different parts of it!"; + case LT: + return "Leaders are in charge of special teams\n" + + "such as the whole staff team or the support!"; + } + return ""; + } } diff --git a/Plugins/Mineplex.Hub/src/mineplex/hub/HubManager.java b/Plugins/Mineplex.Hub/src/mineplex/hub/HubManager.java index 1c774a995..b47d4ad5d 100644 --- a/Plugins/Mineplex.Hub/src/mineplex/hub/HubManager.java +++ b/Plugins/Mineplex.Hub/src/mineplex/hub/HubManager.java @@ -77,8 +77,16 @@ import mineplex.minecraft.game.core.combat.DeathMessageType; import mineplex.minecraft.game.core.combat.event.CombatDeathEvent; import mineplex.minecraft.game.core.condition.ConditionManager; import mineplex.minecraft.game.core.damage.CustomDamageEvent; +import net.md_5.bungee.api.chat.BaseComponent; +import net.md_5.bungee.api.chat.ClickEvent; +import net.md_5.bungee.api.chat.ComponentBuilder; +import net.md_5.bungee.api.chat.HoverEvent; +import net.md_5.bungee.api.chat.HoverEvent.Action; +import net.md_5.bungee.api.chat.TextComponent; +import net.minecraft.server.v1_8_R3.ChatMessage; import net.minecraft.server.v1_8_R3.EntityInsentient; import net.minecraft.server.v1_8_R3.EntityPlayer; +import net.minecraft.server.v1_8_R3.IChatBaseComponent; import org.bukkit.Bukkit; import org.bukkit.ChatColor; @@ -586,6 +594,18 @@ public class HubManager extends MiniClientPlugin } else { + TextComponent rankComponent = new TextComponent(rankStr); + TextComponent playerNameText = new TextComponent(ChatColor.YELLOW + playerName); + TextComponent component = new TextComponent(); + + rankComponent.setHoverEvent(new HoverEvent(Action.SHOW_TEXT, new ComponentBuilder(rank.getColor() + rank.getTag(true, true) + ChatColor.WHITE + ":\n" + rank.getRankDescription()).create())); + + // playerNameText.setClickEvent(new ClickEvent(net.md_5.bungee.api.chat.ClickEvent.Action.RUN_COMMAND, "/stats " + playerName)); + + component.setText(levelStr); + component.addExtra(rankComponent); + component.addExtra(playerNameText); + component.addExtra(" " + ChatColor.WHITE + event.getMessage()); for (Player other : UtilServer.getPlayers()) { if (_tutorialManager.InTutorial(other)) @@ -594,9 +614,13 @@ public class HubManager extends MiniClientPlugin continue; } - event.setMessage(event.getMessage()); - event.setFormat(levelStr + rankStr + C.cYellow + playerName + " " + C.cWhite + "%2$s"); + // event.setMessage(event.getMessage()); + // event.setFormat(levelStr + rankStr + C.cYellow + playerName + " " + C.cWhite + "%2$s"); + if(!event.isCancelled()) + other.spigot().sendMessage(component); + } + event.setCancelled(true); } } diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameChatManager.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameChatManager.java index 4b520c4d8..939d70081 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameChatManager.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameChatManager.java @@ -6,10 +6,15 @@ import mineplex.core.account.CoreClient; import mineplex.core.common.Rank; import mineplex.core.common.util.C; import mineplex.core.common.util.F; +import mineplex.core.common.util.UtilServer; import mineplex.core.party.Party; import nautilus.game.arcade.ArcadeManager; import nautilus.game.arcade.game.Game.GameState; import nautilus.game.arcade.game.GameTeam; +import net.md_5.bungee.api.chat.ComponentBuilder; +import net.md_5.bungee.api.chat.HoverEvent; +import net.md_5.bungee.api.chat.TextComponent; +import net.md_5.bungee.api.chat.HoverEvent.Action; import org.bukkit.ChatColor; import org.bukkit.entity.Player; @@ -64,7 +69,7 @@ public class GameChatManager implements Listener if(!cc.GetRank().has(Rank.JNR_DEV)) { - disguiseTag = ChatColor.BLACK + " "; + disguiseTag = ChatColor.BLACK + " "; } } @@ -123,7 +128,7 @@ public class GameChatManager implements Listener //Base Format event.setFormat(disguiseTag + dead + levelStr + rankStr + Manager.GetColor(sender) + senderName + " " + ChatColor.WHITE + "%2$s"); - + TextComponent message = getChatMessage(disguiseTag, dead, levelStr, rank, rankStr, sender, event.getMessage(), senderName, null, true); //Public/Private (Not If Player Dead) if (Manager.GetGame() != null && Manager.GetGame().GetState() == GameState.Live) { @@ -139,18 +144,27 @@ public class GameChatManager implements Listener { event.setMessage(event.getMessage().substring(1, event.getMessage().length())); event.setFormat(disguiseTag + C.cWhite + C.Bold + "Team" + " " + dead + levelStr + rankStr + team.GetColor() + senderName + " " + C.cWhite + "%2$s"); + message = getChatMessage(disguiseTag, dead, levelStr, rank, rankStr, sender, event.getMessage(), senderName, team, false); } //All Chat else { globalMessage = true; event.setFormat(disguiseTag + dead + levelStr + rankStr + team.GetColor() + senderName + " " + C.cWhite + "%2$s"); + message = getChatMessage(disguiseTag, dead, levelStr, rank, rankStr, sender, event.getMessage(), senderName, team, true); } } - + if (globalMessage) + { + if(!event.isCancelled()) + { + for(Player player : UtilServer.getPlayers()) + player.spigot().sendMessage(message); + } + event.setCancelled(true); return; - + } //Team Message Remove Recipient Iterator recipientIterator = event.getRecipients().iterator(); @@ -159,19 +173,62 @@ public class GameChatManager implements Listener Player receiver = recipientIterator.next(); if (!Manager.GetServerConfig().Tournament && Manager.GetClients().Get(receiver).GetRank().has(Rank.MODERATOR)) + { + if(!event.isCancelled()) + receiver.spigot().sendMessage(message); + continue; - + } GameTeam recTeam = Manager.GetGame().GetTeam(receiver); GameTeam sendTeam = Manager.GetGame().GetTeam(sender); if (recTeam == null || sendTeam == null) - { + { continue; } if (!recTeam.equals(sendTeam)) + { recipientIterator.remove(); + } + else + { + if(!event.isCancelled()) + receiver.spigot().sendMessage(message); + } } + event.setCancelled(true); + return; } + if(!event.isCancelled()) + { + for(Player player : UtilServer.getPlayers()) + player.spigot().sendMessage(message); + } + event.setCancelled(true); + } + + public TextComponent getChatMessage(String disguiseTag, String dead, String levelStr, Rank rank, String rankStr, Player player, String message, String sendername, GameTeam team, boolean global) + { + TextComponent rankComponent = new TextComponent(rankStr); + TextComponent component = new TextComponent(); + + rankComponent.setHoverEvent(new HoverEvent(Action.SHOW_TEXT, new ComponentBuilder(rank.getColor() + rank.getTag(true, true) + ChatColor.WHITE + ":\n" + rank.getRankDescription()).create())); + + component.setText(disguiseTag); + if(!global) + component.addExtra(C.cWhite + C.Bold + "Team "); + + component.addExtra(dead); + component.addExtra(levelStr); + component.addExtra(rankComponent); + if(team == null) + component.addExtra(Manager.GetColor(player) + sendername); + else + component.addExtra(team.GetColor() + sendername); + + component.addExtra(" " + ChatColor.WHITE + message); + + return component; } } From 263e1326cd0ea37bba178caf74756aa597c3b6be Mon Sep 17 00:00:00 2001 From: Teddy Date: Sat, 9 Jan 2016 20:22:29 +0000 Subject: [PATCH 02/43] JSON progress --- .../nautilus/game/arcade/ArcadeManager.java | 8 +- .../src/nautilus/game/arcade/game/Game.java | 3 + .../game/games/baconbrawl/BaconBrawl.java | 2 + .../game/games/evolution/Evolution.java | 2 + .../game/arcade/managers/GameChatManager.java | 201 ++++++++++++------ 5 files changed, 155 insertions(+), 61 deletions(-) diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/ArcadeManager.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/ArcadeManager.java index db787f98e..c1698e5db 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/ArcadeManager.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/ArcadeManager.java @@ -170,6 +170,7 @@ public class ArcadeManager extends MiniPlugin implements IRelation private GameTournamentManager _gameTournamentManager; private GameWorldManager _gameWorldManager; private GameHostManager _gameHostManager; + private GameChatManager _gameChatManager; private ServerStatusManager _serverStatusManager; private InventoryManager _inventoryManager; private CosmeticManager _cosmeticManager; @@ -273,7 +274,7 @@ public class ArcadeManager extends MiniPlugin implements IRelation _arcadeShop = new ArcadeShop(this, clientManager, donationManager); // Managers - new GameChatManager(this); + _gameChatManager = new GameChatManager(this); _gameCreationManager = new GameCreationManager(this); _gameGemManager = new GameGemManager(this); _gameManager = new GameManager(this); @@ -345,6 +346,11 @@ public class ArcadeManager extends MiniPlugin implements IRelation addCommand(new RequiredRankCommand(this)); } + public GameChatManager getGameChatManager() + { + return _gameChatManager; + } + public GameServerConfig GetServerConfig() { return _serverConfig; diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/Game.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/Game.java index 6eec52eb7..3659b0ef6 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/Game.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/Game.java @@ -1,10 +1,12 @@ package nautilus.game.arcade.game; import java.util.ArrayList; +import java.util.Arrays; import java.util.Collection; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; +import java.util.LinkedList; import java.util.List; import java.util.Map.Entry; import java.util.Set; @@ -73,6 +75,7 @@ import nautilus.game.arcade.game.GameTeam.PlayerState; import nautilus.game.arcade.kit.Kit; import nautilus.game.arcade.kit.KitAvailability; import nautilus.game.arcade.kit.Perk; +import nautilus.game.arcade.managers.GameChatManager; import nautilus.game.arcade.managers.GameLobbyManager; import nautilus.game.arcade.scoreboard.GameScoreboard; import nautilus.game.arcade.stats.AssistsStatTracker; diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/baconbrawl/BaconBrawl.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/baconbrawl/BaconBrawl.java index 0ee17ce94..1648437e9 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/baconbrawl/BaconBrawl.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/baconbrawl/BaconBrawl.java @@ -38,6 +38,8 @@ public class BaconBrawl extends SoloGame DamageTeamSelf = true; HungerSet = 20; PrepareFreeze = false; + + Manager.getGameChatManager().setGameChatStats("Kills", "Deaths"); } @EventHandler diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/evolution/Evolution.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/evolution/Evolution.java index bfcd5896f..3dab469b2 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/evolution/Evolution.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/evolution/Evolution.java @@ -162,6 +162,8 @@ public class Evolution extends SoloGame new NoMeleeTracker(this), new KillsWhileEvolvingTracker(this) ); + + Manager.getGameChatManager().setGameChatStats("Kills", "Deaths"); } public EvolveManager getEvolve() diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameChatManager.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameChatManager.java index 4b520c4d8..dd5bfcc13 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameChatManager.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameChatManager.java @@ -1,15 +1,12 @@ package nautilus.game.arcade.managers; +import java.util.AbstractMap; +import java.util.Arrays; +import java.util.HashMap; import java.util.Iterator; - -import mineplex.core.account.CoreClient; -import mineplex.core.common.Rank; -import mineplex.core.common.util.C; -import mineplex.core.common.util.F; -import mineplex.core.party.Party; -import nautilus.game.arcade.ArcadeManager; -import nautilus.game.arcade.game.Game.GameState; -import nautilus.game.arcade.game.GameTeam; +import java.util.LinkedHashMap; +import java.util.LinkedList; +import java.util.Map; import org.bukkit.ChatColor; import org.bukkit.entity.Player; @@ -17,96 +14,119 @@ import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.player.AsyncPlayerChatEvent; import org.bukkit.event.player.PlayerCommandPreprocessEvent; +import net.minecraft.server.v1_8_R3.IChatBaseComponent; +import net.minecraft.server.v1_8_R3.PacketPlayOutChat; + +import mineplex.core.account.CoreClient; +import mineplex.core.common.Rank; +import mineplex.core.common.util.C; +import mineplex.core.common.util.F; +import mineplex.core.common.util.UtilPlayer; +import mineplex.core.party.Party; +import nautilus.game.arcade.ArcadeManager; +import nautilus.game.arcade.game.Game.GameState; +import nautilus.game.arcade.game.GameTeam; +import org.apache.commons.lang.StringUtils; +import org.json.simple.JSONObject; public class GameChatManager implements Listener { - ArcadeManager Manager; + + private ArcadeManager _manager; + + private LinkedList _chatStats = new LinkedList<>(); public GameChatManager(ArcadeManager manager) { - Manager = manager; + _manager = manager; - Manager.getPluginManager().registerEvents(this, Manager.getPlugin()); - } + _manager.getPluginManager().registerEvents(this, _manager.getPlugin()); + } @EventHandler public void MeCancel(PlayerCommandPreprocessEvent event) { if (event.getMessage().startsWith("/me ")) { - event.getPlayer().sendMessage(F.main("Mirror", "You can't see /me messages, are you a vampire?")); + UtilPlayer.message(event.getPlayer(), F.main("Mirror", "You can't see /me messages, are you a vampire?")); event.setCancelled(true); } } @EventHandler - public void HandleChat(AsyncPlayerChatEvent event) + public void HandleChat(AsyncPlayerChatEvent event) { if (event.isCancelled()) return; Player sender = event.getPlayer(); String senderName = sender.getName(); - - //Dead Prefix - String dead = ""; - if (Manager.GetGame() != null) - if (Manager.GetGame().GetTeam(sender) != null) - if (!Manager.GetGame().IsAlive(sender)) - dead = C.cGray + "Dead "; - Rank rank = Manager.GetClients().Get(sender).GetRank(); + PacketPlayOutChat packet = null; + String format = ""; + String name = ""; + String message = ""; + + + //Dead Prefix + String dead = ""; + if (_manager.GetGame() != null) + if (_manager.GetGame().GetTeam(sender) != null) + if (!_manager.GetGame().IsAlive(sender)) + dead = C.cGray + "Dead " + C.Reset; + + Rank rank = _manager.GetClients().Get(sender).GetRank(); String disguiseTag = ""; - if(Manager.GetClients().Get(sender).isDisguised()) + if(_manager.GetClients().Get(sender).isDisguised()) { - CoreClient cc = Manager.GetClients().Get(sender); - rank = cc.getDisguisedRank(); - - if(!cc.GetRank().has(Rank.JNR_DEV)) - { - disguiseTag = ChatColor.BLACK + " "; - } + CoreClient cc = _manager.GetClients().Get(sender); + rank = cc.getDisguisedRank(); + + if(!cc.GetRank().has(Rank.JNR_DEV)) + { + disguiseTag = ChatColor.BLACK + " "; + } } - + boolean ownsUltra = false; - if (Manager.GetGame() != null) - ownsUltra= Manager.GetDonation().Get(sender.getName()).OwnsUnknownPackage(Manager.GetServerConfig().ServerType + " ULTRA"); + if (_manager.GetGame() != null) + ownsUltra = _manager.GetDonation().Get(sender.getName()).OwnsUnknownPackage(_manager.GetServerConfig().ServerType + " ULTRA"); //Level String levelStr = ""; - if (!Manager.GetGameHostManager().isPrivateServer()) - levelStr = Manager.GetAchievement().getMineplexLevel(sender, rank); - + if (!_manager.GetGameHostManager().isPrivateServer()) + levelStr = _manager.GetAchievement().getMineplexLevel(sender, rank); + String rankStr = ""; //Rank Prefix & MPS Host Prefix - if (Manager.GetGameHostManager().isHost(event.getPlayer())) + if (_manager.GetGameHostManager().isHost(event.getPlayer())) { - if (Manager.GetGameHostManager().isEventServer()) - rankStr = C.cDGreen + C.Bold + "Event Host "; + if (_manager.GetGameHostManager().isEventServer()) + rankStr = C.cDGreen + C.Bold + "Event Host " + C.Reset; else - rankStr = C.cDGreen + C.Bold + "MPS Host "; + rankStr = C.cDGreen + C.Bold + "MPS Host " + C.Reset; } - else if (Manager.GetGameHostManager().isAdmin(event.getPlayer(), false)) + else if (_manager.GetGameHostManager().isAdmin(event.getPlayer(), false)) { - if (Manager.GetGameHostManager().isEventServer()) - rankStr = C.cDGreen + C.Bold + "Event Co-Host "; + if (_manager.GetGameHostManager().isEventServer()) + rankStr = C.cDGreen + C.Bold + "Event Co-Host " + C.Reset; else - rankStr = C.cDGreen + C.Bold + "MPS Co-Host "; + rankStr = C.cDGreen + C.Bold + "MPS Co-Host " + C.Reset; } else { if (rank != Rank.ALL) - rankStr = rank.getTag(true, true) + " "; + rankStr = rank.getTag(true, true) + " " + C.Reset; if (ownsUltra && !rank.has(Rank.ULTRA)) - rankStr = Rank.ULTRA.getTag(true, true) + " "; + rankStr = Rank.ULTRA.getTag(true, true) + " " + C.Reset; } - + if (event.getMessage().charAt(0) == '@') { //Party Chat - Party party = Manager.getPartyManager().GetParty(sender); + Party party = _manager.getPartyManager().GetParty(sender); if (party != null) { @@ -115,24 +135,39 @@ public class GameChatManager implements Listener event.setMessage(event.getMessage().substring(1, event.getMessage().length())); event.setFormat(levelStr + C.cDPurple + C.Bold + "Party " + C.cWhite + C.Bold + senderName + " " + C.cPurple + "%2$s"); - event.getRecipients().addAll(party.GetPlayersOnline()); + format = event.getFormat().split(sender.getName())[0]; + name = _manager.GetColor(sender) + sender.getName(); + message = event.getFormat().split(sender.getName())[1].replace("%2$s", "") + JSONObject.escape(event.getMessage()); + + if(!_manager.GetGame().IsLive()) + { + event.getRecipients().addAll(party.GetPlayersOnline()); + } + else + { + for(Player partyUser : party.GetPlayersOnline()) + { + + } + } + //TODO send to party players return; } } - + //Base Format - event.setFormat(disguiseTag + dead + levelStr + rankStr + Manager.GetColor(sender) + senderName + " " + ChatColor.WHITE + "%2$s"); + event.setFormat(disguiseTag + dead + levelStr + rankStr + _manager.GetColor(sender) + senderName + " " + ChatColor.WHITE + "%2$s"); //Public/Private (Not If Player Dead) - if (Manager.GetGame() != null && Manager.GetGame().GetState() == GameState.Live) + if (_manager.GetGame() != null && _manager.GetGame().GetState() == GameState.Live) { boolean globalMessage = false; //Team - GameTeam team = Manager.GetGame().GetTeam(sender); + GameTeam team = _manager.GetGame().GetTeam(sender); - if (team != null) + if (team != null) { //Team Chat if (event.getMessage().charAt(0) == '@') @@ -149,7 +184,10 @@ public class GameChatManager implements Listener } if (globalMessage) + { + //TODO send globally return; + } //Team Message Remove Recipient Iterator recipientIterator = event.getRecipients().iterator(); @@ -158,12 +196,12 @@ public class GameChatManager implements Listener { Player receiver = recipientIterator.next(); - if (!Manager.GetServerConfig().Tournament && Manager.GetClients().Get(receiver).GetRank().has(Rank.MODERATOR)) + if (!_manager.GetServerConfig().Tournament && _manager.GetClients().Get(receiver).GetRank().has(Rank.MODERATOR)) continue; - - GameTeam recTeam = Manager.GetGame().GetTeam(receiver); - GameTeam sendTeam = Manager.GetGame().GetTeam(sender); - + + GameTeam recTeam = _manager.GetGame().GetTeam(receiver); + GameTeam sendTeam = _manager.GetGame().GetTeam(sender); + if (recTeam == null || sendTeam == null) { continue; @@ -174,4 +212,47 @@ public class GameChatManager implements Listener } } } + + public void setGameChatStats(String... stats) + { + for(String str : stats) + { + System.out.println(_manager.GetGame().GetName() + "." + str); + _chatStats.add(_manager.GetGame().GetName() + "." + str); + } + } + + private String buildJSON(Player player, String format, String name, String[] hoverText, String message) + { + LinkedHashMap> temp = new LinkedHashMap>(); + + int x = 0; + for(String str : _manager.GetGame().GetStats().get(player).keySet()) + { + for(String str2 : hoverText) + { + if(str.equalsIgnoreCase(str2)) + { + Map.Entry entry = new AbstractMap.SimpleEntry(str, _manager.GetGame().GetStats().get(player).get(str)); + temp.put(x, entry); + x++; + } + + continue; + } + } + + String f = "{\"text\":\"\",\"extra\":[{\"text\":\"" + format + "\"}"; + String n = "{\"text\":\"NAME\","; + String stats = "\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\""; + String m = "{\"text\":\"MESSAGE\"}]}"; + + for(int i = 0; i < temp.size(); i++) + { + if(temp.containsKey(i)) + stats += C.cWhite + temp.get(i).getKey() + ": " + C.cGray + temp.get(i).getValue() + (i == hoverText.length ? "\"}}}" : "\n"); + } + + return f + n + stats + m; + } } From 1bce624ab3ed7e2f9e7efd03d9311e13623ef7a7 Mon Sep 17 00:00:00 2001 From: Teddy Date: Sun, 10 Jan 2016 15:13:11 +0000 Subject: [PATCH 03/43] Finally got rid of MalformedJSON --- .../game/games/minestrike/MineStrike.java | 66 +++++++------- .../game/arcade/managers/GameChatManager.java | 86 ++++++++++++++----- 2 files changed, 100 insertions(+), 52 deletions(-) diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/minestrike/MineStrike.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/minestrike/MineStrike.java index 1024a5338..cd93a8e04 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/minestrike/MineStrike.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/minestrike/MineStrike.java @@ -243,57 +243,57 @@ public class MineStrike extends TeamGame { super(manager, GameType.MineStrike, - new Kit[] - { - new KitPlayer(manager), + new Kit[] + { + new KitPlayer(manager), }, - new String[] - { - C.cAqua + "SWAT" + C.cWhite + " Defend the Bomb Sites", - C.cAqua + "SWAT" + C.cWhite + " Kill the Bombers", - " ", - C.cRed + "Bombers" + C.cWhite + " Plant the Bomb at Bomb Site", - C.cRed + "Bombers" + C.cWhite + " Kill the SWAT Team", - }); + new String[] + { + C.cAqua + "SWAT" + C.cWhite + " Defend the Bomb Sites", + C.cAqua + "SWAT" + C.cWhite + " Kill the Bombers", + " ", + C.cRed + "Bombers" + C.cWhite + " Plant the Bomb at Bomb Site", + C.cRed + "Bombers" + C.cWhite + " Kill the SWAT Team", + }); _shopManager = new ShopManager(this); this.StrictAntiHack = true; - + AnnounceStay = false; - + this.HungerSet = 20; this.ItemDrop = true; this.DeathTeleport = false; - + this.InventoryClick = true; this.JoinInProgress = true; - + this.DontAllowOverfill = true; _scoreObj = Scoreboard.GetScoreboard().registerNewObjective("HP", "dummy"); _scoreObj.setDisplaySlot(DisplaySlot.BELOW_NAME); - - this._help = new String[] + + this._help = new String[] { - //"Tap Crouch when close to an ally to Boost", - "Open Inventory at spawn to buy guns", - "Hold Right-Click to Plant Bomb", - "Look at the Bomb to Defuse it", - "Moving decreases accuracy", - "Sprinting heavily decreases accuracy", - "Jumping massively decreases accuracy", - "Crouching increases accuracy", - "Left-Click to drop Grenades", - "Right-Click to throw Grenades", - "Burst Fire for greater accuracy", - "Sniper Rifles are only accurate while scoped", - "Rifles have 30% recoil reduction while scoped", - "Pick up better weapons from dead players" + //"Tap Crouch when close to an ally to Boost", + "Open Inventory at spawn to buy guns", + "Hold Right-Click to Plant Bomb", + "Look at the Bomb to Defuse it", + "Moving decreases accuracy", + "Sprinting heavily decreases accuracy", + "Jumping massively decreases accuracy", + "Crouching increases accuracy", + "Left-Click to drop Grenades", + "Right-Click to throw Grenades", + "Burst Fire for greater accuracy", + "Sniper Rifles are only accurate while scoped", + "Rifles have 30% recoil reduction while scoped", + "Pick up better weapons from dead players" }; registerStatTrackers( @@ -304,10 +304,12 @@ public class MineStrike extends TeamGame new MineStrikeLastAliveKillStatTracker(this), new KillFastStatTracker(this, 4, 5, "KillingSpree"), new KillsWithConditionStatTracker(this, "Blindfolded", ConditionType.BLINDNESS, "Flash Bang", 2), - + new TeamDeathsStatTracker(this), new TeamKillsStatTracker(this) ); + + Manager.getGameChatManager().setGameChatStats("Kills", "Deaths"); } @Override diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameChatManager.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameChatManager.java index dd5bfcc13..2a2aee92b 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameChatManager.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameChatManager.java @@ -9,16 +9,19 @@ import java.util.LinkedList; import java.util.Map; import org.bukkit.ChatColor; +import org.bukkit.Material; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.player.AsyncPlayerChatEvent; import org.bukkit.event.player.PlayerCommandPreprocessEvent; +import org.bukkit.event.player.PlayerItemConsumeEvent; import net.minecraft.server.v1_8_R3.IChatBaseComponent; import net.minecraft.server.v1_8_R3.PacketPlayOutChat; import mineplex.core.account.CoreClient; import mineplex.core.common.Rank; +import mineplex.core.common.jsonchat.JsonMessage; import mineplex.core.common.util.C; import mineplex.core.common.util.F; import mineplex.core.common.util.UtilPlayer; @@ -145,12 +148,13 @@ public class GameChatManager implements Listener } else { + event.setCancelled(true); + IChatBaseComponent baseComponent = IChatBaseComponent.ChatSerializer.a(buildJSON(sender, format, name, _chatStats, message)); for(Player partyUser : party.GetPlayersOnline()) { - + UtilPlayer.sendPacket(partyUser, new PacketPlayOutChat(baseComponent)); } } - //TODO send to party players return; } @@ -174,18 +178,34 @@ public class GameChatManager implements Listener { event.setMessage(event.getMessage().substring(1, event.getMessage().length())); event.setFormat(disguiseTag + C.cWhite + C.Bold + "Team" + " " + dead + levelStr + rankStr + team.GetColor() + senderName + " " + C.cWhite + "%2$s"); + + format = event.getFormat().split(sender.getName())[0]; + name = _manager.GetColor(sender) + sender.getName(); } //All Chat else { globalMessage = true; event.setFormat(disguiseTag + dead + levelStr + rankStr + team.GetColor() + senderName + " " + C.cWhite + "%2$s"); + + format = event.getFormat().split(sender.getName())[0]; + name = _manager.GetColor(sender) + sender.getName(); } + + message = event.getFormat().split(sender.getName())[1].replace("%2$s", "") + JSONObject.escape(event.getMessage()); } if (globalMessage) { - //TODO send globally + if(_manager.GetGame().IsLive()) + { + event.setCancelled(true); + IChatBaseComponent baseComponent = IChatBaseComponent.ChatSerializer.a(buildJSON(sender, format, name, _chatStats, message)); + for(Player player : _manager.GetGame().GetPlayers(false)) + { + UtilPlayer.sendPacket(player, new PacketPlayOutChat(baseComponent)); + } + } return; } @@ -210,6 +230,12 @@ public class GameChatManager implements Listener if (!recTeam.equals(sendTeam)) recipientIterator.remove(); } + + IChatBaseComponent baseComponent = IChatBaseComponent.ChatSerializer.a(buildJSON(sender, format, name, _chatStats, message)); + for(Player player : event.getRecipients()) + { + UtilPlayer.sendPacket(player, new PacketPlayOutChat(baseComponent)); + } } } @@ -217,40 +243,60 @@ public class GameChatManager implements Listener { for(String str : stats) { - System.out.println(_manager.GetGame().GetName() + "." + str); - _chatStats.add(_manager.GetGame().GetName() + "." + str); + System.out.println(str); + _chatStats.add(str); } } - private String buildJSON(Player player, String format, String name, String[] hoverText, String message) + private String buildJSON(Player player, String format, String name, LinkedList hoverText, String message) { LinkedHashMap> temp = new LinkedHashMap>(); int x = 0; - for(String str : _manager.GetGame().GetStats().get(player).keySet()) - { - for(String str2 : hoverText) - { - if(str.equalsIgnoreCase(str2)) - { - Map.Entry entry = new AbstractMap.SimpleEntry(str, _manager.GetGame().GetStats().get(player).get(str)); - temp.put(x, entry); - x++; - } +// for(String str : _manager.GetGame().GetStats().get(player).keySet()) +// { +// for(String str2 : hoverText) +// { +// if(str.equalsIgnoreCase(str2)) +// { +// Map.Entry entry = new AbstractMap.SimpleEntry(str, _manager.GetGame().GetStats().get(player).get(str)); +// temp.put(x, entry); +// x++; +// } +// +// continue; +// } +// } + for(String str : hoverText) + { + if(!_manager.GetGame().GetStats().containsKey(player)) + { + temp.put(x, new AbstractMap.SimpleEntry(str, 0)); + x++; continue; } + + if(!_manager.GetGame().GetStats().get(player).containsKey(str)) + { + temp.put(x, new AbstractMap.SimpleEntry(str, 0)); + x++; + continue; + } + + temp.put(x, new AbstractMap.SimpleEntry(str, _manager.GetGame().GetStats().get(player).get(str))); + x++; } - String f = "{\"text\":\"\",\"extra\":[{\"text\":\"" + format + "\"}"; - String n = "{\"text\":\"NAME\","; + String f = "{\"text\":\"\",\"extra\":[{\"text\":\"" + format + "\"},"; + String n = "{\"text\":\"" + name + "\","; String stats = "\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\""; - String m = "{\"text\":\"MESSAGE\"}]}"; + String m = ",{\"text\":\"" + message + "\"}]}"; for(int i = 0; i < temp.size(); i++) { if(temp.containsKey(i)) - stats += C.cWhite + temp.get(i).getKey() + ": " + C.cGray + temp.get(i).getValue() + (i == hoverText.length ? "\"}}}" : "\n"); + stats += C.cWhite + temp.get(i).getKey() + ": " + C.cGray + temp.get(i).getValue() + (i == hoverText.size()-1 ? "\"}}}" : "\\n"); } return f + n + stats + m; From 83375a6883f15f74bd11f73b8db9210c2967a06a Mon Sep 17 00:00:00 2001 From: Teddy Date: Sun, 10 Jan 2016 16:01:40 +0000 Subject: [PATCH 04/43] stats not updating --- .../game/arcade/managers/GameChatManager.java | 19 ++----------------- 1 file changed, 2 insertions(+), 17 deletions(-) diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameChatManager.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameChatManager.java index 2a2aee92b..919aac768 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameChatManager.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameChatManager.java @@ -253,21 +253,6 @@ public class GameChatManager implements Listener LinkedHashMap> temp = new LinkedHashMap>(); int x = 0; -// for(String str : _manager.GetGame().GetStats().get(player).keySet()) -// { -// for(String str2 : hoverText) -// { -// if(str.equalsIgnoreCase(str2)) -// { -// Map.Entry entry = new AbstractMap.SimpleEntry(str, _manager.GetGame().GetStats().get(player).get(str)); -// temp.put(x, entry); -// x++; -// } -// -// continue; -// } -// } - for(String str : hoverText) { if(!_manager.GetGame().GetStats().containsKey(player)) @@ -277,14 +262,14 @@ public class GameChatManager implements Listener continue; } - if(!_manager.GetGame().GetStats().get(player).containsKey(str)) + if(!_manager.GetGame().GetStats().get(player).containsKey(_manager.GetGame().GetName() + "." + str)) { temp.put(x, new AbstractMap.SimpleEntry(str, 0)); x++; continue; } - temp.put(x, new AbstractMap.SimpleEntry(str, _manager.GetGame().GetStats().get(player).get(str))); + temp.put(x, new AbstractMap.SimpleEntry(str, _manager.GetGame().GetStats().get(player).get(_manager.GetGame().GetName() + "." + str))); x++; } From c814132b24719db8f71702039915291cadf4c154 Mon Sep 17 00:00:00 2001 From: Teddy Date: Sun, 10 Jan 2016 17:33:18 +0000 Subject: [PATCH 05/43] ratio's and nicer visuals --- .../game/games/minestrike/MineStrike.java | 2 +- .../game/arcade/managers/GameChatManager.java | 37 ++++++++++++++----- 2 files changed, 29 insertions(+), 10 deletions(-) diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/minestrike/MineStrike.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/minestrike/MineStrike.java index cd93a8e04..fdf7020f3 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/minestrike/MineStrike.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/minestrike/MineStrike.java @@ -309,7 +309,7 @@ public class MineStrike extends TeamGame new TeamKillsStatTracker(this) ); - Manager.getGameChatManager().setGameChatStats("Kills", "Deaths"); + Manager.getGameChatManager().setGameChatStats("Kills", "Deaths", "KDRatio"); } @Override diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameChatManager.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameChatManager.java index 919aac768..b70eb0941 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameChatManager.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameChatManager.java @@ -1,5 +1,6 @@ package nautilus.game.arcade.managers; +import java.text.DecimalFormat; import java.util.AbstractMap; import java.util.Arrays; import java.util.HashMap; @@ -250,26 +251,32 @@ public class GameChatManager implements Listener private String buildJSON(Player player, String format, String name, LinkedList hoverText, String message) { - LinkedHashMap> temp = new LinkedHashMap>(); + LinkedHashMap> temp = new LinkedHashMap>(); - int x = 0; + temp.put(0, new AbstractMap.SimpleEntry(C.Bold + _manager.GetGame().GetTeam(player).GetColor() + ChatColor.stripColor(name) + "'s stats", "")); + temp.put(1, new AbstractMap.SimpleEntry(" ", "")); + + int x = 2; for(String str : hoverText) { if(!_manager.GetGame().GetStats().containsKey(player)) { - temp.put(x, new AbstractMap.SimpleEntry(str, 0)); + temp.put(x, new AbstractMap.SimpleEntry(C.cGray + "Retrieving stats..", "")); x++; - continue; + break; } - if(!_manager.GetGame().GetStats().get(player).containsKey(_manager.GetGame().GetName() + "." + str)) + if(_manager.GetGame().GetStats().get(player).containsKey(_manager.GetGame().GetName() + "." + str)) { - temp.put(x, new AbstractMap.SimpleEntry(str, 0)); - x++; - continue; + temp.put(x, new AbstractMap.SimpleEntry(str, (_manager.GetGame().GetStats().get(player).get(_manager.GetGame().GetName() + "." + str).toString()))); + } + else if(str.equalsIgnoreCase("kdratio")) + { + int kills = _manager.GetGame().GetStats().get(player).get(_manager.GetGame().GetName() + ".Kills"); + int deaths = _manager.GetGame().GetStats().get(player).get(_manager.GetGame().GetName() + ".Deaths"); + temp.put(x, new AbstractMap.SimpleEntry(str, getRatio(kills, deaths, "##.##"))); } - temp.put(x, new AbstractMap.SimpleEntry(str, _manager.GetGame().GetStats().get(player).get(_manager.GetGame().GetName() + "." + str))); x++; } @@ -286,4 +293,16 @@ public class GameChatManager implements Listener return f + n + stats + m; } + + public String getRatio(int var1, int var2, String format) + { + double ratio = 0.0; + + if(var1 <= 0) ratio = 0d; + else if(var2 <= 1) ratio = (double) var1; + else if(var1 <= 0 && var2 <= 0) ratio = 0d; + else ratio = ((double) var1 / var2); + + return new DecimalFormat(format).format(ratio); + } } From 5caeb8bee0fe45e358db6ae11072372ce26e0a51 Mon Sep 17 00:00:00 2001 From: Teddy Date: Sun, 10 Jan 2016 17:34:15 +0000 Subject: [PATCH 06/43] even nicer visual --- .../src/nautilus/game/arcade/managers/GameChatManager.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameChatManager.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameChatManager.java index b70eb0941..99356da9e 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameChatManager.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameChatManager.java @@ -253,7 +253,8 @@ public class GameChatManager implements Listener { LinkedHashMap> temp = new LinkedHashMap>(); - temp.put(0, new AbstractMap.SimpleEntry(C.Bold + _manager.GetGame().GetTeam(player).GetColor() + ChatColor.stripColor(name) + "'s stats", "")); + ChatColor teamColor = _manager.GetGame().GetTeam(player).GetColor(); + temp.put(0, new AbstractMap.SimpleEntry(C.Bold + teamColor + ChatColor.stripColor(name) + teamColor + "'s stats", "")); temp.put(1, new AbstractMap.SimpleEntry(" ", "")); int x = 2; From ec6e916c7b54f3eb647c6f199e7dd327b307d57f Mon Sep 17 00:00:00 2001 From: Teddy Date: Mon, 11 Jan 2016 12:06:30 +0000 Subject: [PATCH 07/43] more stable, progress for making 'easier-to-use' --- .../src/nautilus/game/arcade/game/Game.java | 9 +- .../game/games/baconbrawl/BaconBrawl.java | 2 +- .../game/games/evolution/Evolution.java | 2 +- .../game/games/minestrike/MineStrike.java | 10 +- .../game/arcade/managers/GameChatManager.java | 131 ++++++++++++------ .../arcade/managers/chat/ChatStatData.java | 49 +++++++ 6 files changed, 155 insertions(+), 48 deletions(-) create mode 100644 Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/chat/ChatStatData.java diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/Game.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/Game.java index 3659b0ef6..f6166f6e8 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/Game.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/Game.java @@ -1,12 +1,10 @@ package nautilus.game.arcade.game; import java.util.ArrayList; -import java.util.Arrays; import java.util.Collection; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; -import java.util.LinkedList; import java.util.List; import java.util.Map.Entry; import java.util.Set; @@ -75,8 +73,8 @@ import nautilus.game.arcade.game.GameTeam.PlayerState; import nautilus.game.arcade.kit.Kit; import nautilus.game.arcade.kit.KitAvailability; import nautilus.game.arcade.kit.Perk; -import nautilus.game.arcade.managers.GameChatManager; import nautilus.game.arcade.managers.GameLobbyManager; +import nautilus.game.arcade.managers.chat.ChatStatData; import nautilus.game.arcade.scoreboard.GameScoreboard; import nautilus.game.arcade.stats.AssistsStatTracker; import nautilus.game.arcade.stats.DamageDealtStatTracker; @@ -274,6 +272,11 @@ public abstract class Game implements Listener public long PrepareTime = 9000; public boolean PlaySoundGameStart = true; + // Chat Stats + public final ChatStatData Kills = new ChatStatData(new String[]{"Kills"}, "Kills", true); + public final ChatStatData Deaths = new ChatStatData(new String[]{"Deaths"}, "Kills", true); + public final ChatStatData KDRatio = new ChatStatData(new String[]{"KDRatio"}, "KD-Ratio", true); + // Gems public double GemMultiplier = 1; public boolean GemHunterEnabled = true; diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/baconbrawl/BaconBrawl.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/baconbrawl/BaconBrawl.java index 1648437e9..cab905fd2 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/baconbrawl/BaconBrawl.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/baconbrawl/BaconBrawl.java @@ -39,7 +39,7 @@ public class BaconBrawl extends SoloGame HungerSet = 20; PrepareFreeze = false; - Manager.getGameChatManager().setGameChatStats("Kills", "Deaths"); + Manager.getGameChatManager().setGameChatStats(Kills, Deaths); } @EventHandler diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/evolution/Evolution.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/evolution/Evolution.java index 3dab469b2..cffdb2afa 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/evolution/Evolution.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/evolution/Evolution.java @@ -163,7 +163,7 @@ public class Evolution extends SoloGame new KillsWhileEvolvingTracker(this) ); - Manager.getGameChatManager().setGameChatStats("Kills", "Deaths"); + Manager.getGameChatManager().setGameChatStats(Kills, Deaths); } public EvolveManager getEvolve() diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/minestrike/MineStrike.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/minestrike/MineStrike.java index fdf7020f3..722daf1d3 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/minestrike/MineStrike.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/minestrike/MineStrike.java @@ -104,6 +104,7 @@ import nautilus.game.arcade.game.games.minestrike.items.guns.GunStats; import nautilus.game.arcade.game.games.minestrike.items.guns.GunType; import nautilus.game.arcade.game.games.minestrike.kits.KitPlayer; import nautilus.game.arcade.kit.Kit; +import nautilus.game.arcade.managers.chat.ChatStatData; import nautilus.game.arcade.stats.KaboomStatTracker; import nautilus.game.arcade.stats.KillAllOpposingMineStrikeRoundStatTracker; import nautilus.game.arcade.stats.KillFastStatTracker; @@ -309,7 +310,14 @@ public class MineStrike extends TeamGame new TeamKillsStatTracker(this) ); - Manager.getGameChatManager().setGameChatStats("Kills", "Deaths", "KDRatio"); + //"Kills", "Deaths", "KDRatio", "", "BoomHeadshot" + Manager.getGameChatManager().setGameChatStats( + Kills, + Deaths, + KDRatio, + new ChatStatData().blankLine(), + new ChatStatData(new String[]{null}, "Testing", false) + ); } @Override diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameChatManager.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameChatManager.java index 99356da9e..9cd8c2585 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameChatManager.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameChatManager.java @@ -3,6 +3,7 @@ package nautilus.game.arcade.managers; import java.text.DecimalFormat; import java.util.AbstractMap; import java.util.Arrays; +import java.util.Collection; import java.util.HashMap; import java.util.Iterator; import java.util.LinkedHashMap; @@ -20,6 +21,7 @@ import org.bukkit.event.player.PlayerItemConsumeEvent; import net.minecraft.server.v1_8_R3.IChatBaseComponent; import net.minecraft.server.v1_8_R3.PacketPlayOutChat; +import com.google.gson.stream.MalformedJsonException; import mineplex.core.account.CoreClient; import mineplex.core.common.Rank; import mineplex.core.common.jsonchat.JsonMessage; @@ -28,8 +30,10 @@ import mineplex.core.common.util.F; import mineplex.core.common.util.UtilPlayer; import mineplex.core.party.Party; import nautilus.game.arcade.ArcadeManager; +import nautilus.game.arcade.game.Game; import nautilus.game.arcade.game.Game.GameState; import nautilus.game.arcade.game.GameTeam; +import nautilus.game.arcade.managers.chat.ChatStatData; import org.apache.commons.lang.StringUtils; import org.json.simple.JSONObject; @@ -38,7 +42,7 @@ public class GameChatManager implements Listener private ArcadeManager _manager; - private LinkedList _chatStats = new LinkedList<>(); + private LinkedList _chatStats = new LinkedList(); public GameChatManager(ArcadeManager manager) { @@ -149,11 +153,9 @@ public class GameChatManager implements Listener } else { - event.setCancelled(true); - IChatBaseComponent baseComponent = IChatBaseComponent.ChatSerializer.a(buildJSON(sender, format, name, _chatStats, message)); - for(Player partyUser : party.GetPlayersOnline()) + if(safeSend(sender, format, name, message, party.GetPlayersOnline())) { - UtilPlayer.sendPacket(partyUser, new PacketPlayOutChat(baseComponent)); + event.setCancelled(true); } } @@ -200,11 +202,9 @@ public class GameChatManager implements Listener { if(_manager.GetGame().IsLive()) { - event.setCancelled(true); - IChatBaseComponent baseComponent = IChatBaseComponent.ChatSerializer.a(buildJSON(sender, format, name, _chatStats, message)); - for(Player player : _manager.GetGame().GetPlayers(false)) + if(safeSend(sender, format, name, message, _manager.GetGame().GetPlayers(false))) { - UtilPlayer.sendPacket(player, new PacketPlayOutChat(baseComponent)); + event.setCancelled(true); } } return; @@ -232,66 +232,113 @@ public class GameChatManager implements Listener recipientIterator.remove(); } - IChatBaseComponent baseComponent = IChatBaseComponent.ChatSerializer.a(buildJSON(sender, format, name, _chatStats, message)); - for(Player player : event.getRecipients()) + if(safeSend(sender, format, name, message, event.getRecipients())) + { + event.setCancelled(true); + } + } + } + + public boolean safeSend(Player sender, String format, String name, String message, Collection sendto) + { + String json = buildJSON(sender, format, name, _chatStats, message); + try + { + IChatBaseComponent baseComponent = IChatBaseComponent.ChatSerializer.a(json); + for(Player player : sendto) { UtilPlayer.sendPacket(player, new PacketPlayOutChat(baseComponent)); } - } - } - public void setGameChatStats(String... stats) - { - for(String str : stats) + return true; + } + catch (Exception e) { - System.out.println(str); - _chatStats.add(str); + System.out.println(""); + System.out.println("ChatStats Failed to send JSON message.."); + System.out.println(json); + System.out.println(""); + return false; } } - private String buildJSON(Player player, String format, String name, LinkedList hoverText, String message) + public void setGameChatStats(ChatStatData... stats) { - LinkedHashMap> temp = new LinkedHashMap>(); + for(ChatStatData chatStat : stats) + { + System.out.println(chatStat.getStat()); + _chatStats.add(chatStat); + } + } + + private String buildJSON(Player player, String format, String name, LinkedList hoverText, String message) + { + LinkedList> temp = new LinkedList>(); ChatColor teamColor = _manager.GetGame().GetTeam(player).GetColor(); - temp.put(0, new AbstractMap.SimpleEntry(C.Bold + teamColor + ChatColor.stripColor(name) + teamColor + "'s stats", "")); - temp.put(1, new AbstractMap.SimpleEntry(" ", "")); + temp.add(new AbstractMap.SimpleEntry(teamColor + C.Bold + ChatColor.stripColor(name) + teamColor + "'s stats", "")); + temp.add(new AbstractMap.SimpleEntry(" ", "")); - int x = 2; - for(String str : hoverText) + Game game = _manager.GetGame(); + String gameName = game.GetName(); + + for (int i = 0; i < hoverText.size(); i++) { - if(!_manager.GetGame().GetStats().containsKey(player)) + if (!_manager.GetGame().GetStats().containsKey(player)) { - temp.put(x, new AbstractMap.SimpleEntry(C.cGray + "Retrieving stats..", "")); - x++; + temp.add(new AbstractMap.SimpleEntry(C.cGray + "Retrieving stats..", "")); break; } - if(_manager.GetGame().GetStats().get(player).containsKey(_manager.GetGame().GetName() + "." + str)) + ChatStatData chatStatData = hoverText.get(i); + String display = (chatStatData.getDisplay() == null ? chatStatData.getStat()[0] : chatStatData.getDisplay()); + + if(!chatStatData.isValue()) { - temp.put(x, new AbstractMap.SimpleEntry(str, (_manager.GetGame().GetStats().get(player).get(_manager.GetGame().GetName() + "." + str).toString()))); - } - else if(str.equalsIgnoreCase("kdratio")) - { - int kills = _manager.GetGame().GetStats().get(player).get(_manager.GetGame().GetName() + ".Kills"); - int deaths = _manager.GetGame().GetStats().get(player).get(_manager.GetGame().GetName() + ".Deaths"); - temp.put(x, new AbstractMap.SimpleEntry(str, getRatio(kills, deaths, "##.##"))); + temp.add(new AbstractMap.SimpleEntry(chatStatData.getDisplay(), "")); + continue; } - x++; + if (chatStatData.getStat()[0].equalsIgnoreCase("kdratio")) + { + int kills; + int deaths; + + if (game.GetStats().get(player).containsKey(gameName + ".Kills")) + kills = game.GetStats().get(player).get(gameName + ".Kills"); + else + kills = 0; + + if (game.GetStats().get(player).containsKey(gameName + ".Deaths")) + deaths = game.GetStats().get(player).get(gameName + ".Deaths"); + else + deaths = 0; + + temp.add(new AbstractMap.SimpleEntry(display + ": ", getRatio(kills, deaths, "##.##"))); + continue; + } + + if (game.GetStats().get(player).containsKey(gameName + "." + chatStatData.getStat())) + { + temp.add(new AbstractMap.SimpleEntry(display + ": ", (game.GetStats().get(player).get(gameName + "." + chatStatData.getStat()).toString()))); + } + else + { + temp.add(new AbstractMap.SimpleEntry(display + ": ", "0")); + } } - String f = "{\"text\":\"\",\"extra\":[{\"text\":\"" + format + "\"},"; - String n = "{\"text\":\"" + name + "\","; + String f = "{\"text\":\"\",\"extra\":[{\"text\":\"" + JSONObject.escape(format) + "\"},"; + String n = "{\"text\":\"" + JSONObject.escape(name) + "\","; String stats = "\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\""; - String m = ",{\"text\":\"" + message + "\"}]}"; + String m = ",{\"text\":\"" + JSONObject.escape(message) + "\"}]}"; - for(int i = 0; i < temp.size(); i++) + for (int i = 0; i < temp.size(); i++) { - if(temp.containsKey(i)) - stats += C.cWhite + temp.get(i).getKey() + ": " + C.cGray + temp.get(i).getValue() + (i == hoverText.size()-1 ? "\"}}}" : "\\n"); + stats += C.cWhite + JSONObject.escape(temp.get(i).getKey()) + C.cGray + JSONObject.escape(temp.get(i).getValue()) + (i >= temp.size()-1 ? "\"}}}" : "\\n"); } + System.out.println(f + n + stats + m); return f + n + stats + m; } diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/chat/ChatStatData.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/chat/ChatStatData.java new file mode 100644 index 000000000..8ad5c8687 --- /dev/null +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/chat/ChatStatData.java @@ -0,0 +1,49 @@ +package nautilus.game.arcade.managers.chat; + +import mineplex.core.chat.Chat; + +/** + * Created by TeddyDev on 10/01/2016. + */ +public class ChatStatData +{ + private String[] _stat; + private String _display; + private boolean _isValue; + + public ChatStatData() + { + + } + + public ChatStatData(String[] stat, String display, boolean isValue) + { + _stat = stat; + _display = display; + _isValue = isValue; + } + + public ChatStatData blankLine() + { + _stat = new String[]{null}; + _display = " "; + _isValue = false; + + return this; + } + + public String[] getStat() + { + return _stat; + } + + public String getDisplay() + { + return _display; + } + + public boolean isValue() + { + return _isValue; + } +} From 78eaee98df4f211d7f4b936ed5b4a8e7e3791d82 Mon Sep 17 00:00:00 2001 From: Teddy Date: Mon, 11 Jan 2016 12:09:08 +0000 Subject: [PATCH 08/43] Typo mistake --- .../src/nautilus/game/arcade/game/Game.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/Game.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/Game.java index f6166f6e8..caccf921e 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/Game.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/Game.java @@ -274,7 +274,7 @@ public abstract class Game implements Listener // Chat Stats public final ChatStatData Kills = new ChatStatData(new String[]{"Kills"}, "Kills", true); - public final ChatStatData Deaths = new ChatStatData(new String[]{"Deaths"}, "Kills", true); + public final ChatStatData Deaths = new ChatStatData(new String[]{"Deaths"}, "Deaths", true); public final ChatStatData KDRatio = new ChatStatData(new String[]{"KDRatio"}, "KD-Ratio", true); // Gems From b9d44d9a248dfafa7a0ab04af70b0b482107a8e9 Mon Sep 17 00:00:00 2001 From: Teddy Date: Mon, 11 Jan 2016 12:14:29 +0000 Subject: [PATCH 09/43] not updating properly, fixed --- .../src/nautilus/game/arcade/managers/GameChatManager.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameChatManager.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameChatManager.java index 9cd8c2585..7bdc6c35b 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameChatManager.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameChatManager.java @@ -318,9 +318,9 @@ public class GameChatManager implements Listener continue; } - if (game.GetStats().get(player).containsKey(gameName + "." + chatStatData.getStat())) + if (game.GetStats().get(player).containsKey(gameName + "." + chatStatData.getStat()[0])) { - temp.add(new AbstractMap.SimpleEntry(display + ": ", (game.GetStats().get(player).get(gameName + "." + chatStatData.getStat()).toString()))); + temp.add(new AbstractMap.SimpleEntry(display + ": ", (game.GetStats().get(player).get(gameName + "." + chatStatData.getStat()[0]).toString()))); } else { From 40d913beafd8bbf3d11ff72e50cac1fba688f94c Mon Sep 17 00:00:00 2001 From: Teddy Date: Mon, 11 Jan 2016 12:35:44 +0000 Subject: [PATCH 10/43] Changed a List to reset each time its registered to prevent stats copying to the next game, automatic string escaping, party colour name changed to original colour --- .../game/arcade/managers/GameChatManager.java | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameChatManager.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameChatManager.java index 7bdc6c35b..a9b27dcd2 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameChatManager.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameChatManager.java @@ -35,20 +35,22 @@ import nautilus.game.arcade.game.Game.GameState; import nautilus.game.arcade.game.GameTeam; import nautilus.game.arcade.managers.chat.ChatStatData; import org.apache.commons.lang.StringUtils; -import org.json.simple.JSONObject; +import org.jooq.tools.json.JSONObject; public class GameChatManager implements Listener { private ArcadeManager _manager; - private LinkedList _chatStats = new LinkedList(); + private LinkedList _chatStats; public GameChatManager(ArcadeManager manager) { _manager = manager; _manager.getPluginManager().registerEvents(this, _manager.getPlugin()); + + _chatStats = new LinkedList(); } @EventHandler @@ -144,8 +146,8 @@ public class GameChatManager implements Listener event.setFormat(levelStr + C.cDPurple + C.Bold + "Party " + C.cWhite + C.Bold + senderName + " " + C.cPurple + "%2$s"); format = event.getFormat().split(sender.getName())[0]; - name = _manager.GetColor(sender) + sender.getName(); - message = event.getFormat().split(sender.getName())[1].replace("%2$s", "") + JSONObject.escape(event.getMessage()); + name = C.cWhite + C.Bold + sender.getName() + C.Reset; + message = event.getFormat().split(sender.getName())[1].replace("%2$s", "") + JSONObject.escape(_manager.GetChat().getFilteredMessage(sender, event.getMessage())); if(!_manager.GetGame().IsLive()) { @@ -195,7 +197,7 @@ public class GameChatManager implements Listener name = _manager.GetColor(sender) + sender.getName(); } - message = event.getFormat().split(sender.getName())[1].replace("%2$s", "") + JSONObject.escape(event.getMessage()); + message = event.getFormat().split(sender.getName())[1].replace("%2$s", "") + JSONObject.escape(_manager.GetChat().getFilteredMessage(sender, event.getMessage())); } if (globalMessage) From 02ff8bdbdbf91d90ef184cce22fbaba3bb4817b6 Mon Sep 17 00:00:00 2001 From: Teddy Date: Mon, 11 Jan 2016 12:59:57 +0000 Subject: [PATCH 11/43] Custom stats working, escaping bug fix and List reset bug --- .../game/arcade/game/games/minestrike/MineStrike.java | 5 +++-- .../src/nautilus/game/arcade/managers/GameChatManager.java | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/minestrike/MineStrike.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/minestrike/MineStrike.java index 722daf1d3..052d81c54 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/minestrike/MineStrike.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/minestrike/MineStrike.java @@ -310,13 +310,14 @@ public class MineStrike extends TeamGame new TeamKillsStatTracker(this) ); - //"Kills", "Deaths", "KDRatio", "", "BoomHeadshot" Manager.getGameChatManager().setGameChatStats( Kills, + new ChatStatData(new String[]{"BoomHeadshot"}, "Headshots", true), + new ChatStatData().blankLine(), Deaths, KDRatio, new ChatStatData().blankLine(), - new ChatStatData(new String[]{null}, "Testing", false) + new ChatStatData(new String[]{null}, C.cGray + C.Italics + "Testing stage", false) ); } diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameChatManager.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameChatManager.java index a9b27dcd2..2723d9110 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameChatManager.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameChatManager.java @@ -147,7 +147,7 @@ public class GameChatManager implements Listener format = event.getFormat().split(sender.getName())[0]; name = C.cWhite + C.Bold + sender.getName() + C.Reset; - message = event.getFormat().split(sender.getName())[1].replace("%2$s", "") + JSONObject.escape(_manager.GetChat().getFilteredMessage(sender, event.getMessage())); + message = event.getFormat().split(sender.getName())[1].replace("%2$s", "") + _manager.GetChat().getFilteredMessage(sender, event.getMessage()); if(!_manager.GetGame().IsLive()) { @@ -197,7 +197,7 @@ public class GameChatManager implements Listener name = _manager.GetColor(sender) + sender.getName(); } - message = event.getFormat().split(sender.getName())[1].replace("%2$s", "") + JSONObject.escape(_manager.GetChat().getFilteredMessage(sender, event.getMessage())); + message = event.getFormat().split(sender.getName())[1].replace("%2$s", "") + _manager.GetChat().getFilteredMessage(sender, event.getMessage()); } if (globalMessage) @@ -266,6 +266,7 @@ public class GameChatManager implements Listener public void setGameChatStats(ChatStatData... stats) { + _chatStats = new LinkedList(); for(ChatStatData chatStat : stats) { System.out.println(chatStat.getStat()); From 88c53bf464ab24c07f0447830bf9e4db8bd6fc2f Mon Sep 17 00:00:00 2001 From: Teddy Date: Mon, 11 Jan 2016 19:35:00 +0000 Subject: [PATCH 12/43] Added default ChatStat for all games to prevent my server from dying when testing --- .../nautilus/game/arcade/ArcadeManager.java | 2 +- .../src/nautilus/game/arcade/game/Game.java | 11 +++-- .../game/games/baconbrawl/BaconBrawl.java | 2 +- .../game/games/barbarians/Barbarians.java | 2 + .../game/games/bossbattles/BossBattles.java | 2 + .../game/games/bouncyballs/BouncyBalls.java | 2 + .../game/arcade/game/games/bridge/Bridge.java | 2 + .../game/arcade/game/games/build/Build.java | 2 + .../game/arcade/game/games/cards/Cards.java | 2 + .../game/games/castlesiege/CastleSiege.java | 2 + .../game/games/champions/ChampionsCTF.java | 22 +++++----- .../games/champions/ChampionsDominate.java | 2 + .../game/games/champions/ChampionsTDM.java | 2 + .../game/games/christmas/Christmas.java | 2 + .../arcade/game/games/deathtag/DeathTag.java | 2 + .../game/games/dragonescape/DragonEscape.java | 2 + .../arcade/game/games/dragons/Dragons.java | 2 + .../game/arcade/game/games/draw/Draw.java | 2 + .../game/games/evolution/Evolution.java | 2 +- .../game/games/gladiators/Gladiators.java | 2 + .../arcade/game/games/gravity/Gravity.java | 2 + .../game/games/halloween/Halloween.java | 2 + .../arcade/game/games/hideseek/HideSeek.java | 11 ++++- .../game/games/holeinwall/HoleInTheWall.java | 2 + .../arcade/game/games/horsecharge/Horse.java | 34 ++++++++-------- .../game/games/lobbers/BombLobbers.java | 40 ++++++++++++------- .../game/arcade/game/games/micro/Micro.java | 6 ++- .../arcade/game/games/milkcow/MilkCow.java | 34 ++++++++-------- .../game/games/minestrike/MineStrike.java | 6 +-- .../arcade/game/games/mineware/MineWare.java | 2 + .../game/arcade/game/games/moba/Moba.java | 2 + .../games/monsterleague/MonsterLeague.java | 2 + .../game/games/monstermaze/MonsterMaze.java | 2 + .../game/games/oldmineware/OldMineWare.java | 2 + .../game/games/paintball/Paintball.java | 2 + .../game/arcade/game/games/quiver/Quiver.java | 2 + .../arcade/game/games/quiver/QuiverTeams.java | 2 + .../game/arcade/game/games/runner/Runner.java | 2 + .../searchanddestroy/SearchAndDestroy.java | 2 + .../arcade/game/games/sheep/SheepGame.java | 2 + .../game/games/skywars/SoloSkywars.java | 2 + .../game/games/skywars/TeamSkywars.java | 2 + .../game/games/smash/SoloSuperSmash.java | 2 + .../game/games/smash/SuperSmashDominate.java | 2 + .../game/games/smash/TeamSuperSmash.java | 2 + .../game/arcade/game/games/snake/Snake.java | 2 + .../sneakyassassins/SneakyAssassins.java | 2 + .../game/games/snowfight/SnowFight.java | 2 + .../game/arcade/game/games/spleef/Spleef.java | 2 + .../arcade/game/games/spleef/SpleefTeams.java | 2 + .../game/games/squidshooter/SquidShooter.java | 2 + .../arcade/game/games/stacker/Stacker.java | 2 + .../survivalgames/SoloSurvivalGames.java | 2 + .../survivalgames/SurvivalGamesTeams.java | 2 + .../survivalgames/TeamSurvivalGames.java | 2 + .../game/arcade/game/games/tug/Tug.java | 2 + .../game/games/turfforts/TurfForts.java | 2 + .../arcade/game/games/typewars/TypeWars.java | 2 + .../game/arcade/game/games/uhc/UHC.java | 2 + .../arcade/game/games/wither/WitherGame.java | 2 + .../arcade/game/games/wizards/Wizards.java | 2 + .../games/zombiesurvival/ZombieSurvival.java | 2 + .../arcade/managers/chat/ChatStatData.java | 19 ++++++--- .../managers/{ => chat}/GameChatManager.java | 11 +++-- 64 files changed, 222 insertions(+), 80 deletions(-) rename Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/{ => chat}/GameChatManager.java (97%) diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/ArcadeManager.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/ArcadeManager.java index c1698e5db..d07bd0d96 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/ArcadeManager.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/ArcadeManager.java @@ -109,7 +109,7 @@ import nautilus.game.arcade.game.GameTeam; import nautilus.game.arcade.game.games.event.EventModule; import nautilus.game.arcade.game.games.uhc.UHC; import nautilus.game.arcade.managers.GameAchievementManager; -import nautilus.game.arcade.managers.GameChatManager; +import nautilus.game.arcade.managers.chat.GameChatManager; import nautilus.game.arcade.managers.GameCreationManager; import nautilus.game.arcade.managers.GameFlagManager; import nautilus.game.arcade.managers.GameGemManager; diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/Game.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/Game.java index caccf921e..c009969de 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/Game.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/Game.java @@ -273,9 +273,9 @@ public abstract class Game implements Listener public boolean PlaySoundGameStart = true; // Chat Stats - public final ChatStatData Kills = new ChatStatData(new String[]{"Kills"}, "Kills", true); - public final ChatStatData Deaths = new ChatStatData(new String[]{"Deaths"}, "Deaths", true); - public final ChatStatData KDRatio = new ChatStatData(new String[]{"KDRatio"}, "KD-Ratio", true); + public final ChatStatData Kills = new ChatStatData("Kills", "Kills", true); + public final ChatStatData Deaths = new ChatStatData("Deaths", "Deaths", true); + public final ChatStatData KDRatio = new ChatStatData("KDRatio", "KD-Ratio", true); // Gems public double GemMultiplier = 1; @@ -1426,6 +1426,11 @@ public abstract class Game implements Listener } } + public void registerChatStats(ChatStatData... stats) + { + Manager.getGameChatManager().setGameChatStats(stats); + } + public Collection> getStatTrackers() { return _statTrackers; diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/baconbrawl/BaconBrawl.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/baconbrawl/BaconBrawl.java index cab905fd2..d578aa501 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/baconbrawl/BaconBrawl.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/baconbrawl/BaconBrawl.java @@ -39,7 +39,7 @@ public class BaconBrawl extends SoloGame HungerSet = 20; PrepareFreeze = false; - Manager.getGameChatManager().setGameChatStats(Kills, Deaths); + registerChatStats(Kills); } @EventHandler diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/barbarians/Barbarians.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/barbarians/Barbarians.java index 9a769fe02..e6bdc4b2b 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/barbarians/Barbarians.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/barbarians/Barbarians.java @@ -58,6 +58,8 @@ public class Barbarians extends SoloGame this.BlockBreakAllow.add(134); this.BlockBreakAllow.add(135); this.BlockBreakAllow.add(136); + + registerChatStats(Kills); } @EventHandler diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/bossbattles/BossBattles.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/bossbattles/BossBattles.java index ca6253aab..6828607d3 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/bossbattles/BossBattles.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/bossbattles/BossBattles.java @@ -58,6 +58,8 @@ public class BossBattles extends TeamGame HungerSet = 20; CreatureAllowOverride = true; PrepareFreeze = false; + + registerChatStats(Kills); } @EventHandler diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/bouncyballs/BouncyBalls.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/bouncyballs/BouncyBalls.java index bfd3cc0a1..baa53ff3e 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/bouncyballs/BouncyBalls.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/bouncyballs/BouncyBalls.java @@ -35,6 +35,8 @@ public class BouncyBalls extends SoloGame }); this.HungerSet = 20; + + registerChatStats(); } @EventHandler diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/bridge/Bridge.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/bridge/Bridge.java index e10942288..15cccd726 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/bridge/Bridge.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/bridge/Bridge.java @@ -233,6 +233,8 @@ public class Bridge extends TeamGame implements OreObsfucation new KillFastStatTracker(this, 4, 10, "Rampage"), new DeathBomberStatTracker(this, 5) ); + + registerChatStats(); } @EventHandler diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/build/Build.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/build/Build.java index a066fd174..ea4b68bac 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/build/Build.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/build/Build.java @@ -215,6 +215,8 @@ public class Build extends SoloGame _mobShop = new MobShop(getArcadeManager(), getArcadeManager().GetClients(), getArcadeManager().GetDonation()); _optionsShop = new OptionsShop(this, getArcadeManager(), getArcadeManager().GetClients(), getArcadeManager().GetDonation()); _shopItem = ItemStackFactory.Instance.CreateStack(Material.DIAMOND, (byte) 0, 1, C.cGreen + "Options"); + + registerChatStats(); } @EventHandler diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/cards/Cards.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/cards/Cards.java index 8943458b7..e890a34a2 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/cards/Cards.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/cards/Cards.java @@ -70,6 +70,8 @@ public class Cards extends SoloGame this.PrepareFreeze = false; _cardFactory = new CardFactory(); + + registerChatStats(); } @Override diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/castlesiege/CastleSiege.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/castlesiege/CastleSiege.java index c6a53e65b..fe9241b3b 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/castlesiege/CastleSiege.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/castlesiege/CastleSiege.java @@ -219,6 +219,8 @@ public class CastleSiege extends TeamGame new TeamDeathsStatTracker(this), new TeamKillsStatTracker(this) ); + + registerChatStats(); } @Override diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/champions/ChampionsCTF.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/champions/ChampionsCTF.java index 209a620ab..bdddf31ee 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/champions/ChampionsCTF.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/champions/ChampionsCTF.java @@ -37,20 +37,20 @@ import org.bukkit.event.inventory.InventoryType; public class ChampionsCTF extends CaptureTheFlag { public ChampionsCTF(ArcadeManager manager) - { + { super(manager, GameType.ChampionsCTF, - - new Kit[] - { - new KitBrute(manager), - new KitRanger(manager), + + new Kit[] + { + new KitBrute(manager), + new KitRanger(manager), new KitKnight(manager), new KitMage(manager), new KitAssassin(manager), }); - - _help = new String[] - { + + _help = new String[] + { "Make sure you use all of your Skill/Item Tokens", "Collect Resupply Chests to restock your inventory", "Customize your Class to suit your play style", @@ -59,7 +59,7 @@ public class ChampionsCTF extends CaptureTheFlag "Gold/Iron Weapons deal 6 damage", "Diamond Weapons deal 7 damage", - }; + }; Manager.GetDamage().UseSimpleWeaponDamage = false; Manager.getCosmeticManager().setHideParticles(true); @@ -86,6 +86,8 @@ public class ChampionsCTF extends CaptureTheFlag new ClutchStatTracker(this, "Clutch"), new SpecialWinStatTracker(this, "SpecialWin") ); + + registerChatStats(); new ChampionsFixes(this); } diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/champions/ChampionsDominate.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/champions/ChampionsDominate.java index be521f530..4b3542226 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/champions/ChampionsDominate.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/champions/ChampionsDominate.java @@ -78,6 +78,8 @@ public class ChampionsDominate extends Domination new TheLongestShotStatTracker(this), new SeismicSlamStatTracker(this) ); + + registerChatStats(); new ChampionsFixes(this); } diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/champions/ChampionsTDM.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/champions/ChampionsTDM.java index f4cd3ea49..6c89cbccf 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/champions/ChampionsTDM.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/champions/ChampionsTDM.java @@ -78,6 +78,8 @@ public class ChampionsTDM extends TeamDeathmatch new TheLongestShotStatTracker(this), new SeismicSlamStatTracker(this) ); + + registerChatStats(); new ChampionsFixes(this); } diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/christmas/Christmas.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/christmas/Christmas.java index 23b3ec1b1..e7e2280cc 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/christmas/Christmas.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/christmas/Christmas.java @@ -152,6 +152,8 @@ public class Christmas extends SoloGame HungerSet = 20; WorldTimeSet = 2000; PrepareFreeze = false; + + registerChatStats(); } //parse 129 19 47 48 103 86 137 56 22 45 121 14 15 16 87 88 89 153 173 172 162 diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/deathtag/DeathTag.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/deathtag/DeathTag.java index a521de32a..d0cc297a5 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/deathtag/DeathTag.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/deathtag/DeathTag.java @@ -73,6 +73,8 @@ public class DeathTag extends SoloGame this.PrepareFreeze = false; registerStatTrackers(new ComeAtMeBroStatTracker(this)); + + registerChatStats(); } @Override diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/dragonescape/DragonEscape.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/dragonescape/DragonEscape.java index a3970305c..3a507f6d0 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/dragonescape/DragonEscape.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/dragonescape/DragonEscape.java @@ -120,6 +120,8 @@ public class DragonEscape extends SoloGame new ParalympicsStatTracker(this), new WinMapStatTracker(this) ); + + registerChatStats(); } @Override diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/dragons/Dragons.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/dragons/Dragons.java index d489ad2da..cdeefc40f 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/dragons/Dragons.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/dragons/Dragons.java @@ -70,6 +70,8 @@ public class Dragons extends SoloGame registerStatTrackers( new SparklezStatTracker(this) ); + + registerChatStats(); } @Override diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/draw/Draw.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/draw/Draw.java index 53d88aeda..8b044484a 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/draw/Draw.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/draw/Draw.java @@ -134,6 +134,8 @@ public class Draw extends SoloGame new KeenEyeStatTracker(this), new PureLuckStatTracker(this) ); + + registerChatStats(); Manager.GetChat().setThreeSecondDelay(false); } diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/evolution/Evolution.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/evolution/Evolution.java index cffdb2afa..7cc697833 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/evolution/Evolution.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/evolution/Evolution.java @@ -163,7 +163,7 @@ public class Evolution extends SoloGame new KillsWhileEvolvingTracker(this) ); - Manager.getGameChatManager().setGameChatStats(Kills, Deaths); + registerChatStats(); } public EvolveManager getEvolve() diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/gladiators/Gladiators.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/gladiators/Gladiators.java index a9fcae09a..3f63106c1 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/gladiators/Gladiators.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/gladiators/Gladiators.java @@ -120,6 +120,8 @@ public class Gladiators extends SoloGame new SwiftKillTracker(this) ); + registerChatStats(); + _playerArenas = new HashMap<>(); _roundState = RoundState.WAITING; diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/gravity/Gravity.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/gravity/Gravity.java index f4b381560..8176e1279 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/gravity/Gravity.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/gravity/Gravity.java @@ -115,6 +115,8 @@ public class Gravity extends SoloGame this.CompassEnabled = true; this.WorldBoundaryKill = false; + + registerChatStats(); } @Override diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/halloween/Halloween.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/halloween/Halloween.java index 2906a56e7..e9a9f7616 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/halloween/Halloween.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/halloween/Halloween.java @@ -135,6 +135,8 @@ public class Halloween extends SoloGame this.WorldBoundaryKill = false; this.DontAllowOverfill = true; + + registerChatStats(); } @Override diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/hideseek/HideSeek.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/hideseek/HideSeek.java index e4652e638..40ba1b31f 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/hideseek/HideSeek.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/hideseek/HideSeek.java @@ -341,8 +341,15 @@ public class HideSeek extends TeamGame Manager.GetExplosion().SetTNTSpread(false); Manager.getCosmeticManager().setHideParticles(true); - registerStatTrackers(new HunterKillerStatTracker(this), new MeowStatTracker(this), new HunterKillerStatTracker(this), - new HunterOfTheYearStatTracker(this), new BadHiderStatTracker(this)); + registerStatTrackers( + new HunterKillerStatTracker(this), + new MeowStatTracker(this), + new HunterKillerStatTracker(this), + new HunterOfTheYearStatTracker(this), + new BadHiderStatTracker(this) + ); + + registerChatStats(); } @EventHandler diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/holeinwall/HoleInTheWall.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/holeinwall/HoleInTheWall.java index 63e30ce89..29abe0ef7 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/holeinwall/HoleInTheWall.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/holeinwall/HoleInTheWall.java @@ -57,6 +57,8 @@ public class HoleInTheWall extends SoloGame DamageFall = false; HungerSet = 20; WorldTimeSet = 8000; + + registerChatStats(); } private ArrayList> getWall() diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/horsecharge/Horse.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/horsecharge/Horse.java index ee3c1e223..a8f4ecab5 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/horsecharge/Horse.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/horsecharge/Horse.java @@ -18,23 +18,25 @@ public class Horse extends TeamGame { super(manager, GameType.Horse, - new Kit[] - { - new KitHorseKnight(manager), - new NullKit(manager), - new KitDefenceArcher(manager), - }, + new Kit[] + { + new KitHorseKnight(manager), + new NullKit(manager), + new KitDefenceArcher(manager), + }, - new String[] - { - "Horsemen must charge the ruins", - "Horsemen win if they rid the ruins of Undead.", - "", - "Undead must defend the ruins", - "Undead win when all Horsemen are dead.", - "", - "Teams swap after game is over" - }); + new String[] + { + "Horsemen must charge the ruins", + "Horsemen win if they rid the ruins of Undead.", + "", + "Undead must defend the ruins", + "Undead win when all Horsemen are dead.", + "", + "Teams swap after game is over" + }); + + registerChatStats(); } @Override diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/lobbers/BombLobbers.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/lobbers/BombLobbers.java index 2e519edc8..f84916015 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/lobbers/BombLobbers.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/lobbers/BombLobbers.java @@ -74,19 +74,23 @@ public class BombLobbers extends TeamGame implements IThrown @SuppressWarnings("unchecked") public BombLobbers(ArcadeManager manager) { - super(manager, GameType.Lobbers, new Kit[] - { - new KitJumper(manager), - new KitArmorer(manager), - new KitPitcher(manager), - new KitWaller(manager) - }, new String[] - { - "Fight against your enemies using", - "the power of explosives!", - "Left click TNT to throw at your enemy.", - "Last team alive wins!" - }); + super(manager, GameType.Lobbers, + new Kit[] + { + new KitJumper(manager), + new KitArmorer(manager), + new KitPitcher(manager), + new KitWaller(manager) + }, + + new String[] + { + "Fight against your enemies using", + "the power of explosives!", + "Left click TNT to throw at your enemy.", + "Last team alive wins!" + }); + DamageFall = true; DamageEvP = true; @@ -110,7 +114,15 @@ public class BombLobbers extends TeamGame implements IThrown WorldTimeSet = 6000; - registerStatTrackers(new Tracker6Kill(this), new TrackerBlastProof(this), new TrackerNoDamage(this), new TrackerTNTThrown(this), new TrackerDirectHit(this)); + registerStatTrackers( + new Tracker6Kill(this), + new TrackerBlastProof(this), + new TrackerNoDamage(this), + new TrackerTNTThrown(this), + new TrackerDirectHit(this) + ); + + registerChatStats(); } @EventHandler diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/micro/Micro.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/micro/Micro.java index 5deda46b0..cce1303a9 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/micro/Micro.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/micro/Micro.java @@ -58,7 +58,11 @@ public class Micro extends TeamGame this.BlockBreak = true; this.BlockPlace = true; - registerStatTrackers(new KillsWithinGameStatTracker(this, 8, "Annihilation")); + registerStatTrackers( + new KillsWithinGameStatTracker(this, 8, "Annihilation") + ); + + registerChatStats(); } @Override diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/milkcow/MilkCow.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/milkcow/MilkCow.java index ac0054a2e..1fb8c998a 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/milkcow/MilkCow.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/milkcow/MilkCow.java @@ -74,29 +74,31 @@ public class MilkCow extends SoloGame super(manager, GameType.MilkCow, new Kit[] - { - new KitFarmerJump(manager), - new KitSturdyFarmhand(manager), - new NullKit(manager), - new KitCow(manager), - }, + { + new KitFarmerJump(manager), + new KitSturdyFarmhand(manager), + new NullKit(manager), + new KitCow(manager), + }, - new String[] - { - "Farmers get 1 point for drinking milk.", - "You lose 5 points for dying!", - "", - "Cows get 1 point for killing farmers.", - "Defend your herd to stop farmers!", - "", - "First player to 15 points wins!" - }); + new String[] + { + "Farmers get 1 point for drinking milk.", + "You lose 5 points for dying!", + "", + "Cows get 1 point for killing farmers.", + "Defend your herd to stop farmers!", + "", + "First player to 15 points wins!" + }); this.CompassEnabled = true; this.DeathOut = false; _scoreObj = Scoreboard.GetScoreboard().registerNewObjective("Milk", "dummy"); _scoreObj.setDisplaySlot(DisplaySlot.BELOW_NAME); + + registerChatStats(); } @Override diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/minestrike/MineStrike.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/minestrike/MineStrike.java index 052d81c54..4de831eb5 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/minestrike/MineStrike.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/minestrike/MineStrike.java @@ -310,14 +310,14 @@ public class MineStrike extends TeamGame new TeamKillsStatTracker(this) ); - Manager.getGameChatManager().setGameChatStats( + registerChatStats( Kills, - new ChatStatData(new String[]{"BoomHeadshot"}, "Headshots", true), + new ChatStatData("BoomHeadshot", "Headshots", true), new ChatStatData().blankLine(), Deaths, KDRatio, new ChatStatData().blankLine(), - new ChatStatData(new String[]{null}, C.cGray + C.Italics + "Testing stage", false) + new ChatStatData().plainText(C.cGray + C.Italics + "Testing stage") ); } diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/mineware/MineWare.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/mineware/MineWare.java index 1634b5c6c..ca74c8d3a 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/mineware/MineWare.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/mineware/MineWare.java @@ -84,6 +84,8 @@ public class MineWare extends SoloGame Manager.GetCreature().SetDisableCustomDrops(true); PopulateOrders(); + + registerChatStats(); } @Override diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/moba/Moba.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/moba/Moba.java index 59f55652b..3879c4b3b 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/moba/Moba.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/moba/Moba.java @@ -31,6 +31,8 @@ public class Moba extends TeamGame this.DeathSpectateSecs = 8; this.HungerSet = 20; + + registerChatStats(); } @Override diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/monsterleague/MonsterLeague.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/monsterleague/MonsterLeague.java index adc100bb1..bc413c4da 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/monsterleague/MonsterLeague.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/monsterleague/MonsterLeague.java @@ -63,6 +63,8 @@ public class MonsterLeague extends TeamGame this.TeamArmor = true; this.TeamArmorHotbar = true; + + registerChatStats(); } //Supports anywhere from 2-4 teams on a map diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/monstermaze/MonsterMaze.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/monstermaze/MonsterMaze.java index 1a7128081..bfe1f8c04 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/monstermaze/MonsterMaze.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/monstermaze/MonsterMaze.java @@ -101,6 +101,8 @@ public class MonsterMaze extends SoloGame new SurvivePast10thSafepadTracker(this) ); //_maze = new SnowmanMaze(this, WorldData.GetDataLocs("GRAY")/*, WorldData.GetCustomLocs("103")*/); + + registerChatStats(); } public Maze getMaze() diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/oldmineware/OldMineWare.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/oldmineware/OldMineWare.java index 919e9de19..e127ed2aa 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/oldmineware/OldMineWare.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/oldmineware/OldMineWare.java @@ -88,6 +88,8 @@ public class OldMineWare extends SoloGame InventoryClick = true; PopulateOrders(); + + registerChatStats(); } @Override diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/paintball/Paintball.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/paintball/Paintball.java index f509b43dd..80317efd8 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/paintball/Paintball.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/paintball/Paintball.java @@ -114,6 +114,8 @@ public class Paintball extends TeamGame new WinFastStatTracker(this, 30, "Speedrunner"), new LastStandStatTracker(this) ); + + registerChatStats(); } @EventHandler diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/quiver/Quiver.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/quiver/Quiver.java index 731d049e4..66e9ccc85 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/quiver/Quiver.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/quiver/Quiver.java @@ -92,6 +92,8 @@ public class Quiver extends SoloGame new SharpShooterStatTracker(this), new WinWithoutBowStatTracker(this, "WhatsABow") ); + + registerChatStats(); } @EventHandler(priority = EventPriority.HIGH) diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/quiver/QuiverTeams.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/quiver/QuiverTeams.java index 2d871d801..54547e846 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/quiver/QuiverTeams.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/quiver/QuiverTeams.java @@ -65,6 +65,8 @@ public class QuiverTeams extends TeamGame this.TeamArmor = true; this.TeamArmorHotbar = true; + + registerChatStats(); } @EventHandler(priority = EventPriority.HIGH) diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/runner/Runner.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/runner/Runner.java index 1cd250deb..e2ee10a55 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/runner/Runner.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/runner/Runner.java @@ -66,6 +66,8 @@ public class Runner extends SoloGame implements IThrown this.PrepareFreeze = false; registerStatTrackers(new DistanceTraveledStatTracker(this, "MarathonRunner")); + + registerChatStats(); } @EventHandler diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/searchanddestroy/SearchAndDestroy.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/searchanddestroy/SearchAndDestroy.java index e4005cf25..66d7b073e 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/searchanddestroy/SearchAndDestroy.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/searchanddestroy/SearchAndDestroy.java @@ -72,6 +72,8 @@ public class SearchAndDestroy extends TeamGame DamageSelf = false; Manager.GetDamage().GetCombatManager().setUseWeaponName(AttackReason.DefaultWeaponName); + + registerChatStats(); } public ArrayList getBombs() diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/sheep/SheepGame.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/sheep/SheepGame.java index 5a0457a8d..2ff30b4b7 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/sheep/SheepGame.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/sheep/SheepGame.java @@ -155,6 +155,8 @@ public class SheepGame extends TeamGame new SheepDropStatTracker(this), new WinWithSheepStatTracker(this) ); + + registerChatStats(); } @Override diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/skywars/SoloSkywars.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/skywars/SoloSkywars.java index d5262599d..c8d62fc38 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/skywars/SoloSkywars.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/skywars/SoloSkywars.java @@ -35,6 +35,8 @@ public class SoloSkywars extends Skywars }); this.DamageTeamSelf = true; + + registerChatStats(); } diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/skywars/TeamSkywars.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/skywars/TeamSkywars.java index 7eb916b53..4b1a9ab52 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/skywars/TeamSkywars.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/skywars/TeamSkywars.java @@ -53,6 +53,8 @@ public class TeamSkywars extends Skywars this.DamageTeamSelf = false; this.DontAllowOverfill = true; + + registerChatStats(); } @EventHandler diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/smash/SoloSuperSmash.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/smash/SoloSuperSmash.java index b9ba7a26b..71a16d1ed 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/smash/SoloSuperSmash.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/smash/SoloSuperSmash.java @@ -32,6 +32,8 @@ public class SoloSuperSmash extends SuperSmash }); this.DamageTeamSelf = true; + + registerChatStats(); } @EventHandler diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/smash/SuperSmashDominate.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/smash/SuperSmashDominate.java index bf643a201..58e05d138 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/smash/SuperSmashDominate.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/smash/SuperSmashDominate.java @@ -55,6 +55,8 @@ public class SuperSmashDominate extends Domination new KitMagmaCube(manager), }); + + registerChatStats(); } @EventHandler(priority = EventPriority.LOWEST) diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/smash/TeamSuperSmash.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/smash/TeamSuperSmash.java index 2ffd3f82d..24690ab2b 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/smash/TeamSuperSmash.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/smash/TeamSuperSmash.java @@ -53,6 +53,8 @@ public class TeamSuperSmash extends SuperSmash this.TeamArmorHotbar = true; this.DontAllowOverfill = true; + + registerChatStats(); } @Override diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/snake/Snake.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/snake/Snake.java index 9a289d7b5..ceaa0aa4c 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/snake/Snake.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/snake/Snake.java @@ -157,6 +157,8 @@ public class Snake extends SoloGame new ChooChooStatTracker(this), new SlimySheepStatTracker(this) ); + + registerChatStats(); } @EventHandler diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/sneakyassassins/SneakyAssassins.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/sneakyassassins/SneakyAssassins.java index 474567032..5fbbbe8b0 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/sneakyassassins/SneakyAssassins.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/sneakyassassins/SneakyAssassins.java @@ -92,6 +92,8 @@ public class SneakyAssassins extends SoloGame new RevealStatTracker(this, "ISeeYou"), _killEntityStatTracker ); + + registerChatStats(); } @Override diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/snowfight/SnowFight.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/snowfight/SnowFight.java index cb278885d..e97a8df55 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/snowfight/SnowFight.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/snowfight/SnowFight.java @@ -104,6 +104,8 @@ public class SnowFight extends TeamGame this.TeamArmor = true; this.TeamArmorHotbar = true; + + registerChatStats(); // this.WorldWeatherEnabled = true; // this.WorldTimeSet = 4000; diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/spleef/Spleef.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/spleef/Spleef.java index 73d245050..ce1ed3c64 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/spleef/Spleef.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/spleef/Spleef.java @@ -62,6 +62,8 @@ public class Spleef extends SoloGame this.PrepareFreeze = false; registerStatTrackers(new SpleefBlockDestroyStatTracker(this)); + + registerChatStats(); } @EventHandler diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/spleef/SpleefTeams.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/spleef/SpleefTeams.java index 33477cd48..7bd09a74d 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/spleef/SpleefTeams.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/spleef/SpleefTeams.java @@ -59,6 +59,8 @@ public class SpleefTeams extends TeamGame this.TeamArmor = true; this.TeamArmorHotbar = true; + + registerChatStats(); } @EventHandler diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/squidshooter/SquidShooter.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/squidshooter/SquidShooter.java index 8842a3799..a77b8817b 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/squidshooter/SquidShooter.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/squidshooter/SquidShooter.java @@ -50,6 +50,8 @@ public class SquidShooter extends SoloGame this.PrepareFreeze = false; this.CompassEnabled = true; this.KitRegisterState = GameState.Prepare; + + registerChatStats(); } @EventHandler public void Death(CombatDeathEvent event) diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/stacker/Stacker.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/stacker/Stacker.java index 5757baaad..93fd43c1e 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/stacker/Stacker.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/stacker/Stacker.java @@ -54,6 +54,8 @@ public class Stacker extends SoloGame implements IThrown "Players lose 5 stacked animals if they get hit.", "First to stack 16 high wins!" }); + + registerChatStats(); } @EventHandler diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/survivalgames/SoloSurvivalGames.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/survivalgames/SoloSurvivalGames.java index 8085bf2ed..2aa54c7a9 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/survivalgames/SoloSurvivalGames.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/survivalgames/SoloSurvivalGames.java @@ -39,6 +39,8 @@ public class SoloSurvivalGames extends SurvivalGames }); this.DamageTeamSelf = true; + + registerChatStats(); } diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/survivalgames/SurvivalGamesTeams.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/survivalgames/SurvivalGamesTeams.java index f6385469e..cfa06236d 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/survivalgames/SurvivalGamesTeams.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/survivalgames/SurvivalGamesTeams.java @@ -255,6 +255,8 @@ public class SurvivalGamesTeams extends TeamGame //Tournament if (Manager.IsTournamentServer()) QuitOut = false; + + registerChatStats(); } @Override diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/survivalgames/TeamSurvivalGames.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/survivalgames/TeamSurvivalGames.java index baf59a0bf..8a2d8b4ee 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/survivalgames/TeamSurvivalGames.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/survivalgames/TeamSurvivalGames.java @@ -59,6 +59,8 @@ public class TeamSurvivalGames extends SurvivalGames this.DamageTeamSelf = false; this.DontAllowOverfill = true; + + registerChatStats(); } diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/tug/Tug.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/tug/Tug.java index 47e69f1d8..30a7e7a17 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/tug/Tug.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/tug/Tug.java @@ -75,6 +75,8 @@ public class Tug extends TeamGame this.DeathOut = false; this.DeathSpectateSecs = 20; + + registerChatStats(); } @Override diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/turfforts/TurfForts.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/turfforts/TurfForts.java index 9494c868e..8e7045bed 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/turfforts/TurfForts.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/turfforts/TurfForts.java @@ -153,6 +153,8 @@ public class TurfForts extends TeamGame new BehindEnemyLinesStatTracker(this), new TheComebackStatTracker(this) ); + + registerChatStats(); } @Override diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/typewars/TypeWars.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/typewars/TypeWars.java index e8786ddbc..52f1ccaa8 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/typewars/TypeWars.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/typewars/TypeWars.java @@ -167,6 +167,8 @@ public class TypeWars extends TeamGame new KillsStatTracker(this), new TimeInGameTracker(this) ); + + registerChatStats(); manager.GetCreature().SetDisableCustomDrops(true); manager.GetChat().setThreeSecondDelay(false); diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/uhc/UHC.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/uhc/UHC.java index e1523f86c..2f42ad715 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/uhc/UHC.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/uhc/UHC.java @@ -207,6 +207,8 @@ public class UHC extends TeamGame _createTime = System.currentTimeMillis(); _serverTime = Utility.currentTimeMillis(); + + registerChatStats(); } @Override diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/wither/WitherGame.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/wither/WitherGame.java index c224dcedf..6da38a325 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/wither/WitherGame.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/wither/WitherGame.java @@ -148,6 +148,8 @@ public class WitherGame extends TeamGame implements IBlockRestorer new TeamDeathsStatTracker(this), new TeamKillsStatTracker(this) ); + + registerChatStats(); } @Override diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/wizards/Wizards.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/wizards/Wizards.java index 64afb0d14..ca4130453 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/wizards/Wizards.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/wizards/Wizards.java @@ -166,6 +166,8 @@ public class Wizards extends SoloGame SoupEnabled = false; DamageTeamSelf = true; + registerChatStats(); + Manager.getCosmeticManager().setHideParticles(true); // Manager.GetDamage().GetCombatManager().setUseWeaponName(AttackReason.DefaultWeaponName); diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/zombiesurvival/ZombieSurvival.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/zombiesurvival/ZombieSurvival.java index 3d1a0247d..58b46f4fa 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/zombiesurvival/ZombieSurvival.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/zombiesurvival/ZombieSurvival.java @@ -71,6 +71,8 @@ public class ZombieSurvival extends SoloGame this.HungerSet = 20; this.CompassEnabled = true; + + registerChatStats(); } @Override diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/chat/ChatStatData.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/chat/ChatStatData.java index 8ad5c8687..e5a692036 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/chat/ChatStatData.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/chat/ChatStatData.java @@ -1,13 +1,11 @@ package nautilus.game.arcade.managers.chat; -import mineplex.core.chat.Chat; - /** * Created by TeddyDev on 10/01/2016. */ public class ChatStatData { - private String[] _stat; + private String _stat; private String _display; private boolean _isValue; @@ -16,7 +14,7 @@ public class ChatStatData } - public ChatStatData(String[] stat, String display, boolean isValue) + public ChatStatData(String stat, String display, boolean isValue) { _stat = stat; _display = display; @@ -25,14 +23,23 @@ public class ChatStatData public ChatStatData blankLine() { - _stat = new String[]{null}; + _stat = null; _display = " "; _isValue = false; return this; } - public String[] getStat() + public ChatStatData plainText(String text) + { + _stat = null; + _display = text; + _isValue = false; + + return this; + } + + public String getStat() { return _stat; } diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameChatManager.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/chat/GameChatManager.java similarity index 97% rename from Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameChatManager.java rename to Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/chat/GameChatManager.java index 2723d9110..c4723259d 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameChatManager.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/chat/GameChatManager.java @@ -1,4 +1,4 @@ -package nautilus.game.arcade.managers; +package nautilus.game.arcade.managers.chat; import java.text.DecimalFormat; import java.util.AbstractMap; @@ -269,7 +269,6 @@ public class GameChatManager implements Listener _chatStats = new LinkedList(); for(ChatStatData chatStat : stats) { - System.out.println(chatStat.getStat()); _chatStats.add(chatStat); } } @@ -294,7 +293,7 @@ public class GameChatManager implements Listener } ChatStatData chatStatData = hoverText.get(i); - String display = (chatStatData.getDisplay() == null ? chatStatData.getStat()[0] : chatStatData.getDisplay()); + String display = (chatStatData.getDisplay() == null ? chatStatData.getStat() : chatStatData.getDisplay()); if(!chatStatData.isValue()) { @@ -302,7 +301,7 @@ public class GameChatManager implements Listener continue; } - if (chatStatData.getStat()[0].equalsIgnoreCase("kdratio")) + if (chatStatData.getStat().equalsIgnoreCase("kdratio")) { int kills; int deaths; @@ -321,9 +320,9 @@ public class GameChatManager implements Listener continue; } - if (game.GetStats().get(player).containsKey(gameName + "." + chatStatData.getStat()[0])) + if (game.GetStats().get(player).containsKey(gameName + "." + chatStatData.getStat())) { - temp.add(new AbstractMap.SimpleEntry(display + ": ", (game.GetStats().get(player).get(gameName + "." + chatStatData.getStat()[0]).toString()))); + temp.add(new AbstractMap.SimpleEntry(display + ": ", (game.GetStats().get(player).get(gameName + "." + chatStatData.getStat()).toString()))); } else { From f1314d5c266342af4957a08ecc582ad73fc31023 Mon Sep 17 00:00:00 2001 From: Teddy Date: Tue, 12 Jan 2016 13:25:47 +0000 Subject: [PATCH 13/43] JSON now handled by JsonMessage Builder --- .../arcade/managers/chat/GameChatManager.java | 29 ++++++++----------- 1 file changed, 12 insertions(+), 17 deletions(-) diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/chat/GameChatManager.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/chat/GameChatManager.java index c4723259d..c82fbfdf2 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/chat/GameChatManager.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/chat/GameChatManager.java @@ -24,6 +24,7 @@ import net.minecraft.server.v1_8_R3.PacketPlayOutChat; import com.google.gson.stream.MalformedJsonException; import mineplex.core.account.CoreClient; import mineplex.core.common.Rank; +import mineplex.core.common.jsonchat.ChildJsonMessage; import mineplex.core.common.jsonchat.JsonMessage; import mineplex.core.common.util.C; import mineplex.core.common.util.F; @@ -34,6 +35,7 @@ import nautilus.game.arcade.game.Game; import nautilus.game.arcade.game.Game.GameState; import nautilus.game.arcade.game.GameTeam; import nautilus.game.arcade.managers.chat.ChatStatData; +import org.apache.commons.lang.ArrayUtils; import org.apache.commons.lang.StringUtils; import org.jooq.tools.json.JSONObject; @@ -243,23 +245,17 @@ public class GameChatManager implements Listener public boolean safeSend(Player sender, String format, String name, String message, Collection sendto) { - String json = buildJSON(sender, format, name, _chatStats, message); + final JsonMessage json = buildJSON(sender, format, name, _chatStats, message); try { - IChatBaseComponent baseComponent = IChatBaseComponent.ChatSerializer.a(json); - for(Player player : sendto) - { - UtilPlayer.sendPacket(player, new PacketPlayOutChat(baseComponent)); - } + json.send(JsonMessage.MessageType.CHAT_BOX, sendto.toArray(new Player[sendto.size()])); return true; } catch (Exception e) { - System.out.println(""); System.out.println("ChatStats Failed to send JSON message.."); System.out.println(json); - System.out.println(""); return false; } } @@ -273,7 +269,7 @@ public class GameChatManager implements Listener } } - private String buildJSON(Player player, String format, String name, LinkedList hoverText, String message) + private JsonMessage buildJSON(Player player, String format, String name, LinkedList hoverText, String message) { LinkedList> temp = new LinkedList>(); @@ -330,18 +326,17 @@ public class GameChatManager implements Listener } } - String f = "{\"text\":\"\",\"extra\":[{\"text\":\"" + JSONObject.escape(format) + "\"},"; - String n = "{\"text\":\"" + JSONObject.escape(name) + "\","; - String stats = "\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\""; - String m = ",{\"text\":\"" + JSONObject.escape(message) + "\"}]}"; - + String stats2 = ""; for (int i = 0; i < temp.size(); i++) { - stats += C.cWhite + JSONObject.escape(temp.get(i).getKey()) + C.cGray + JSONObject.escape(temp.get(i).getValue()) + (i >= temp.size()-1 ? "\"}}}" : "\\n"); + stats2 += C.cWhite + JSONObject.escape(temp.get(i).getKey()) + C.cGray + JSONObject.escape(temp.get(i).getValue()) + (i >= temp.size()-1 ? "" : "\\n"); } - System.out.println(f + n + stats + m); - return f + n + stats + m; + JsonMessage jsonMessage = new JsonMessage("") + .extra(JSONObject.escape(format)) + .add(JSONObject.escape(name)).hover("show_text", stats2) + .add(JSONObject.escape(message)); + return jsonMessage; } public String getRatio(int var1, int var2, String format) From d33d682ebbe42d78927f922978be91e06649da7e Mon Sep 17 00:00:00 2001 From: Teddy Date: Wed, 13 Jan 2016 18:40:29 +0000 Subject: [PATCH 14/43] Implementing stats for every game, got all stat names ready --- .../src/nautilus/game/arcade/game/Game.java | 9 + .../arcade/managers/chat/GameChatManager.java | 1332 +++++++++++++++++ 2 files changed, 1341 insertions(+) diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/Game.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/Game.java index c009969de..8b240677c 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/Game.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/Game.java @@ -274,7 +274,16 @@ public abstract class Game implements Listener // Chat Stats public final ChatStatData Kills = new ChatStatData("Kills", "Kills", true); + public final ChatStatData Assists = new ChatStatData("Assists", "Assists", true); + public final ChatStatData DamageDealt = new ChatStatData("Damage Dealt", "Damage Dealt", true); + public final ChatStatData DamageTaken = new ChatStatData("Damage Taken", "Damage Taken", true); + public final ChatStatData DamageTakenPVP = new ChatStatData("Damage Taken PvP", "Damage Taken", true); public final ChatStatData Deaths = new ChatStatData("Deaths", "Deaths", true); + public final ChatStatData ExpEarned = new ChatStatData("ExpEarned", "Exp Earned", true); + public final ChatStatData GamesPlayed = new ChatStatData("GamesPlayed", "Games Played", true); + public final ChatStatData GemsEarned = new ChatStatData("GemsEarned", "Gems Earned", true); + public final ChatStatData Losses = new ChatStatData("Losses", "Losses", true); + public final ChatStatData Wins = new ChatStatData("Wins", "Wins", true); public final ChatStatData KDRatio = new ChatStatData("KDRatio", "KD-Ratio", true); // Gems diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/chat/GameChatManager.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/chat/GameChatManager.java index c82fbfdf2..de4490590 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/chat/GameChatManager.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/chat/GameChatManager.java @@ -351,3 +351,1335 @@ public class GameChatManager implements Listener return new DecimalFormat(format).format(ratio); } } +/* +A Barbarians Life.Assists +A Barbarians Life.Damage Dealt +A Barbarians Life.Damage Taken +A Barbarians Life.Damage Taken PvP +A Barbarians Life.Deaths +A Barbarians Life.ExpEarned +A Barbarians Life.GamesPlayed +A Barbarians Life.GemsEarned +A Barbarians Life.Kills +A Barbarians Life.Losses +A Barbarians Life.Wins + +Bacon Brawl.Assists +Bacon Brawl.Damage Dealt +Bacon Brawl.Damage Taken +Bacon Brawl.Damage Taken PvP +Bacon Brawl.Deaths +Bacon Brawl.ExpEarned +Bacon Brawl.GamesPlayed +Bacon Brawl.GemsEarned +Bacon Brawl.Kills +Bacon Brawl.Losses +Bacon Brawl.Wins +Bacon.Wins +BaconBrawl.Wins + +Block Hunt.Assists +Block Hunt.BadHider +Block Hunt.Damage Dealt +Block Hunt.Damage Taken +Block Hunt.Damage Taken PvP +Block Hunt.Deaths +Block Hunt.ExpEarned +Block Hunt.GamesPlayed +Block Hunt.GemsEarned +Block Hunt.Hiders Deaths +Block Hunt.Hiders Kills +Block Hunt.HunterKiller +Block Hunt.HunterOfTheYear +Block Hunt.Hunters Deaths +Block Hunt.Hunters Kills +Block Hunt.Kills +Block Hunt.Losses +Block Hunt.Meow +Block Hunt.Wins + +BlueBeetleHD + +Bomb Lobbers.Assists +Bomb Lobbers.BestTeam +Bomb Lobbers.BlastProof +Bomb Lobbers.Blue Deaths +Bomb Lobbers.Blue Kills +Bomb Lobbers.Damage Dealt +Bomb Lobbers.Damage Taken +Bomb Lobbers.Damage Taken PvP +Bomb Lobbers.Deaths +Bomb Lobbers.Direct Hit +Bomb Lobbers.ExpEarned +Bomb Lobbers.GemsEarned +Bomb Lobbers.JellySkin +Bomb Lobbers.Killer +Bomb Lobbers.Kills +Bomb Lobbers.Losses +Bomb Lobbers.Red Deaths +Bomb Lobbers.Red Kills +Bomb Lobbers.Sniper +Bomb Lobbers.Thrown +Bomb Lobbers.Wins + +Boss Battles.Damage Dealt +Boss Battles.Damage Taken +Boss Battles.Damage Taken PvP +Boss Battles.Deaths +Boss Battles.ExpEarned +Boss Battles.GemsEarned +Boss Battles.Kills +Boss Battles.Wins + +Bouncy Balls.Damage Taken +Bouncy Balls.Deaths +Bouncy Balls.ExpEarned +Bouncy Balls.GemsEarned +Bouncy Balls.Losses +Bouncy Balls.Wins + +Bridge.Wins +Bridges.GoodForTheMasses +Bridges.Win +Bridges.Wins + +Build Game.Win +Build Wars.ExpEarned +Build Wars.GemsEarned +Build Wars.Losses +Build Wars.Win +Build Wars.Wins +Build.Win + +Canvas Warfare.Blue Deaths +Canvas Warfare.Damage Taken +Canvas Warfare.Deaths +Canvas Warfare.ExpEarned +Canvas Warfare.GemsEarned +Canvas Warfare.Green Deaths +Canvas Warfare.Losses +Canvas Warfare.Red Deaths +Canvas Warfare.Wins +Canvas Warfare.Yellow Deaths + +Castle Siege.Assassin +Castle Siege.Assists +Castle Siege.BloodThirsty +Castle Siege.Damage Dealt +Castle Siege.Damage Taken +Castle Siege.Damage Taken PvP +Castle Siege.Deaths +Castle Siege.Defenders Deaths +Castle Siege.Defenders Kills +Castle Siege.ExpEarned +Castle Siege.ForTheKing +Castle Siege.GamesPlayed +Castle Siege.GemsEarned +Castle Siege.Kills +Castle Siege.KingSlayer +Castle Siege.Losses +Castle Siege.Undead Deaths +Castle Siege.Undead Kills +Castle Siege.Wins +CastleSeige.Wins +CastleSiege.Wins + +Cave In.Damage Dealt +Cave In.Damage Taken +Cave In.Damage Taken PvP +Cave In.Deaths +Cave In.ExpEarned +Cave In.GemsEarned +Cave In.Kills +Cave In.Losses +Cave In.Wins + +Champion Dominate.wins +Champion.Wins +Champions Capture the Flag.Assassination +Champions Capture the Flag.Assists +Champions Capture the Flag.Captures +Champions Capture the Flag.Clutch +Champions Capture the Flag.Damage Dealt +Champions Capture the Flag.Damage Taken +Champions Capture the Flag.Damage Taken PvP +Champions Capture the Flag.Deaths +Champions Capture the Flag.Earthquake +Champions Capture the Flag.ExpEarned +Champions Capture the Flag.GemsEarned +Champions Capture the Flag.Kills +Champions Capture the Flag.Losses +Champions Capture the Flag.Wins +Champions CTF.Assassination +Champions CTF.Assists +Champions CTF.Captures +Champions CTF.Clutch +Champions CTF.Damage Dealt +Champions CTF.Damage Taken +Champions CTF.Damage Taken PvP +Champions CTF.Deaths +Champions CTF.Earthquake +Champions CTF.ExpEarned +Champions CTF.GemsEarned +Champions CTF.Kills +Champions CTF.Losses +Champions CTF.MassElectrocution +Champions CTF.SpecialWin +Champions CTF.TheLongestShot +Champions CTF.Wins +Champions Dom.Wins +Champions Dominate.win +Champions Dominate.Wins +Champions Domination.Assassination +Champions Domination.Assists +Champions Domination.Blue Deaths +Champions Domination.Blue Kills +Champions Domination.Damage Dealt +Champions Domination.Damage Taken +Champions Domination.Damage Taken PvP +Champions Domination.Deaths +Champions Domination.Earthquake +Champions Domination.ExpEarned +Champions Domination.GamesPlayed +Champions Domination.GemsEarned +Champions Domination.Kills +Champions Domination.Losses +Champions Domination.MassElectrocution +Champions Domination.Red Deaths +Champions Domination.Red Kills +Champions Domination.TheLongestShot +Champions Domination.Wins +Champions Domination.Yellow Deaths +Champions Domination.Yellow Kills +Champions TDM.Ace +Champions TDM.Assassination +Champions TDM.Assists +Champions TDM.Blue Deaths +Champions TDM.Blue Kills +Champions TDM.Damage Dealt +Champions TDM.Damage Taken +Champions TDM.Damage Taken PvP +Champions TDM.Deaths +Champions TDM.Earthquake +Champions TDM.ExpEarned +Champions TDM.FlawlessVictory +Champions TDM.GamesPlayed +Champions TDM.GemsEarned +Champions TDM.Kills +Champions TDM.Losses +Champions TDM.MassElectrocution +Champions TDM.Red Deaths +Champions TDM.Red Kills +Champions TDM.TheLongestShot +Champions TDM.Wins +Champions Team Deathmatch.Wins +Champions.Wins + +Christmas Chaos.Assists +Christmas Chaos.Damage Dealt +Christmas Chaos.Damage Taken +Christmas Chaos.Damage Taken PvP +Christmas Chaos.Deaths +Christmas Chaos.ExpEarned +Christmas Chaos.GamesPlayed +Christmas Chaos.GemsEarned +Christmas Chaos.Kills +Christmas Chaos.Losses +Christmas Chaos.Wins + +Clans.TimeInGame +Clans.TimePlaying + +Climb Time.Assists +Climb Time.Damage Dealt +Climb Time.Damage Taken +Climb Time.Damage Taken PvP +Climb Time.Deaths +Climb Time.ExpEarned +Climb Time.GemsEarned +Climb Time.Kills +Climb Time.Losses +Climb Time.Wins + +Coin +coins + +Competitive1.Damage Dealt +Competitive1.Damage Taken +Competitive1.Damage Taken PvP +Competitive1.Deaths +Competitive1.ExpEarned +Competitive1.GemsEarned +Competitive1.Kills +Competitive1.Losses +Competitive1.Wins + +Craft Against Humanity.ExpEarned +Craft Against Humanity.GamesPlayed +Craft Against Humanity.GemsEarned +Craft Against Humanity.Losses +Craft Against Humanity.Wins + +Death Tag.Assists +Death Tag.Chasers Deaths +Death Tag.Chasers Kills +Death Tag.ComeAtMeBro +Death Tag.Damage Dealt +Death Tag.Damage Taken +Death Tag.Damage Taken PvP +Death Tag.Deaths +Death Tag.ExpEarned +Death Tag.GamesPlayed +Death Tag.GemsEarned +Death Tag.Kills +Death Tag.Losses +Death Tag.Runners Deaths +Death Tag.Runners Kills +Death Tag.Wins + +Dominate.Wins + +Dragon Escape Teams.Blue Deaths +Dragon Escape Teams.Damage Dealt +Dragon Escape Teams.Damage Taken +Dragon Escape Teams.Damage Taken PvP +Dragon Escape Teams.Deaths +Dragon Escape Teams.ExpEarned +Dragon Escape Teams.GamesPlayed +Dragon Escape Teams.GemsEarned +Dragon Escape Teams.Green Deaths +Dragon Escape Teams.Losses +Dragon Escape Teams.Red Deaths +Dragon Escape Teams.Wins +Dragon Escape Teams.Yellow Deaths +Dragon Escape.Damage Dealt +Dragon Escape.Damage Taken +Dragon Escape.Damage Taken PvP +Dragon Escape.Deaths +Dragon Escape.ExpEarned +Dragon Escape.GamesPlayed +Dragon Escape.GemsEarned +Dragon Escape.Kills +Dragon Escape.Losses +Dragon Escape.Paralympics +Dragon Escape.Win.Frost Run +Dragon Escape.Win.Into the Jungle +Dragon Escape.Win.Journey +Dragon Escape.Win.Pirate Bay +Dragon Escape.Win.Skylands +Dragon Escape.Win.The Land Before Time +Dragon Escape.Win.Through Hell +Dragon Escape.Wins + +Dragon Riders.Damage Dealt +Dragon Riders.Damage Taken +Dragon Riders.Damage Taken PvP +Dragon Riders.ExpEarned +Dragon Riders.GamesPlayed +Dragon Riders.GemsEarned +Dragon Riders.Losses +Dragon Riders.Wins + +Dragons Teams.Blue Deaths +Dragons Teams.Damage Dealt +Dragons Teams.Damage Taken +Dragons Teams.Damage Taken PvP +Dragons Teams.Deaths +Dragons Teams.ExpEarned +Dragons Teams.GamesPlayed +Dragons Teams.GemsEarned +Dragons Teams.Green Deaths +Dragons Teams.Losses +Dragons Teams.Red Deaths +Dragons Teams.Wins +Dragons Teams.Yellow Deaths + +Dragons.Damage Dealt +Dragons.Damage Taken +Dragons.Damage Taken PvP +Dragons.Deaths +Dragons.ExpEarned +Dragons.GamesPlayed +Dragons.GemsEarned +Dragons.Green Deaths +Dragons.Kills +Dragons.Losses +Dragons.Sparklez +Dragons.Win +Dragons.Wins + +Draw My Thing.Damage Dealt +Draw My Thing.Damage Taken +Draw My Thing.Damage Taken PvP +Draw My Thing.ExpEarned +Draw My Thing.GamesPlayed +Draw My Thing.GemsEarned +Draw My Thing.KeenEye +Draw My Thing.Losses +Draw My Thing.MrSquiggle +Draw My Thing.PureLuck +Draw My Thing.Wins + +Duck Hunt.Damage Dealt +Duck Hunt.Damage Taken +Duck Hunt.Deaths +Duck Hunt.ExpEarned +Duck Hunt.GemsEarned +Duck Hunt.Losses +Duck Hunt.Wins + +Duck Stompers.Damage Dealt +Duck Stompers.Damage Taken +Duck Stompers.Deaths +Duck Stompers.ExpEarned +Duck Stompers.GemsEarned +Duck Stompers.Losses +Duck Stompers.Wins + +Endurance.Assists +Endurance.Damage Dealt +Endurance.Damage Taken +Endurance.Damage Taken PvP +Endurance.Deaths +Endurance.ExpEarned +Endurance.GemsEarned +Endurance.Kills +Endurance.Losses +Endurance.Wins + +Evolution.AbilityOnly +Evolution.Assists +Evolution.Damage Dealt +Evolution.Damage Taken +Evolution.Damage Taken PvP +Evolution.Deaths +Evolution.EvolveKill +Evolution.ExpEarned +Evolution.GamesPlayed +Evolution.GemsEarned +Evolution.Kills +Evolution.Losses +Evolution.MeleeOnly +Evolution.NoDeaths +Evolution.Rampage +Evolution.Stealth +Evolution.Wins + +exp +ExpEarned +Experience +Free Kits Forever +Gem +gems + +GemWars.Assists +GemWars.Blue Deaths +GemWars.Blue Kills +GemWars.Damage Dealt +GemWars.Damage Taken +GemWars.Damage Taken PvP +GemWars.Deaths +GemWars.GemsEarned +GemWars.Kills +GemWars.Red Deaths +GemWars.Red Kills + +Gladiator Arena.Assists +Gladiator Arena.Damage Dealt +Gladiator Arena.Damage Taken +Gladiator Arena.Damage Taken PvP +Gladiator Arena.Deaths +Gladiator Arena.ExpEarned +Gladiator Arena.GemsEarned +Gladiator Arena.Kills +Gladiator Arena.Losses +Gladiator Arena.Wins + +Gladiators.Assists +Gladiators.Brawler +Gladiators.Damage Dealt +Gladiators.Damage Taken +Gladiators.Damage Taken PvP +Gladiators.Deaths +Gladiators.ExpEarned +Gladiators.Flawless +Gladiators.GemsEarned +Gladiators.Kills +Gladiators.Losses +Gladiators.Precision +Gladiators.SwiftKill +Gladiators.Untouchable +Gladiators.Wins + +Global.Build Draw Abuse +Global.Christmas Presents 2015 +Global.DailyReward +Global.DailyVote +Global.DeniedReportsCount +Global.Egg Baskets Smashed +Global.Exp Earned +Global.ExpEarned +Global.ExpEarned - +GLOBAL.Experience +Global.Experience Earned +Global.GamesPlayed +Global.GemsEarned +Global.Global.ExpEarned +Global.Halloween Pumpkins 2015 +Global.Level +Global.MineplexLevel +Global.Pumpkins Smashed +Global.SurvivalGamesWins +Global.TimeInGame +Global.TotalReportsCount +Global.Treasure.Ancient +Global.Treasure.Christmas +Global.Treasure.Mythical +Global.Treasure.Old +GlobalEarned +GlobalExp +GlobalExp.Earned +GlobalExpEarned +GlobalExperience +Global_Exp +GLOBAL_MINEPLEX_LEVEL +Globlal.ExpEarned + +Gravity.Damage Dealt +Gravity.Damage Taken +Gravity.Damage Taken PvP +Gravity.Deaths +Gravity.ExpEarned +Gravity.GamesPlayed +Gravity.GemsEarned +Gravity.Losses +Gravity.Wins + +Halloween Horror.Damage Dealt +Halloween Horror.Damage Taken +Halloween Horror.Damage Taken PvP +Halloween Horror.Deaths +Halloween Horror.ExpEarned +Halloween Horror.GamesPlayed +Halloween Horror.GemsEarned +Halloween Horror.Losses +Halloween Horror.Players Deaths +Halloween Horror.Wins + +Hole in the Wall.Damage Taken +Hole in the Wall.Deaths +Hole in the Wall.ExpEarned +Hole in the Wall.GamesPlayed +Hole in the Wall.GemsEarned +Hole in the Wall.Losses +Hole in the Wall.Wins + +Horseback.Assists +Horseback.Damage Dealt +Horseback.Damage Taken +Horseback.Damage Taken PvP +Horseback.Deaths +Horseback.ExpEarned +Horseback.GamesPlayed +Horseback.GemsEarned +Horseback.Kills +Horseback.Losses +Horseback.Wins + +Juggernaut.Assists +Juggernaut.Damage Dealt +Juggernaut.Damage Taken +Juggernaut.Damage Taken PvP +Juggernaut.Deaths +Juggernaut.GemsEarned +Juggernaut.Hunters Deaths +Juggernaut.Kills + +King of the Hill.Assists +King of the Hill.Blue Deaths +King of the Hill.Blue Kills +King of the Hill.Damage Dealt +King of the Hill.Damage Taken +King of the Hill.Damage Taken PvP +King of the Hill.Deaths +King of the Hill.ExpEarned +King of the Hill.GemsEarned +King of the Hill.Green Deaths +King of the Hill.Green Kills +King of the Hill.Kills +King of the Hill.Losses +King of the Hill.Red Deaths +King of the Hill.Red Kills +King of the Hill.Wins +King of the Hill.Yellow Deaths +King of the Hill.Yellow Kills + +Laser Tag.Damage Dealt +Laser Tag.Damage Taken +Laser Tag.Damage Taken PvP +Laser Tag.ExpEarned +Laser Tag.GemsEarned +Laser Tag.Losses +Laser Tag.Wins + +Master Builder.Win +Master Builder.Wins +Master Builders.Build Draw Abuse +Master Builders.Conservative +Master Builders.ExpEarned +Master Builders.GamesPlayed +Master Builders.GemsEarned +Master Builders.Good Builder +Master Builders.Losses +Master Builders.Master Builders.Conservative +Master Builders.Master Builders.Good Builder +Master Builders.Win +Master Builders.Wins +Master Dragons.Wins + +Micro Battle.Annihilation +Micro Battle.Assists +Micro Battle.Blue Deaths +Micro Battle.Blue Kills +Micro Battle.Damage Dealt +Micro Battle.Damage Taken +Micro Battle.Damage Taken PvP +Micro Battle.Deaths +Micro Battle.ExpEarned +Micro Battle.GamesPlayed +Micro Battle.GemsEarned +Micro Battle.Green Deaths +Micro Battle.Green Kills +Micro Battle.Kills +Micro Battle.Losses +Micro Battle.Red Deaths +Micro Battle.Red Kills +Micro Battle.Wins +Micro Battle.Yellow Deaths +Micro Battle.Yellow Kills +Micro Battles.Wins + +Milk the Cow.Assists +Milk the Cow.Damage Dealt +Milk the Cow.Damage Taken +Milk the Cow.Damage Taken PvP +Milk the Cow.Deaths +Milk the Cow.GamesPlayed +Milk the Cow.GemsEarned +Milk the Cow.Kills +Milk the Cow.Losses +Milk the Cow.Wins + +Minecraft League.Assists +Minecraft League.Damage Dealt +Minecraft League.Damage Taken +Minecraft League.Damage Taken PvP +Minecraft League.Deaths +Minecraft League.ExpEarned +Minecraft League.GemsEarned +Minecraft League.Kills +Minecraft League.Losses +Minecraft League.Wins + +Mineplex Event.Damage Taken +Mineplex Event.Deaths +Mineplex Event.ExpEarned +Mineplex Event.GamesPlayed +Mineplex Event.GemsEarned +Mineplex Event.Losses +Mineplex Event.Red Deaths +Mineplex Event.Wins + +Minesrike.Wins +MineStrike. +MineStrike.Ace +MineStrike.Assassination +MineStrike.Assists +MineStrike.Blindfolded +MineStrike.Blue Deaths +MineStrike.Blue Kills +MineStrike.Bombers Deaths +MineStrike.Bombers Kills +MineStrike.BoomHeadshot +MineStrike.ClutchOrKick +MineStrike.Damage Dealt +MineStrike.Damage Taken +MineStrike.Damage Taken PvP +MineStrike.Deaths +MineStrike.ExpEarned +MineStrike.GamesPlayed +MineStrike.Gems Earned +MineStrike.GemsEarned +MineStrike.Kaboom +MineStrike.KillingSpree +MineStrike.Kills +MineStrike.Losses +MineStrike.Red Deaths +MineStrike.Red Kills +MineStrike.SWAT Deaths +MineStrike.SWAT Kills +Minestrike.Win +MineStrike.Wins + +MineWare.Assists +MineWare.Damage Dealt +MineWare.Damage Taken +MineWare.Damage Taken PvP +MineWare.Deaths +MineWare.ExpEarned +MineWare.GamesPlayed +MineWare.GemsEarned +MineWare.Kangaroo +MineWare.Kills +MineWare.LauraCraft +MineWare.Losses +MineWare.MilkMan +MineWare.PinataMaster +MineWare.SurfUp +MineWare.TagMaster +MineWare.Veteran +MineWare.Wins + +Missile Wars.Assists +Missile Wars.Damage Dealt +Missile Wars.Damage Taken +Missile Wars.Damage Taken PvP +Missile Wars.Deaths +Missile Wars.ExpEarned +Missile Wars.GemsEarned +Missile Wars.Kills +Missile Wars.Losses +Missile Wars.Wins + +Mob Survival.Damage Taken +Mob Survival.Deaths +Mob Survival.ExpEarned +Mob Survival.GemsEarned +Mob Survival.Losses +Mob Survival.Wins + +Monster League.Damage Taken +Monster League.Deaths +Monster League.ExpEarned +Monster League.GemsEarned +Monster League.Losses +Monster League.Wins + +Monster Maze.Damage Dealt +Monster Maze.Damage Taken +Monster Maze.Deaths +Monster Maze.ExpEarned +Monster Maze.GemsEarned +Monster Maze.Hard Mode +Monster Maze.Losses +Monster Maze.Ninja +Monster Maze.Pilot +Monster Maze.Speed +Monster Maze.ToughCompetition +Monster Maze.Wins + +Old MineWare.Damage Dealt +Old MineWare.Damage Taken +Old MineWare.Deaths +Old MineWare.ExpEarned +Old MineWare.GamesPlayed +Old MineWare.GemsEarned +Old MineWare.Losses +Old MineWare.Wins + +One in the Quiver Teams.Assists +One in the Quiver Teams.Blue Deaths +One in the Quiver Teams.Blue Kills +One in the Quiver Teams.Damage Dealt +One in the Quiver Teams.Damage Taken +One in the Quiver Teams.Damage Taken PvP +One in the Quiver Teams.Deaths +One in the Quiver Teams.ExpEarned +One in the Quiver Teams.GamesPlayed +One in the Quiver Teams.GemsEarned +One in the Quiver Teams.Green Deaths +One in the Quiver Teams.Green Kills +One in the Quiver Teams.Kills +One in the Quiver Teams.Losses +One in the Quiver Teams.Red Deaths +One in the Quiver Teams.Red Kills +One in the Quiver Teams.Wins +One in the Quiver Teams.Yellow Deaths +One in the Quiver Teams.Yellow Kills +One in the Quiver.Assists +One in the Quiver.Damage Dealt +One in the Quiver.Damage Taken +One in the Quiver.Damage Taken PvP +One in the Quiver.Deaths +One in the Quiver.ExpEarned +One in the Quiver.GamesPlayed +One in the Quiver.GemsEarned +One in the Quiver.Kills +One in the Quiver.Losses +One in the Quiver.Perfectionist +One in the Quiver.Sharpshooter +One in the Quiver.WhatsABow +One in the Quiver.Wins + +PlexQuest.Damage Taken +PlexQuest.Deaths +PlexQuest.ExpEarned +PlexQuest.GemsEarned +PlexQuest.Losses +PlexQuest.Wins + +Rocket Madness.Damage Dealt +Rocket Madness.Damage Taken +Rocket Madness.Damage Taken PvP +Rocket Madness.Deaths +Rocket Madness.ExpEarned +Rocket Madness.GemsEarned +Rocket Madness.Kills +Rocket Madness.Losses +Rocket Madness.Wins + +Runner.Damage Dealt +Runner.Damage Taken +Runner.Damage Taken PvP +Runner.Deaths +Runner.ExpEarned +Runner.Frosty Deaths +Runner.GamesPlayed +Runner.GemsEarned +Runner.HotFeet +Runner.Losses +Runner.MarathonRunner +Runner.Red Deaths +Runner.Wins + +Scary Village.ExpEarned +Scary Village.GemsEarned +Scary Village.Losses +Scary Village.Wins + +Search and Destroy.Assists +Search and Destroy.Blue Deaths +Search and Destroy.Blue Kills +Search and Destroy.Damage Dealt +Search and Destroy.Damage Taken +Search and Destroy.Damage Taken PvP +Search and Destroy.Deaths +Search and Destroy.ExpEarned +Search and Destroy.GamesPlayed +Search and Destroy.GemsEarned +Search and Destroy.Kills +Search and Destroy.Losses +Search and Destroy.Red Deaths +Search and Destroy.Red Kills +Search and Destroy.Wins + +Sheep Quest.AnimalRescue +Sheep Quest.Assists +Sheep Quest.Blue Deaths +Sheep Quest.Blue Kills +Sheep Quest.Damage Dealt +Sheep Quest.Damage Taken +Sheep Quest.Damage Taken PvP +Sheep Quest.Deaths +Sheep Quest.ExpEarned +Sheep Quest.GamesPlayed +Sheep Quest.GemsEarned +Sheep Quest.Green Deaths +Sheep Quest.Green Kills +Sheep Quest.Kills +Sheep Quest.Losses +Sheep Quest.Red Deaths +Sheep Quest.Red Kills +Sheep Quest.Selfish +Sheep Quest.Thief +Sheep Quest.Wins +Sheep Quest.Yellow Deaths +Sheep Quest.Yellow Kills + +Skywars Teams.Assists +Skywars Teams.BombPickups +Skywars Teams.Damage Dealt +Skywars Teams.Damage Taken +Skywars Teams.Damage Taken PvP +Skywars Teams.DeathBomber +Skywars Teams.Deaths +Skywars Teams.ExpEarned +Skywars Teams.GemsEarned +Skywars Teams.Kills +Skywars Teams.Losses +Skywars Teams.NoArmor +Skywars Teams.NoChest +Skywars Teams.NoKills +Skywars Teams.Wins +Skywars Teams.ZombieKills +Skywars.Assists +Skywars.BombPickups +Skywars.Damage Dealt +Skywars.Damage Taken +Skywars.Damage Taken PvP +Skywars.DeathBomber +Skywars.Deaths +Skywars.ExpEarned +Skywars.GamesPlayed +Skywars.GemsEarned +Skywars.Kills +Skywars.Losses +Skywars.NoArmor +Skywars.NoChest +Skywars.NoKills +Skywars.Wins +Skywars.ZombieKills + +Slime Suckers Arcade.ExpEarned +Slime Suckers Arcade.GemsEarned +Slime Suckers Arcade.Losses +Slime Suckers Arcade.Wins +Slime Suckers Eternal.GemsEarned +Slime Suckers.Damage Dealt +Slime Suckers.Damage Taken +Slime Suckers.Damage Taken PvP +Slime Suckers.Deaths +Slime Suckers.ExpEarned +Slime Suckers.GemsEarned +Slime Suckers.Kills +Slime Suckers.Losses +Slime Suckers.SlimeSuckers +Slime Suckers.Wins + +Snake.Assists +Snake.Cannibal +Snake.ChooChoo +Snake.Damage Dealt +Snake.Damage Taken +Snake.Damage Taken PvP +Snake.Deaths +Snake.ExpEarned +Snake.GamesPlayed +Snake.GemsEarned +Snake.Kills +Snake.Losses +Snake.SlimySheep +Snake.Win +Snake.Wins + +Sneaky Assassins.Assists +Sneaky Assassins.Damage Dealt +Sneaky Assassins.Damage Taken +Sneaky Assassins.Damage Taken PvP +Sneaky Assassins.Deaths +Sneaky Assassins.ExpEarned +Sneaky Assassins.GamesPlayed +Sneaky Assassins.GemsEarned +Sneaky Assassins.Incompetence +Sneaky Assassins.ISeeYou +Sneaky Assassins.Kills +Sneaky Assassins.Losses +Sneaky Assassins.MasterAssassin +Sneaky Assassins.TheMastersMaster +Sneaky Assassins.Wins + +Snow Fight.Assists +Snow Fight.Blue Deaths +Snow Fight.Blue Kills +Snow Fight.Damage Dealt +Snow Fight.Damage Taken +Snow Fight.Damage Taken PvP +Snow Fight.Deaths +Snow Fight.ExpEarned +Snow Fight.GamesPlayed +Snow Fight.GemsEarned +Snow Fight.Green Deaths +Snow Fight.Green Kills +Snow Fight.Kills +Snow Fight.Losses +Snow Fight.Red Deaths +Snow Fight.Red Kills +Snow Fight.Wins +Snow Fight.Yellow Deaths +Snow Fight.Yellow Kills + +Snow Sprint.Damage Dealt +Snow Sprint.Damage Taken +Snow Sprint.Deaths +Snow Sprint.ExpEarned +Snow Sprint.GemsEarned +Snow Sprint.Losses +Snow Sprint.Wins + +Space Wars.Damage Dealt +Space Wars.Damage Taken +Space Wars.Damage Taken PvP +Space Wars.Deaths +Space Wars.ExpEarned +Space Wars.GemsEarned +Space Wars.Losses +Space Wars.Wins + +Speed Builder.ExpEarned +Speed Builder.GemsEarned +Speed Builder.Losses +Speed Builder.Wins + +Squid Shooter.Assists +Squid Shooter.Damage Dealt +Squid Shooter.Damage Taken +Squid Shooter.Damage Taken PvP +Squid Shooter.Deaths +Squid Shooter.ExpEarned +Squid Shooter.GamesPlayed +Squid Shooter.GemsEarned +Squid Shooter.Kills +Squid Shooter.Losses +Squid Shooter.Wins + +Starfighters TDM.ExpEarned +Starfighters TDM.GemsEarned +Starfighters TDM.Wins +Starfighters.ExpEarned +Starfighters.GemsEarned +Starfighters.Wins + +Stomping naughty Ducks.Damage Dealt +Stomping naughty Ducks.Damage Taken +Stomping naughty Ducks.Deaths +Stomping naughty Ducks.ExpEarned +Stomping naughty Ducks.GemsEarned +Stomping naughty Ducks.Losses +Stomping naughty Ducks.Wins + +Super Paintball.Assists +Super Paintball.Blue Deaths +Super Paintball.Damage Dealt +Super Paintball.Damage Taken +Super Paintball.Damage Taken PvP +Super Paintball.Deaths +Super Paintball.ExpEarned +Super Paintball.FlawlessVictory +Super Paintball.Frost Deaths +Super Paintball.Frost Kills +Super Paintball.GamesPlayed +Super Paintball.GemsEarned +Super Paintball.KillingSpree +Super Paintball.Kills +Super Paintball.LastStand +Super Paintball.Losses +Super Paintball.Medic +Super Paintball.Nether Deaths +Super Paintball.Nether Kills +Super Paintball.Red Kills +Super Paintball.Speedrunner +Super Paintball.Wins + +Super Smash Mobs Domination.Assists +Super Smash Mobs Domination.Blue Deaths +Super Smash Mobs Domination.Blue Kills +Super Smash Mobs Domination.Damage Dealt +Super Smash Mobs Domination.Damage Taken +Super Smash Mobs Domination.Damage Taken PvP +Super Smash Mobs Domination.Deaths +Super Smash Mobs Domination.ExpEarned +Super Smash Mobs Domination.GamesPlayed +Super Smash Mobs Domination.GemsEarned +Super Smash Mobs Domination.Kills +Super Smash Mobs Domination.Losses +Super Smash Mobs Domination.Red Deaths +Super Smash Mobs Domination.Red Kills +Super Smash Mobs Domination.Wins +Super Smash Mobs Teams.1v3 +Super Smash Mobs Teams.Assists +Super Smash Mobs Teams.Blue Deaths +Super Smash Mobs Teams.Blue Kills +Super Smash Mobs Teams.Damage Dealt +Super Smash Mobs Teams.Damage Taken +Super Smash Mobs Teams.Damage Taken PvP +Super Smash Mobs Teams.Deaths +Super Smash Mobs Teams.ExpEarned +Super Smash Mobs Teams.FreeKitsForever +Super Smash Mobs Teams.GamesPlayed +Super Smash Mobs Teams.GemsEarned +Super Smash Mobs Teams.Green Deaths +Super Smash Mobs Teams.Green Kills +Super Smash Mobs Teams.Kills +Super Smash Mobs Teams.Losses +Super Smash Mobs Teams.MLGPro +Super Smash Mobs Teams.RecoveryMaster +Super Smash Mobs Teams.Red Deaths +Super Smash Mobs Teams.Red Kills +Super Smash Mobs Teams.TripleKill +Super Smash Mobs Teams.Wins +Super Smash Mobs Teams.Yellow Deaths +Super Smash Mobs Teams.Yellow Kills +Super Smash Mobs.1v3 +Super Smash Mobs.Assists +Super Smash Mobs.Damage Dealt +Super Smash Mobs.Damage Taken +Super Smash Mobs.Damage Taken PvP +Super Smash Mobs.Deaths +Super Smash Mobs.ExpEarned +Super Smash Mobs.FreeKitsForever +Super Smash Mobs.GamesPlayed +Super Smash Mobs.GemsEarned +Super Smash Mobs.Kills +Super Smash Mobs.Losses +Super Smash Mobs.MLGPro +Super Smash Mobs.RecoveryMaster +Super Smash Mobs.SO SUPER! +Super Smash Mobs.TripleKill +Super Smash Mobs.Wins + +Super Spleef Teams.BlocksBroken +Super Spleef Teams.Blue Deaths +Super Spleef Teams.Damage Dealt +Super Spleef Teams.Damage Taken +Super Spleef Teams.Damage Taken PvP +Super Spleef Teams.Deaths +Super Spleef Teams.ExpEarned +Super Spleef Teams.GamesPlayed +Super Spleef Teams.GemsEarned +Super Spleef Teams.Green Deaths +Super Spleef Teams.Losses +Super Spleef Teams.Red Deaths +Super Spleef Teams.Wins +Super Spleef Teams.Yellow Deaths +Super Spleef.BlocksBroken +Super Spleef.Damage Dealt +Super Spleef.Damage Taken +Super Spleef.Damage Taken PvP +Super Spleef.Deaths +Super Spleef.ExpEarned +Super Spleef.GamesPlayed +Super Spleef.GemsEarned +Super Spleef.Kills +Super Spleef.Losses +Super Spleef.Red Deaths +Super Spleef.SpleefBlocks +Super Spleef.Wins + +Super Stacker.Damage Dealt +Super Stacker.Damage Taken +Super Stacker.Deaths +Super Stacker.ExpEarned +Super Stacker.GamesPlayed +Super Stacker.GemsEarned +Super Stacker.Losses +Super Stacker.Wins + +Survival Games Teams.Assists +Survival Games Teams.Bloodlust +Survival Games Teams.Blue Deaths +Survival Games Teams.Blue Kills +Survival Games Teams.Damage Dealt +Survival Games Teams.Damage Taken +Survival Games Teams.Damage Taken PvP +Survival Games Teams.Deaths +Survival Games Teams.ExpEarned +Survival Games Teams.GamesPlayed +Survival Games Teams.GemsEarned +Survival Games Teams.Green Deaths +Survival Games Teams.Green Kills +Survival Games Teams.Kills +Survival Games Teams.Losses +Survival Games Teams.NoArmor +Survival Games Teams.Red Deaths +Survival Games Teams.Red Kills +Survival Games Teams.Skeletons +Survival Games Teams.SupplyDropsOpened +Survival Games Teams.Wins +Survival Games Teams.Yellow Deaths +Survival Games Teams.Yellow Kills +Survival Games.Assists +Survival Games.Bloodlust +Survival Games.Damage Dealt +Survival Games.Damage Taken +Survival Games.Damage Taken PvP +Survival Games.Deaths +Survival Games.ExpEarned +Survival Games.GamesPlayed +Survival Games.GemsEarned +Survival Games.Kills +Survival Games.Light Weight +Survival Games.LightWeight +Survival Games.Losses +Survival Games.NoArmor +Survival Games.Skeletons +Survival Games.SupplyDropsOpened +Survival Games.Wins +SurvivalGames.Wins + +Test Game.Assists +Test Game.Damage Dealt +Test Game.Damage Taken +Test Game.Damage Taken PvP +Test Game.Deaths +Test Game.ExpEarned +Test Game.GemsEarned +Test Game.Kills +Test Game.Losses +Test Game.Wins +Test.Damage Taken +Test.Deaths +Test.ExpEarned +Test.GemsEarned +Test.Losses +Test.Wins + +The Bridge.Wins +The Bridges.Assists +The Bridges.Blue Deaths +The Bridges.Blue Kills +The Bridges.Damage Dealt +The Bridges.Damage Taken +The Bridges.Damage Taken PvP +The Bridges.DeathBomber +The Bridges.Deaths +The Bridges.ExpEarned +The Bridges.FoodForTheMasses +The Bridges.FortuneBomber +The Bridges.GamesPlayed +The Bridges.GemsEarned +The Bridges.GoodForTheMasses +The Bridges.Green Deaths +The Bridges.Green Kills +The Bridges.Kills +The Bridges.Losses +The Bridges.Rampage +The Bridges.Red Deaths +The Bridges.Red Kills +The Bridges.Sniper +The Bridges.Win +The Bridges.Wins +The Bridges.Yellow Deaths +The Bridges.Yellow Kills +TheBridges.Wins + +Tug of Wool.Assists +Tug of Wool.Blue Deaths +Tug of Wool.Blue Kills +Tug of Wool.Damage Dealt +Tug of Wool.Damage Taken +Tug of Wool.Damage Taken PvP +Tug of Wool.Deaths +Tug of Wool.ExpEarned +Tug of Wool.GamesPlayed +Tug of Wool.GemsEarned +Tug of Wool.Kills +Tug of Wool.Losses +Tug of Wool.Red Deaths +Tug of Wool.Red Kills +Tug of Wool.Wins + +Turf Wars.Assists +Turf Wars.BehindEnemyLines +Turf Wars.Blue Deaths +Turf Wars.Blue Kills +Turf Wars.Damage Dealt +Turf Wars.Damage Taken +Turf Wars.Damage Taken PvP +Turf Wars.Deaths +Turf Wars.ExpEarned +Turf Wars.GamesPlayed +Turf Wars.GemsEarned +Turf Wars.Kills +Turf Wars.Losses +Turf Wars.Red Deaths +Turf Wars.Red Kills +Turf Wars.Shredder Deaths +Turf Wars.Shredder Kills +Turf Wars.TheComeback +Turf Wars.TheShreddinator +Turf Wars.Wins +Type Wars.Damage Taken +Type Wars.Deaths +Type Wars.Demon +Type Wars.Dumbledont +Type Wars.ExpEarned +Type Wars.GemsEarned +Type Wars.Hoarder +Type Wars.Kills +Type Wars.Losses +Type Wars.MinionKills +Type Wars.Nuke +Type Wars.Perfectionist +Type Wars.TimeInGame +Type Wars.Wins + +TypeWars.Kills +TypeWars.MinionKills + +UHC.Wins +Ultra Hard Core.UltimateWinner +Ultra Hardcore Wins +Ultra Hardcore.Assists +Ultra Hardcore.Damage Taken +Ultra Hardcore.Deaths +Ultra Hardcore.ExpEarned +Ultra Hardcore.GamesPlayed +Ultra Hardcore.Gem +Ultra Hardcore.Gems +Ultra Hardcore.Gems Earned +Ultra Hardcore.GemsEarned +Ultra Hardcore.Kills +Ultra Hardcore.Losses +Ultra HardCore.UltimateWinner +Ultra Hardcore.Wins +UltraHardcore.Wins + +Wither Assault.Assists +Wither Assault.Damage Dealt +Wither Assault.Damage Taken +Wither Assault.Damage Taken PvP +Wither Assault.Deaths +Wither Assault.ExpEarned +Wither Assault.GamesPlayed +Wither Assault.GemsEarned +Wither Assault.Kills +Wither Assault.Losses +Wither Assault.Wins + +Wither Brawl.Damage Dealt +Wither Brawl.Damage Taken +Wither Brawl.Damage Taken PvP +Wither Brawl.Deaths +Wither Brawl.ExpEarned +Wither Brawl.GemsEarned +Wither Brawl.Kills +Wither Brawl.Losses +Wither Brawl.Wins + +Wizard Battles.Assists +Wizard Battles.Damage Dealt +Wizard Battles.Damage Taken +Wizard Battles.Damage Taken PvP +Wizard Battles.Deaths +Wizard Battles.ExpEarned +Wizard Battles.GemsEarned +Wizard Battles.Kills +Wizard Battles.Losses +Wizard Battles.Wins +Wizards.Assists +Wizards.Damage Dealt +Wizards.Damage Taken +Wizards.Damage Taken PvP +Wizards.Deaths +Wizards.ExpEarned +Wizards.GamesPlayed +Wizards.GemsEarned +Wizards.Kills +Wizards.Losses +Wizards.SupremeWizard +Wizards.Wins + +Zombie Survival.Alpha Undead Kills +Zombie Survival.Assists +Zombie Survival.Damage Dealt +Zombie Survival.Damage Taken +Zombie Survival.Damage Taken PvP +Zombie Survival.Deaths +Zombie Survival.GamesPlayed +Zombie Survival.GemsEarned +Zombie Survival.Kills +Zombie Survival.Losses +Zombie Survival.Undead Deaths +Zombie Survival.Undead Kills +Zombie Survival.Wins + */ \ No newline at end of file From 6a3e9ac19f3ece061745c518a2bf83f805392f18 Mon Sep 17 00:00:00 2001 From: Teddy Date: Fri, 15 Jan 2016 12:10:53 +0000 Subject: [PATCH 15/43] BaconBrawl stats added --- .../src/nautilus/game/arcade/game/Game.java | 1 + .../game/arcade/game/games/baconbrawl/BaconBrawl.java | 10 +++++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/Game.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/Game.java index 8b240677c..bbc4040af 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/Game.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/Game.java @@ -285,6 +285,7 @@ public abstract class Game implements Listener public final ChatStatData Losses = new ChatStatData("Losses", "Losses", true); public final ChatStatData Wins = new ChatStatData("Wins", "Wins", true); public final ChatStatData KDRatio = new ChatStatData("KDRatio", "KD-Ratio", true); + public final ChatStatData BlankLine = new ChatStatData().blankLine(); // Gems public double GemMultiplier = 1; diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/baconbrawl/BaconBrawl.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/baconbrawl/BaconBrawl.java index d578aa501..be3b91eca 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/baconbrawl/BaconBrawl.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/baconbrawl/BaconBrawl.java @@ -39,7 +39,15 @@ public class BaconBrawl extends SoloGame HungerSet = 20; PrepareFreeze = false; - registerChatStats(Kills); + registerChatStats( + Kills, + Deaths, + KDRatio, + BlankLine, + Assists, + DamageDealt, + DamageTakenPVP + ); } @EventHandler From 3315a510dc351225f1da627e7a6f4b5bf2e75d41 Mon Sep 17 00:00:00 2001 From: Teddy Date: Fri, 15 Jan 2016 13:01:26 +0000 Subject: [PATCH 16/43] Barbarians stats added + Block break stat tracker added --- .../game/games/baconbrawl/BaconBrawl.java | 2 +- .../game/games/barbarians/Barbarians.java | 18 +++++- .../game/arcade/stats/BlockBreakStat.java | 63 +++++++++++++++++++ 3 files changed, 81 insertions(+), 2 deletions(-) create mode 100644 Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/stats/BlockBreakStat.java diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/baconbrawl/BaconBrawl.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/baconbrawl/BaconBrawl.java index be3b91eca..adc29452f 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/baconbrawl/BaconBrawl.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/baconbrawl/BaconBrawl.java @@ -46,7 +46,7 @@ public class BaconBrawl extends SoloGame BlankLine, Assists, DamageDealt, - DamageTakenPVP + DamageTaken ); } diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/barbarians/Barbarians.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/barbarians/Barbarians.java index e6bdc4b2b..f35b44dba 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/barbarians/Barbarians.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/barbarians/Barbarians.java @@ -15,6 +15,8 @@ import nautilus.game.arcade.GameType; import nautilus.game.arcade.game.SoloGame; import nautilus.game.arcade.game.games.barbarians.kits.*; import nautilus.game.arcade.kit.Kit; +import nautilus.game.arcade.managers.chat.ChatStatData; +import nautilus.game.arcade.stats.BlockBreakStat; public class Barbarians extends SoloGame { @@ -59,7 +61,21 @@ public class Barbarians extends SoloGame this.BlockBreakAllow.add(135); this.BlockBreakAllow.add(136); - registerChatStats(Kills); + registerStatTrackers( + new BlockBreakStat(this, true) + ); + + registerChatStats( + Kills, + Deaths, + KDRatio, + BlankLine, + Assists, + DamageDealt, + DamageTaken, + BlankLine, + new ChatStatData("BlockBreak", "Blocks Broken", true) + ); } @EventHandler diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/stats/BlockBreakStat.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/stats/BlockBreakStat.java new file mode 100644 index 000000000..e1b36d8d2 --- /dev/null +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/stats/BlockBreakStat.java @@ -0,0 +1,63 @@ +package nautilus.game.arcade.stats; + +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.block.BlockBreakEvent; +import org.bukkit.event.block.BlockDamageEvent; + +import nautilus.game.arcade.game.Game; + +/** + * Created by TeddehDev on 15/01/2016. + */ +public class BlockBreakStat extends StatTracker +{ + private Game _game; + private boolean _blockDamage; + + /** + * @param game + * @param blockDamage + * - true = triggers block damage event + * - false = triggers block break event + */ + public BlockBreakStat(Game game, boolean blockDamage) + { + super(game); + + _game = game; + _blockDamage = blockDamage; + } + + @EventHandler + public void blockBreak(BlockBreakEvent event) + { + if(!_game.IsLive()) + return; + + if(_blockDamage) + return; + + Player player = event.getPlayer(); + if(player == null) + return; + + addStat(player, "BlocksBroken", 1, false, false); + } + + @EventHandler + public void blockBreak(BlockDamageEvent event) + { + if(!_game.IsLive()) + return; + + if(!_blockDamage) + return; + + Player player = event.getPlayer(); + if(player == null) + return; + + addStat(player, "BlocksBroken", 1, false, false); + } +} From ec75169b706988dc7027fdc1748306cf0c0e5f26 Mon Sep 17 00:00:00 2001 From: Teddy Date: Fri, 15 Jan 2016 13:07:21 +0000 Subject: [PATCH 17/43] BossBattles, giving errors when Loading, removed chat stats. --- .../game/arcade/game/games/bossbattles/BossBattles.java | 3 ++- .../game/arcade/managers/chat/GameChatManager.java | 7 +++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/bossbattles/BossBattles.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/bossbattles/BossBattles.java index 6828607d3..0ecfe91f4 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/bossbattles/BossBattles.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/bossbattles/BossBattles.java @@ -59,7 +59,8 @@ public class BossBattles extends TeamGame CreatureAllowOverride = true; PrepareFreeze = false; - registerChatStats(Kills); +// registerChatStats(Kills); +// Game giving constant errors when loading. } @EventHandler diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/chat/GameChatManager.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/chat/GameChatManager.java index de4490590..7571a4faa 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/chat/GameChatManager.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/chat/GameChatManager.java @@ -351,6 +351,13 @@ public class GameChatManager implements Listener return new DecimalFormat(format).format(ratio); } } +/** DONE */ +// BaconBrawl +// Barbarians + +/** BROKEN */ +// BossBattles + /* A Barbarians Life.Assists A Barbarians Life.Damage Dealt From 9cd7240b61a800fffdfcd4eef701e4f0f5b19e63 Mon Sep 17 00:00:00 2001 From: Teddy Date: Fri, 15 Jan 2016 13:28:42 +0000 Subject: [PATCH 18/43] BouncyBalls, giving errors when Loading, skipping chat stats --- .../game/arcade/game/games/bouncyballs/BouncyBalls.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/bouncyballs/BouncyBalls.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/bouncyballs/BouncyBalls.java index baa53ff3e..ce464297f 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/bouncyballs/BouncyBalls.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/bouncyballs/BouncyBalls.java @@ -15,6 +15,7 @@ import nautilus.game.arcade.game.SoloGame; import nautilus.game.arcade.game.games.bouncyballs.kits.*; import nautilus.game.arcade.game.games.bouncyballs.Ball; import nautilus.game.arcade.kit.Kit; +import nautilus.game.arcade.managers.chat.ChatStatData; public class BouncyBalls extends SoloGame { @@ -36,7 +37,7 @@ public class BouncyBalls extends SoloGame this.HungerSet = 20; - registerChatStats(); +// registerChatStats(); } @EventHandler From c16a719be15920b90bf88d3ebb71501d9ee0602d Mon Sep 17 00:00:00 2001 From: Teddy Date: Fri, 15 Jan 2016 13:37:55 +0000 Subject: [PATCH 19/43] Bridges, added stats --- .../nautilus/game/arcade/game/games/bridge/Bridge.java | 10 +++++++++- .../game/arcade/managers/chat/GameChatManager.java | 1 + 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/bridge/Bridge.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/bridge/Bridge.java index 15cccd726..d92f14d14 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/bridge/Bridge.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/bridge/Bridge.java @@ -234,7 +234,15 @@ public class Bridge extends TeamGame implements OreObsfucation new DeathBomberStatTracker(this, 5) ); - registerChatStats(); + registerChatStats( + Kills, + Deaths, + KDRatio, + BlankLine, + Assists, + DamageTaken, + DamageTaken + ); } @EventHandler diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/chat/GameChatManager.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/chat/GameChatManager.java index 7571a4faa..b5511b1b7 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/chat/GameChatManager.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/chat/GameChatManager.java @@ -357,6 +357,7 @@ public class GameChatManager implements Listener /** BROKEN */ // BossBattles +// BouncyBalls /* A Barbarians Life.Assists From 56b3e482f2f9ad26150dce20ecd2a514618e5aa8 Mon Sep 17 00:00:00 2001 From: Teddy Date: Mon, 18 Jan 2016 10:32:38 +0000 Subject: [PATCH 20/43] Master Builders, added stats --- .../game/games/barbarians/Barbarians.java | 4 +- .../game/arcade/game/games/build/Build.java | 13 +++++- .../arcade/managers/chat/GameChatManager.java | 1 + ...akStat.java => BlockBreakStatTracker.java} | 17 ++++--- .../arcade/stats/BlockPlaceStatTracker.java | 45 +++++++++++++++++++ 5 files changed, 70 insertions(+), 10 deletions(-) rename Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/stats/{BlockBreakStat.java => BlockBreakStatTracker.java} (79%) create mode 100644 Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/stats/BlockPlaceStatTracker.java diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/barbarians/Barbarians.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/barbarians/Barbarians.java index f35b44dba..c48e919eb 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/barbarians/Barbarians.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/barbarians/Barbarians.java @@ -16,7 +16,7 @@ import nautilus.game.arcade.game.SoloGame; import nautilus.game.arcade.game.games.barbarians.kits.*; import nautilus.game.arcade.kit.Kit; import nautilus.game.arcade.managers.chat.ChatStatData; -import nautilus.game.arcade.stats.BlockBreakStat; +import nautilus.game.arcade.stats.BlockBreakStatTracker; public class Barbarians extends SoloGame { @@ -62,7 +62,7 @@ public class Barbarians extends SoloGame this.BlockBreakAllow.add(136); registerStatTrackers( - new BlockBreakStat(this, true) + new BlockBreakStatTracker(this, true) ); registerChatStats( diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/build/Build.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/build/Build.java index ea4b68bac..67a85265e 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/build/Build.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/build/Build.java @@ -37,6 +37,9 @@ import nautilus.game.arcade.game.games.build.gui.MobShop; import nautilus.game.arcade.game.games.build.gui.OptionsShop; import nautilus.game.arcade.game.games.build.kits.KitBuilder; import nautilus.game.arcade.kit.Kit; +import nautilus.game.arcade.managers.chat.ChatStatData; +import nautilus.game.arcade.stats.BlockBreakStatTracker; +import nautilus.game.arcade.stats.BlockPlaceStatTracker; import org.bukkit.ChatColor; import org.bukkit.Effect; @@ -216,7 +219,15 @@ public class Build extends SoloGame _optionsShop = new OptionsShop(this, getArcadeManager(), getArcadeManager().GetClients(), getArcadeManager().GetDonation()); _shopItem = ItemStackFactory.Instance.CreateStack(Material.DIAMOND, (byte) 0, 1, C.cGreen + "Options"); - registerChatStats(); + registerStatTrackers( + new BlockBreakStatTracker(this, false), + new BlockPlaceStatTracker(this, new Material[]{}) + ); + + registerChatStats( + new ChatStatData("BlocksPlaced", "Blocks Placed", true), + new ChatStatData("BlocksBroken", "Blocks Broken", true) + ); } @EventHandler diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/chat/GameChatManager.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/chat/GameChatManager.java index b5511b1b7..b645a5da0 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/chat/GameChatManager.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/chat/GameChatManager.java @@ -354,6 +354,7 @@ public class GameChatManager implements Listener /** DONE */ // BaconBrawl // Barbarians +// Bridges /** BROKEN */ // BossBattles diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/stats/BlockBreakStat.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/stats/BlockBreakStatTracker.java similarity index 79% rename from Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/stats/BlockBreakStat.java rename to Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/stats/BlockBreakStatTracker.java index e1b36d8d2..c89a37be8 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/stats/BlockBreakStat.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/stats/BlockBreakStatTracker.java @@ -10,29 +10,29 @@ import nautilus.game.arcade.game.Game; /** * Created by TeddehDev on 15/01/2016. */ -public class BlockBreakStat extends StatTracker +public class BlockBreakStatTracker extends StatTracker { - private Game _game; private boolean _blockDamage; /** - * @param game * @param blockDamage * - true = triggers block damage event * - false = triggers block break event */ - public BlockBreakStat(Game game, boolean blockDamage) + public BlockBreakStatTracker(Game game, boolean blockDamage) { super(game); - _game = game; _blockDamage = blockDamage; } @EventHandler public void blockBreak(BlockBreakEvent event) { - if(!_game.IsLive()) + if(!getGame().IsLive()) + return; + + if(event.isCancelled()) return; if(_blockDamage) @@ -48,7 +48,10 @@ public class BlockBreakStat extends StatTracker @EventHandler public void blockBreak(BlockDamageEvent event) { - if(!_game.IsLive()) + if(!getGame().IsLive()) + return; + + if(event.isCancelled()) return; if(!_blockDamage) diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/stats/BlockPlaceStatTracker.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/stats/BlockPlaceStatTracker.java new file mode 100644 index 000000000..f210bc7d7 --- /dev/null +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/stats/BlockPlaceStatTracker.java @@ -0,0 +1,45 @@ +package nautilus.game.arcade.stats; + +import org.bukkit.Material; +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.block.BlockPlaceEvent; + +import nautilus.game.arcade.game.Game; + +/** + * Created by TeddehDev on 15/01/2016. + */ +public class BlockPlaceStatTracker extends StatTracker +{ + private Material[] _ignore; + + public BlockPlaceStatTracker(Game game, Material[] ignore) + { + super(game); + + _ignore = ignore; + } + + @EventHandler + public void blockPlace(BlockPlaceEvent event) + { + if(!getGame().IsLive()) + return; + + if(event.isCancelled()) + return; + + Player player = event.getPlayer(); + if(player == null) + return; + + for(Material material : _ignore) + { + if(event.getBlock().getType() == material) + continue; + + addStat(event.getPlayer(), "BlocksPlaced", 1, false, false); + } + } +} From b0eb5a6d4e4bf235a8a34a6d5bb6e835af21aac9 Mon Sep 17 00:00:00 2001 From: Teddy Date: Mon, 18 Jan 2016 10:34:43 +0000 Subject: [PATCH 21/43] Cards Against Humanity, skipped/left blank --- .../src/nautilus/game/arcade/managers/chat/GameChatManager.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/chat/GameChatManager.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/chat/GameChatManager.java index b645a5da0..2e623bcb9 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/chat/GameChatManager.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/chat/GameChatManager.java @@ -355,10 +355,12 @@ public class GameChatManager implements Listener // BaconBrawl // Barbarians // Bridges +// MasterBuilders /** BROKEN */ // BossBattles // BouncyBalls +// Cards Against Humanity /* A Barbarians Life.Assists From 508c4e99d2331cf37e0e9fb6ba15470db98485ef Mon Sep 17 00:00:00 2001 From: Teddy Date: Mon, 18 Jan 2016 10:41:10 +0000 Subject: [PATCH 22/43] Castle Siege,added stats --- .../arcade/game/games/castlesiege/CastleSiege.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/castlesiege/CastleSiege.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/castlesiege/CastleSiege.java index fe9241b3b..7b29adfb1 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/castlesiege/CastleSiege.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/castlesiege/CastleSiege.java @@ -71,6 +71,7 @@ import nautilus.game.arcade.game.games.castlesiege.kits.KitUndeadGhoul; import nautilus.game.arcade.game.games.castlesiege.kits.KitUndeadZombie; import nautilus.game.arcade.kit.Kit; import nautilus.game.arcade.kit.NullKit; +import nautilus.game.arcade.managers.chat.ChatStatData; import nautilus.game.arcade.stats.BloodThirstyStatTracker; import nautilus.game.arcade.stats.KingDamageStatTracker; import nautilus.game.arcade.stats.KingSlayerStatTracker; @@ -220,6 +221,16 @@ public class CastleSiege extends TeamGame new TeamKillsStatTracker(this) ); + registerChatStats( + Kills, + Deaths, + KDRatio, + BlankLine, + Assists, + DamageDealt, + DamageTaken + ); + registerChatStats(); } From f79acaaa2ab00922562b6cd94de9dbe7e7f32a43 Mon Sep 17 00:00:00 2001 From: Teddy Date: Mon, 18 Jan 2016 10:43:46 +0000 Subject: [PATCH 23/43] Champ CTF,added stats --- .../arcade/game/games/champions/ChampionsCTF.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/champions/ChampionsCTF.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/champions/ChampionsCTF.java index bdddf31ee..c2633e3b4 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/champions/ChampionsCTF.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/champions/ChampionsCTF.java @@ -18,6 +18,7 @@ import nautilus.game.arcade.game.games.champions.kits.KitMage; import nautilus.game.arcade.game.games.champions.kits.KitRanger; import nautilus.game.arcade.game.games.common.CaptureTheFlag; import nautilus.game.arcade.kit.Kit; +import nautilus.game.arcade.managers.chat.ChatStatData; import nautilus.game.arcade.stats.CapturesStatTracker; import nautilus.game.arcade.stats.ClutchStatTracker; import nautilus.game.arcade.stats.ElectrocutionStatTracker; @@ -87,7 +88,17 @@ public class ChampionsCTF extends CaptureTheFlag new SpecialWinStatTracker(this, "SpecialWin") ); - registerChatStats(); + registerChatStats( + Kills, + Deaths, + KDRatio, + BlankLine, + Assists, + DamageDealt, + DamageTaken, + BlankLine, + new ChatStatData("Captures", "Flag Captures", true) + ); new ChampionsFixes(this); } From 4e09aa4c340dc258dd6d9ca0692eed6bc070ed01 Mon Sep 17 00:00:00 2001 From: Teddy Date: Mon, 18 Jan 2016 10:45:48 +0000 Subject: [PATCH 24/43] Champ Dominate,added stats --- .../game/games/champions/ChampionsDominate.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/champions/ChampionsDominate.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/champions/ChampionsDominate.java index 4b3542226..83b44d9de 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/champions/ChampionsDominate.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/champions/ChampionsDominate.java @@ -16,6 +16,7 @@ import nautilus.game.arcade.game.games.champions.kits.KitMage; import nautilus.game.arcade.game.games.champions.kits.KitRanger; import nautilus.game.arcade.game.games.common.Domination; import nautilus.game.arcade.kit.Kit; +import nautilus.game.arcade.managers.chat.ChatStatData; import nautilus.game.arcade.stats.ElectrocutionStatTracker; import nautilus.game.arcade.stats.KillReasonStatTracker; import nautilus.game.arcade.stats.SeismicSlamStatTracker; @@ -79,7 +80,15 @@ public class ChampionsDominate extends Domination new SeismicSlamStatTracker(this) ); - registerChatStats(); + registerChatStats( + Kills, + Deaths, + KDRatio, + BlankLine, + Assists, + DamageDealt, + DamageTaken + ); new ChampionsFixes(this); } From dc44207d7a54b1b4b7bed518ffff94ff7a87a785 Mon Sep 17 00:00:00 2001 From: Teddy Date: Mon, 18 Jan 2016 10:48:10 +0000 Subject: [PATCH 25/43] Champ TDM, added stats --- .../arcade/game/games/champions/ChampionsTDM.java | 11 ++++++++++- .../game/arcade/managers/chat/GameChatManager.java | 2 ++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/champions/ChampionsTDM.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/champions/ChampionsTDM.java index 6c89cbccf..73bbb3812 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/champions/ChampionsTDM.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/champions/ChampionsTDM.java @@ -16,6 +16,7 @@ import nautilus.game.arcade.game.games.champions.kits.KitMage; import nautilus.game.arcade.game.games.champions.kits.KitRanger; import nautilus.game.arcade.game.games.common.TeamDeathmatch; import nautilus.game.arcade.kit.Kit; +import nautilus.game.arcade.managers.chat.ChatStatData; import nautilus.game.arcade.stats.ElectrocutionStatTracker; import nautilus.game.arcade.stats.KillAllOpposingStatTracker; import nautilus.game.arcade.stats.KillReasonStatTracker; @@ -79,7 +80,15 @@ public class ChampionsTDM extends TeamDeathmatch new SeismicSlamStatTracker(this) ); - registerChatStats(); + registerChatStats( + Kills, + Deaths, + KDRatio, + BlankLine, + Assists, + DamageDealt, + DamageTaken + ); new ChampionsFixes(this); } diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/chat/GameChatManager.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/chat/GameChatManager.java index 2e623bcb9..b2cc7e04e 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/chat/GameChatManager.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/chat/GameChatManager.java @@ -356,6 +356,8 @@ public class GameChatManager implements Listener // Barbarians // Bridges // MasterBuilders +// Castle Siege +// Champions [ CTF - DOM - TDM ] /** BROKEN */ // BossBattles From 96d16932dd286dd0b879951359a6e0546562e731 Mon Sep 17 00:00:00 2001 From: Teddy Date: Mon, 18 Jan 2016 10:50:04 +0000 Subject: [PATCH 26/43] Christmas Chaos, added stats --- .../game/arcade/game/games/christmas/Christmas.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/christmas/Christmas.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/christmas/Christmas.java index e7e2280cc..db740055e 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/christmas/Christmas.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/christmas/Christmas.java @@ -153,7 +153,13 @@ public class Christmas extends SoloGame WorldTimeSet = 2000; PrepareFreeze = false; - registerChatStats(); + registerChatStats( + Kills, + Assists, + BlankLine, + DamageDealt, + DamageTaken + ); } //parse 129 19 47 48 103 86 137 56 22 45 121 14 15 16 87 88 89 153 173 172 162 From 66f484760e79fde4926455cf6f14212c09e540f7 Mon Sep 17 00:00:00 2001 From: Teddy Date: Mon, 18 Jan 2016 10:53:56 +0000 Subject: [PATCH 27/43] Death Tag, added stats --- .../nautilus/game/arcade/game/games/deathtag/DeathTag.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/deathtag/DeathTag.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/deathtag/DeathTag.java index d0cc297a5..859257fcb 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/deathtag/DeathTag.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/deathtag/DeathTag.java @@ -74,7 +74,11 @@ public class DeathTag extends SoloGame registerStatTrackers(new ComeAtMeBroStatTracker(this)); - registerChatStats(); + registerChatStats( + Kills, + Deaths, + KDRatio + ); } @Override From 85f4ee50f09738700f3ae92b9869ba3e1395d78b Mon Sep 17 00:00:00 2001 From: Teddy Date: Mon, 18 Jan 2016 11:04:12 +0000 Subject: [PATCH 28/43] Dragon Escape, added stats + implemented kit display for stats --- .../arcade/game/games/dragonescape/DragonEscape.java | 8 +++++++- .../game/arcade/managers/chat/GameChatManager.java | 12 +++++++++--- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/dragonescape/DragonEscape.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/dragonescape/DragonEscape.java index 3a507f6d0..207ca5764 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/dragonescape/DragonEscape.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/dragonescape/DragonEscape.java @@ -52,6 +52,7 @@ import nautilus.game.arcade.events.PlayerKitGiveEvent; import nautilus.game.arcade.game.SoloGame; import nautilus.game.arcade.game.games.dragonescape.kits.*; import nautilus.game.arcade.kit.Kit; +import nautilus.game.arcade.managers.chat.ChatStatData; import nautilus.game.arcade.stats.ParalympicsStatTracker; import nautilus.game.arcade.stats.WinMapStatTracker; @@ -121,7 +122,12 @@ public class DragonEscape extends SoloGame new WinMapStatTracker(this) ); - registerChatStats(); + registerChatStats( + Deaths, + DamageTaken, + BlankLine, + new ChatStatData("kit", "Kit", true) + ); } @Override diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/chat/GameChatManager.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/chat/GameChatManager.java index b2cc7e04e..e48b874c8 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/chat/GameChatManager.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/chat/GameChatManager.java @@ -297,6 +297,12 @@ public class GameChatManager implements Listener continue; } + if (chatStatData.getStat().equalsIgnoreCase("kit")) + { + temp.add(new AbstractMap.SimpleEntry(display + ": ", game.GetKit(player).GetName())); + continue; + } + if (chatStatData.getStat().equalsIgnoreCase("kdratio")) { int kills; @@ -326,15 +332,15 @@ public class GameChatManager implements Listener } } - String stats2 = ""; + String stats = ""; for (int i = 0; i < temp.size(); i++) { - stats2 += C.cWhite + JSONObject.escape(temp.get(i).getKey()) + C.cGray + JSONObject.escape(temp.get(i).getValue()) + (i >= temp.size()-1 ? "" : "\\n"); + stats += C.cWhite + JSONObject.escape(temp.get(i).getKey()) + C.cGray + JSONObject.escape(temp.get(i).getValue()) + (i >= temp.size()-1 ? "" : "\\n"); } JsonMessage jsonMessage = new JsonMessage("") .extra(JSONObject.escape(format)) - .add(JSONObject.escape(name)).hover("show_text", stats2) + .add(JSONObject.escape(name)).hover("show_text", stats) .add(JSONObject.escape(message)); return jsonMessage; } From c3d9be2123fb8317a79aec666055f4e59c539b31 Mon Sep 17 00:00:00 2001 From: Teddy Date: Mon, 18 Jan 2016 11:05:09 +0000 Subject: [PATCH 29/43] Dragon Escape Teams, added stats --- .../arcade/game/games/dragonescape/DragonEscapeTeams.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/dragonescape/DragonEscapeTeams.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/dragonescape/DragonEscapeTeams.java index e03d66bb6..7f91fc781 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/dragonescape/DragonEscapeTeams.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/dragonescape/DragonEscapeTeams.java @@ -45,6 +45,7 @@ import nautilus.game.arcade.game.TeamGame; import nautilus.game.arcade.game.Game.GameState; import nautilus.game.arcade.game.games.dragonescape.kits.*; import nautilus.game.arcade.kit.Kit; +import nautilus.game.arcade.managers.chat.ChatStatData; public class DragonEscapeTeams extends TeamGame { @@ -84,6 +85,13 @@ public class DragonEscapeTeams extends TeamGame this.HungerSet = 20; this.TeamArmorHotbar = true; + + registerChatStats( + Deaths, + DamageTaken, + BlankLine, + new ChatStatData("kit", "Kit", true) + ); } @Override From ba50b5fdb19165583a5e9f6acc71f65c7beeb59d Mon Sep 17 00:00:00 2001 From: Teddy Date: Mon, 18 Jan 2016 11:09:19 +0000 Subject: [PATCH 30/43] Dragon Riders, added default registery --- .../arcade/game/games/dragonescape/DragonEscapeTeams.java | 2 +- .../game/arcade/game/games/dragonriders/DragonRiders.java | 3 +++ .../nautilus/game/arcade/managers/chat/GameChatManager.java | 6 +++++- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/dragonescape/DragonEscapeTeams.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/dragonescape/DragonEscapeTeams.java index 7f91fc781..0b6764bb5 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/dragonescape/DragonEscapeTeams.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/dragonescape/DragonEscapeTeams.java @@ -85,7 +85,7 @@ public class DragonEscapeTeams extends TeamGame this.HungerSet = 20; this.TeamArmorHotbar = true; - + registerChatStats( Deaths, DamageTaken, diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/dragonriders/DragonRiders.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/dragonriders/DragonRiders.java index 608879f82..bccf6f3a1 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/dragonriders/DragonRiders.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/dragonriders/DragonRiders.java @@ -24,5 +24,8 @@ public class DragonRiders extends SoloGame this.Damage = false; this.HungerSet = 20; + + //Chat stats + registerChatStats(); } } diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/chat/GameChatManager.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/chat/GameChatManager.java index e48b874c8..3202a1a6c 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/chat/GameChatManager.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/chat/GameChatManager.java @@ -364,11 +364,15 @@ public class GameChatManager implements Listener // MasterBuilders // Castle Siege // Champions [ CTF - DOM - TDM ] +// Christmas Chaos +// Death Tag +// Dragon Escape -/** BROKEN */ +/** BROKEN - TODO */ // BossBattles // BouncyBalls // Cards Against Humanity +// Dragon Riders /* A Barbarians Life.Assists From 3d88f5aaae83f6fa5bde99c2915509d35188671a Mon Sep 17 00:00:00 2001 From: Teddy Date: Mon, 18 Jan 2016 11:11:32 +0000 Subject: [PATCH 31/43] Dragons, added stats --- .../nautilus/game/arcade/game/games/dragons/Dragons.java | 8 +++++++- .../game/arcade/game/games/dragons/DragonsTeams.java | 8 ++++++++ .../game/arcade/managers/chat/GameChatManager.java | 3 +++ 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/dragons/Dragons.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/dragons/Dragons.java index cdeefc40f..ee8060e0b 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/dragons/Dragons.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/dragons/Dragons.java @@ -36,6 +36,7 @@ import nautilus.game.arcade.game.games.dragons.kits.*; import nautilus.game.arcade.kit.Kit; import nautilus.game.arcade.kit.Perk; import nautilus.game.arcade.kit.perks.PerkSparkler; +import nautilus.game.arcade.managers.chat.ChatStatData; import nautilus.game.arcade.stats.SparklezStatTracker; public class Dragons extends SoloGame @@ -71,7 +72,12 @@ public class Dragons extends SoloGame new SparklezStatTracker(this) ); - registerChatStats(); + registerChatStats( + Deaths, + DamageTaken, + BlankLine, + new ChatStatData("kit", "Kit", true) + ); } @Override diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/dragons/DragonsTeams.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/dragons/DragonsTeams.java index 07dab3d2c..9743a5aaf 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/dragons/DragonsTeams.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/dragons/DragonsTeams.java @@ -35,6 +35,7 @@ import nautilus.game.arcade.game.games.dragons.kits.*; import nautilus.game.arcade.kit.Kit; import nautilus.game.arcade.kit.Perk; import nautilus.game.arcade.kit.perks.PerkSparkler; +import nautilus.game.arcade.managers.chat.ChatStatData; public class DragonsTeams extends TeamGame { @@ -72,6 +73,13 @@ public class DragonsTeams extends TeamGame this.TeamArmor = true; this.TeamArmorHotbar = true; + + registerChatStats( + Deaths, + DamageTaken, + BlankLine, + new ChatStatData("kit", "Kit", true) + ); } @Override diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/chat/GameChatManager.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/chat/GameChatManager.java index 3202a1a6c..f1b4a18f0 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/chat/GameChatManager.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/chat/GameChatManager.java @@ -367,6 +367,9 @@ public class GameChatManager implements Listener // Christmas Chaos // Death Tag // Dragon Escape +// Dragon Escape Teams +// Dragons +// Dragons Teams /** BROKEN - TODO */ // BossBattles From f3d27c9d9307cd02fc0f01ec2c57b8960c4d9de0 Mon Sep 17 00:00:00 2001 From: Teddy Date: Mon, 18 Jan 2016 11:32:40 +0000 Subject: [PATCH 32/43] Draw my thing, added stats --- .../src/nautilus/game/arcade/game/games/draw/Draw.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/draw/Draw.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/draw/Draw.java index 8b044484a..03c47be4e 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/draw/Draw.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/draw/Draw.java @@ -51,6 +51,7 @@ import nautilus.game.arcade.game.games.GameScore; import nautilus.game.arcade.game.games.draw.kits.*; import nautilus.game.arcade.game.games.draw.tools.*; import nautilus.game.arcade.kit.Kit; +import nautilus.game.arcade.managers.chat.ChatStatData; import nautilus.game.arcade.stats.KeenEyeStatTracker; import nautilus.game.arcade.stats.MrSquiggleStatTracker; import nautilus.game.arcade.stats.PureLuckStatTracker; @@ -135,7 +136,9 @@ public class Draw extends SoloGame new PureLuckStatTracker(this) ); - registerChatStats(); + registerChatStats( + new ChatStatData("PureLuck", "Lucky Guess", true) + ); Manager.GetChat().setThreeSecondDelay(false); } From 297e9baf41f84c14f03a20b81aa9923ed9121ed9 Mon Sep 17 00:00:00 2001 From: Teddy Date: Mon, 18 Jan 2016 11:34:43 +0000 Subject: [PATCH 33/43] Evolution, added stats --- .../game/arcade/game/games/evolution/Evolution.java | 10 +++++++++- .../game/arcade/managers/chat/GameChatManager.java | 2 ++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/evolution/Evolution.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/evolution/Evolution.java index 7cc697833..e8b4ead2e 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/evolution/Evolution.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/evolution/Evolution.java @@ -163,7 +163,15 @@ public class Evolution extends SoloGame new KillsWhileEvolvingTracker(this) ); - registerChatStats(); + registerChatStats( + Kills, + Deaths, + KDRatio, + BlankLine, + Assists, + DamageDealt, + DamageTaken + ); } public EvolveManager getEvolve() diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/chat/GameChatManager.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/chat/GameChatManager.java index f1b4a18f0..f18990238 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/chat/GameChatManager.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/chat/GameChatManager.java @@ -370,6 +370,8 @@ public class GameChatManager implements Listener // Dragon Escape Teams // Dragons // Dragons Teams +// Draw My Thing +// Evolution /** BROKEN - TODO */ // BossBattles From b22f452b1f2d3a8ca078a0c5295754d496a6abe8 Mon Sep 17 00:00:00 2001 From: Teddy Date: Mon, 18 Jan 2016 11:36:16 +0000 Subject: [PATCH 34/43] Gladiators, added stats --- .../game/arcade/game/games/gladiators/Gladiators.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/gladiators/Gladiators.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/gladiators/Gladiators.java index 3f63106c1..e653a269d 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/gladiators/Gladiators.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/gladiators/Gladiators.java @@ -120,7 +120,13 @@ public class Gladiators extends SoloGame new SwiftKillTracker(this) ); - registerChatStats(); + registerChatStats( + Kills, + Assists, + BlankLine, + DamageDealt, + DamageTaken + ); _playerArenas = new HashMap<>(); From 3fc25359be28a6bbc3ad8bba48673ef11d1c9439 Mon Sep 17 00:00:00 2001 From: Teddy Date: Mon, 18 Jan 2016 11:38:43 +0000 Subject: [PATCH 35/43] Gravity, added stats --- .../src/nautilus/game/arcade/game/games/gravity/Gravity.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/gravity/Gravity.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/gravity/Gravity.java index 8176e1279..6178db711 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/gravity/Gravity.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/gravity/Gravity.java @@ -116,7 +116,10 @@ public class Gravity extends SoloGame this.WorldBoundaryKill = false; - registerChatStats(); + registerChatStats( + Kills, + Assists + ); } @Override From 740eeae9bdcd086ac7127c30829de3cffbec771f Mon Sep 17 00:00:00 2001 From: Teddy Date: Mon, 18 Jan 2016 11:40:46 +0000 Subject: [PATCH 36/43] Halloween, added stats --- .../game/arcade/game/games/halloween/Halloween.java | 6 +++++- .../nautilus/game/arcade/managers/chat/GameChatManager.java | 2 ++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/halloween/Halloween.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/halloween/Halloween.java index e9a9f7616..87899c583 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/halloween/Halloween.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/halloween/Halloween.java @@ -136,7 +136,11 @@ public class Halloween extends SoloGame this.DontAllowOverfill = true; - registerChatStats(); + registerChatStats( + Kills, + DamageDealt, + DamageTaken + ); } @Override diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/chat/GameChatManager.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/chat/GameChatManager.java index f18990238..ca9fa4674 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/chat/GameChatManager.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/chat/GameChatManager.java @@ -372,6 +372,8 @@ public class GameChatManager implements Listener // Dragons Teams // Draw My Thing // Evolution +// Gladiators +// Gravity /** BROKEN - TODO */ // BossBattles From c52bc8024c5c6f25257806a24f405313ad3ba6c1 Mon Sep 17 00:00:00 2001 From: Teddy Date: Mon, 18 Jan 2016 11:41:30 +0000 Subject: [PATCH 37/43] Halloween, added kit to stats --- .../game/arcade/game/games/halloween/Halloween.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/halloween/Halloween.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/halloween/Halloween.java index 87899c583..5a89d1d1e 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/halloween/Halloween.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/halloween/Halloween.java @@ -38,6 +38,8 @@ import nautilus.game.arcade.game.games.halloween.waves.WaveBase; import nautilus.game.arcade.game.games.halloween.waves.WaveBoss; import nautilus.game.arcade.game.games.halloween.waves.WaveVictory; import nautilus.game.arcade.kit.Kit; +import nautilus.game.arcade.managers.chat.ChatStatData; + import net.minecraft.server.v1_8_R3.PacketPlayOutNamedSoundEffect; import org.bukkit.ChatColor; @@ -139,7 +141,9 @@ public class Halloween extends SoloGame registerChatStats( Kills, DamageDealt, - DamageTaken + DamageTaken, + BlankLine, + new ChatStatData("kit", "Kit", true) ); } From 573d0dd67d3f1a1725ac2631af7bd91a4227dd6f Mon Sep 17 00:00:00 2001 From: Teddy Date: Tue, 19 Jan 2016 23:10:45 +0000 Subject: [PATCH 38/43] Stats added for all other games --- .../arcade/game/games/hideseek/HideSeek.java | 1 + .../game/games/lobbers/BombLobbers.java | 9 ++++- .../game/arcade/game/games/micro/Micro.java | 5 ++- .../arcade/game/games/milkcow/MilkCow.java | 10 +++++- .../game/games/minestrike/MineStrike.java | 9 +++-- .../game/games/monstermaze/MonsterMaze.java | 7 +++- .../game/games/paintball/Paintball.java | 10 +++++- .../game/arcade/game/games/quiver/Quiver.java | 10 +++++- .../arcade/game/games/quiver/QuiverTeams.java | 10 +++++- .../game/arcade/game/games/runner/Runner.java | 5 ++- .../searchanddestroy/SearchAndDestroy.java | 5 ++- .../arcade/game/games/sheep/SheepGame.java | 9 ++++- .../arcade/game/games/skywars/Skywars.java | 13 +++++++ .../game/games/skywars/SoloSkywars.java | 2 -- .../game/games/skywars/TeamSkywars.java | 2 -- .../game/games/smash/SoloSuperSmash.java | 13 ++++++- .../game/games/smash/SuperSmashDominate.java | 15 ++++++-- .../game/games/smash/TeamSuperSmash.java | 13 ++++++- .../game/arcade/game/games/snake/Snake.java | 5 ++- .../sneakyassassins/SneakyAssassins.java | 8 ++++- .../game/games/snowfight/SnowFight.java | 6 +++- .../game/arcade/game/games/spleef/Spleef.java | 10 +++++- .../arcade/game/games/spleef/SpleefTeams.java | 10 +++++- .../survivalgames/SoloSurvivalGames.java | 11 +++++- .../survivalgames/SurvivalGamesTeams.java | 11 +++++- .../survivalgames/TeamSurvivalGames.java | 11 +++++- .../game/games/turfforts/TurfForts.java | 13 +++++-- .../arcade/game/games/typewars/TypeWars.java | 5 ++- .../game/arcade/game/games/uhc/UHC.java | 8 ++++- .../arcade/game/games/wither/WitherGame.java | 8 ++++- .../arcade/game/games/wizards/Wizards.java | 11 +++++- .../games/zombiesurvival/ZombieSurvival.java | 5 ++- .../arcade/managers/chat/GameChatManager.java | 35 ++++++++++++++++++- 33 files changed, 266 insertions(+), 39 deletions(-) diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/hideseek/HideSeek.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/hideseek/HideSeek.java index 40ba1b31f..f360e190a 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/hideseek/HideSeek.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/hideseek/HideSeek.java @@ -349,6 +349,7 @@ public class HideSeek extends TeamGame new BadHiderStatTracker(this) ); + //Need ideas for this one registerChatStats(); } diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/lobbers/BombLobbers.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/lobbers/BombLobbers.java index f84916015..62f06e7bf 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/lobbers/BombLobbers.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/lobbers/BombLobbers.java @@ -42,6 +42,7 @@ import nautilus.game.arcade.game.games.lobbers.trackers.TrackerDirectHit; import nautilus.game.arcade.game.games.lobbers.trackers.TrackerNoDamage; import nautilus.game.arcade.game.games.lobbers.trackers.TrackerTNTThrown; import nautilus.game.arcade.kit.Kit; +import nautilus.game.arcade.managers.chat.ChatStatData; import org.bukkit.ChatColor; import org.bukkit.Location; @@ -122,7 +123,13 @@ public class BombLobbers extends TeamGame implements IThrown new TrackerDirectHit(this) ); - registerChatStats(); + registerChatStats( + Kills, + Assists, + DamageTaken, + BlankLine, + new ChatStatData("Thrown", "Thrown", true) + ); } @EventHandler diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/micro/Micro.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/micro/Micro.java index cce1303a9..7ef6d51fa 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/micro/Micro.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/micro/Micro.java @@ -62,7 +62,10 @@ public class Micro extends TeamGame new KillsWithinGameStatTracker(this, 8, "Annihilation") ); - registerChatStats(); + registerChatStats( + Kills, + Assists + ); } @Override diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/milkcow/MilkCow.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/milkcow/MilkCow.java index 1fb8c998a..0c3e66ca5 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/milkcow/MilkCow.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/milkcow/MilkCow.java @@ -98,7 +98,15 @@ public class MilkCow extends SoloGame _scoreObj = Scoreboard.GetScoreboard().registerNewObjective("Milk", "dummy"); _scoreObj.setDisplaySlot(DisplaySlot.BELOW_NAME); - registerChatStats(); + registerChatStats( + Kills, + Deaths, + KDRatio, + BlankLine, + Assists, + DamageTaken, + DamageDealt + ); } @Override diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/minestrike/MineStrike.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/minestrike/MineStrike.java index 4de831eb5..c4cbf7053 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/minestrike/MineStrike.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/minestrike/MineStrike.java @@ -312,13 +312,12 @@ public class MineStrike extends TeamGame registerChatStats( Kills, - new ChatStatData("BoomHeadshot", "Headshots", true), - new ChatStatData().blankLine(), Deaths, KDRatio, - new ChatStatData().blankLine(), - new ChatStatData().plainText(C.cGray + C.Italics + "Testing stage") - ); + BlankLine, + new ChatStatData("BoomHeadshot", "Headshots", true), + Assists + ); } @Override diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/monstermaze/MonsterMaze.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/monstermaze/MonsterMaze.java index bfe1f8c04..5860cf5f8 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/monstermaze/MonsterMaze.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/monstermaze/MonsterMaze.java @@ -33,6 +33,7 @@ import nautilus.game.arcade.game.games.monstermaze.trackers.PilotTracker; import nautilus.game.arcade.game.games.monstermaze.trackers.SnowmanHitTracker; import nautilus.game.arcade.game.games.monstermaze.trackers.SurvivePast10thSafepadTracker; import nautilus.game.arcade.kit.Kit; +import nautilus.game.arcade.managers.chat.ChatStatData; import org.bukkit.Bukkit; import org.bukkit.Effect; @@ -102,7 +103,11 @@ public class MonsterMaze extends SoloGame ); //_maze = new SnowmanMaze(this, WorldData.GetDataLocs("GRAY")/*, WorldData.GetCustomLocs("103")*/); - registerChatStats(); + registerChatStats( + DamageTaken, + BlankLine, + new ChatStatData("kit", "Kit", true) + ); } public Maze getMaze() diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/paintball/Paintball.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/paintball/Paintball.java index 80317efd8..5f4d7b2b4 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/paintball/Paintball.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/paintball/Paintball.java @@ -115,7 +115,15 @@ public class Paintball extends TeamGame new LastStandStatTracker(this) ); - registerChatStats(); + registerChatStats( + Kills, + Deaths, + KDRatio, + BlankLine, + Assists, + DamageTaken, + DamageDealt + ); } @EventHandler diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/quiver/Quiver.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/quiver/Quiver.java index 66e9ccc85..e3a2bf311 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/quiver/Quiver.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/quiver/Quiver.java @@ -93,7 +93,15 @@ public class Quiver extends SoloGame new WinWithoutBowStatTracker(this, "WhatsABow") ); - registerChatStats(); + registerChatStats( + Kills, + Deaths, + KDRatio, + BlankLine, + Assists, + DamageTaken, + DamageDealt + ); } @EventHandler(priority = EventPriority.HIGH) diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/quiver/QuiverTeams.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/quiver/QuiverTeams.java index 54547e846..4626d4f24 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/quiver/QuiverTeams.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/quiver/QuiverTeams.java @@ -66,7 +66,15 @@ public class QuiverTeams extends TeamGame this.TeamArmor = true; this.TeamArmorHotbar = true; - registerChatStats(); + registerChatStats( + Kills, + Deaths, + KDRatio, + BlankLine, + Assists, + DamageTaken, + DamageDealt + ); } @EventHandler(priority = EventPriority.HIGH) diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/runner/Runner.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/runner/Runner.java index e2ee10a55..38207ce8f 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/runner/Runner.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/runner/Runner.java @@ -32,6 +32,7 @@ import nautilus.game.arcade.GameType; import nautilus.game.arcade.game.SoloGame; import nautilus.game.arcade.game.games.runner.kits.*; import nautilus.game.arcade.kit.Kit; +import nautilus.game.arcade.managers.chat.ChatStatData; import nautilus.game.arcade.stats.DistanceTraveledStatTracker; import net.minecraft.server.v1_8_R3.EntityArrow; @@ -67,7 +68,9 @@ public class Runner extends SoloGame implements IThrown registerStatTrackers(new DistanceTraveledStatTracker(this, "MarathonRunner")); - registerChatStats(); + registerChatStats( + new ChatStatData("kit", "Kit", true) + ); } @EventHandler diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/searchanddestroy/SearchAndDestroy.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/searchanddestroy/SearchAndDestroy.java index 66d7b073e..ebb419815 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/searchanddestroy/SearchAndDestroy.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/searchanddestroy/SearchAndDestroy.java @@ -73,7 +73,10 @@ public class SearchAndDestroy extends TeamGame Manager.GetDamage().GetCombatManager().setUseWeaponName(AttackReason.DefaultWeaponName); - registerChatStats(); + registerChatStats( + Kills, + Assists + ); } public ArrayList getBombs() diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/sheep/SheepGame.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/sheep/SheepGame.java index 2ff30b4b7..03bf097d7 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/sheep/SheepGame.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/sheep/SheepGame.java @@ -53,6 +53,7 @@ import nautilus.game.arcade.game.GameTeam; import nautilus.game.arcade.game.TeamGame; import nautilus.game.arcade.game.games.sheep.kits.*; import nautilus.game.arcade.kit.Kit; +import nautilus.game.arcade.managers.chat.ChatStatData; import nautilus.game.arcade.stats.SheepDropStatTracker; import nautilus.game.arcade.stats.SheepThiefStatTracker; import nautilus.game.arcade.stats.WinWithSheepStatTracker; @@ -156,7 +157,13 @@ public class SheepGame extends TeamGame new WinWithSheepStatTracker(this) ); - registerChatStats(); + registerChatStats( + new ChatStatData("AnimalRescue", "Captures", true), + new ChatStatData("Thief", "Stolen", true), + BlankLine, + Kills, + Deaths + ); } @Override diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/skywars/Skywars.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/skywars/Skywars.java index 835afefc4..75fa533af 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/skywars/Skywars.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/skywars/Skywars.java @@ -46,6 +46,7 @@ import nautilus.game.arcade.game.games.skywars.kits.KitDestructor; import nautilus.game.arcade.game.games.skywars.kits.KitMiner; import nautilus.game.arcade.game.games.skywars.kits.KitMadScientist; import nautilus.game.arcade.kit.Kit; +import nautilus.game.arcade.managers.chat.ChatStatData; import nautilus.game.arcade.ore.OreHider; import nautilus.game.arcade.stats.DeathBomberStatTracker; import nautilus.game.arcade.stats.SkywarsKillZombieStatTracker; @@ -204,6 +205,18 @@ public abstract class Skywars extends Game new WinWithoutOpeningChestStatTracker(this), new WinWithoutWearingArmorStatTracker(this)); + registerChatStats( + Kills, + Deaths, + KDRatio, + BlankLine, + Assists, + DamageTaken, + DamageDealt, + BlankLine, + new ChatStatData("ZombieKills", "Zombies Killed", true) + ); + } public void ParseData() diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/skywars/SoloSkywars.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/skywars/SoloSkywars.java index c8d62fc38..d5262599d 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/skywars/SoloSkywars.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/skywars/SoloSkywars.java @@ -35,8 +35,6 @@ public class SoloSkywars extends Skywars }); this.DamageTeamSelf = true; - - registerChatStats(); } diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/skywars/TeamSkywars.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/skywars/TeamSkywars.java index 4b1a9ab52..7eb916b53 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/skywars/TeamSkywars.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/skywars/TeamSkywars.java @@ -53,8 +53,6 @@ public class TeamSkywars extends Skywars this.DamageTeamSelf = false; this.DontAllowOverfill = true; - - registerChatStats(); } @EventHandler diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/smash/SoloSuperSmash.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/smash/SoloSuperSmash.java index 71a16d1ed..c8c1a5082 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/smash/SoloSuperSmash.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/smash/SoloSuperSmash.java @@ -16,6 +16,7 @@ import nautilus.game.arcade.GameType; import nautilus.game.arcade.events.GameStateChangeEvent; import nautilus.game.arcade.game.GameTeam; import nautilus.game.arcade.game.Game.GameState; +import nautilus.game.arcade.managers.chat.ChatStatData; public class SoloSuperSmash extends SuperSmash { @@ -33,7 +34,17 @@ public class SoloSuperSmash extends SuperSmash this.DamageTeamSelf = true; - registerChatStats(); + registerChatStats( + Kills, + Deaths, + KDRatio, + BlankLine, + Assists, + DamageTaken, + DamageDealt, + BlankLine, + new ChatStatData("kit", "Kit", true) + ); } @EventHandler diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/smash/SuperSmashDominate.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/smash/SuperSmashDominate.java index 58e05d138..9c74d0c25 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/smash/SuperSmashDominate.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/smash/SuperSmashDominate.java @@ -24,7 +24,8 @@ import nautilus.game.arcade.game.Game.GameState; import nautilus.game.arcade.game.games.common.Domination; import nautilus.game.arcade.game.games.smash.kits.*; import nautilus.game.arcade.kit.Kit; - +import nautilus.game.arcade.managers.chat.ChatStatData; + public class SuperSmashDominate extends Domination { public SuperSmashDominate(ArcadeManager manager) @@ -56,7 +57,17 @@ public class SuperSmashDominate extends Domination }); - registerChatStats(); + registerChatStats( + Kills, + Deaths, + KDRatio, + BlankLine, + Assists, + DamageTaken, + DamageDealt, + BlankLine, + new ChatStatData("kit", "Kit", true) + ); } @EventHandler(priority = EventPriority.LOWEST) diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/smash/TeamSuperSmash.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/smash/TeamSuperSmash.java index 24690ab2b..8ae71d3b9 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/smash/TeamSuperSmash.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/smash/TeamSuperSmash.java @@ -15,6 +15,7 @@ import nautilus.game.arcade.ArcadeManager; import nautilus.game.arcade.GameType; import nautilus.game.arcade.events.GameStateChangeEvent; import nautilus.game.arcade.game.GameTeam; +import nautilus.game.arcade.managers.chat.ChatStatData; import org.bukkit.ChatColor; import org.bukkit.Location; @@ -54,7 +55,17 @@ public class TeamSuperSmash extends SuperSmash this.DontAllowOverfill = true; - registerChatStats(); + registerChatStats( + Kills, + Deaths, + KDRatio, + BlankLine, + Assists, + DamageTaken, + DamageDealt, + BlankLine, + new ChatStatData("kit", "Kit", true) + ); } @Override diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/snake/Snake.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/snake/Snake.java index ceaa0aa4c..b9ecd4ab6 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/snake/Snake.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/snake/Snake.java @@ -56,6 +56,7 @@ import nautilus.game.arcade.game.games.snake.kits.KitInvulnerable; import nautilus.game.arcade.game.games.snake.kits.KitReverser; import nautilus.game.arcade.game.games.snake.kits.KitSpeed; import nautilus.game.arcade.kit.Kit; +import nautilus.game.arcade.managers.chat.ChatStatData; import nautilus.game.arcade.stats.ChooChooStatTracker; import nautilus.game.arcade.stats.KillsWithinGameStatTracker; import nautilus.game.arcade.stats.SlimySheepStatTracker; @@ -158,7 +159,9 @@ public class Snake extends SoloGame new SlimySheepStatTracker(this) ); - registerChatStats(); + registerChatStats( + new ChatStatData("kit", "Kit", true) + ); } @EventHandler diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/sneakyassassins/SneakyAssassins.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/sneakyassassins/SneakyAssassins.java index 5fbbbe8b0..63e3385f0 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/sneakyassassins/SneakyAssassins.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/sneakyassassins/SneakyAssassins.java @@ -93,7 +93,13 @@ public class SneakyAssassins extends SoloGame _killEntityStatTracker ); - registerChatStats(); + registerChatStats( + Kills, + Assists, + BlankLine, + DamageTaken, + DamageDealt + ); } @Override diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/snowfight/SnowFight.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/snowfight/SnowFight.java index e97a8df55..c9faab8a5 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/snowfight/SnowFight.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/snowfight/SnowFight.java @@ -105,7 +105,11 @@ public class SnowFight extends TeamGame this.TeamArmor = true; this.TeamArmorHotbar = true; - registerChatStats(); + registerChatStats( + Kills, + Deaths, + KDRatio + ); // this.WorldWeatherEnabled = true; // this.WorldTimeSet = 4000; diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/spleef/Spleef.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/spleef/Spleef.java index ce1ed3c64..75b04b1ee 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/spleef/Spleef.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/spleef/Spleef.java @@ -32,6 +32,7 @@ import nautilus.game.arcade.ArcadeManager; import nautilus.game.arcade.GameType; import nautilus.game.arcade.game.SoloGame; import nautilus.game.arcade.kit.Kit; +import nautilus.game.arcade.managers.chat.ChatStatData; import nautilus.game.arcade.stats.SpleefBlockDestroyStatTracker; import net.minecraft.server.v1_8_R3.EntityArrow; @@ -63,7 +64,14 @@ public class Spleef extends SoloGame registerStatTrackers(new SpleefBlockDestroyStatTracker(this)); - registerChatStats(); + registerChatStats( + Kills, + Assists, + BlankLine, + new ChatStatData("BlocksBroken", "Blocks Broken", true), + BlankLine, + new ChatStatData("kit", "Kit", true) + ); } @EventHandler diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/spleef/SpleefTeams.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/spleef/SpleefTeams.java index 7bd09a74d..47ea38230 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/spleef/SpleefTeams.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/spleef/SpleefTeams.java @@ -30,6 +30,7 @@ import nautilus.game.arcade.GameType; import nautilus.game.arcade.game.TeamGame; import nautilus.game.arcade.game.games.spleef.kits.*; import nautilus.game.arcade.kit.Kit; +import nautilus.game.arcade.managers.chat.ChatStatData; import net.minecraft.server.v1_8_R3.EntityArrow; @@ -60,7 +61,14 @@ public class SpleefTeams extends TeamGame this.TeamArmor = true; this.TeamArmorHotbar = true; - registerChatStats(); + registerChatStats( + Kills, + Assists, + BlankLine, + new ChatStatData("BlocksBroken", "Blocks Broken", true), + BlankLine, + new ChatStatData("kit", "Kit", true) + ); } @EventHandler diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/survivalgames/SoloSurvivalGames.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/survivalgames/SoloSurvivalGames.java index 2aa54c7a9..a47d0d583 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/survivalgames/SoloSurvivalGames.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/survivalgames/SoloSurvivalGames.java @@ -14,6 +14,7 @@ import nautilus.game.arcade.GameType; import nautilus.game.arcade.events.GameStateChangeEvent; import nautilus.game.arcade.game.GameTeam; import nautilus.game.arcade.game.Game.GameState; +import nautilus.game.arcade.managers.chat.ChatStatData; import org.bukkit.ChatColor; import org.bukkit.entity.Player; @@ -40,7 +41,15 @@ public class SoloSurvivalGames extends SurvivalGames this.DamageTeamSelf = true; - registerChatStats(); + registerChatStats( + Kills, + Assists, + BlankLine, + DamageTaken, + DamageDealt, + BlankLine, + new ChatStatData("SupplyDropsOpened", "Chests opened", true) + ); } diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/survivalgames/SurvivalGamesTeams.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/survivalgames/SurvivalGamesTeams.java index cfa06236d..b225b4f52 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/survivalgames/SurvivalGamesTeams.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/survivalgames/SurvivalGamesTeams.java @@ -50,6 +50,7 @@ import nautilus.game.arcade.game.games.survivalgames.kit.KitHorseman; import nautilus.game.arcade.game.games.survivalgames.kit.KitKnight; import nautilus.game.arcade.game.games.survivalgames.kit.KitLooter; import nautilus.game.arcade.kit.Kit; +import nautilus.game.arcade.managers.chat.ChatStatData; import org.bukkit.Bukkit; import org.bukkit.ChatColor; @@ -256,7 +257,15 @@ public class SurvivalGamesTeams extends TeamGame if (Manager.IsTournamentServer()) QuitOut = false; - registerChatStats(); + registerChatStats( + Kills, + Assists, + BlankLine, + DamageTaken, + DamageDealt, + BlankLine, + new ChatStatData("SupplyDropsOpened", "Chests opened", true) + ); } @Override diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/survivalgames/TeamSurvivalGames.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/survivalgames/TeamSurvivalGames.java index 8a2d8b4ee..3319b08b1 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/survivalgames/TeamSurvivalGames.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/survivalgames/TeamSurvivalGames.java @@ -17,6 +17,7 @@ import nautilus.game.arcade.ArcadeManager; import nautilus.game.arcade.GameType; import nautilus.game.arcade.events.GameStateChangeEvent; import nautilus.game.arcade.game.GameTeam; +import nautilus.game.arcade.managers.chat.ChatStatData; import org.bukkit.ChatColor; import org.bukkit.Location; @@ -60,7 +61,15 @@ public class TeamSurvivalGames extends SurvivalGames this.DontAllowOverfill = true; - registerChatStats(); + registerChatStats( + Kills, + Assists, + BlankLine, + DamageTaken, + DamageDealt, + BlankLine, + new ChatStatData("SupplyDropsOpened", "Chests opened", true) + ); } diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/turfforts/TurfForts.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/turfforts/TurfForts.java index 8e7045bed..58d80da35 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/turfforts/TurfForts.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/turfforts/TurfForts.java @@ -61,7 +61,9 @@ import nautilus.game.arcade.game.games.turfforts.kits.KitInfiltrator; import nautilus.game.arcade.game.games.turfforts.kits.KitMarksman; import nautilus.game.arcade.game.games.turfforts.kits.KitShredder; import nautilus.game.arcade.kit.Kit; +import nautilus.game.arcade.managers.chat.ChatStatData; import nautilus.game.arcade.stats.BehindEnemyLinesStatTracker; +import nautilus.game.arcade.stats.BlockPlaceStatTracker; import nautilus.game.arcade.stats.BlockShreadStatTracker; import nautilus.game.arcade.stats.TheComebackStatTracker; import net.minecraft.server.v1_8_R3.EntityArrow; @@ -151,10 +153,17 @@ public class TurfForts extends TeamGame registerStatTrackers( new BlockShreadStatTracker(this), new BehindEnemyLinesStatTracker(this), - new TheComebackStatTracker(this) + new TheComebackStatTracker(this), + new BlockPlaceStatTracker(this, new Material[]{}) ); - registerChatStats(); + registerChatStats( + Kills, + Deaths, + KDRatio, + BlankLine, + new ChatStatData("BlocksPlaced", "Blocks Placed", true) + ); } @Override diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/typewars/TypeWars.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/typewars/TypeWars.java index 52f1ccaa8..ea8ccd209 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/typewars/TypeWars.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/typewars/TypeWars.java @@ -45,6 +45,7 @@ import nautilus.game.arcade.game.games.typewars.tutorial.TutorialTypeWars; import nautilus.game.arcade.gametutorial.events.GameTutorialEndEvent; import nautilus.game.arcade.gametutorial.events.GameTutorialStartEvent; import nautilus.game.arcade.kit.Kit; +import nautilus.game.arcade.managers.chat.ChatStatData; import nautilus.game.arcade.stats.TimeInGameStatTracker; import nautilus.game.arcade.world.WorldData; @@ -168,7 +169,9 @@ public class TypeWars extends TeamGame new TimeInGameTracker(this) ); - registerChatStats(); + registerChatStats( + new ChatStatData("MinionKills", "Kills", true) + ); manager.GetCreature().SetDisableCustomDrops(true); manager.GetChat().setThreeSecondDelay(false); diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/uhc/UHC.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/uhc/UHC.java index 2f42ad715..d543c505a 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/uhc/UHC.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/uhc/UHC.java @@ -208,7 +208,13 @@ public class UHC extends TeamGame _createTime = System.currentTimeMillis(); _serverTime = Utility.currentTimeMillis(); - registerChatStats(); + registerChatStats( + Kills, + Assists, + BlankLine, + DamageTaken, + DamageDealt + ); } @Override diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/wither/WitherGame.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/wither/WitherGame.java index 6da38a325..6b5a74987 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/wither/WitherGame.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/wither/WitherGame.java @@ -66,6 +66,7 @@ import nautilus.game.arcade.game.games.wither.kit.KitWitherMinion; import nautilus.game.arcade.kit.Kit; import nautilus.game.arcade.kit.NullKit; import nautilus.game.arcade.kit.perks.data.IBlockRestorer; +import nautilus.game.arcade.managers.chat.ChatStatData; import nautilus.game.arcade.stats.TeamDeathsStatTracker; import nautilus.game.arcade.stats.TeamKillsStatTracker; @@ -149,7 +150,12 @@ public class WitherGame extends TeamGame implements IBlockRestorer new TeamKillsStatTracker(this) ); - registerChatStats(); + registerChatStats( + DamageTaken, + DamageDealt, + BlankLine, + new ChatStatData("kit", "Kit", true) + ); } @Override diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/wizards/Wizards.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/wizards/Wizards.java index ca4130453..9ab574b9b 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/wizards/Wizards.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/wizards/Wizards.java @@ -54,6 +54,7 @@ import net.minecraft.server.v1_8_R3.EntityFireball; import net.minecraft.server.v1_8_R3.PacketPlayOutSetSlot; import net.minecraft.server.v1_8_R3.PacketPlayOutWindowItems; +import nautilus.game.arcade.managers.chat.ChatStatData; import org.apache.commons.lang.IllegalClassException; import org.bukkit.Bukkit; import org.bukkit.ChatColor; @@ -166,7 +167,15 @@ public class Wizards extends SoloGame SoupEnabled = false; DamageTeamSelf = true; - registerChatStats(); + registerChatStats( + Kills, + Assists, + BlankLine, + DamageTaken, + DamageDealt, + BlankLine, + new ChatStatData("kit", "Kit", true) + ); Manager.getCosmeticManager().setHideParticles(true); // Manager.GetDamage().GetCombatManager().setUseWeaponName(AttackReason.DefaultWeaponName); diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/zombiesurvival/ZombieSurvival.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/zombiesurvival/ZombieSurvival.java index 58b46f4fa..3f118fbb9 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/zombiesurvival/ZombieSurvival.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/zombiesurvival/ZombieSurvival.java @@ -72,7 +72,10 @@ public class ZombieSurvival extends SoloGame this.CompassEnabled = true; - registerChatStats(); + registerChatStats( + Kills, + Assists + ); } @Override diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/chat/GameChatManager.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/chat/GameChatManager.java index ca9fa4674..c9a93bff2 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/chat/GameChatManager.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/chat/GameChatManager.java @@ -374,12 +374,45 @@ public class GameChatManager implements Listener // Evolution // Gladiators // Gravity +// Bomb Lobbers +// Micro Battles +// Milk Cow +// MineStrike +// Monster Maze +// Paintball +// One in the Quiver +// One in the Quiver Teams +// Runner +// Search And Destroy +// Sheep Quest +// SkyWars +// Super Smash +// Snake +// Sneaky Assassins +// Snow Fight +// Spleef +// Survival Games +// Turf Forts/Wars +// Type Wars +// UHC +// Wither +// Wizards +// Zombie Survival -/** BROKEN - TODO */ +/** BROKEN / NON_LIVE_GAMES */ // BossBattles // BouncyBalls // Cards Against Humanity // Dragon Riders +// Hide And Seek +// Hole In The Wall +// Horse Charge +// MineWare +// Moba +// Monster League +// Old MineWare +// Squid Shooter +// Stacker /* A Barbarians Life.Assists From 311d42db3047e8d2dee8e2cdb24219595c0aa27a Mon Sep 17 00:00:00 2001 From: Shaun Bennett Date: Fri, 22 Jan 2016 19:48:06 -0500 Subject: [PATCH 39/43] Use Garbo's description changes --- .../src/mineplex/core/common/Rank.java | 84 ++++--------------- .../src/mineplex/hub/HubManager.java | 2 +- .../game/arcade/managers/GameChatManager.java | 2 +- 3 files changed, 17 insertions(+), 71 deletions(-) diff --git a/Plugins/Mineplex.Core.Common/src/mineplex/core/common/Rank.java b/Plugins/Mineplex.Core.Common/src/mineplex/core/common/Rank.java index 005d46dfb..aa6a7a113 100644 --- a/Plugins/Mineplex.Core.Common/src/mineplex/core/common/Rank.java +++ b/Plugins/Mineplex.Core.Common/src/mineplex/core/common/Rank.java @@ -39,29 +39,37 @@ public enum Rank private ChatColor _color; private boolean _donor; - private String _info; + private String _description; public String Name; - Rank(String name, ChatColor color, String info) + Rank(String name, ChatColor color, String description) { _color = color; Name = name; _donor = false; - _info = info; + _description = description; } - Rank(String name, ChatColor color, boolean donor, String info) + Rank(String name, ChatColor color, boolean donor, String description) { _color = color; Name = name; _donor = donor; - _info = info; + _description = description; } - public String getInfo() + public String getDescription() { - return _info; + return _description; + } + + public String getRawTag() + { + if (Name.equalsIgnoreCase("ALL")) + return ""; + + return Name; } public boolean has(Rank rank) @@ -125,66 +133,4 @@ public enum Rank { return _donor; } - - public String getRankDescription() - { - switch(this) - { - case ULTRA: - return "Mineplex’s first premium rank\n" - + "Buy ULTRA at mineplex.com/shop!"; - case HERO: - return "Mineplex’s second premium rank\n" - + "Buy HERO at mineplex.com/shop!"; - case LEGEND: - return "Mineplex’s third premium rank\n" - + "Buy LEGEND at mineplex.com/shop!"; - case TITAN: - return "This is a special rank that can only be found in\n" - + "mythical chests and on special occasions!"; - case TWITCH: - return "Official Twitch Streamer!"; - case YOUTUBE: - return "Official Youtuber!"; - case MEDIA: - return "Official Mineplex Artist or Designer!"; - case MAPDEV: - return "Players with the Builder rank are building\n" - + "all the beautiful maps you can see on Mineplex!"; - case MAPLEAD: - return "Mapleads are the head of Builders."; - case HELPER: - return "Trainees are staff in training,\n" - + "and are here to help players and moderate!\n" - + "If you have any question, just message them per /a."; - case MODERATOR: - return "Moderators are here to moderate\n" - + "and help players with any concerns they have. \n" - + "If you have any question, just message them per /a."; - case SNR_MODERATOR: - return "Senior Moderators are in a special\n" - + "Senior Moderator team where they have to fulfill team tasks.\n" - + "They are similar to Moderators who you can always ask for help!\n" - + "If you have any question, just message them per /a."; - case SUPPORT: - return "Support Agents take care of all the tickets\n" - + "that get sent to mineplex.com/support"; - case JNR_DEV: - return "Junior Developers are making new Games\n" - + "and new Features for you to enjoy!"; - case ADMIN: - return "Administrators have their own\n" - + " Senior Moderator Team that they lead!"; - case DEVELOPER: - return "Developers are making new Games\n" - + "and new Features for you to enjoy!"; - case OWNER: - return "Owners are the Founder of Mineplex\n" - + "and they all Manage different parts of it!"; - case LT: - return "Leaders are in charge of special teams\n" - + "such as the whole staff team or the support!"; - } - return ""; - } } diff --git a/Plugins/Mineplex.Hub/src/mineplex/hub/HubManager.java b/Plugins/Mineplex.Hub/src/mineplex/hub/HubManager.java index aab5cb8fb..8bbcb584c 100644 --- a/Plugins/Mineplex.Hub/src/mineplex/hub/HubManager.java +++ b/Plugins/Mineplex.Hub/src/mineplex/hub/HubManager.java @@ -637,7 +637,7 @@ public class HubManager extends MiniClientPlugin TextComponent playerNameText = new TextComponent(ChatColor.YELLOW + playerName); TextComponent component = new TextComponent(); - rankComponent.setHoverEvent(new HoverEvent(Action.SHOW_TEXT, new ComponentBuilder(rank.getColor() + rank.getTag(true, true) + ChatColor.WHITE + ":\n" + rank.getRankDescription()).create())); + rankComponent.setHoverEvent(new HoverEvent(Action.SHOW_TEXT, new ComponentBuilder(rank.getColor() + rank.getTag(true, true) + ChatColor.WHITE + ":\n" + rank.getDescription()).create())); // playerNameText.setClickEvent(new ClickEvent(net.md_5.bungee.api.chat.ClickEvent.Action.RUN_COMMAND, "/stats " + playerName)); diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameChatManager.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameChatManager.java index 939d70081..13d528511 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameChatManager.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameChatManager.java @@ -213,7 +213,7 @@ public class GameChatManager implements Listener TextComponent rankComponent = new TextComponent(rankStr); TextComponent component = new TextComponent(); - rankComponent.setHoverEvent(new HoverEvent(Action.SHOW_TEXT, new ComponentBuilder(rank.getColor() + rank.getTag(true, true) + ChatColor.WHITE + ":\n" + rank.getRankDescription()).create())); + rankComponent.setHoverEvent(new HoverEvent(Action.SHOW_TEXT, new ComponentBuilder(rank.getColor() + rank.getTag(true, true) + ChatColor.WHITE + ":\n" + rank.getDescription()).create())); component.setText(disguiseTag); if(!global) From eed55b48ac01cd310d130736c3b429420fd9a7fe Mon Sep 17 00:00:00 2001 From: teddy Date: Thu, 28 Jan 2016 09:55:48 +0000 Subject: [PATCH 40/43] Descriptions changed --- .../src/mineplex/core/common/Rank.java | 42 +++++++++---------- .../arcade/managers/chat/GameChatManager.java | 11 ----- 2 files changed, 21 insertions(+), 32 deletions(-) diff --git a/Plugins/Mineplex.Core.Common/src/mineplex/core/common/Rank.java b/Plugins/Mineplex.Core.Common/src/mineplex/core/common/Rank.java index aa6a7a113..02937ed2f 100644 --- a/Plugins/Mineplex.Core.Common/src/mineplex/core/common/Rank.java +++ b/Plugins/Mineplex.Core.Common/src/mineplex/core/common/Rank.java @@ -9,32 +9,32 @@ import mineplex.core.common.util.UtilPlayer; public enum Rank { //Staff - LT("Leader", ChatColor.GOLD, "Leaders are in charge of special teams\nsuch as the whole staff team or the support!"), - OWNER("Owner", ChatColor.GOLD, "Owners are the Founders of Mineplex\nand they all manage different parts of it!"), - DEVELOPER("Dev", ChatColor.GOLD, "Developers make new games,\nand new features for you to enjoy"), - ADMIN("Admin", ChatColor.GOLD, "Administrators have their own\nSenior Moderator team that they lead!"), - JNR_DEV("Jr.Dev", ChatColor.GOLD, "Junior Developers make new games,\nand new features for you to enjoy"), - SUPPORT("Support", ChatColor.BLUE, "Support Agents take care of all the tickets\nthat get sent to mineplex.com/support"), - CMOD("C.Mod", ChatColor.GOLD, "Clan Moderators are Senior Moderators in\nthe Clans Management team.\nThey mainly moderate only the Clans servers.\nThey are around to help you with any problems on Clans servers."), - SNR_MODERATOR("Sr.Mod", ChatColor.GOLD, "Senior Moderators are in a special\nSenior Moderator team where they have to fulfill team tasks.\nThey are similar to Moderators who you can always ask for help!\nIf you have any questions, just message them using /a"), - MODERATOR("Mod", ChatColor.GOLD, "Moderators are here to moderate\nand help players with any concerns they have.\nIf you have any questions, just message them using /a"), - HELPER("Trainee", ChatColor.DARK_AQUA, "Trainees are staff in training,\nand are here to help players and moderate!\nIf you have any questions, just message them using /a"), - MAPLEAD("MapLead", ChatColor.BLUE, "Leader of the Official Build team"), - MAPDEV("Builder", ChatColor.BLUE, "Official Mineplex Map Builders"), - MEDIA("Media", ChatColor.BLUE, "Official Mineplex Artist and/or Designer"), + LT("Leader", ChatColor.GOLD, "Leaders manage the operation of their respective team or projects. They usually operate on affairs within the staff, development, or management team."), + OWNER("Owner", ChatColor.GOLD, "Owners are the founders of Mineplex. Each owner manages a different aspect of the server and ensures its efficient operation."), + DEVELOPER("Dev", ChatColor.GOLD, "Developers work behind the scenes to create new games and features, and fix bugs to give the best experience."), + ADMIN("Admin", ChatColor.GOLD, "An Administrator’s role is to manage their respective Senior Moderator team and all moderators within it."), + JNR_DEV("Jr.Dev", ChatColor.GOLD, "Junior Developers work behind the scenes to create new games and features, and fix bugs to give the best experience."), + SUPPORT("Support", ChatColor.BLUE, "Support agents handle tickets and provide customer service."), + CMOD("C.Mod", ChatColor.GOLD, "Clans Moderators are members of the Clans Management Senior Mod team. Their duties include moderation and support within the Clans servers. For assistance, contact them using /a ."), + SNR_MODERATOR("Sr.Mod", ChatColor.GOLD, "Senior Moderators are members of a special Senior Moderator team where they have to fulfill specific tasks. Just like Moderators, you can always ask them for help. For assistance, contact them using /a ."), + MODERATOR("Mod", ChatColor.GOLD, "Moderators enforce rules and provide help to anyone with questions or concerns. For assistance, contact them using /a ."), + HELPER("Trainee", ChatColor.DARK_AQUA, "Trainees are moderators-in-training. Their duties include enforcing the rules and providing help to anyone with questions or concerns. For assistance, contact them using /a ."), + MAPLEAD("MapLead", ChatColor.BLUE, "Map Leaders are leaders of the Mineplex Build Team. They oversee the creation of new maps and manage Builders."), + MAPDEV("Builder", ChatColor.BLUE, "Builders are members of the Mineplex Build Team. They create many of the maps used across Mineplex."), + MEDIA("Media", ChatColor.BLUE, "The Media rank is given to talented artists who are endorsed to create content for Mineplex."), - EVENT("Event", ChatColor.WHITE, "???"), + EVENT("Event", ChatColor.WHITE, "A member of the official Mineplex Events team!"), //Media - YOUTUBE("YouTube", ChatColor.RED, "Official Mineplex Youtuber"), - YOUTUBE_SMALL("YT", ChatColor.DARK_PURPLE, "Youtube Content Creators"), - TWITCH("Twitch", ChatColor.DARK_PURPLE, "Official Twitch Live Streamer"), + YOUTUBE("YouTube", ChatColor.RED, "A YouTuber who creates content for or related to Mineplex."), + YOUTUBE_SMALL("YT", ChatColor.DARK_PURPLE, "A YouTuber who creates content for or related to Mineplex. They have fewer subscribers than full YouTubers."), + TWITCH("Twitch", ChatColor.DARK_PURPLE, "A Twitch streamer who often features Mineplex in their streams."), //Player - TITAN("Titan", ChatColor.RED, true, "Mineplex's fourth premium rank\nBuy Titan at mineplex.com/shop"), - LEGEND("Legend", ChatColor.GREEN, true, "Mineplex's third premium rank\nBuy Legend at mineplex.com/shop"), - HERO("Hero", ChatColor.LIGHT_PURPLE, true, "Mineplex's second premium rank\nBuy Hero at mineplex.com/shop"), - ULTRA("Ultra", ChatColor.AQUA, true, "Mineplex's first premium rank\nBuy Ultra at mineplex.com/shop"), + TITAN("Titan", ChatColor.RED, true, "Ancient myths spoke of a gigantic being with immense power... Purchase Titan at www.mineplex.com/shop"), + LEGEND("Legend", ChatColor.GREEN, true, "Mineplex's third premium rank. Purchase Legend at www.mineplex.com/shop"), + HERO("Hero", ChatColor.LIGHT_PURPLE, true, "There are many stories of a valiant Hero who was brave enough to tame the most fearsome dragon in the land."), + ULTRA("Ultra", ChatColor.AQUA, true, "Mineplex's first premium rank. Purchase Ultra at www.mineplex.com/shop"), ALL("", ChatColor.WHITE, null); private ChatColor _color; diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/chat/GameChatManager.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/chat/GameChatManager.java index c9a93bff2..6525dd403 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/chat/GameChatManager.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/chat/GameChatManager.java @@ -2,29 +2,21 @@ package nautilus.game.arcade.managers.chat; import java.text.DecimalFormat; import java.util.AbstractMap; -import java.util.Arrays; import java.util.Collection; -import java.util.HashMap; import java.util.Iterator; -import java.util.LinkedHashMap; import java.util.LinkedList; import java.util.Map; import org.bukkit.ChatColor; -import org.bukkit.Material; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.player.AsyncPlayerChatEvent; import org.bukkit.event.player.PlayerCommandPreprocessEvent; -import org.bukkit.event.player.PlayerItemConsumeEvent; -import net.minecraft.server.v1_8_R3.IChatBaseComponent; import net.minecraft.server.v1_8_R3.PacketPlayOutChat; -import com.google.gson.stream.MalformedJsonException; import mineplex.core.account.CoreClient; import mineplex.core.common.Rank; -import mineplex.core.common.jsonchat.ChildJsonMessage; import mineplex.core.common.jsonchat.JsonMessage; import mineplex.core.common.util.C; import mineplex.core.common.util.F; @@ -34,9 +26,6 @@ import nautilus.game.arcade.ArcadeManager; import nautilus.game.arcade.game.Game; import nautilus.game.arcade.game.Game.GameState; import nautilus.game.arcade.game.GameTeam; -import nautilus.game.arcade.managers.chat.ChatStatData; -import org.apache.commons.lang.ArrayUtils; -import org.apache.commons.lang.StringUtils; import org.jooq.tools.json.JSONObject; public class GameChatManager implements Listener From 63cea58f0585ec7a136b6017554f91591b2107b8 Mon Sep 17 00:00:00 2001 From: teddy Date: Thu, 28 Jan 2016 17:18:24 +0000 Subject: [PATCH 41/43] Waiting for a testing session. --- .../src/mineplex/core/common/Rank.java | 41 +-- .../src/mineplex/hub/HubManager.java | 30 ++- .../game/games/turfforts/TurfForts.java | 13 +- .../game/arcade/managers/GameChatManager.java | 234 ------------------ .../arcade/managers/chat/GameChatManager.java | 88 ++++--- .../arcade/stats/BlockBreakStatTracker.java | 5 + .../arcade/stats/BlockPlaceStatTracker.java | 3 + 7 files changed, 118 insertions(+), 296 deletions(-) delete mode 100644 Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameChatManager.java diff --git a/Plugins/Mineplex.Core.Common/src/mineplex/core/common/Rank.java b/Plugins/Mineplex.Core.Common/src/mineplex/core/common/Rank.java index 02937ed2f..f962e224b 100644 --- a/Plugins/Mineplex.Core.Common/src/mineplex/core/common/Rank.java +++ b/Plugins/Mineplex.Core.Common/src/mineplex/core/common/Rank.java @@ -4,37 +4,38 @@ import org.bukkit.ChatColor; import org.bukkit.entity.Player; import mineplex.core.common.util.C; +import mineplex.core.common.util.F; import mineplex.core.common.util.UtilPlayer; public enum Rank { //Staff - LT("Leader", ChatColor.GOLD, "Leaders manage the operation of their respective team or projects. They usually operate on affairs within the staff, development, or management team."), - OWNER("Owner", ChatColor.GOLD, "Owners are the founders of Mineplex. Each owner manages a different aspect of the server and ensures its efficient operation."), - DEVELOPER("Dev", ChatColor.GOLD, "Developers work behind the scenes to create new games and features, and fix bugs to give the best experience."), - ADMIN("Admin", ChatColor.GOLD, "An Administrator’s role is to manage their respective Senior Moderator team and all moderators within it."), - JNR_DEV("Jr.Dev", ChatColor.GOLD, "Junior Developers work behind the scenes to create new games and features, and fix bugs to give the best experience."), - SUPPORT("Support", ChatColor.BLUE, "Support agents handle tickets and provide customer service."), - CMOD("C.Mod", ChatColor.GOLD, "Clans Moderators are members of the Clans Management Senior Mod team. Their duties include moderation and support within the Clans servers. For assistance, contact them using /a ."), - SNR_MODERATOR("Sr.Mod", ChatColor.GOLD, "Senior Moderators are members of a special Senior Moderator team where they have to fulfill specific tasks. Just like Moderators, you can always ask them for help. For assistance, contact them using /a ."), - MODERATOR("Mod", ChatColor.GOLD, "Moderators enforce rules and provide help to anyone with questions or concerns. For assistance, contact them using /a ."), - HELPER("Trainee", ChatColor.DARK_AQUA, "Trainees are moderators-in-training. Their duties include enforcing the rules and providing help to anyone with questions or concerns. For assistance, contact them using /a ."), - MAPLEAD("MapLead", ChatColor.BLUE, "Map Leaders are leaders of the Mineplex Build Team. They oversee the creation of new maps and manage Builders."), - MAPDEV("Builder", ChatColor.BLUE, "Builders are members of the Mineplex Build Team. They create many of the maps used across Mineplex."), - MEDIA("Media", ChatColor.BLUE, "The Media rank is given to talented artists who are endorsed to create content for Mineplex."), + LT("Leader", ChatColor.GOLD, "Leaders manage the operation of their respective team \nor projects. They usually operate on affairs within \nthe staff, development, or management team."), + OWNER("Owner", ChatColor.GOLD, "Owners are the founders of Mineplex. \nEach owner manages a different aspect of the \nserver and ensures its efficient operation."), + DEVELOPER("Dev", ChatColor.GOLD, "Developers work behind the scenes to \ncreate new games and features, and fix bugs to \ngive the best experience."), + ADMIN("Admin", ChatColor.GOLD, "An Administrator’s role is to manage \ntheir respective Senior Moderator team \nand all moderators within it."), + JNR_DEV("Jr.Dev", ChatColor.GOLD, "Junior Developers work behind the scenes to \ncreate new games and features, and fix bugs to \ngive the best experience."), + SUPPORT("Support", ChatColor.BLUE, "Support agents handle tickets and \nprovide customer service."), + CMOD("C.Mod", ChatColor.GOLD, "Clans Moderators are members of the Clans Management Senior Mod team. \nTheir duties include moderation and support within the Clans servers. \n\nFor assistance, contact them using " + F.elem("/a ") + "."), + SNR_MODERATOR("Sr.Mod", ChatColor.GOLD, "Senior Moderators are members of a special \nSenior Moderator team where they have to fulfill specific tasks. \nJust like Moderators, you can always ask them for help. \n\nFor assistance, contact them using " + F.elem("/a ") + "."), + MODERATOR("Mod", ChatColor.GOLD, "Moderators enforce rules and provide help to \nanyone with questions or concerns. \n\nFor assistance, contact them using " + F.elem("/a ") + "."), + HELPER("Trainee", ChatColor.DARK_AQUA, "Trainees are moderators-in-training. \nTheir duties include enforcing the rules and \nproviding help to anyone with questions or concerns. \n\nFor assistance, contact them using " + F.elem("/a ") + "."), + MAPLEAD("MapLead", ChatColor.BLUE, "Map Leaders are leaders of the Mineplex Build Team. \nThey oversee the creation of new maps and manage Builders."), + MAPDEV("Builder", ChatColor.BLUE, "Builders are members of the Mineplex Build Team. \nThey create many of the maps used across Mineplex."), + MEDIA("Media", ChatColor.BLUE, "The Media rank is given to talented artists who are\n endorsed to create content for Mineplex."), EVENT("Event", ChatColor.WHITE, "A member of the official Mineplex Events team!"), //Media - YOUTUBE("YouTube", ChatColor.RED, "A YouTuber who creates content for or related to Mineplex."), - YOUTUBE_SMALL("YT", ChatColor.DARK_PURPLE, "A YouTuber who creates content for or related to Mineplex. They have fewer subscribers than full YouTubers."), - TWITCH("Twitch", ChatColor.DARK_PURPLE, "A Twitch streamer who often features Mineplex in their streams."), + YOUTUBE("YouTube", ChatColor.RED, "A YouTuber who creates content for \nor related to Mineplex."), + YOUTUBE_SMALL("YT", ChatColor.DARK_PURPLE, "A YouTuber who creates content for \nor related to Mineplex. \n\nThey have fewer subscribers than full YouTubers."), + TWITCH("Twitch", ChatColor.DARK_PURPLE, "A Twitch streamer who often features \nMineplex in their streams."), //Player - TITAN("Titan", ChatColor.RED, true, "Ancient myths spoke of a gigantic being with immense power... Purchase Titan at www.mineplex.com/shop"), - LEGEND("Legend", ChatColor.GREEN, true, "Mineplex's third premium rank. Purchase Legend at www.mineplex.com/shop"), - HERO("Hero", ChatColor.LIGHT_PURPLE, true, "There are many stories of a valiant Hero who was brave enough to tame the most fearsome dragon in the land."), - ULTRA("Ultra", ChatColor.AQUA, true, "Mineplex's first premium rank. Purchase Ultra at www.mineplex.com/shop"), + TITAN("Titan", ChatColor.RED, true, "Ancient myths spoke of a gigantic being \nwith immense power... \n\nPurchase Titan at www.mineplex.com/shop"), + LEGEND("Legend", ChatColor.GREEN, true, "Mineplex's third premium rank. \n\nPurchase Legend at www.mineplex.com/shop"), + HERO("Hero", ChatColor.LIGHT_PURPLE, true, "There are many stories of a \nvaliant Hero who was brave enough to \ntame the most fearsome dragon in the land. \n\nPurchase Hero at www.mineplex.com/shop"), + ULTRA("Ultra", ChatColor.AQUA, true, "Mineplex's first premium rank. \n\nPurchase Ultra at www.mineplex.com/shop"), ALL("", ChatColor.WHITE, null); private ChatColor _color; diff --git a/Plugins/Mineplex.Hub/src/mineplex/hub/HubManager.java b/Plugins/Mineplex.Hub/src/mineplex/hub/HubManager.java index 8bbcb584c..0897dd951 100644 --- a/Plugins/Mineplex.Hub/src/mineplex/hub/HubManager.java +++ b/Plugins/Mineplex.Hub/src/mineplex/hub/HubManager.java @@ -18,6 +18,7 @@ import mineplex.core.blockrestore.BlockRestore; import mineplex.core.bonuses.BonusManager; import mineplex.core.botspam.BotSpamManager; import mineplex.core.common.Rank; +import mineplex.core.common.jsonchat.JsonMessage; import mineplex.core.common.util.C; import mineplex.core.common.util.F; import mineplex.core.common.util.UtilInv; @@ -94,6 +95,8 @@ import net.md_5.bungee.api.chat.ComponentBuilder; import net.md_5.bungee.api.chat.HoverEvent; import net.md_5.bungee.api.chat.HoverEvent.Action; import net.md_5.bungee.api.chat.TextComponent; +import org.jooq.tools.json.JSONObject; + import net.minecraft.server.v1_8_R3.ChatMessage; import net.minecraft.server.v1_8_R3.EntityInsentient; import net.minecraft.server.v1_8_R3.EntityPlayer; @@ -633,18 +636,21 @@ public class HubManager extends MiniClientPlugin } else { - TextComponent rankComponent = new TextComponent(rankStr); - TextComponent playerNameText = new TextComponent(ChatColor.YELLOW + playerName); - TextComponent component = new TextComponent(); +// TextComponent rankComponent = new TextComponent(rankStr); +// TextComponent playerNameText = new TextComponent(ChatColor.YELLOW + playerName); +// TextComponent component = new TextComponent(); +// +// rankComponent.setHoverEvent(new HoverEvent(Action.SHOW_TEXT, new ComponentBuilder(rank.getColor() + rank.getTag(true, true) + ChatColor.WHITE + ":\n" + rank.getDescription()).create())); +// +// component.setText(levelStr); +// component.addExtra(rankComponent); +// component.addExtra(playerNameText); +// component.addExtra(" " + ChatColor.WHITE + event.getMessage()); + + JsonMessage jsonMessage = new JsonMessage(levelStr) + .extra(JSONObject.escape(rankStr)).hover("show_text", rank.getColor() + rank.getTag(true, true) + ChatColor.WHITE + "\n" + rank.getDescription()) + .add(JSONObject.escape(C.cYellow + playerName + " " + ChatColor.WHITE + event.getMessage())); - rankComponent.setHoverEvent(new HoverEvent(Action.SHOW_TEXT, new ComponentBuilder(rank.getColor() + rank.getTag(true, true) + ChatColor.WHITE + ":\n" + rank.getDescription()).create())); - - // playerNameText.setClickEvent(new ClickEvent(net.md_5.bungee.api.chat.ClickEvent.Action.RUN_COMMAND, "/stats " + playerName)); - - component.setText(levelStr); - component.addExtra(rankComponent); - component.addExtra(playerNameText); - component.addExtra(" " + ChatColor.WHITE + event.getMessage()); for (Player other : UtilServer.getPlayers()) { if (_tutorialManager.InTutorial(other)) @@ -656,7 +662,7 @@ public class HubManager extends MiniClientPlugin // event.setMessage(event.getMessage()); // event.setFormat(levelStr + rankStr + C.cYellow + playerName + " " + C.cWhite + "%2$s"); if(!event.isCancelled()) - other.spigot().sendMessage(component); + jsonMessage.sendToPlayer(other); } event.setCancelled(true); diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/turfforts/TurfForts.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/turfforts/TurfForts.java index 46574369b..7b5a20b00 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/turfforts/TurfForts.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/turfforts/TurfForts.java @@ -61,6 +61,7 @@ import nautilus.game.arcade.game.games.turfforts.kits.KitShredder; import nautilus.game.arcade.kit.Kit; import nautilus.game.arcade.managers.chat.ChatStatData; import nautilus.game.arcade.stats.BehindEnemyLinesStatTracker; +import nautilus.game.arcade.stats.BlockBreakStatTracker; import nautilus.game.arcade.stats.BlockPlaceStatTracker; import nautilus.game.arcade.stats.BlockShreadStatTracker; import nautilus.game.arcade.stats.TheComebackStatTracker; @@ -114,6 +115,8 @@ public class TurfForts extends TeamGame private long _fightTime = 90000; private boolean _fight = false; private int _lines = 0; + + private BlockBreakStatTracker _breakStatTracker; private HashMap _enemyTurf = new HashMap(); @@ -148,11 +151,14 @@ public class TurfForts extends TeamGame this.DamageSelf = false; this.DeathSpectateSecs = 4; + _breakStatTracker = new BlockBreakStatTracker(this, false); + registerStatTrackers( new BlockShreadStatTracker(this), new BehindEnemyLinesStatTracker(this), new TheComebackStatTracker(this), - new BlockPlaceStatTracker(this, new Material[]{}) + new BlockPlaceStatTracker(this, new Material[]{}), + _breakStatTracker ); registerChatStats( @@ -160,7 +166,8 @@ public class TurfForts extends TeamGame Deaths, KDRatio, BlankLine, - new ChatStatData("BlocksPlaced", "Blocks Placed", true) + new ChatStatData("BlocksPlaced", "Blocks Placed", true), + new ChatStatData("BlocksBroken", "Blocks Broken", true) ); } @@ -437,10 +444,12 @@ public class TurfForts extends TeamGame if (block.getData() == 14 /* && team.GetColor() != ChatColor.RED */) { block.getWorld().playEffect(block.getLocation(), Effect.STEP_SOUND, Material.REDSTONE_BLOCK.getId()); + _breakStatTracker.addStat(shooter); } else if (block.getData() == 3 /* && team.GetColor() != ChatColor.AQUA */) { block.getWorld().playEffect(block.getLocation(), Effect.STEP_SOUND, Material.LAPIS_BLOCK.getId()); + _breakStatTracker.addStat(shooter); } Bukkit.getPluginManager().callEvent(new ShredBlockEvent(block, arrow)); diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameChatManager.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameChatManager.java deleted file mode 100644 index 13d528511..000000000 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameChatManager.java +++ /dev/null @@ -1,234 +0,0 @@ -package nautilus.game.arcade.managers; - -import java.util.Iterator; - -import mineplex.core.account.CoreClient; -import mineplex.core.common.Rank; -import mineplex.core.common.util.C; -import mineplex.core.common.util.F; -import mineplex.core.common.util.UtilServer; -import mineplex.core.party.Party; -import nautilus.game.arcade.ArcadeManager; -import nautilus.game.arcade.game.Game.GameState; -import nautilus.game.arcade.game.GameTeam; -import net.md_5.bungee.api.chat.ComponentBuilder; -import net.md_5.bungee.api.chat.HoverEvent; -import net.md_5.bungee.api.chat.TextComponent; -import net.md_5.bungee.api.chat.HoverEvent.Action; - -import org.bukkit.ChatColor; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerCommandPreprocessEvent; - -public class GameChatManager implements Listener -{ - ArcadeManager Manager; - - public GameChatManager(ArcadeManager manager) - { - Manager = manager; - - Manager.getPluginManager().registerEvents(this, Manager.getPlugin()); - } - - @EventHandler - public void MeCancel(PlayerCommandPreprocessEvent event) - { - if (event.getMessage().startsWith("/me ")) - { - event.getPlayer().sendMessage(F.main("Mirror", "You can't see /me messages, are you a vampire?")); - event.setCancelled(true); - } - } - - @EventHandler - public void HandleChat(AsyncPlayerChatEvent event) - { - if (event.isCancelled()) - return; - - Player sender = event.getPlayer(); - String senderName = sender.getName(); - - //Dead Prefix - String dead = ""; - if (Manager.GetGame() != null) - if (Manager.GetGame().GetTeam(sender) != null) - if (!Manager.GetGame().IsAlive(sender)) - dead = C.cGray + "Dead "; - - Rank rank = Manager.GetClients().Get(sender).GetRank(); - String disguiseTag = ""; - if(Manager.GetClients().Get(sender).isDisguised()) - { - CoreClient cc = Manager.GetClients().Get(sender); - rank = cc.getDisguisedRank(); - - if(!cc.GetRank().has(Rank.JNR_DEV)) - { - disguiseTag = ChatColor.BLACK + " "; - } - } - - boolean ownsUltra = false; - - if (Manager.GetGame() != null) - ownsUltra= Manager.GetDonation().Get(sender.getName()).OwnsUnknownPackage(Manager.GetServerConfig().ServerType + " ULTRA"); - - //Level - String levelStr = ""; - if (!Manager.GetGameHostManager().isPrivateServer()) - levelStr = Manager.GetAchievement().getMineplexLevel(sender, rank); - - String rankStr = ""; - //Rank Prefix & MPS Host Prefix - if (Manager.GetGameHostManager().isHost(event.getPlayer())) - { - if (Manager.GetGameHostManager().isEventServer()) - rankStr = C.cDGreen + C.Bold + "Event Host "; - else - rankStr = C.cDGreen + C.Bold + "MPS Host "; - } - else if (Manager.GetGameHostManager().isAdmin(event.getPlayer(), false)) - { - if (Manager.GetGameHostManager().isEventServer()) - rankStr = C.cDGreen + C.Bold + "Event Co-Host "; - else - rankStr = C.cDGreen + C.Bold + "MPS Co-Host "; - } - else - { - if (rank != Rank.ALL) - rankStr = rank.getTag(true, true) + " "; - - if (ownsUltra && !rank.has(Rank.ULTRA)) - rankStr = Rank.ULTRA.getTag(true, true) + " "; - } - - if (event.getMessage().charAt(0) == '@') - { - //Party Chat - Party party = Manager.getPartyManager().GetParty(sender); - - if (party != null) - { - event.getRecipients().clear(); - - event.setMessage(event.getMessage().substring(1, event.getMessage().length())); - event.setFormat(levelStr + C.cDPurple + C.Bold + "Party " + C.cWhite + C.Bold + senderName + " " + C.cPurple + "%2$s"); - - event.getRecipients().addAll(party.GetPlayersOnline()); - - return; - } - } - - //Base Format - event.setFormat(disguiseTag + dead + levelStr + rankStr + Manager.GetColor(sender) + senderName + " " + ChatColor.WHITE + "%2$s"); - TextComponent message = getChatMessage(disguiseTag, dead, levelStr, rank, rankStr, sender, event.getMessage(), senderName, null, true); - //Public/Private (Not If Player Dead) - if (Manager.GetGame() != null && Manager.GetGame().GetState() == GameState.Live) - { - boolean globalMessage = false; - - //Team - GameTeam team = Manager.GetGame().GetTeam(sender); - - if (team != null) - { - //Team Chat - if (event.getMessage().charAt(0) == '@') - { - event.setMessage(event.getMessage().substring(1, event.getMessage().length())); - event.setFormat(disguiseTag + C.cWhite + C.Bold + "Team" + " " + dead + levelStr + rankStr + team.GetColor() + senderName + " " + C.cWhite + "%2$s"); - message = getChatMessage(disguiseTag, dead, levelStr, rank, rankStr, sender, event.getMessage(), senderName, team, false); - } - //All Chat - else - { - globalMessage = true; - event.setFormat(disguiseTag + dead + levelStr + rankStr + team.GetColor() + senderName + " " + C.cWhite + "%2$s"); - message = getChatMessage(disguiseTag, dead, levelStr, rank, rankStr, sender, event.getMessage(), senderName, team, true); - } - } - - if (globalMessage) - { - if(!event.isCancelled()) - { - for(Player player : UtilServer.getPlayers()) - player.spigot().sendMessage(message); - } - event.setCancelled(true); - return; - } - //Team Message Remove Recipient - Iterator recipientIterator = event.getRecipients().iterator(); - - while (recipientIterator.hasNext()) - { - Player receiver = recipientIterator.next(); - - if (!Manager.GetServerConfig().Tournament && Manager.GetClients().Get(receiver).GetRank().has(Rank.MODERATOR)) - { - if(!event.isCancelled()) - receiver.spigot().sendMessage(message); - - continue; - } - GameTeam recTeam = Manager.GetGame().GetTeam(receiver); - GameTeam sendTeam = Manager.GetGame().GetTeam(sender); - - if (recTeam == null || sendTeam == null) - { - continue; - } - - if (!recTeam.equals(sendTeam)) - { - recipientIterator.remove(); - } - else - { - if(!event.isCancelled()) - receiver.spigot().sendMessage(message); - } - } - event.setCancelled(true); - return; - } - if(!event.isCancelled()) - { - for(Player player : UtilServer.getPlayers()) - player.spigot().sendMessage(message); - } - event.setCancelled(true); - } - - public TextComponent getChatMessage(String disguiseTag, String dead, String levelStr, Rank rank, String rankStr, Player player, String message, String sendername, GameTeam team, boolean global) - { - TextComponent rankComponent = new TextComponent(rankStr); - TextComponent component = new TextComponent(); - - rankComponent.setHoverEvent(new HoverEvent(Action.SHOW_TEXT, new ComponentBuilder(rank.getColor() + rank.getTag(true, true) + ChatColor.WHITE + ":\n" + rank.getDescription()).create())); - - component.setText(disguiseTag); - if(!global) - component.addExtra(C.cWhite + C.Bold + "Team "); - - component.addExtra(dead); - component.addExtra(levelStr); - component.addExtra(rankComponent); - if(team == null) - component.addExtra(Manager.GetColor(player) + sendername); - else - component.addExtra(team.GetColor() + sendername); - - component.addExtra(" " + ChatColor.WHITE + message); - - return component; - } -} diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/chat/GameChatManager.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/chat/GameChatManager.java index 6525dd403..4cfa20565 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/chat/GameChatManager.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/chat/GameChatManager.java @@ -10,6 +10,7 @@ import java.util.Map; import org.bukkit.ChatColor; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; +import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; import org.bukkit.event.player.AsyncPlayerChatEvent; import org.bukkit.event.player.PlayerCommandPreprocessEvent; @@ -63,7 +64,6 @@ public class GameChatManager implements Listener Player sender = event.getPlayer(); String senderName = sender.getName(); - PacketPlayOutChat packet = null; String format = ""; String name = ""; String message = ""; @@ -133,23 +133,18 @@ public class GameChatManager implements Listener { event.getRecipients().clear(); - event.setMessage(event.getMessage().substring(1, event.getMessage().length())); - event.setFormat(levelStr + C.cDPurple + C.Bold + "Party " + C.cWhite + C.Bold + senderName + " " + C.cPurple + "%2$s"); + rankStr = C.cDPurpleB + "Party " + C.Reset; - format = event.getFormat().split(sender.getName())[0]; - name = C.cWhite + C.Bold + sender.getName() + C.Reset; + event.setMessage(event.getMessage().substring(1, event.getMessage().length())); + event.setFormat(levelStr + rankStr + C.cWhiteB + senderName + " " + C.cPurple + "%2$s"); + + format = event.getFormat().split(rankStr)[0]; + name = C.cWhiteB + sender.getName() + C.Reset; message = event.getFormat().split(sender.getName())[1].replace("%2$s", "") + _manager.GetChat().getFilteredMessage(sender, event.getMessage()); - if(!_manager.GetGame().IsLive()) + if(safeSend(sender, format, rankStr, rank, name, message, party.GetPlayersOnline())) { - event.getRecipients().addAll(party.GetPlayersOnline()); - } - else - { - if(safeSend(sender, format, name, message, party.GetPlayersOnline())) - { - event.setCancelled(true); - } + event.setCancelled(true); } return; @@ -159,6 +154,26 @@ public class GameChatManager implements Listener //Base Format event.setFormat(disguiseTag + dead + levelStr + rankStr + _manager.GetColor(sender) + senderName + " " + ChatColor.WHITE + "%2$s"); + if (_manager.GetGame().GetState() != GameState.Live) + { + event.setFormat(levelStr + rankStr + C.cGray + senderName + " " + C.cWhite + "%2$s"); + + if(rankStr.equals("")) + format = levelStr; + else + format = event.getFormat().split(rankStr)[0]; + + name = C.cGray + sender.getName() + C.Reset; + message = event.getFormat().split(sender.getName())[1].replace("%2$s", "") + _manager.GetChat().getFilteredMessage(sender, event.getMessage()); + + if(safeSend(sender, format, rankStr, rank, name, message, event.getRecipients())) + { + event.setCancelled(true); + } + + return; + } + //Public/Private (Not If Player Dead) if (_manager.GetGame() != null && _manager.GetGame().GetState() == GameState.Live) { @@ -173,9 +188,13 @@ public class GameChatManager implements Listener if (event.getMessage().charAt(0) == '@') { event.setMessage(event.getMessage().substring(1, event.getMessage().length())); - event.setFormat(disguiseTag + C.cWhite + C.Bold + "Team" + " " + dead + levelStr + rankStr + team.GetColor() + senderName + " " + C.cWhite + "%2$s"); + event.setFormat(disguiseTag + C.cWhiteB + "Team " + dead + levelStr + rankStr + team.GetColor() + senderName + " " + C.cWhite + "%2$s"); + + if(rankStr.equals("")) + format = disguiseTag + C.cWhiteB + "Team " + dead + levelStr; + else + format = event.getFormat().split(rankStr)[0]; - format = event.getFormat().split(sender.getName())[0]; name = _manager.GetColor(sender) + sender.getName(); } //All Chat @@ -184,7 +203,11 @@ public class GameChatManager implements Listener globalMessage = true; event.setFormat(disguiseTag + dead + levelStr + rankStr + team.GetColor() + senderName + " " + C.cWhite + "%2$s"); - format = event.getFormat().split(sender.getName())[0]; + if(rankStr.equals("")) + format = disguiseTag + dead + levelStr; + else + format = event.getFormat().split(rankStr)[0]; + name = _manager.GetColor(sender) + sender.getName(); } @@ -195,7 +218,7 @@ public class GameChatManager implements Listener { if(_manager.GetGame().IsLive()) { - if(safeSend(sender, format, name, message, _manager.GetGame().GetPlayers(false))) + if(safeSend(sender, format, rankStr, rank, name, message, _manager.GetGame().GetPlayers(false))) { event.setCancelled(true); } @@ -225,16 +248,16 @@ public class GameChatManager implements Listener recipientIterator.remove(); } - if(safeSend(sender, format, name, message, event.getRecipients())) + if(safeSend(sender, format, rankStr, rank, name, message, event.getRecipients())) { event.setCancelled(true); } } } - public boolean safeSend(Player sender, String format, String name, String message, Collection sendto) + public boolean safeSend(Player sender, String prefix, String rankStr, Rank rank, String name, String message, Collection sendto) { - final JsonMessage json = buildJSON(sender, format, name, _chatStats, message); + final JsonMessage json = buildJSON(sender, prefix, rankStr, rank, name, _chatStats, message); try { json.send(JsonMessage.MessageType.CHAT_BOX, sendto.toArray(new Player[sendto.size()])); @@ -258,8 +281,17 @@ public class GameChatManager implements Listener } } - private JsonMessage buildJSON(Player player, String format, String name, LinkedList hoverText, String message) + private JsonMessage buildJSON(Player player, String prefix, String rankStr, Rank rank, String name, LinkedList hoverText, String message) { + if(_manager.GetGame().GetState() != GameState.Live && _manager.GetGame().GetState() != GameState.End) + { + return new JsonMessage("") + .extra(JSONObject.escape(prefix)) + .add(JSONObject.escape(rankStr)).hover("show_text", rank.getColor() + rank.getTag(true, true) + ChatColor.WHITE + "\n" + rank.getDescription()) + .add(JSONObject.escape(name)) + .add(JSONObject.escape(message)); + } + LinkedList> temp = new LinkedList>(); ChatColor teamColor = _manager.GetGame().GetTeam(player).GetColor(); @@ -307,7 +339,7 @@ public class GameChatManager implements Listener else deaths = 0; - temp.add(new AbstractMap.SimpleEntry(display + ": ", getRatio(kills, deaths, "##.##"))); + temp.add(new AbstractMap.SimpleEntry(display + ": ", "" + getRatio(kills, deaths, "##.##"))); continue; } @@ -327,14 +359,14 @@ public class GameChatManager implements Listener stats += C.cWhite + JSONObject.escape(temp.get(i).getKey()) + C.cGray + JSONObject.escape(temp.get(i).getValue()) + (i >= temp.size()-1 ? "" : "\\n"); } - JsonMessage jsonMessage = new JsonMessage("") - .extra(JSONObject.escape(format)) + return new JsonMessage("") + .extra(JSONObject.escape(prefix)) + .add(JSONObject.escape(rankStr)).hover("show_text", rank.getColor() + rank.getTag(true, true) + ChatColor.WHITE + "\n" + rank.getDescription()) .add(JSONObject.escape(name)).hover("show_text", stats) .add(JSONObject.escape(message)); - return jsonMessage; } - public String getRatio(int var1, int var2, String format) + public double getRatio(int var1, int var2, String format) { double ratio = 0.0; @@ -343,7 +375,7 @@ public class GameChatManager implements Listener else if(var1 <= 0 && var2 <= 0) ratio = 0d; else ratio = ((double) var1 / var2); - return new DecimalFormat(format).format(ratio); + return Double.parseDouble(new DecimalFormat(format).format(ratio)); } } /** DONE */ diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/stats/BlockBreakStatTracker.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/stats/BlockBreakStatTracker.java index c89a37be8..c4817a188 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/stats/BlockBreakStatTracker.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/stats/BlockBreakStatTracker.java @@ -63,4 +63,9 @@ public class BlockBreakStatTracker extends StatTracker addStat(player, "BlocksBroken", 1, false, false); } + + public void addStat(Player player) + { + addStat(player, "BlocksBroken", 1, false, false); + } } diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/stats/BlockPlaceStatTracker.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/stats/BlockPlaceStatTracker.java index f210bc7d7..ff95b96e5 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/stats/BlockPlaceStatTracker.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/stats/BlockPlaceStatTracker.java @@ -34,6 +34,9 @@ public class BlockPlaceStatTracker extends StatTracker if(player == null) return; + if(_ignore.length == 0) + addStat(event.getPlayer(), "BlocksPlaced", 1, false, false); + for(Material material : _ignore) { if(event.getBlock().getType() == material) From da8a55f99c02f71e95000b1334afc32a56d456f4 Mon Sep 17 00:00:00 2001 From: teddy Date: Thu, 28 Jan 2016 22:57:54 +0000 Subject: [PATCH 42/43] Final edits --- .../game/arcade/game/games/bridge/Bridge.java | 2 +- .../game/games/christmas/Christmas.java | 3 - .../game/games/dragonescape/DragonEscape.java | 7 +- .../arcade/game/games/dragons/Dragons.java | 7 +- .../game/arcade/game/games/draw/Draw.java | 7 +- .../game/games/gladiators/Gladiators.java | 3 + .../game/games/halloween/Halloween.java | 1 - .../game/games/lobbers/BombLobbers.java | 2 +- .../game/arcade/game/games/micro/Micro.java | 6 +- .../arcade/game/games/milkcow/MilkCow.java | 8 +- .../game/games/monstermaze/MonsterMaze.java | 5 +- .../game/arcade/game/games/runner/Runner.java | 2 + .../arcade/game/games/sheep/SheepGame.java | 3 +- .../arcade/game/games/skywars/Skywars.java | 4 +- .../game/arcade/game/games/snake/Snake.java | 7 +- .../sneakyassassins/SneakyAssassins.java | 2 +- .../game/games/snowfight/SnowFight.java | 8 +- .../game/arcade/game/games/spleef/Spleef.java | 6 +- .../survivalgames/SoloSurvivalGames.java | 10 -- .../games/survivalgames/SurvivalGames.java | 11 ++ .../survivalgames/SurvivalGamesTeams.java | 10 -- .../survivalgames/TeamSurvivalGames.java | 10 -- .../arcade/game/games/wither/WitherGame.java | 1 + .../arcade/managers/chat/GameChatManager.java | 105 +++++++++--------- .../arcade/stats/DrawGuessStatTracker.java | 40 +++++++ .../stats/FirstSupplyDropOpenStatTracker.java | 4 +- 26 files changed, 153 insertions(+), 121 deletions(-) create mode 100644 Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/stats/DrawGuessStatTracker.java diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/bridge/Bridge.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/bridge/Bridge.java index d92f14d14..c7cd05bfb 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/bridge/Bridge.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/bridge/Bridge.java @@ -241,7 +241,7 @@ public class Bridge extends TeamGame implements OreObsfucation BlankLine, Assists, DamageTaken, - DamageTaken + DamageDealt ); } diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/christmas/Christmas.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/christmas/Christmas.java index 723607498..5e68140ee 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/christmas/Christmas.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/christmas/Christmas.java @@ -154,9 +154,6 @@ public class Christmas extends SoloGame PrepareFreeze = false; registerChatStats( - Kills, - Assists, - BlankLine, DamageDealt, DamageTaken ); diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/dragonescape/DragonEscape.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/dragonescape/DragonEscape.java index 207ca5764..3cbd0c28d 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/dragonescape/DragonEscape.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/dragonescape/DragonEscape.java @@ -53,6 +53,7 @@ import nautilus.game.arcade.game.SoloGame; import nautilus.game.arcade.game.games.dragonescape.kits.*; import nautilus.game.arcade.kit.Kit; import nautilus.game.arcade.managers.chat.ChatStatData; +import nautilus.game.arcade.stats.DistanceTraveledStatTracker; import nautilus.game.arcade.stats.ParalympicsStatTracker; import nautilus.game.arcade.stats.WinMapStatTracker; @@ -119,12 +120,12 @@ public class DragonEscape extends SoloGame registerStatTrackers( new ParalympicsStatTracker(this), - new WinMapStatTracker(this) + new WinMapStatTracker(this), + new DistanceTraveledStatTracker(this, "MarathonRunner") ); registerChatStats( - Deaths, - DamageTaken, + new ChatStatData("MarathonRunner", "Distance ran", true), BlankLine, new ChatStatData("kit", "Kit", true) ); diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/dragons/Dragons.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/dragons/Dragons.java index ee8060e0b..2ec7e7daa 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/dragons/Dragons.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/dragons/Dragons.java @@ -18,11 +18,7 @@ import mineplex.core.common.util.UtilAction; import mineplex.core.common.util.UtilAlg; import mineplex.core.common.util.UtilEnt; import mineplex.core.common.util.UtilMath; -import mineplex.core.common.util.UtilParticle; -import mineplex.core.common.util.UtilServer; import mineplex.core.common.util.UtilTime; -import mineplex.core.common.util.UtilParticle.ParticleType; -import mineplex.core.recharge.Recharge; import mineplex.core.updater.UpdateType; import mineplex.core.updater.event.UpdateEvent; import mineplex.minecraft.game.core.damage.CustomDamageEvent; @@ -31,7 +27,6 @@ import nautilus.game.arcade.GameType; import nautilus.game.arcade.events.PlayerStateChangeEvent; import nautilus.game.arcade.game.SoloGame; import nautilus.game.arcade.game.GameTeam.PlayerState; -import nautilus.game.arcade.game.games.dragons.DragonData; import nautilus.game.arcade.game.games.dragons.kits.*; import nautilus.game.arcade.kit.Kit; import nautilus.game.arcade.kit.Perk; @@ -73,7 +68,7 @@ public class Dragons extends SoloGame ); registerChatStats( - Deaths, + DamageDealt, DamageTaken, BlankLine, new ChatStatData("kit", "Kit", true) diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/draw/Draw.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/draw/Draw.java index ca29b6ccb..640766261 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/draw/Draw.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/draw/Draw.java @@ -52,6 +52,7 @@ import nautilus.game.arcade.game.games.draw.kits.*; import nautilus.game.arcade.game.games.draw.tools.*; import nautilus.game.arcade.kit.Kit; import nautilus.game.arcade.managers.chat.ChatStatData; +import nautilus.game.arcade.stats.DrawGuessStatTracker; import nautilus.game.arcade.stats.KeenEyeStatTracker; import nautilus.game.arcade.stats.MrSquiggleStatTracker; import nautilus.game.arcade.stats.PureLuckStatTracker; @@ -134,11 +135,13 @@ public class Draw extends SoloGame registerStatTrackers( new MrSquiggleStatTracker(this), new KeenEyeStatTracker(this), - new PureLuckStatTracker(this) + new PureLuckStatTracker(this), + new DrawGuessStatTracker(this) ); registerChatStats( - new ChatStatData("PureLuck", "Lucky Guess", true) + new ChatStatData("TotalGuess", "Total Guess'", true), + new ChatStatData("PureLuck", "Lucky Guess'", true) ); Manager.GetChat().setThreeSecondDelay(false); diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/gladiators/Gladiators.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/gladiators/Gladiators.java index a8fc69e7f..9b46ae891 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/gladiators/Gladiators.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/gladiators/Gladiators.java @@ -67,6 +67,7 @@ import nautilus.game.arcade.game.games.gladiators.trackers.UntouchableTracker; import nautilus.game.arcade.game.games.gladiators.tutorial.TutorialGladiators; import nautilus.game.arcade.gametutorial.events.GameTutorialStartEvent; import nautilus.game.arcade.kit.Kit; +import nautilus.game.arcade.managers.chat.ChatStatData; /** * Created by William (WilliamTiger). @@ -127,6 +128,8 @@ public class Gladiators extends SoloGame Kills, Assists, BlankLine, + new ChatStatData("Untouchable", "Untouchable", true), + BlankLine, DamageDealt, DamageTaken ); diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/halloween/Halloween.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/halloween/Halloween.java index 5a89d1d1e..4ccc70136 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/halloween/Halloween.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/halloween/Halloween.java @@ -139,7 +139,6 @@ public class Halloween extends SoloGame this.DontAllowOverfill = true; registerChatStats( - Kills, DamageDealt, DamageTaken, BlankLine, diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/lobbers/BombLobbers.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/lobbers/BombLobbers.java index 62f06e7bf..93d9bb2bd 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/lobbers/BombLobbers.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/lobbers/BombLobbers.java @@ -128,7 +128,7 @@ public class BombLobbers extends TeamGame implements IThrown Assists, DamageTaken, BlankLine, - new ChatStatData("Thrown", "Thrown", true) + new ChatStatData("Thrown", "Bombs Lobbed", true) ); } diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/micro/Micro.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/micro/Micro.java index 7ef6d51fa..3fea362b0 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/micro/Micro.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/micro/Micro.java @@ -22,6 +22,7 @@ import nautilus.game.arcade.GameType; import nautilus.game.arcade.game.TeamGame; import nautilus.game.arcade.game.games.micro.kits.*; import nautilus.game.arcade.kit.Kit; +import nautilus.game.arcade.managers.chat.ChatStatData; import nautilus.game.arcade.stats.KillsWithinGameStatTracker; public class Micro extends TeamGame @@ -64,7 +65,10 @@ public class Micro extends TeamGame registerChatStats( Kills, - Assists + Assists, + BlankLine, + DamageTaken, + DamageDealt ); } diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/milkcow/MilkCow.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/milkcow/MilkCow.java index 0c3e66ca5..d4c95961f 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/milkcow/MilkCow.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/milkcow/MilkCow.java @@ -99,13 +99,7 @@ public class MilkCow extends SoloGame _scoreObj.setDisplaySlot(DisplaySlot.BELOW_NAME); registerChatStats( - Kills, - Deaths, - KDRatio, - BlankLine, - Assists, - DamageTaken, - DamageDealt + Kills ); } diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/monstermaze/MonsterMaze.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/monstermaze/MonsterMaze.java index 5860cf5f8..d52c5039b 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/monstermaze/MonsterMaze.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/monstermaze/MonsterMaze.java @@ -103,8 +103,9 @@ public class MonsterMaze extends SoloGame ); //_maze = new SnowmanMaze(this, WorldData.GetDataLocs("GRAY")/*, WorldData.GetCustomLocs("103")*/); - registerChatStats( - DamageTaken, + registerChatStats(//first to beacon + new ChatStatData("Ninja", "Times Hit", true), + new ChatStatData("Speed", "First to safe pad", true), BlankLine, new ChatStatData("kit", "Kit", true) ); diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/runner/Runner.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/runner/Runner.java index 38207ce8f..10f901cd1 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/runner/Runner.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/runner/Runner.java @@ -69,6 +69,8 @@ public class Runner extends SoloGame implements IThrown registerStatTrackers(new DistanceTraveledStatTracker(this, "MarathonRunner")); registerChatStats( + new ChatStatData("MarathonRunner", "Distance ran", true), + BlankLine, new ChatStatData("kit", "Kit", true) ); } diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/sheep/SheepGame.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/sheep/SheepGame.java index 03bf097d7..09c03515c 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/sheep/SheepGame.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/sheep/SheepGame.java @@ -162,7 +162,8 @@ public class SheepGame extends TeamGame new ChatStatData("Thief", "Stolen", true), BlankLine, Kills, - Deaths + Deaths, + KDRatio ); } diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/skywars/Skywars.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/skywars/Skywars.java index 75fa533af..70cb11fd8 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/skywars/Skywars.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/skywars/Skywars.java @@ -212,9 +212,7 @@ public abstract class Skywars extends Game BlankLine, Assists, DamageTaken, - DamageDealt, - BlankLine, - new ChatStatData("ZombieKills", "Zombies Killed", true) + DamageDealt ); } diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/snake/Snake.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/snake/Snake.java index b9ecd4ab6..4fc2b6043 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/snake/Snake.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/snake/Snake.java @@ -159,7 +159,12 @@ public class Snake extends SoloGame new SlimySheepStatTracker(this) ); - registerChatStats( + registerChatStats(//slimes eaten, kills, length + new ChatStatData("Cannibal", "Kills", true), + BlankLine, + new ChatStatData("ChooChoo", "Tail Length", true), + new ChatStatData("SlimySheep", "Slimes Eaten", true), + BlankLine, new ChatStatData("kit", "Kit", true) ); } diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/sneakyassassins/SneakyAssassins.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/sneakyassassins/SneakyAssassins.java index 63e3385f0..0c19539cf 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/sneakyassassins/SneakyAssassins.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/sneakyassassins/SneakyAssassins.java @@ -93,7 +93,7 @@ public class SneakyAssassins extends SoloGame _killEntityStatTracker ); - registerChatStats( + registerChatStats(//assists Kills, Assists, BlankLine, diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/snowfight/SnowFight.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/snowfight/SnowFight.java index c9faab8a5..9aaf3396d 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/snowfight/SnowFight.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/snowfight/SnowFight.java @@ -105,10 +105,12 @@ public class SnowFight extends TeamGame this.TeamArmor = true; this.TeamArmorHotbar = true; - registerChatStats( + registerChatStats(//damage, collected Kills, - Deaths, - KDRatio + Assists, + BlankLine, + DamageTaken, + DamageDealt ); // this.WorldWeatherEnabled = true; diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/spleef/Spleef.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/spleef/Spleef.java index 9e15fb683..a06235e88 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/spleef/Spleef.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/spleef/Spleef.java @@ -65,10 +65,10 @@ public class Spleef extends SoloGame registerStatTrackers(new SpleefBlockDestroyStatTracker(this)); registerChatStats( - Kills, - Assists, + DamageTaken, + DamageDealt, BlankLine, - new ChatStatData("BlocksBroken", "Blocks Broken", true), + new ChatStatData("SpleefBlocks", "Blocks Broken", true), BlankLine, new ChatStatData("kit", "Kit", true) ); diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/survivalgames/SoloSurvivalGames.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/survivalgames/SoloSurvivalGames.java index a47d0d583..2c71759e9 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/survivalgames/SoloSurvivalGames.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/survivalgames/SoloSurvivalGames.java @@ -40,16 +40,6 @@ public class SoloSurvivalGames extends SurvivalGames }); this.DamageTeamSelf = true; - - registerChatStats( - Kills, - Assists, - BlankLine, - DamageTaken, - DamageDealt, - BlankLine, - new ChatStatData("SupplyDropsOpened", "Chests opened", true) - ); } diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/survivalgames/SurvivalGames.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/survivalgames/SurvivalGames.java index b0c034a8f..b39c25164 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/survivalgames/SurvivalGames.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/survivalgames/SurvivalGames.java @@ -87,6 +87,7 @@ import nautilus.game.arcade.game.Game; import nautilus.game.arcade.game.GameTeam; import nautilus.game.arcade.game.games.survivalgames.kit.*; import nautilus.game.arcade.kit.Kit; +import nautilus.game.arcade.managers.chat.ChatStatData; import nautilus.game.arcade.stats.FirstSupplyDropOpenStatTracker; import nautilus.game.arcade.stats.KillsWithinTimeLimitStatTracker; import nautilus.game.arcade.stats.SimultaneousSkeletonStatTracker; @@ -260,6 +261,16 @@ public abstract class SurvivalGames extends Game new KillsWithinTimeLimitStatTracker(this, 3, 60, "Bloodlust"), new FirstSupplyDropOpenStatTracker(this), new SimultaneousSkeletonStatTracker(this, 5)); + + registerChatStats( + Kills, + Assists, + BlankLine, + DamageTaken, + DamageDealt, + BlankLine, + new ChatStatData("SupplyDropsOpened", "Event chests opened", true) + ); } @EventHandler diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/survivalgames/SurvivalGamesTeams.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/survivalgames/SurvivalGamesTeams.java index b225b4f52..9222cd907 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/survivalgames/SurvivalGamesTeams.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/survivalgames/SurvivalGamesTeams.java @@ -256,16 +256,6 @@ public class SurvivalGamesTeams extends TeamGame //Tournament if (Manager.IsTournamentServer()) QuitOut = false; - - registerChatStats( - Kills, - Assists, - BlankLine, - DamageTaken, - DamageDealt, - BlankLine, - new ChatStatData("SupplyDropsOpened", "Chests opened", true) - ); } @Override diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/survivalgames/TeamSurvivalGames.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/survivalgames/TeamSurvivalGames.java index 3319b08b1..6b3c717da 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/survivalgames/TeamSurvivalGames.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/survivalgames/TeamSurvivalGames.java @@ -60,16 +60,6 @@ public class TeamSurvivalGames extends SurvivalGames this.DamageTeamSelf = false; this.DontAllowOverfill = true; - - registerChatStats( - Kills, - Assists, - BlankLine, - DamageTaken, - DamageDealt, - BlankLine, - new ChatStatData("SupplyDropsOpened", "Chests opened", true) - ); } diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/wither/WitherGame.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/wither/WitherGame.java index 6b5a74987..efa9c8342 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/wither/WitherGame.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/wither/WitherGame.java @@ -151,6 +151,7 @@ public class WitherGame extends TeamGame implements IBlockRestorer ); registerChatStats( + Deaths, DamageTaken, DamageDealt, BlankLine, diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/chat/GameChatManager.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/chat/GameChatManager.java index 4cfa20565..3565c65a6 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/chat/GameChatManager.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/chat/GameChatManager.java @@ -151,20 +151,19 @@ public class GameChatManager implements Listener } } - //Base Format - event.setFormat(disguiseTag + dead + levelStr + rankStr + _manager.GetColor(sender) + senderName + " " + ChatColor.WHITE + "%2$s"); + event.setFormat(levelStr + rankStr + senderName + " " + C.cWhite + "%2$s"); + + if(rankStr.equals("")) + format = levelStr; + else + format = event.getFormat().split(rankStr)[0]; + + name = _manager.GetColor(sender) + sender.getName() + C.Reset; + message = event.getFormat().split(sender.getName())[1].replace("%2$s", "") + _manager.GetChat().getFilteredMessage(sender, event.getMessage()); if (_manager.GetGame().GetState() != GameState.Live) { - event.setFormat(levelStr + rankStr + C.cGray + senderName + " " + C.cWhite + "%2$s"); - - if(rankStr.equals("")) - format = levelStr; - else - format = event.getFormat().split(rankStr)[0]; - - name = C.cGray + sender.getName() + C.Reset; - message = event.getFormat().split(sender.getName())[1].replace("%2$s", "") + _manager.GetChat().getFilteredMessage(sender, event.getMessage()); + event.setFormat(levelStr + rankStr + senderName + " " + C.cWhite + "%2$s"); if(safeSend(sender, format, rankStr, rank, name, message, event.getRecipients())) { @@ -174,6 +173,9 @@ public class GameChatManager implements Listener return; } + //Base Format + event.setFormat(disguiseTag + dead + levelStr + rankStr + _manager.GetColor(sender) + senderName + " " + C.cWhite + "%2$s"); + //Public/Private (Not If Player Dead) if (_manager.GetGame() != null && _manager.GetGame().GetState() == GameState.Live) { @@ -184,44 +186,40 @@ public class GameChatManager implements Listener if (team != null) { - //Team Chat - if (event.getMessage().charAt(0) == '@') - { + boolean isPriv = event.getMessage().charAt(0) == '@'; + + if(isPriv) event.setMessage(event.getMessage().substring(1, event.getMessage().length())); - event.setFormat(disguiseTag + C.cWhiteB + "Team " + dead + levelStr + rankStr + team.GetColor() + senderName + " " + C.cWhite + "%2$s"); - - if(rankStr.equals("")) - format = disguiseTag + C.cWhiteB + "Team " + dead + levelStr; - else - format = event.getFormat().split(rankStr)[0]; - - name = _manager.GetColor(sender) + sender.getName(); - } - //All Chat else - { globalMessage = true; - event.setFormat(disguiseTag + dead + levelStr + rankStr + team.GetColor() + senderName + " " + C.cWhite + "%2$s"); - if(rankStr.equals("")) - format = disguiseTag + dead + levelStr; - else - format = event.getFormat().split(rankStr)[0]; + event.setFormat(isPriv ? disguiseTag + C.cWhiteB + "Team " + dead + levelStr + rankStr + senderName + " " + C.cWhite + "%2$s" : disguiseTag + dead + levelStr + rankStr + team.GetColor() + senderName + " " + C.cWhite + "%2$s"); - name = _manager.GetColor(sender) + sender.getName(); - } + if(rankStr.equals("")) + format = isPriv ? disguiseTag + C.cWhiteB + "Team " + dead + levelStr : disguiseTag + dead + levelStr; + else + format = event.getFormat().split(rankStr)[0]; - message = event.getFormat().split(sender.getName())[1].replace("%2$s", "") + _manager.GetChat().getFilteredMessage(sender, event.getMessage()); + name = isPriv ? team.GetColor() + sender.getName() : _manager.GetColor(sender) + sender.getName(); + } + else + { + globalMessage = true; + event.setFormat(disguiseTag + dead + levelStr + rankStr + senderName + " " + C.cWhite + "%2$s"); + + if(rankStr.equals("")) + format = disguiseTag + dead + levelStr; + else + format = event.getFormat().split(rankStr)[0]; + + name = _manager.GetColor(sender) + sender.getName(); } if (globalMessage) { - if(_manager.GetGame().IsLive()) + if(safeSend(sender, format, rankStr, rank, name, message, event.getRecipients())) { - if(safeSend(sender, format, rankStr, rank, name, message, _manager.GetGame().GetPlayers(false))) - { - event.setCancelled(true); - } + event.setCancelled(true); } return; } @@ -261,7 +259,6 @@ public class GameChatManager implements Listener try { json.send(JsonMessage.MessageType.CHAT_BOX, sendto.toArray(new Player[sendto.size()])); - return true; } catch (Exception e) @@ -283,18 +280,22 @@ public class GameChatManager implements Listener private JsonMessage buildJSON(Player player, String prefix, String rankStr, Rank rank, String name, LinkedList hoverText, String message) { - if(_manager.GetGame().GetState() != GameState.Live && _manager.GetGame().GetState() != GameState.End) + if(_manager.GetGame().GetState() != GameState.Prepare && _manager.GetGame().GetState() != GameState.Live && _manager.GetGame().GetState() != GameState.End) { - return new JsonMessage("") - .extra(JSONObject.escape(prefix)) - .add(JSONObject.escape(rankStr)).hover("show_text", rank.getColor() + rank.getTag(true, true) + ChatColor.WHITE + "\n" + rank.getDescription()) - .add(JSONObject.escape(name)) - .add(JSONObject.escape(message)); + if(rank == Rank.ALL) + { + return new JsonMessage("").extra(JSONObject.escape(prefix)) + .add(JSONObject.escape(rankStr)).add(JSONObject.escape(name)).add(JSONObject.escape(message)); + } + + return new JsonMessage("").extra(JSONObject.escape(prefix)) + .add(JSONObject.escape(rankStr)).hover("show_text", rank.getColor() + rank.getTag(true, true) + C.cWhite + "\n" + rank.getDescription()) + .add(JSONObject.escape(name)).add(JSONObject.escape(message)); } LinkedList> temp = new LinkedList>(); + ChatColor teamColor = _manager.GetColor(player); - ChatColor teamColor = _manager.GetGame().GetTeam(player).GetColor(); temp.add(new AbstractMap.SimpleEntry(teamColor + C.Bold + ChatColor.stripColor(name) + teamColor + "'s stats", "")); temp.add(new AbstractMap.SimpleEntry(" ", "")); @@ -359,11 +360,15 @@ public class GameChatManager implements Listener stats += C.cWhite + JSONObject.escape(temp.get(i).getKey()) + C.cGray + JSONObject.escape(temp.get(i).getValue()) + (i >= temp.size()-1 ? "" : "\\n"); } - return new JsonMessage("") - .extra(JSONObject.escape(prefix)) + if(rank == Rank.ALL) + { + return new JsonMessage("").extra(JSONObject.escape(prefix)) + .add(JSONObject.escape(rankStr)).add(JSONObject.escape(name)).hover("show_text", stats).add(JSONObject.escape(message)); + } + + return new JsonMessage("").extra(JSONObject.escape(prefix)) .add(JSONObject.escape(rankStr)).hover("show_text", rank.getColor() + rank.getTag(true, true) + ChatColor.WHITE + "\n" + rank.getDescription()) - .add(JSONObject.escape(name)).hover("show_text", stats) - .add(JSONObject.escape(message)); + .add(JSONObject.escape(name)).hover("show_text", stats).add(JSONObject.escape(message)); } public double getRatio(int var1, int var2, String format) diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/stats/DrawGuessStatTracker.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/stats/DrawGuessStatTracker.java new file mode 100644 index 000000000..61c239b2a --- /dev/null +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/stats/DrawGuessStatTracker.java @@ -0,0 +1,40 @@ +package nautilus.game.arcade.stats; + +import org.bukkit.event.EventHandler; +import org.bukkit.event.player.AsyncPlayerChatEvent; + +import nautilus.game.arcade.game.Game; + +/** + * Created by luke1 on 28/01/2016. + */ +public class DrawGuessStatTracker extends StatTracker +{ + public DrawGuessStatTracker(Game game) + { + super(game); + } + + @EventHandler + public void guess(AsyncPlayerChatEvent event) + { + if(getGame().GetState() != Game.GameState.Live) + return; + + int i = 0; + if(event.getMessage().contains(" ")) + { + for(char c : event.getMessage().toCharArray()) + { + System.out.println(c); + if(c != ' ') + continue; + + i++; + } + } + + if(i <= 1) + addStat(event.getPlayer(), "TotalGuess", 1, false, false); + } +} diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/stats/FirstSupplyDropOpenStatTracker.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/stats/FirstSupplyDropOpenStatTracker.java index 10f9893b6..d13edc1f9 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/stats/FirstSupplyDropOpenStatTracker.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/stats/FirstSupplyDropOpenStatTracker.java @@ -24,12 +24,12 @@ public class FirstSupplyDropOpenStatTracker extends StatTracker { if (getGame().GetState() != Game.GameState.Live) return; - + System.out.println("DEBUG 1"); if (_opened.contains(event.getChest())) return; _opened.add(event.getChest()); - + System.out.println("DEBUG 2"); addStat(event.getPlayer(), "SupplyDropsOpened", 1, false, false); } } From 96ea00129137b5346cdab0eb2c3fa0ecff6f950e Mon Sep 17 00:00:00 2001 From: teddy Date: Thu, 28 Jan 2016 23:05:27 +0000 Subject: [PATCH 43/43] Clean up --- .../arcade/managers/chat/GameChatManager.java | 1391 ----------------- 1 file changed, 1391 deletions(-) diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/chat/GameChatManager.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/chat/GameChatManager.java index 3565c65a6..8ba8039e8 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/chat/GameChatManager.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/chat/GameChatManager.java @@ -10,11 +10,9 @@ import java.util.Map; import org.bukkit.ChatColor; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; -import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; import org.bukkit.event.player.AsyncPlayerChatEvent; import org.bukkit.event.player.PlayerCommandPreprocessEvent; -import net.minecraft.server.v1_8_R3.PacketPlayOutChat; import mineplex.core.account.CoreClient; import mineplex.core.common.Rank; @@ -383,1392 +381,3 @@ public class GameChatManager implements Listener return Double.parseDouble(new DecimalFormat(format).format(ratio)); } } -/** DONE */ -// BaconBrawl -// Barbarians -// Bridges -// MasterBuilders -// Castle Siege -// Champions [ CTF - DOM - TDM ] -// Christmas Chaos -// Death Tag -// Dragon Escape -// Dragon Escape Teams -// Dragons -// Dragons Teams -// Draw My Thing -// Evolution -// Gladiators -// Gravity -// Bomb Lobbers -// Micro Battles -// Milk Cow -// MineStrike -// Monster Maze -// Paintball -// One in the Quiver -// One in the Quiver Teams -// Runner -// Search And Destroy -// Sheep Quest -// SkyWars -// Super Smash -// Snake -// Sneaky Assassins -// Snow Fight -// Spleef -// Survival Games -// Turf Forts/Wars -// Type Wars -// UHC -// Wither -// Wizards -// Zombie Survival - -/** BROKEN / NON_LIVE_GAMES */ -// BossBattles -// BouncyBalls -// Cards Against Humanity -// Dragon Riders -// Hide And Seek -// Hole In The Wall -// Horse Charge -// MineWare -// Moba -// Monster League -// Old MineWare -// Squid Shooter -// Stacker - -/* -A Barbarians Life.Assists -A Barbarians Life.Damage Dealt -A Barbarians Life.Damage Taken -A Barbarians Life.Damage Taken PvP -A Barbarians Life.Deaths -A Barbarians Life.ExpEarned -A Barbarians Life.GamesPlayed -A Barbarians Life.GemsEarned -A Barbarians Life.Kills -A Barbarians Life.Losses -A Barbarians Life.Wins - -Bacon Brawl.Assists -Bacon Brawl.Damage Dealt -Bacon Brawl.Damage Taken -Bacon Brawl.Damage Taken PvP -Bacon Brawl.Deaths -Bacon Brawl.ExpEarned -Bacon Brawl.GamesPlayed -Bacon Brawl.GemsEarned -Bacon Brawl.Kills -Bacon Brawl.Losses -Bacon Brawl.Wins -Bacon.Wins -BaconBrawl.Wins - -Block Hunt.Assists -Block Hunt.BadHider -Block Hunt.Damage Dealt -Block Hunt.Damage Taken -Block Hunt.Damage Taken PvP -Block Hunt.Deaths -Block Hunt.ExpEarned -Block Hunt.GamesPlayed -Block Hunt.GemsEarned -Block Hunt.Hiders Deaths -Block Hunt.Hiders Kills -Block Hunt.HunterKiller -Block Hunt.HunterOfTheYear -Block Hunt.Hunters Deaths -Block Hunt.Hunters Kills -Block Hunt.Kills -Block Hunt.Losses -Block Hunt.Meow -Block Hunt.Wins - -BlueBeetleHD - -Bomb Lobbers.Assists -Bomb Lobbers.BestTeam -Bomb Lobbers.BlastProof -Bomb Lobbers.Blue Deaths -Bomb Lobbers.Blue Kills -Bomb Lobbers.Damage Dealt -Bomb Lobbers.Damage Taken -Bomb Lobbers.Damage Taken PvP -Bomb Lobbers.Deaths -Bomb Lobbers.Direct Hit -Bomb Lobbers.ExpEarned -Bomb Lobbers.GemsEarned -Bomb Lobbers.JellySkin -Bomb Lobbers.Killer -Bomb Lobbers.Kills -Bomb Lobbers.Losses -Bomb Lobbers.Red Deaths -Bomb Lobbers.Red Kills -Bomb Lobbers.Sniper -Bomb Lobbers.Thrown -Bomb Lobbers.Wins - -Boss Battles.Damage Dealt -Boss Battles.Damage Taken -Boss Battles.Damage Taken PvP -Boss Battles.Deaths -Boss Battles.ExpEarned -Boss Battles.GemsEarned -Boss Battles.Kills -Boss Battles.Wins - -Bouncy Balls.Damage Taken -Bouncy Balls.Deaths -Bouncy Balls.ExpEarned -Bouncy Balls.GemsEarned -Bouncy Balls.Losses -Bouncy Balls.Wins - -Bridge.Wins -Bridges.GoodForTheMasses -Bridges.Win -Bridges.Wins - -Build Game.Win -Build Wars.ExpEarned -Build Wars.GemsEarned -Build Wars.Losses -Build Wars.Win -Build Wars.Wins -Build.Win - -Canvas Warfare.Blue Deaths -Canvas Warfare.Damage Taken -Canvas Warfare.Deaths -Canvas Warfare.ExpEarned -Canvas Warfare.GemsEarned -Canvas Warfare.Green Deaths -Canvas Warfare.Losses -Canvas Warfare.Red Deaths -Canvas Warfare.Wins -Canvas Warfare.Yellow Deaths - -Castle Siege.Assassin -Castle Siege.Assists -Castle Siege.BloodThirsty -Castle Siege.Damage Dealt -Castle Siege.Damage Taken -Castle Siege.Damage Taken PvP -Castle Siege.Deaths -Castle Siege.Defenders Deaths -Castle Siege.Defenders Kills -Castle Siege.ExpEarned -Castle Siege.ForTheKing -Castle Siege.GamesPlayed -Castle Siege.GemsEarned -Castle Siege.Kills -Castle Siege.KingSlayer -Castle Siege.Losses -Castle Siege.Undead Deaths -Castle Siege.Undead Kills -Castle Siege.Wins -CastleSeige.Wins -CastleSiege.Wins - -Cave In.Damage Dealt -Cave In.Damage Taken -Cave In.Damage Taken PvP -Cave In.Deaths -Cave In.ExpEarned -Cave In.GemsEarned -Cave In.Kills -Cave In.Losses -Cave In.Wins - -Champion Dominate.wins -Champion.Wins -Champions Capture the Flag.Assassination -Champions Capture the Flag.Assists -Champions Capture the Flag.Captures -Champions Capture the Flag.Clutch -Champions Capture the Flag.Damage Dealt -Champions Capture the Flag.Damage Taken -Champions Capture the Flag.Damage Taken PvP -Champions Capture the Flag.Deaths -Champions Capture the Flag.Earthquake -Champions Capture the Flag.ExpEarned -Champions Capture the Flag.GemsEarned -Champions Capture the Flag.Kills -Champions Capture the Flag.Losses -Champions Capture the Flag.Wins -Champions CTF.Assassination -Champions CTF.Assists -Champions CTF.Captures -Champions CTF.Clutch -Champions CTF.Damage Dealt -Champions CTF.Damage Taken -Champions CTF.Damage Taken PvP -Champions CTF.Deaths -Champions CTF.Earthquake -Champions CTF.ExpEarned -Champions CTF.GemsEarned -Champions CTF.Kills -Champions CTF.Losses -Champions CTF.MassElectrocution -Champions CTF.SpecialWin -Champions CTF.TheLongestShot -Champions CTF.Wins -Champions Dom.Wins -Champions Dominate.win -Champions Dominate.Wins -Champions Domination.Assassination -Champions Domination.Assists -Champions Domination.Blue Deaths -Champions Domination.Blue Kills -Champions Domination.Damage Dealt -Champions Domination.Damage Taken -Champions Domination.Damage Taken PvP -Champions Domination.Deaths -Champions Domination.Earthquake -Champions Domination.ExpEarned -Champions Domination.GamesPlayed -Champions Domination.GemsEarned -Champions Domination.Kills -Champions Domination.Losses -Champions Domination.MassElectrocution -Champions Domination.Red Deaths -Champions Domination.Red Kills -Champions Domination.TheLongestShot -Champions Domination.Wins -Champions Domination.Yellow Deaths -Champions Domination.Yellow Kills -Champions TDM.Ace -Champions TDM.Assassination -Champions TDM.Assists -Champions TDM.Blue Deaths -Champions TDM.Blue Kills -Champions TDM.Damage Dealt -Champions TDM.Damage Taken -Champions TDM.Damage Taken PvP -Champions TDM.Deaths -Champions TDM.Earthquake -Champions TDM.ExpEarned -Champions TDM.FlawlessVictory -Champions TDM.GamesPlayed -Champions TDM.GemsEarned -Champions TDM.Kills -Champions TDM.Losses -Champions TDM.MassElectrocution -Champions TDM.Red Deaths -Champions TDM.Red Kills -Champions TDM.TheLongestShot -Champions TDM.Wins -Champions Team Deathmatch.Wins -Champions.Wins - -Christmas Chaos.Assists -Christmas Chaos.Damage Dealt -Christmas Chaos.Damage Taken -Christmas Chaos.Damage Taken PvP -Christmas Chaos.Deaths -Christmas Chaos.ExpEarned -Christmas Chaos.GamesPlayed -Christmas Chaos.GemsEarned -Christmas Chaos.Kills -Christmas Chaos.Losses -Christmas Chaos.Wins - -Clans.TimeInGame -Clans.TimePlaying - -Climb Time.Assists -Climb Time.Damage Dealt -Climb Time.Damage Taken -Climb Time.Damage Taken PvP -Climb Time.Deaths -Climb Time.ExpEarned -Climb Time.GemsEarned -Climb Time.Kills -Climb Time.Losses -Climb Time.Wins - -Coin -coins - -Competitive1.Damage Dealt -Competitive1.Damage Taken -Competitive1.Damage Taken PvP -Competitive1.Deaths -Competitive1.ExpEarned -Competitive1.GemsEarned -Competitive1.Kills -Competitive1.Losses -Competitive1.Wins - -Craft Against Humanity.ExpEarned -Craft Against Humanity.GamesPlayed -Craft Against Humanity.GemsEarned -Craft Against Humanity.Losses -Craft Against Humanity.Wins - -Death Tag.Assists -Death Tag.Chasers Deaths -Death Tag.Chasers Kills -Death Tag.ComeAtMeBro -Death Tag.Damage Dealt -Death Tag.Damage Taken -Death Tag.Damage Taken PvP -Death Tag.Deaths -Death Tag.ExpEarned -Death Tag.GamesPlayed -Death Tag.GemsEarned -Death Tag.Kills -Death Tag.Losses -Death Tag.Runners Deaths -Death Tag.Runners Kills -Death Tag.Wins - -Dominate.Wins - -Dragon Escape Teams.Blue Deaths -Dragon Escape Teams.Damage Dealt -Dragon Escape Teams.Damage Taken -Dragon Escape Teams.Damage Taken PvP -Dragon Escape Teams.Deaths -Dragon Escape Teams.ExpEarned -Dragon Escape Teams.GamesPlayed -Dragon Escape Teams.GemsEarned -Dragon Escape Teams.Green Deaths -Dragon Escape Teams.Losses -Dragon Escape Teams.Red Deaths -Dragon Escape Teams.Wins -Dragon Escape Teams.Yellow Deaths -Dragon Escape.Damage Dealt -Dragon Escape.Damage Taken -Dragon Escape.Damage Taken PvP -Dragon Escape.Deaths -Dragon Escape.ExpEarned -Dragon Escape.GamesPlayed -Dragon Escape.GemsEarned -Dragon Escape.Kills -Dragon Escape.Losses -Dragon Escape.Paralympics -Dragon Escape.Win.Frost Run -Dragon Escape.Win.Into the Jungle -Dragon Escape.Win.Journey -Dragon Escape.Win.Pirate Bay -Dragon Escape.Win.Skylands -Dragon Escape.Win.The Land Before Time -Dragon Escape.Win.Through Hell -Dragon Escape.Wins - -Dragon Riders.Damage Dealt -Dragon Riders.Damage Taken -Dragon Riders.Damage Taken PvP -Dragon Riders.ExpEarned -Dragon Riders.GamesPlayed -Dragon Riders.GemsEarned -Dragon Riders.Losses -Dragon Riders.Wins - -Dragons Teams.Blue Deaths -Dragons Teams.Damage Dealt -Dragons Teams.Damage Taken -Dragons Teams.Damage Taken PvP -Dragons Teams.Deaths -Dragons Teams.ExpEarned -Dragons Teams.GamesPlayed -Dragons Teams.GemsEarned -Dragons Teams.Green Deaths -Dragons Teams.Losses -Dragons Teams.Red Deaths -Dragons Teams.Wins -Dragons Teams.Yellow Deaths - -Dragons.Damage Dealt -Dragons.Damage Taken -Dragons.Damage Taken PvP -Dragons.Deaths -Dragons.ExpEarned -Dragons.GamesPlayed -Dragons.GemsEarned -Dragons.Green Deaths -Dragons.Kills -Dragons.Losses -Dragons.Sparklez -Dragons.Win -Dragons.Wins - -Draw My Thing.Damage Dealt -Draw My Thing.Damage Taken -Draw My Thing.Damage Taken PvP -Draw My Thing.ExpEarned -Draw My Thing.GamesPlayed -Draw My Thing.GemsEarned -Draw My Thing.KeenEye -Draw My Thing.Losses -Draw My Thing.MrSquiggle -Draw My Thing.PureLuck -Draw My Thing.Wins - -Duck Hunt.Damage Dealt -Duck Hunt.Damage Taken -Duck Hunt.Deaths -Duck Hunt.ExpEarned -Duck Hunt.GemsEarned -Duck Hunt.Losses -Duck Hunt.Wins - -Duck Stompers.Damage Dealt -Duck Stompers.Damage Taken -Duck Stompers.Deaths -Duck Stompers.ExpEarned -Duck Stompers.GemsEarned -Duck Stompers.Losses -Duck Stompers.Wins - -Endurance.Assists -Endurance.Damage Dealt -Endurance.Damage Taken -Endurance.Damage Taken PvP -Endurance.Deaths -Endurance.ExpEarned -Endurance.GemsEarned -Endurance.Kills -Endurance.Losses -Endurance.Wins - -Evolution.AbilityOnly -Evolution.Assists -Evolution.Damage Dealt -Evolution.Damage Taken -Evolution.Damage Taken PvP -Evolution.Deaths -Evolution.EvolveKill -Evolution.ExpEarned -Evolution.GamesPlayed -Evolution.GemsEarned -Evolution.Kills -Evolution.Losses -Evolution.MeleeOnly -Evolution.NoDeaths -Evolution.Rampage -Evolution.Stealth -Evolution.Wins - -exp -ExpEarned -Experience -Free Kits Forever -Gem -gems - -GemWars.Assists -GemWars.Blue Deaths -GemWars.Blue Kills -GemWars.Damage Dealt -GemWars.Damage Taken -GemWars.Damage Taken PvP -GemWars.Deaths -GemWars.GemsEarned -GemWars.Kills -GemWars.Red Deaths -GemWars.Red Kills - -Gladiator Arena.Assists -Gladiator Arena.Damage Dealt -Gladiator Arena.Damage Taken -Gladiator Arena.Damage Taken PvP -Gladiator Arena.Deaths -Gladiator Arena.ExpEarned -Gladiator Arena.GemsEarned -Gladiator Arena.Kills -Gladiator Arena.Losses -Gladiator Arena.Wins - -Gladiators.Assists -Gladiators.Brawler -Gladiators.Damage Dealt -Gladiators.Damage Taken -Gladiators.Damage Taken PvP -Gladiators.Deaths -Gladiators.ExpEarned -Gladiators.Flawless -Gladiators.GemsEarned -Gladiators.Kills -Gladiators.Losses -Gladiators.Precision -Gladiators.SwiftKill -Gladiators.Untouchable -Gladiators.Wins - -Global.Build Draw Abuse -Global.Christmas Presents 2015 -Global.DailyReward -Global.DailyVote -Global.DeniedReportsCount -Global.Egg Baskets Smashed -Global.Exp Earned -Global.ExpEarned -Global.ExpEarned - -GLOBAL.Experience -Global.Experience Earned -Global.GamesPlayed -Global.GemsEarned -Global.Global.ExpEarned -Global.Halloween Pumpkins 2015 -Global.Level -Global.MineplexLevel -Global.Pumpkins Smashed -Global.SurvivalGamesWins -Global.TimeInGame -Global.TotalReportsCount -Global.Treasure.Ancient -Global.Treasure.Christmas -Global.Treasure.Mythical -Global.Treasure.Old -GlobalEarned -GlobalExp -GlobalExp.Earned -GlobalExpEarned -GlobalExperience -Global_Exp -GLOBAL_MINEPLEX_LEVEL -Globlal.ExpEarned - -Gravity.Damage Dealt -Gravity.Damage Taken -Gravity.Damage Taken PvP -Gravity.Deaths -Gravity.ExpEarned -Gravity.GamesPlayed -Gravity.GemsEarned -Gravity.Losses -Gravity.Wins - -Halloween Horror.Damage Dealt -Halloween Horror.Damage Taken -Halloween Horror.Damage Taken PvP -Halloween Horror.Deaths -Halloween Horror.ExpEarned -Halloween Horror.GamesPlayed -Halloween Horror.GemsEarned -Halloween Horror.Losses -Halloween Horror.Players Deaths -Halloween Horror.Wins - -Hole in the Wall.Damage Taken -Hole in the Wall.Deaths -Hole in the Wall.ExpEarned -Hole in the Wall.GamesPlayed -Hole in the Wall.GemsEarned -Hole in the Wall.Losses -Hole in the Wall.Wins - -Horseback.Assists -Horseback.Damage Dealt -Horseback.Damage Taken -Horseback.Damage Taken PvP -Horseback.Deaths -Horseback.ExpEarned -Horseback.GamesPlayed -Horseback.GemsEarned -Horseback.Kills -Horseback.Losses -Horseback.Wins - -Juggernaut.Assists -Juggernaut.Damage Dealt -Juggernaut.Damage Taken -Juggernaut.Damage Taken PvP -Juggernaut.Deaths -Juggernaut.GemsEarned -Juggernaut.Hunters Deaths -Juggernaut.Kills - -King of the Hill.Assists -King of the Hill.Blue Deaths -King of the Hill.Blue Kills -King of the Hill.Damage Dealt -King of the Hill.Damage Taken -King of the Hill.Damage Taken PvP -King of the Hill.Deaths -King of the Hill.ExpEarned -King of the Hill.GemsEarned -King of the Hill.Green Deaths -King of the Hill.Green Kills -King of the Hill.Kills -King of the Hill.Losses -King of the Hill.Red Deaths -King of the Hill.Red Kills -King of the Hill.Wins -King of the Hill.Yellow Deaths -King of the Hill.Yellow Kills - -Laser Tag.Damage Dealt -Laser Tag.Damage Taken -Laser Tag.Damage Taken PvP -Laser Tag.ExpEarned -Laser Tag.GemsEarned -Laser Tag.Losses -Laser Tag.Wins - -Master Builder.Win -Master Builder.Wins -Master Builders.Build Draw Abuse -Master Builders.Conservative -Master Builders.ExpEarned -Master Builders.GamesPlayed -Master Builders.GemsEarned -Master Builders.Good Builder -Master Builders.Losses -Master Builders.Master Builders.Conservative -Master Builders.Master Builders.Good Builder -Master Builders.Win -Master Builders.Wins -Master Dragons.Wins - -Micro Battle.Annihilation -Micro Battle.Assists -Micro Battle.Blue Deaths -Micro Battle.Blue Kills -Micro Battle.Damage Dealt -Micro Battle.Damage Taken -Micro Battle.Damage Taken PvP -Micro Battle.Deaths -Micro Battle.ExpEarned -Micro Battle.GamesPlayed -Micro Battle.GemsEarned -Micro Battle.Green Deaths -Micro Battle.Green Kills -Micro Battle.Kills -Micro Battle.Losses -Micro Battle.Red Deaths -Micro Battle.Red Kills -Micro Battle.Wins -Micro Battle.Yellow Deaths -Micro Battle.Yellow Kills -Micro Battles.Wins - -Milk the Cow.Assists -Milk the Cow.Damage Dealt -Milk the Cow.Damage Taken -Milk the Cow.Damage Taken PvP -Milk the Cow.Deaths -Milk the Cow.GamesPlayed -Milk the Cow.GemsEarned -Milk the Cow.Kills -Milk the Cow.Losses -Milk the Cow.Wins - -Minecraft League.Assists -Minecraft League.Damage Dealt -Minecraft League.Damage Taken -Minecraft League.Damage Taken PvP -Minecraft League.Deaths -Minecraft League.ExpEarned -Minecraft League.GemsEarned -Minecraft League.Kills -Minecraft League.Losses -Minecraft League.Wins - -Mineplex Event.Damage Taken -Mineplex Event.Deaths -Mineplex Event.ExpEarned -Mineplex Event.GamesPlayed -Mineplex Event.GemsEarned -Mineplex Event.Losses -Mineplex Event.Red Deaths -Mineplex Event.Wins - -Minesrike.Wins -MineStrike. -MineStrike.Ace -MineStrike.Assassination -MineStrike.Assists -MineStrike.Blindfolded -MineStrike.Blue Deaths -MineStrike.Blue Kills -MineStrike.Bombers Deaths -MineStrike.Bombers Kills -MineStrike.BoomHeadshot -MineStrike.ClutchOrKick -MineStrike.Damage Dealt -MineStrike.Damage Taken -MineStrike.Damage Taken PvP -MineStrike.Deaths -MineStrike.ExpEarned -MineStrike.GamesPlayed -MineStrike.Gems Earned -MineStrike.GemsEarned -MineStrike.Kaboom -MineStrike.KillingSpree -MineStrike.Kills -MineStrike.Losses -MineStrike.Red Deaths -MineStrike.Red Kills -MineStrike.SWAT Deaths -MineStrike.SWAT Kills -Minestrike.Win -MineStrike.Wins - -MineWare.Assists -MineWare.Damage Dealt -MineWare.Damage Taken -MineWare.Damage Taken PvP -MineWare.Deaths -MineWare.ExpEarned -MineWare.GamesPlayed -MineWare.GemsEarned -MineWare.Kangaroo -MineWare.Kills -MineWare.LauraCraft -MineWare.Losses -MineWare.MilkMan -MineWare.PinataMaster -MineWare.SurfUp -MineWare.TagMaster -MineWare.Veteran -MineWare.Wins - -Missile Wars.Assists -Missile Wars.Damage Dealt -Missile Wars.Damage Taken -Missile Wars.Damage Taken PvP -Missile Wars.Deaths -Missile Wars.ExpEarned -Missile Wars.GemsEarned -Missile Wars.Kills -Missile Wars.Losses -Missile Wars.Wins - -Mob Survival.Damage Taken -Mob Survival.Deaths -Mob Survival.ExpEarned -Mob Survival.GemsEarned -Mob Survival.Losses -Mob Survival.Wins - -Monster League.Damage Taken -Monster League.Deaths -Monster League.ExpEarned -Monster League.GemsEarned -Monster League.Losses -Monster League.Wins - -Monster Maze.Damage Dealt -Monster Maze.Damage Taken -Monster Maze.Deaths -Monster Maze.ExpEarned -Monster Maze.GemsEarned -Monster Maze.Hard Mode -Monster Maze.Losses -Monster Maze.Ninja -Monster Maze.Pilot -Monster Maze.Speed -Monster Maze.ToughCompetition -Monster Maze.Wins - -Old MineWare.Damage Dealt -Old MineWare.Damage Taken -Old MineWare.Deaths -Old MineWare.ExpEarned -Old MineWare.GamesPlayed -Old MineWare.GemsEarned -Old MineWare.Losses -Old MineWare.Wins - -One in the Quiver Teams.Assists -One in the Quiver Teams.Blue Deaths -One in the Quiver Teams.Blue Kills -One in the Quiver Teams.Damage Dealt -One in the Quiver Teams.Damage Taken -One in the Quiver Teams.Damage Taken PvP -One in the Quiver Teams.Deaths -One in the Quiver Teams.ExpEarned -One in the Quiver Teams.GamesPlayed -One in the Quiver Teams.GemsEarned -One in the Quiver Teams.Green Deaths -One in the Quiver Teams.Green Kills -One in the Quiver Teams.Kills -One in the Quiver Teams.Losses -One in the Quiver Teams.Red Deaths -One in the Quiver Teams.Red Kills -One in the Quiver Teams.Wins -One in the Quiver Teams.Yellow Deaths -One in the Quiver Teams.Yellow Kills -One in the Quiver.Assists -One in the Quiver.Damage Dealt -One in the Quiver.Damage Taken -One in the Quiver.Damage Taken PvP -One in the Quiver.Deaths -One in the Quiver.ExpEarned -One in the Quiver.GamesPlayed -One in the Quiver.GemsEarned -One in the Quiver.Kills -One in the Quiver.Losses -One in the Quiver.Perfectionist -One in the Quiver.Sharpshooter -One in the Quiver.WhatsABow -One in the Quiver.Wins - -PlexQuest.Damage Taken -PlexQuest.Deaths -PlexQuest.ExpEarned -PlexQuest.GemsEarned -PlexQuest.Losses -PlexQuest.Wins - -Rocket Madness.Damage Dealt -Rocket Madness.Damage Taken -Rocket Madness.Damage Taken PvP -Rocket Madness.Deaths -Rocket Madness.ExpEarned -Rocket Madness.GemsEarned -Rocket Madness.Kills -Rocket Madness.Losses -Rocket Madness.Wins - -Runner.Damage Dealt -Runner.Damage Taken -Runner.Damage Taken PvP -Runner.Deaths -Runner.ExpEarned -Runner.Frosty Deaths -Runner.GamesPlayed -Runner.GemsEarned -Runner.HotFeet -Runner.Losses -Runner.MarathonRunner -Runner.Red Deaths -Runner.Wins - -Scary Village.ExpEarned -Scary Village.GemsEarned -Scary Village.Losses -Scary Village.Wins - -Search and Destroy.Assists -Search and Destroy.Blue Deaths -Search and Destroy.Blue Kills -Search and Destroy.Damage Dealt -Search and Destroy.Damage Taken -Search and Destroy.Damage Taken PvP -Search and Destroy.Deaths -Search and Destroy.ExpEarned -Search and Destroy.GamesPlayed -Search and Destroy.GemsEarned -Search and Destroy.Kills -Search and Destroy.Losses -Search and Destroy.Red Deaths -Search and Destroy.Red Kills -Search and Destroy.Wins - -Sheep Quest.AnimalRescue -Sheep Quest.Assists -Sheep Quest.Blue Deaths -Sheep Quest.Blue Kills -Sheep Quest.Damage Dealt -Sheep Quest.Damage Taken -Sheep Quest.Damage Taken PvP -Sheep Quest.Deaths -Sheep Quest.ExpEarned -Sheep Quest.GamesPlayed -Sheep Quest.GemsEarned -Sheep Quest.Green Deaths -Sheep Quest.Green Kills -Sheep Quest.Kills -Sheep Quest.Losses -Sheep Quest.Red Deaths -Sheep Quest.Red Kills -Sheep Quest.Selfish -Sheep Quest.Thief -Sheep Quest.Wins -Sheep Quest.Yellow Deaths -Sheep Quest.Yellow Kills - -Skywars Teams.Assists -Skywars Teams.BombPickups -Skywars Teams.Damage Dealt -Skywars Teams.Damage Taken -Skywars Teams.Damage Taken PvP -Skywars Teams.DeathBomber -Skywars Teams.Deaths -Skywars Teams.ExpEarned -Skywars Teams.GemsEarned -Skywars Teams.Kills -Skywars Teams.Losses -Skywars Teams.NoArmor -Skywars Teams.NoChest -Skywars Teams.NoKills -Skywars Teams.Wins -Skywars Teams.ZombieKills -Skywars.Assists -Skywars.BombPickups -Skywars.Damage Dealt -Skywars.Damage Taken -Skywars.Damage Taken PvP -Skywars.DeathBomber -Skywars.Deaths -Skywars.ExpEarned -Skywars.GamesPlayed -Skywars.GemsEarned -Skywars.Kills -Skywars.Losses -Skywars.NoArmor -Skywars.NoChest -Skywars.NoKills -Skywars.Wins -Skywars.ZombieKills - -Slime Suckers Arcade.ExpEarned -Slime Suckers Arcade.GemsEarned -Slime Suckers Arcade.Losses -Slime Suckers Arcade.Wins -Slime Suckers Eternal.GemsEarned -Slime Suckers.Damage Dealt -Slime Suckers.Damage Taken -Slime Suckers.Damage Taken PvP -Slime Suckers.Deaths -Slime Suckers.ExpEarned -Slime Suckers.GemsEarned -Slime Suckers.Kills -Slime Suckers.Losses -Slime Suckers.SlimeSuckers -Slime Suckers.Wins - -Snake.Assists -Snake.Cannibal -Snake.ChooChoo -Snake.Damage Dealt -Snake.Damage Taken -Snake.Damage Taken PvP -Snake.Deaths -Snake.ExpEarned -Snake.GamesPlayed -Snake.GemsEarned -Snake.Kills -Snake.Losses -Snake.SlimySheep -Snake.Win -Snake.Wins - -Sneaky Assassins.Assists -Sneaky Assassins.Damage Dealt -Sneaky Assassins.Damage Taken -Sneaky Assassins.Damage Taken PvP -Sneaky Assassins.Deaths -Sneaky Assassins.ExpEarned -Sneaky Assassins.GamesPlayed -Sneaky Assassins.GemsEarned -Sneaky Assassins.Incompetence -Sneaky Assassins.ISeeYou -Sneaky Assassins.Kills -Sneaky Assassins.Losses -Sneaky Assassins.MasterAssassin -Sneaky Assassins.TheMastersMaster -Sneaky Assassins.Wins - -Snow Fight.Assists -Snow Fight.Blue Deaths -Snow Fight.Blue Kills -Snow Fight.Damage Dealt -Snow Fight.Damage Taken -Snow Fight.Damage Taken PvP -Snow Fight.Deaths -Snow Fight.ExpEarned -Snow Fight.GamesPlayed -Snow Fight.GemsEarned -Snow Fight.Green Deaths -Snow Fight.Green Kills -Snow Fight.Kills -Snow Fight.Losses -Snow Fight.Red Deaths -Snow Fight.Red Kills -Snow Fight.Wins -Snow Fight.Yellow Deaths -Snow Fight.Yellow Kills - -Snow Sprint.Damage Dealt -Snow Sprint.Damage Taken -Snow Sprint.Deaths -Snow Sprint.ExpEarned -Snow Sprint.GemsEarned -Snow Sprint.Losses -Snow Sprint.Wins - -Space Wars.Damage Dealt -Space Wars.Damage Taken -Space Wars.Damage Taken PvP -Space Wars.Deaths -Space Wars.ExpEarned -Space Wars.GemsEarned -Space Wars.Losses -Space Wars.Wins - -Speed Builder.ExpEarned -Speed Builder.GemsEarned -Speed Builder.Losses -Speed Builder.Wins - -Squid Shooter.Assists -Squid Shooter.Damage Dealt -Squid Shooter.Damage Taken -Squid Shooter.Damage Taken PvP -Squid Shooter.Deaths -Squid Shooter.ExpEarned -Squid Shooter.GamesPlayed -Squid Shooter.GemsEarned -Squid Shooter.Kills -Squid Shooter.Losses -Squid Shooter.Wins - -Starfighters TDM.ExpEarned -Starfighters TDM.GemsEarned -Starfighters TDM.Wins -Starfighters.ExpEarned -Starfighters.GemsEarned -Starfighters.Wins - -Stomping naughty Ducks.Damage Dealt -Stomping naughty Ducks.Damage Taken -Stomping naughty Ducks.Deaths -Stomping naughty Ducks.ExpEarned -Stomping naughty Ducks.GemsEarned -Stomping naughty Ducks.Losses -Stomping naughty Ducks.Wins - -Super Paintball.Assists -Super Paintball.Blue Deaths -Super Paintball.Damage Dealt -Super Paintball.Damage Taken -Super Paintball.Damage Taken PvP -Super Paintball.Deaths -Super Paintball.ExpEarned -Super Paintball.FlawlessVictory -Super Paintball.Frost Deaths -Super Paintball.Frost Kills -Super Paintball.GamesPlayed -Super Paintball.GemsEarned -Super Paintball.KillingSpree -Super Paintball.Kills -Super Paintball.LastStand -Super Paintball.Losses -Super Paintball.Medic -Super Paintball.Nether Deaths -Super Paintball.Nether Kills -Super Paintball.Red Kills -Super Paintball.Speedrunner -Super Paintball.Wins - -Super Smash Mobs Domination.Assists -Super Smash Mobs Domination.Blue Deaths -Super Smash Mobs Domination.Blue Kills -Super Smash Mobs Domination.Damage Dealt -Super Smash Mobs Domination.Damage Taken -Super Smash Mobs Domination.Damage Taken PvP -Super Smash Mobs Domination.Deaths -Super Smash Mobs Domination.ExpEarned -Super Smash Mobs Domination.GamesPlayed -Super Smash Mobs Domination.GemsEarned -Super Smash Mobs Domination.Kills -Super Smash Mobs Domination.Losses -Super Smash Mobs Domination.Red Deaths -Super Smash Mobs Domination.Red Kills -Super Smash Mobs Domination.Wins -Super Smash Mobs Teams.1v3 -Super Smash Mobs Teams.Assists -Super Smash Mobs Teams.Blue Deaths -Super Smash Mobs Teams.Blue Kills -Super Smash Mobs Teams.Damage Dealt -Super Smash Mobs Teams.Damage Taken -Super Smash Mobs Teams.Damage Taken PvP -Super Smash Mobs Teams.Deaths -Super Smash Mobs Teams.ExpEarned -Super Smash Mobs Teams.FreeKitsForever -Super Smash Mobs Teams.GamesPlayed -Super Smash Mobs Teams.GemsEarned -Super Smash Mobs Teams.Green Deaths -Super Smash Mobs Teams.Green Kills -Super Smash Mobs Teams.Kills -Super Smash Mobs Teams.Losses -Super Smash Mobs Teams.MLGPro -Super Smash Mobs Teams.RecoveryMaster -Super Smash Mobs Teams.Red Deaths -Super Smash Mobs Teams.Red Kills -Super Smash Mobs Teams.TripleKill -Super Smash Mobs Teams.Wins -Super Smash Mobs Teams.Yellow Deaths -Super Smash Mobs Teams.Yellow Kills -Super Smash Mobs.1v3 -Super Smash Mobs.Assists -Super Smash Mobs.Damage Dealt -Super Smash Mobs.Damage Taken -Super Smash Mobs.Damage Taken PvP -Super Smash Mobs.Deaths -Super Smash Mobs.ExpEarned -Super Smash Mobs.FreeKitsForever -Super Smash Mobs.GamesPlayed -Super Smash Mobs.GemsEarned -Super Smash Mobs.Kills -Super Smash Mobs.Losses -Super Smash Mobs.MLGPro -Super Smash Mobs.RecoveryMaster -Super Smash Mobs.SO SUPER! -Super Smash Mobs.TripleKill -Super Smash Mobs.Wins - -Super Spleef Teams.BlocksBroken -Super Spleef Teams.Blue Deaths -Super Spleef Teams.Damage Dealt -Super Spleef Teams.Damage Taken -Super Spleef Teams.Damage Taken PvP -Super Spleef Teams.Deaths -Super Spleef Teams.ExpEarned -Super Spleef Teams.GamesPlayed -Super Spleef Teams.GemsEarned -Super Spleef Teams.Green Deaths -Super Spleef Teams.Losses -Super Spleef Teams.Red Deaths -Super Spleef Teams.Wins -Super Spleef Teams.Yellow Deaths -Super Spleef.BlocksBroken -Super Spleef.Damage Dealt -Super Spleef.Damage Taken -Super Spleef.Damage Taken PvP -Super Spleef.Deaths -Super Spleef.ExpEarned -Super Spleef.GamesPlayed -Super Spleef.GemsEarned -Super Spleef.Kills -Super Spleef.Losses -Super Spleef.Red Deaths -Super Spleef.SpleefBlocks -Super Spleef.Wins - -Super Stacker.Damage Dealt -Super Stacker.Damage Taken -Super Stacker.Deaths -Super Stacker.ExpEarned -Super Stacker.GamesPlayed -Super Stacker.GemsEarned -Super Stacker.Losses -Super Stacker.Wins - -Survival Games Teams.Assists -Survival Games Teams.Bloodlust -Survival Games Teams.Blue Deaths -Survival Games Teams.Blue Kills -Survival Games Teams.Damage Dealt -Survival Games Teams.Damage Taken -Survival Games Teams.Damage Taken PvP -Survival Games Teams.Deaths -Survival Games Teams.ExpEarned -Survival Games Teams.GamesPlayed -Survival Games Teams.GemsEarned -Survival Games Teams.Green Deaths -Survival Games Teams.Green Kills -Survival Games Teams.Kills -Survival Games Teams.Losses -Survival Games Teams.NoArmor -Survival Games Teams.Red Deaths -Survival Games Teams.Red Kills -Survival Games Teams.Skeletons -Survival Games Teams.SupplyDropsOpened -Survival Games Teams.Wins -Survival Games Teams.Yellow Deaths -Survival Games Teams.Yellow Kills -Survival Games.Assists -Survival Games.Bloodlust -Survival Games.Damage Dealt -Survival Games.Damage Taken -Survival Games.Damage Taken PvP -Survival Games.Deaths -Survival Games.ExpEarned -Survival Games.GamesPlayed -Survival Games.GemsEarned -Survival Games.Kills -Survival Games.Light Weight -Survival Games.LightWeight -Survival Games.Losses -Survival Games.NoArmor -Survival Games.Skeletons -Survival Games.SupplyDropsOpened -Survival Games.Wins -SurvivalGames.Wins - -Test Game.Assists -Test Game.Damage Dealt -Test Game.Damage Taken -Test Game.Damage Taken PvP -Test Game.Deaths -Test Game.ExpEarned -Test Game.GemsEarned -Test Game.Kills -Test Game.Losses -Test Game.Wins -Test.Damage Taken -Test.Deaths -Test.ExpEarned -Test.GemsEarned -Test.Losses -Test.Wins - -The Bridge.Wins -The Bridges.Assists -The Bridges.Blue Deaths -The Bridges.Blue Kills -The Bridges.Damage Dealt -The Bridges.Damage Taken -The Bridges.Damage Taken PvP -The Bridges.DeathBomber -The Bridges.Deaths -The Bridges.ExpEarned -The Bridges.FoodForTheMasses -The Bridges.FortuneBomber -The Bridges.GamesPlayed -The Bridges.GemsEarned -The Bridges.GoodForTheMasses -The Bridges.Green Deaths -The Bridges.Green Kills -The Bridges.Kills -The Bridges.Losses -The Bridges.Rampage -The Bridges.Red Deaths -The Bridges.Red Kills -The Bridges.Sniper -The Bridges.Win -The Bridges.Wins -The Bridges.Yellow Deaths -The Bridges.Yellow Kills -TheBridges.Wins - -Tug of Wool.Assists -Tug of Wool.Blue Deaths -Tug of Wool.Blue Kills -Tug of Wool.Damage Dealt -Tug of Wool.Damage Taken -Tug of Wool.Damage Taken PvP -Tug of Wool.Deaths -Tug of Wool.ExpEarned -Tug of Wool.GamesPlayed -Tug of Wool.GemsEarned -Tug of Wool.Kills -Tug of Wool.Losses -Tug of Wool.Red Deaths -Tug of Wool.Red Kills -Tug of Wool.Wins - -Turf Wars.Assists -Turf Wars.BehindEnemyLines -Turf Wars.Blue Deaths -Turf Wars.Blue Kills -Turf Wars.Damage Dealt -Turf Wars.Damage Taken -Turf Wars.Damage Taken PvP -Turf Wars.Deaths -Turf Wars.ExpEarned -Turf Wars.GamesPlayed -Turf Wars.GemsEarned -Turf Wars.Kills -Turf Wars.Losses -Turf Wars.Red Deaths -Turf Wars.Red Kills -Turf Wars.Shredder Deaths -Turf Wars.Shredder Kills -Turf Wars.TheComeback -Turf Wars.TheShreddinator -Turf Wars.Wins -Type Wars.Damage Taken -Type Wars.Deaths -Type Wars.Demon -Type Wars.Dumbledont -Type Wars.ExpEarned -Type Wars.GemsEarned -Type Wars.Hoarder -Type Wars.Kills -Type Wars.Losses -Type Wars.MinionKills -Type Wars.Nuke -Type Wars.Perfectionist -Type Wars.TimeInGame -Type Wars.Wins - -TypeWars.Kills -TypeWars.MinionKills - -UHC.Wins -Ultra Hard Core.UltimateWinner -Ultra Hardcore Wins -Ultra Hardcore.Assists -Ultra Hardcore.Damage Taken -Ultra Hardcore.Deaths -Ultra Hardcore.ExpEarned -Ultra Hardcore.GamesPlayed -Ultra Hardcore.Gem -Ultra Hardcore.Gems -Ultra Hardcore.Gems Earned -Ultra Hardcore.GemsEarned -Ultra Hardcore.Kills -Ultra Hardcore.Losses -Ultra HardCore.UltimateWinner -Ultra Hardcore.Wins -UltraHardcore.Wins - -Wither Assault.Assists -Wither Assault.Damage Dealt -Wither Assault.Damage Taken -Wither Assault.Damage Taken PvP -Wither Assault.Deaths -Wither Assault.ExpEarned -Wither Assault.GamesPlayed -Wither Assault.GemsEarned -Wither Assault.Kills -Wither Assault.Losses -Wither Assault.Wins - -Wither Brawl.Damage Dealt -Wither Brawl.Damage Taken -Wither Brawl.Damage Taken PvP -Wither Brawl.Deaths -Wither Brawl.ExpEarned -Wither Brawl.GemsEarned -Wither Brawl.Kills -Wither Brawl.Losses -Wither Brawl.Wins - -Wizard Battles.Assists -Wizard Battles.Damage Dealt -Wizard Battles.Damage Taken -Wizard Battles.Damage Taken PvP -Wizard Battles.Deaths -Wizard Battles.ExpEarned -Wizard Battles.GemsEarned -Wizard Battles.Kills -Wizard Battles.Losses -Wizard Battles.Wins -Wizards.Assists -Wizards.Damage Dealt -Wizards.Damage Taken -Wizards.Damage Taken PvP -Wizards.Deaths -Wizards.ExpEarned -Wizards.GamesPlayed -Wizards.GemsEarned -Wizards.Kills -Wizards.Losses -Wizards.SupremeWizard -Wizards.Wins - -Zombie Survival.Alpha Undead Kills -Zombie Survival.Assists -Zombie Survival.Damage Dealt -Zombie Survival.Damage Taken -Zombie Survival.Damage Taken PvP -Zombie Survival.Deaths -Zombie Survival.GamesPlayed -Zombie Survival.GemsEarned -Zombie Survival.Kills -Zombie Survival.Losses -Zombie Survival.Undead Deaths -Zombie Survival.Undead Kills -Zombie Survival.Wins - */ \ No newline at end of file