From 263e1326cd0ea37bba178caf74756aa597c3b6be Mon Sep 17 00:00:00 2001 From: Teddy Date: Sat, 9 Jan 2016 20:22:29 +0000 Subject: [PATCH 01/37] 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 02/37] 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 03/37] 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 04/37] 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 05/37] 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 06/37] 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 07/37] 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 08/37] 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 09/37] 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 10/37] 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 11/37] 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 12/37] 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 13/37] 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 14/37] 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 15/37] 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 16/37] 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 17/37] 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 18/37] 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 19/37] 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 20/37] 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 21/37] 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 22/37] 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 23/37] 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 24/37] 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 25/37] 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 26/37] 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 27/37] 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 28/37] 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 29/37] 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 30/37] 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 31/37] 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 32/37] 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 33/37] 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 34/37] 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 35/37] 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 36/37] 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 37/37] 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