Merge pull request #134 in MIN/mineplex from rankdescriptions to develop
* commit '0177cf91bbd179ce9a1f320d59790094612f24fe': (43 commits) Clean up Final edits Waiting for a testing session. Descriptions changed Use Garbo's description changes Stats added for all other games Halloween, added kit to stats Halloween, added stats Gravity, added stats Gladiators, added stats Evolution, added stats Draw my thing, added stats Dragons, added stats Dragon Riders, added default registery Dragon Escape Teams, added stats Dragon Escape, added stats + implemented kit display for stats Death Tag, added stats Christmas Chaos, added stats Champ TDM, added stats Champ Dominate,added stats ...
This commit is contained in:
commit
3fa9f79427
@ -4,64 +4,73 @@ import org.bukkit.ChatColor;
|
|||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
import mineplex.core.common.util.C;
|
import mineplex.core.common.util.C;
|
||||||
|
import mineplex.core.common.util.F;
|
||||||
import mineplex.core.common.util.UtilPlayer;
|
import mineplex.core.common.util.UtilPlayer;
|
||||||
|
|
||||||
public enum Rank
|
public enum Rank
|
||||||
{
|
{
|
||||||
//Staff
|
//Staff
|
||||||
LT("Leader", ChatColor.GOLD, "Leaders are in charge of special teams\nsuch as the whole staff team or the support!"),
|
LT("Leader", ChatColor.GOLD, "Leaders manage the operation of their respective team \nor projects. They usually operate on affairs within \nthe staff, development, or management team."),
|
||||||
OWNER("Owner", ChatColor.GOLD, "Owners are the Founders of Mineplex\nand they all manage different parts of it!"),
|
OWNER("Owner", ChatColor.GOLD, "Owners are the founders of Mineplex. \nEach owner manages a different aspect of the \nserver and ensures its efficient operation."),
|
||||||
DEVELOPER("Dev", ChatColor.GOLD, "Developers make new games,\nand new features for you to enjoy"),
|
DEVELOPER("Dev", ChatColor.GOLD, "Developers work behind the scenes to \ncreate new games and features, and fix bugs to \ngive the best experience."),
|
||||||
ADMIN("Admin", ChatColor.GOLD, "Administrators have their own\nSenior Moderator team that they lead!"),
|
ADMIN("Admin", ChatColor.GOLD, "An Administrator’s role is to manage \ntheir respective Senior Moderator team \nand all moderators within it."),
|
||||||
JNR_DEV("Jr.Dev", ChatColor.GOLD, "Junior Developers make new games,\nand new features for you to enjoy"),
|
JNR_DEV("Jr.Dev", ChatColor.GOLD, "Junior Developers work behind the scenes to \ncreate new games and features, and fix bugs to \ngive the best experience."),
|
||||||
SUPPORT("Support", ChatColor.BLUE, "Support Agents take care of all the tickets\nthat get sent to mineplex.com/support"),
|
SUPPORT("Support", ChatColor.BLUE, "Support agents handle tickets and \nprovide customer service."),
|
||||||
CMOD("C.Mod", ChatColor.GOLD, "Clan Moderators are Senior Moderators in\nthe Clans Management team.\nThey mainly moderate only the Clans servers.\nThey are around to help you with any problems on Clans servers."),
|
CMOD("C.Mod", ChatColor.GOLD, "Clans Moderators are members of the Clans Management Senior Mod team. \nTheir duties include moderation and support within the Clans servers. \n\nFor assistance, contact them using " + F.elem("/a <message>") + "."),
|
||||||
SNR_MODERATOR("Sr.Mod", ChatColor.GOLD, "Senior Moderators are in a special\nSenior Moderator team where they have to fulfill team tasks.\nThey are similar to Moderators who you can always ask for help!\nIf you have any questions, just message them using /a"),
|
SNR_MODERATOR("Sr.Mod", ChatColor.GOLD, "Senior Moderators are members of a special \nSenior Moderator team where they have to fulfill specific tasks. \nJust like Moderators, you can always ask them for help. \n\nFor assistance, contact them using " + F.elem("/a <message>") + "."),
|
||||||
MODERATOR("Mod", ChatColor.GOLD, "Moderators are here to moderate\nand help players with any concerns they have.\nIf you have any questions, just message them using /a"),
|
MODERATOR("Mod", ChatColor.GOLD, "Moderators enforce rules and provide help to \nanyone with questions or concerns. \n\nFor assistance, contact them using " + F.elem("/a <message>") + "."),
|
||||||
HELPER("Trainee", ChatColor.DARK_AQUA, "Trainees are staff in training,\nand are here to help players and moderate!\nIf you have any questions, just message them using /a"),
|
HELPER("Trainee", ChatColor.DARK_AQUA, "Trainees are moderators-in-training. \nTheir duties include enforcing the rules and \nproviding help to anyone with questions or concerns. \n\nFor assistance, contact them using " + F.elem("/a <message>") + "."),
|
||||||
MAPLEAD("MapLead", ChatColor.BLUE, "Leader of the Official Build team"),
|
MAPLEAD("MapLead", ChatColor.BLUE, "Map Leaders are leaders of the Mineplex Build Team. \nThey oversee the creation of new maps and manage Builders."),
|
||||||
MAPDEV("Builder", ChatColor.BLUE, "Official Mineplex Map Builders"),
|
MAPDEV("Builder", ChatColor.BLUE, "Builders are members of the Mineplex Build Team. \nThey create many of the maps used across Mineplex."),
|
||||||
MEDIA("Media", ChatColor.BLUE, "Official Mineplex Artist and/or Designer"),
|
MEDIA("Media", ChatColor.BLUE, "The Media rank is given to talented artists who are\n endorsed to create content for Mineplex."),
|
||||||
|
|
||||||
EVENT("Event", ChatColor.WHITE, "???"),
|
EVENT("Event", ChatColor.WHITE, "A member of the official Mineplex Events team!"),
|
||||||
|
|
||||||
//Media
|
//Media
|
||||||
YOUTUBE("YouTube", ChatColor.RED, "Official Mineplex Youtuber"),
|
YOUTUBE("YouTube", ChatColor.RED, "A YouTuber who creates content for \nor related to Mineplex."),
|
||||||
YOUTUBE_SMALL("YT", ChatColor.DARK_PURPLE, "Youtube Content Creators"),
|
YOUTUBE_SMALL("YT", ChatColor.DARK_PURPLE, "A YouTuber who creates content for \nor related to Mineplex. \n\nThey have fewer subscribers than full YouTubers."),
|
||||||
TWITCH("Twitch", ChatColor.DARK_PURPLE, "Official Twitch Live Streamer"),
|
TWITCH("Twitch", ChatColor.DARK_PURPLE, "A Twitch streamer who often features \nMineplex in their streams."),
|
||||||
|
|
||||||
//Player
|
//Player
|
||||||
TITAN("Titan", ChatColor.RED, true, "Mineplex's fourth premium rank\nBuy Titan at mineplex.com/shop"),
|
TITAN("Titan", ChatColor.RED, true, "Ancient myths spoke of a gigantic being \nwith immense power... \n\nPurchase Titan at www.mineplex.com/shop"),
|
||||||
LEGEND("Legend", ChatColor.GREEN, true, "Mineplex's third premium rank\nBuy Legend at mineplex.com/shop"),
|
LEGEND("Legend", ChatColor.GREEN, true, "Mineplex's third premium rank. \n\nPurchase Legend at www.mineplex.com/shop"),
|
||||||
HERO("Hero", ChatColor.LIGHT_PURPLE, true, "Mineplex's second premium rank\nBuy Hero at mineplex.com/shop"),
|
HERO("Hero", ChatColor.LIGHT_PURPLE, true, "There are many stories of a \nvaliant Hero who was brave enough to \ntame the most fearsome dragon in the land. \n\nPurchase Hero at www.mineplex.com/shop"),
|
||||||
ULTRA("Ultra", ChatColor.AQUA, true, "Mineplex's first premium rank\nBuy Ultra at mineplex.com/shop"),
|
ULTRA("Ultra", ChatColor.AQUA, true, "Mineplex's first premium rank. \n\nPurchase Ultra at www.mineplex.com/shop"),
|
||||||
ALL("", ChatColor.WHITE, null);
|
ALL("", ChatColor.WHITE, null);
|
||||||
|
|
||||||
private ChatColor _color;
|
private ChatColor _color;
|
||||||
private boolean _donor;
|
private boolean _donor;
|
||||||
private String _info;
|
private String _description;
|
||||||
|
|
||||||
public String Name;
|
public String Name;
|
||||||
|
|
||||||
Rank(String name, ChatColor color, String info)
|
Rank(String name, ChatColor color, String description)
|
||||||
{
|
{
|
||||||
_color = color;
|
_color = color;
|
||||||
Name = name;
|
Name = name;
|
||||||
_donor = false;
|
_donor = false;
|
||||||
_info = info;
|
_description = description;
|
||||||
}
|
}
|
||||||
|
|
||||||
Rank(String name, ChatColor color, boolean donor, String info)
|
Rank(String name, ChatColor color, boolean donor, String description)
|
||||||
{
|
{
|
||||||
_color = color;
|
_color = color;
|
||||||
Name = name;
|
Name = name;
|
||||||
_donor = donor;
|
_donor = donor;
|
||||||
_info = info;
|
_description = description;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getInfo()
|
public String getDescription()
|
||||||
{
|
{
|
||||||
return _info;
|
return _description;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getRawTag()
|
||||||
|
{
|
||||||
|
if (Name.equalsIgnoreCase("ALL"))
|
||||||
|
return "";
|
||||||
|
|
||||||
|
return Name;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean has(Rank rank)
|
public boolean has(Rank rank)
|
||||||
@ -125,12 +134,4 @@ public enum Rank
|
|||||||
{
|
{
|
||||||
return _donor;
|
return _donor;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getRawTag()
|
|
||||||
{
|
|
||||||
if (Name.equalsIgnoreCase("ALL"))
|
|
||||||
return "";
|
|
||||||
|
|
||||||
return Name;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -18,6 +18,7 @@ import mineplex.core.blockrestore.BlockRestore;
|
|||||||
import mineplex.core.bonuses.BonusManager;
|
import mineplex.core.bonuses.BonusManager;
|
||||||
import mineplex.core.botspam.BotSpamManager;
|
import mineplex.core.botspam.BotSpamManager;
|
||||||
import mineplex.core.common.Rank;
|
import mineplex.core.common.Rank;
|
||||||
|
import mineplex.core.common.jsonchat.JsonMessage;
|
||||||
import mineplex.core.common.util.C;
|
import mineplex.core.common.util.C;
|
||||||
import mineplex.core.common.util.F;
|
import mineplex.core.common.util.F;
|
||||||
import mineplex.core.common.util.UtilInv;
|
import mineplex.core.common.util.UtilInv;
|
||||||
@ -89,8 +90,18 @@ import mineplex.minecraft.game.classcombat.item.event.ItemTriggerEvent;
|
|||||||
import mineplex.minecraft.game.core.combat.DeathMessageType;
|
import mineplex.minecraft.game.core.combat.DeathMessageType;
|
||||||
import mineplex.minecraft.game.core.combat.event.CombatDeathEvent;
|
import mineplex.minecraft.game.core.combat.event.CombatDeathEvent;
|
||||||
import mineplex.minecraft.game.core.condition.ConditionManager;
|
import mineplex.minecraft.game.core.condition.ConditionManager;
|
||||||
|
import net.md_5.bungee.api.chat.BaseComponent;
|
||||||
|
import net.md_5.bungee.api.chat.ClickEvent;
|
||||||
|
import net.md_5.bungee.api.chat.ComponentBuilder;
|
||||||
|
import net.md_5.bungee.api.chat.HoverEvent;
|
||||||
|
import net.md_5.bungee.api.chat.HoverEvent.Action;
|
||||||
|
import net.md_5.bungee.api.chat.TextComponent;
|
||||||
|
import org.jooq.tools.json.JSONObject;
|
||||||
|
|
||||||
|
import net.minecraft.server.v1_8_R3.ChatMessage;
|
||||||
import net.minecraft.server.v1_8_R3.EntityInsentient;
|
import net.minecraft.server.v1_8_R3.EntityInsentient;
|
||||||
import net.minecraft.server.v1_8_R3.EntityPlayer;
|
import net.minecraft.server.v1_8_R3.EntityPlayer;
|
||||||
|
import net.minecraft.server.v1_8_R3.IChatBaseComponent;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
@ -627,6 +638,21 @@ public class HubManager extends MiniClientPlugin<HubClient>
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
// TextComponent rankComponent = new TextComponent(rankStr);
|
||||||
|
// TextComponent playerNameText = new TextComponent(ChatColor.YELLOW + playerName);
|
||||||
|
// TextComponent component = new TextComponent();
|
||||||
|
//
|
||||||
|
// rankComponent.setHoverEvent(new HoverEvent(Action.SHOW_TEXT, new ComponentBuilder(rank.getColor() + rank.getTag(true, true) + ChatColor.WHITE + ":\n" + rank.getDescription()).create()));
|
||||||
|
//
|
||||||
|
// component.setText(levelStr);
|
||||||
|
// component.addExtra(rankComponent);
|
||||||
|
// component.addExtra(playerNameText);
|
||||||
|
// component.addExtra(" " + ChatColor.WHITE + event.getMessage());
|
||||||
|
|
||||||
|
JsonMessage jsonMessage = new JsonMessage(levelStr)
|
||||||
|
.extra(JSONObject.escape(rankStr)).hover("show_text", rank.getColor() + rank.getTag(true, true) + ChatColor.WHITE + "\n" + rank.getDescription())
|
||||||
|
.add(JSONObject.escape(C.cYellow + playerName + " " + ChatColor.WHITE + event.getMessage()));
|
||||||
|
|
||||||
for (Player other : UtilServer.getPlayers())
|
for (Player other : UtilServer.getPlayers())
|
||||||
{
|
{
|
||||||
if (_tutorialManager.InTutorial(other))
|
if (_tutorialManager.InTutorial(other))
|
||||||
@ -635,9 +661,13 @@ public class HubManager extends MiniClientPlugin<HubClient>
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
event.setMessage(event.getMessage());
|
// event.setMessage(event.getMessage());
|
||||||
event.setFormat(levelStr + rankStr + C.cYellow + playerName + " " + C.cWhite + "%2$s");
|
// event.setFormat(levelStr + rankStr + C.cYellow + playerName + " " + C.cWhite + "%2$s");
|
||||||
|
if(!event.isCancelled())
|
||||||
|
jsonMessage.sendToPlayer(other);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
event.setCancelled(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -85,7 +85,7 @@ import nautilus.game.arcade.game.GameTeam;
|
|||||||
import nautilus.game.arcade.game.games.event.EventModule;
|
import nautilus.game.arcade.game.games.event.EventModule;
|
||||||
import nautilus.game.arcade.game.games.uhc.UHC;
|
import nautilus.game.arcade.game.games.uhc.UHC;
|
||||||
import nautilus.game.arcade.managers.GameAchievementManager;
|
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.GameCreationManager;
|
||||||
import nautilus.game.arcade.managers.GameFlagManager;
|
import nautilus.game.arcade.managers.GameFlagManager;
|
||||||
import nautilus.game.arcade.managers.GameGemManager;
|
import nautilus.game.arcade.managers.GameGemManager;
|
||||||
@ -174,6 +174,7 @@ public class ArcadeManager extends MiniPlugin implements IRelation
|
|||||||
private GameTournamentManager _gameTournamentManager;
|
private GameTournamentManager _gameTournamentManager;
|
||||||
private GameWorldManager _gameWorldManager;
|
private GameWorldManager _gameWorldManager;
|
||||||
private GameHostManager _gameHostManager;
|
private GameHostManager _gameHostManager;
|
||||||
|
private GameChatManager _gameChatManager;
|
||||||
private ServerStatusManager _serverStatusManager;
|
private ServerStatusManager _serverStatusManager;
|
||||||
private InventoryManager _inventoryManager;
|
private InventoryManager _inventoryManager;
|
||||||
private CosmeticManager _cosmeticManager;
|
private CosmeticManager _cosmeticManager;
|
||||||
@ -278,7 +279,7 @@ public class ArcadeManager extends MiniPlugin implements IRelation
|
|||||||
_arcadeShop = new ArcadeShop(this, clientManager, donationManager);
|
_arcadeShop = new ArcadeShop(this, clientManager, donationManager);
|
||||||
|
|
||||||
// Managers
|
// Managers
|
||||||
new GameChatManager(this);
|
_gameChatManager = new GameChatManager(this);
|
||||||
_gameCreationManager = new GameCreationManager(this);
|
_gameCreationManager = new GameCreationManager(this);
|
||||||
_gameGemManager = new GameGemManager(this);
|
_gameGemManager = new GameGemManager(this);
|
||||||
_gameManager = new GameManager(this);
|
_gameManager = new GameManager(this);
|
||||||
@ -353,6 +354,11 @@ public class ArcadeManager extends MiniPlugin implements IRelation
|
|||||||
addCommand(new RequiredRankCommand(this));
|
addCommand(new RequiredRankCommand(this));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public GameChatManager getGameChatManager()
|
||||||
|
{
|
||||||
|
return _gameChatManager;
|
||||||
|
}
|
||||||
|
|
||||||
public GameServerConfig GetServerConfig()
|
public GameServerConfig GetServerConfig()
|
||||||
{
|
{
|
||||||
return _serverConfig;
|
return _serverConfig;
|
||||||
|
@ -74,6 +74,7 @@ import nautilus.game.arcade.kit.Kit;
|
|||||||
import nautilus.game.arcade.kit.KitAvailability;
|
import nautilus.game.arcade.kit.KitAvailability;
|
||||||
import nautilus.game.arcade.kit.Perk;
|
import nautilus.game.arcade.kit.Perk;
|
||||||
import nautilus.game.arcade.managers.GameLobbyManager;
|
import nautilus.game.arcade.managers.GameLobbyManager;
|
||||||
|
import nautilus.game.arcade.managers.chat.ChatStatData;
|
||||||
import nautilus.game.arcade.scoreboard.GameScoreboard;
|
import nautilus.game.arcade.scoreboard.GameScoreboard;
|
||||||
import nautilus.game.arcade.stats.AssistsStatTracker;
|
import nautilus.game.arcade.stats.AssistsStatTracker;
|
||||||
import nautilus.game.arcade.stats.DamageDealtStatTracker;
|
import nautilus.game.arcade.stats.DamageDealtStatTracker;
|
||||||
@ -271,6 +272,21 @@ public abstract class Game implements Listener
|
|||||||
public long PrepareTime = 9000;
|
public long PrepareTime = 9000;
|
||||||
public boolean PlaySoundGameStart = true;
|
public boolean PlaySoundGameStart = true;
|
||||||
|
|
||||||
|
// 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);
|
||||||
|
public final ChatStatData BlankLine = new ChatStatData().blankLine();
|
||||||
|
|
||||||
// Gems
|
// Gems
|
||||||
public double GemMultiplier = 1;
|
public double GemMultiplier = 1;
|
||||||
public boolean GemHunterEnabled = true;
|
public boolean GemHunterEnabled = true;
|
||||||
@ -1422,6 +1438,11 @@ public abstract class Game implements Listener
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void registerChatStats(ChatStatData... stats)
|
||||||
|
{
|
||||||
|
Manager.getGameChatManager().setGameChatStats(stats);
|
||||||
|
}
|
||||||
|
|
||||||
public Collection<StatTracker<? extends Game>> getStatTrackers()
|
public Collection<StatTracker<? extends Game>> getStatTrackers()
|
||||||
{
|
{
|
||||||
return _statTrackers;
|
return _statTrackers;
|
||||||
|
@ -38,6 +38,16 @@ public class BaconBrawl extends SoloGame
|
|||||||
DamageTeamSelf = true;
|
DamageTeamSelf = true;
|
||||||
HungerSet = 20;
|
HungerSet = 20;
|
||||||
PrepareFreeze = false;
|
PrepareFreeze = false;
|
||||||
|
|
||||||
|
registerChatStats(
|
||||||
|
Kills,
|
||||||
|
Deaths,
|
||||||
|
KDRatio,
|
||||||
|
BlankLine,
|
||||||
|
Assists,
|
||||||
|
DamageDealt,
|
||||||
|
DamageTaken
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
|
@ -15,6 +15,8 @@ import nautilus.game.arcade.GameType;
|
|||||||
import nautilus.game.arcade.game.SoloGame;
|
import nautilus.game.arcade.game.SoloGame;
|
||||||
import nautilus.game.arcade.game.games.barbarians.kits.*;
|
import nautilus.game.arcade.game.games.barbarians.kits.*;
|
||||||
import nautilus.game.arcade.kit.Kit;
|
import nautilus.game.arcade.kit.Kit;
|
||||||
|
import nautilus.game.arcade.managers.chat.ChatStatData;
|
||||||
|
import nautilus.game.arcade.stats.BlockBreakStatTracker;
|
||||||
|
|
||||||
public class Barbarians extends SoloGame
|
public class Barbarians extends SoloGame
|
||||||
{
|
{
|
||||||
@ -58,6 +60,22 @@ public class Barbarians extends SoloGame
|
|||||||
this.BlockBreakAllow.add(134);
|
this.BlockBreakAllow.add(134);
|
||||||
this.BlockBreakAllow.add(135);
|
this.BlockBreakAllow.add(135);
|
||||||
this.BlockBreakAllow.add(136);
|
this.BlockBreakAllow.add(136);
|
||||||
|
|
||||||
|
registerStatTrackers(
|
||||||
|
new BlockBreakStatTracker(this, true)
|
||||||
|
);
|
||||||
|
|
||||||
|
registerChatStats(
|
||||||
|
Kills,
|
||||||
|
Deaths,
|
||||||
|
KDRatio,
|
||||||
|
BlankLine,
|
||||||
|
Assists,
|
||||||
|
DamageDealt,
|
||||||
|
DamageTaken,
|
||||||
|
BlankLine,
|
||||||
|
new ChatStatData("BlockBreak", "Blocks Broken", true)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
|
@ -58,6 +58,9 @@ public class BossBattles extends TeamGame
|
|||||||
HungerSet = 20;
|
HungerSet = 20;
|
||||||
CreatureAllowOverride = true;
|
CreatureAllowOverride = true;
|
||||||
PrepareFreeze = false;
|
PrepareFreeze = false;
|
||||||
|
|
||||||
|
// registerChatStats(Kills);
|
||||||
|
// Game giving constant errors when loading.
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
|
@ -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.kits.*;
|
||||||
import nautilus.game.arcade.game.games.bouncyballs.Ball;
|
import nautilus.game.arcade.game.games.bouncyballs.Ball;
|
||||||
import nautilus.game.arcade.kit.Kit;
|
import nautilus.game.arcade.kit.Kit;
|
||||||
|
import nautilus.game.arcade.managers.chat.ChatStatData;
|
||||||
|
|
||||||
public class BouncyBalls extends SoloGame
|
public class BouncyBalls extends SoloGame
|
||||||
{
|
{
|
||||||
@ -35,6 +36,8 @@ public class BouncyBalls extends SoloGame
|
|||||||
});
|
});
|
||||||
|
|
||||||
this.HungerSet = 20;
|
this.HungerSet = 20;
|
||||||
|
|
||||||
|
// registerChatStats();
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
|
@ -233,6 +233,16 @@ public class Bridge extends TeamGame implements OreObsfucation
|
|||||||
new KillFastStatTracker(this, 4, 10, "Rampage"),
|
new KillFastStatTracker(this, 4, 10, "Rampage"),
|
||||||
new DeathBomberStatTracker(this, 5)
|
new DeathBomberStatTracker(this, 5)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
registerChatStats(
|
||||||
|
Kills,
|
||||||
|
Deaths,
|
||||||
|
KDRatio,
|
||||||
|
BlankLine,
|
||||||
|
Assists,
|
||||||
|
DamageTaken,
|
||||||
|
DamageDealt
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
|
@ -5,6 +5,43 @@ import java.util.ArrayList;
|
|||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map.Entry;
|
import java.util.Map.Entry;
|
||||||
|
|
||||||
|
import mineplex.core.common.util.C;
|
||||||
|
import mineplex.core.common.util.F;
|
||||||
|
import mineplex.core.common.util.NautHashMap;
|
||||||
|
import mineplex.core.common.util.UtilAction;
|
||||||
|
import mineplex.core.common.util.UtilAlg;
|
||||||
|
import mineplex.core.common.util.UtilEvent;
|
||||||
|
import mineplex.core.common.util.UtilEvent.ActionType;
|
||||||
|
import mineplex.core.common.util.UtilGear;
|
||||||
|
import mineplex.core.common.util.UtilInv;
|
||||||
|
import mineplex.core.common.util.UtilMath;
|
||||||
|
import mineplex.core.common.util.UtilParticle;
|
||||||
|
import mineplex.core.common.util.UtilParticle.ParticleType;
|
||||||
|
import mineplex.core.common.util.UtilParticle.ViewDist;
|
||||||
|
import mineplex.core.common.util.UtilPlayer;
|
||||||
|
import mineplex.core.common.util.UtilServer;
|
||||||
|
import mineplex.core.common.util.UtilTextBottom;
|
||||||
|
import mineplex.core.common.util.UtilTextMiddle;
|
||||||
|
import mineplex.core.common.util.UtilTime;
|
||||||
|
import mineplex.core.explosion.ExplosionEvent;
|
||||||
|
import mineplex.core.itemstack.ItemStackFactory;
|
||||||
|
import mineplex.core.recharge.Recharge;
|
||||||
|
import mineplex.core.updater.UpdateType;
|
||||||
|
import mineplex.core.updater.event.UpdateEvent;
|
||||||
|
import mineplex.minecraft.game.core.damage.CustomDamageEvent;
|
||||||
|
import nautilus.game.arcade.ArcadeManager;
|
||||||
|
import nautilus.game.arcade.GameType;
|
||||||
|
import nautilus.game.arcade.events.GameStateChangeEvent;
|
||||||
|
import nautilus.game.arcade.events.PlayerPrepareTeleportEvent;
|
||||||
|
import nautilus.game.arcade.game.SoloGame;
|
||||||
|
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 java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
@ -69,40 +106,6 @@ import org.bukkit.event.vehicle.VehicleCreateEvent;
|
|||||||
import org.bukkit.event.vehicle.VehicleDamageEvent;
|
import org.bukkit.event.vehicle.VehicleDamageEvent;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
|
||||||
import mineplex.core.common.util.C;
|
|
||||||
import mineplex.core.common.util.F;
|
|
||||||
import mineplex.core.common.util.NautHashMap;
|
|
||||||
import mineplex.core.common.util.UtilAction;
|
|
||||||
import mineplex.core.common.util.UtilAlg;
|
|
||||||
import mineplex.core.common.util.UtilEvent;
|
|
||||||
import mineplex.core.common.util.UtilEvent.ActionType;
|
|
||||||
import mineplex.core.common.util.UtilGear;
|
|
||||||
import mineplex.core.common.util.UtilInv;
|
|
||||||
import mineplex.core.common.util.UtilMath;
|
|
||||||
import mineplex.core.common.util.UtilParticle;
|
|
||||||
import mineplex.core.common.util.UtilParticle.ParticleType;
|
|
||||||
import mineplex.core.common.util.UtilParticle.ViewDist;
|
|
||||||
import mineplex.core.common.util.UtilPlayer;
|
|
||||||
import mineplex.core.common.util.UtilServer;
|
|
||||||
import mineplex.core.common.util.UtilTextBottom;
|
|
||||||
import mineplex.core.common.util.UtilTextMiddle;
|
|
||||||
import mineplex.core.common.util.UtilTime;
|
|
||||||
import mineplex.core.explosion.ExplosionEvent;
|
|
||||||
import mineplex.core.itemstack.ItemStackFactory;
|
|
||||||
import mineplex.core.recharge.Recharge;
|
|
||||||
import mineplex.core.updater.UpdateType;
|
|
||||||
import mineplex.core.updater.event.UpdateEvent;
|
|
||||||
import mineplex.minecraft.game.core.damage.CustomDamageEvent;
|
|
||||||
import nautilus.game.arcade.ArcadeManager;
|
|
||||||
import nautilus.game.arcade.GameType;
|
|
||||||
import nautilus.game.arcade.events.GameStateChangeEvent;
|
|
||||||
import nautilus.game.arcade.events.PlayerPrepareTeleportEvent;
|
|
||||||
import nautilus.game.arcade.game.SoloGame;
|
|
||||||
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;
|
|
||||||
|
|
||||||
public class Build extends SoloGame
|
public class Build extends SoloGame
|
||||||
{
|
{
|
||||||
private NautHashMap<Player, BuildData> _data = new NautHashMap<Player, BuildData>();
|
private NautHashMap<Player, BuildData> _data = new NautHashMap<Player, BuildData>();
|
||||||
@ -146,7 +149,7 @@ public class Build extends SoloGame
|
|||||||
private ChatColor _firstHintColor = ChatColor.YELLOW;
|
private ChatColor _firstHintColor = ChatColor.YELLOW;
|
||||||
|
|
||||||
private UUID _winnerUUID = null;
|
private UUID _winnerUUID = null;
|
||||||
|
|
||||||
public Build(ArcadeManager manager)
|
public Build(ArcadeManager manager)
|
||||||
{
|
{
|
||||||
super(manager, GameType.Build,
|
super(manager, GameType.Build,
|
||||||
@ -221,6 +224,16 @@ public class Build extends SoloGame
|
|||||||
_mobShop = new MobShop(getArcadeManager(), getArcadeManager().GetClients(), getArcadeManager().GetDonation());
|
_mobShop = new MobShop(getArcadeManager(), getArcadeManager().GetClients(), getArcadeManager().GetDonation());
|
||||||
_optionsShop = new OptionsShop(this, 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");
|
_shopItem = ItemStackFactory.Instance.CreateStack(Material.DIAMOND, (byte) 0, 1, C.cGreen + "Options");
|
||||||
|
|
||||||
|
registerStatTrackers(
|
||||||
|
new BlockBreakStatTracker(this, false),
|
||||||
|
new BlockPlaceStatTracker(this, new Material[]{})
|
||||||
|
);
|
||||||
|
|
||||||
|
registerChatStats(
|
||||||
|
new ChatStatData("BlocksPlaced", "Blocks Placed", true),
|
||||||
|
new ChatStatData("BlocksBroken", "Blocks Broken", true)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
@ -1550,14 +1563,14 @@ public class Build extends SoloGame
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<Player> getWinners()
|
public List<Player> getWinners()
|
||||||
{
|
{
|
||||||
Player player = UtilPlayer.searchExact(_winnerUUID);
|
Player player = UtilPlayer.searchExact(_winnerUUID);
|
||||||
if (player == null)
|
if (player == null)
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
return Arrays.asList(player);
|
return Arrays.asList(player);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -70,6 +70,8 @@ public class Cards extends SoloGame
|
|||||||
this.PrepareFreeze = false;
|
this.PrepareFreeze = false;
|
||||||
|
|
||||||
_cardFactory = new CardFactory();
|
_cardFactory = new CardFactory();
|
||||||
|
|
||||||
|
registerChatStats();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -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.game.games.castlesiege.kits.KitUndeadZombie;
|
||||||
import nautilus.game.arcade.kit.Kit;
|
import nautilus.game.arcade.kit.Kit;
|
||||||
import nautilus.game.arcade.kit.NullKit;
|
import nautilus.game.arcade.kit.NullKit;
|
||||||
|
import nautilus.game.arcade.managers.chat.ChatStatData;
|
||||||
import nautilus.game.arcade.stats.BloodThirstyStatTracker;
|
import nautilus.game.arcade.stats.BloodThirstyStatTracker;
|
||||||
import nautilus.game.arcade.stats.KingDamageStatTracker;
|
import nautilus.game.arcade.stats.KingDamageStatTracker;
|
||||||
import nautilus.game.arcade.stats.KingSlayerStatTracker;
|
import nautilus.game.arcade.stats.KingSlayerStatTracker;
|
||||||
@ -219,6 +220,18 @@ public class CastleSiege extends TeamGame
|
|||||||
new TeamDeathsStatTracker(this),
|
new TeamDeathsStatTracker(this),
|
||||||
new TeamKillsStatTracker(this)
|
new TeamKillsStatTracker(this)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
registerChatStats(
|
||||||
|
Kills,
|
||||||
|
Deaths,
|
||||||
|
KDRatio,
|
||||||
|
BlankLine,
|
||||||
|
Assists,
|
||||||
|
DamageDealt,
|
||||||
|
DamageTaken
|
||||||
|
);
|
||||||
|
|
||||||
|
registerChatStats();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -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.champions.kits.KitRanger;
|
||||||
import nautilus.game.arcade.game.games.common.CaptureTheFlag;
|
import nautilus.game.arcade.game.games.common.CaptureTheFlag;
|
||||||
import nautilus.game.arcade.kit.Kit;
|
import nautilus.game.arcade.kit.Kit;
|
||||||
|
import nautilus.game.arcade.managers.chat.ChatStatData;
|
||||||
import nautilus.game.arcade.stats.CapturesStatTracker;
|
import nautilus.game.arcade.stats.CapturesStatTracker;
|
||||||
import nautilus.game.arcade.stats.ClutchStatTracker;
|
import nautilus.game.arcade.stats.ClutchStatTracker;
|
||||||
import nautilus.game.arcade.stats.ElectrocutionStatTracker;
|
import nautilus.game.arcade.stats.ElectrocutionStatTracker;
|
||||||
@ -37,20 +38,20 @@ import org.bukkit.event.inventory.InventoryType;
|
|||||||
public class ChampionsCTF extends CaptureTheFlag
|
public class ChampionsCTF extends CaptureTheFlag
|
||||||
{
|
{
|
||||||
public ChampionsCTF(ArcadeManager manager)
|
public ChampionsCTF(ArcadeManager manager)
|
||||||
{
|
{
|
||||||
super(manager, GameType.ChampionsCTF,
|
super(manager, GameType.ChampionsCTF,
|
||||||
|
|
||||||
new Kit[]
|
new Kit[]
|
||||||
{
|
{
|
||||||
new KitBrute(manager),
|
new KitBrute(manager),
|
||||||
new KitRanger(manager),
|
new KitRanger(manager),
|
||||||
new KitKnight(manager),
|
new KitKnight(manager),
|
||||||
new KitMage(manager),
|
new KitMage(manager),
|
||||||
new KitAssassin(manager),
|
new KitAssassin(manager),
|
||||||
});
|
});
|
||||||
|
|
||||||
_help = new String[]
|
_help = new String[]
|
||||||
{
|
{
|
||||||
"Make sure you use all of your Skill/Item Tokens",
|
"Make sure you use all of your Skill/Item Tokens",
|
||||||
"Collect Resupply Chests to restock your inventory",
|
"Collect Resupply Chests to restock your inventory",
|
||||||
"Customize your Class to suit your play style",
|
"Customize your Class to suit your play style",
|
||||||
@ -59,7 +60,7 @@ public class ChampionsCTF extends CaptureTheFlag
|
|||||||
"Gold/Iron Weapons deal 6 damage",
|
"Gold/Iron Weapons deal 6 damage",
|
||||||
"Diamond Weapons deal 7 damage",
|
"Diamond Weapons deal 7 damage",
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
Manager.GetDamage().UseSimpleWeaponDamage = false;
|
Manager.GetDamage().UseSimpleWeaponDamage = false;
|
||||||
Manager.getCosmeticManager().setHideParticles(true);
|
Manager.getCosmeticManager().setHideParticles(true);
|
||||||
@ -86,6 +87,18 @@ public class ChampionsCTF extends CaptureTheFlag
|
|||||||
new ClutchStatTracker(this, "Clutch"),
|
new ClutchStatTracker(this, "Clutch"),
|
||||||
new SpecialWinStatTracker(this, "SpecialWin")
|
new SpecialWinStatTracker(this, "SpecialWin")
|
||||||
);
|
);
|
||||||
|
|
||||||
|
registerChatStats(
|
||||||
|
Kills,
|
||||||
|
Deaths,
|
||||||
|
KDRatio,
|
||||||
|
BlankLine,
|
||||||
|
Assists,
|
||||||
|
DamageDealt,
|
||||||
|
DamageTaken,
|
||||||
|
BlankLine,
|
||||||
|
new ChatStatData("Captures", "Flag Captures", true)
|
||||||
|
);
|
||||||
|
|
||||||
new ChampionsFixes(this);
|
new ChampionsFixes(this);
|
||||||
}
|
}
|
||||||
|
@ -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.champions.kits.KitRanger;
|
||||||
import nautilus.game.arcade.game.games.common.Domination;
|
import nautilus.game.arcade.game.games.common.Domination;
|
||||||
import nautilus.game.arcade.kit.Kit;
|
import nautilus.game.arcade.kit.Kit;
|
||||||
|
import nautilus.game.arcade.managers.chat.ChatStatData;
|
||||||
import nautilus.game.arcade.stats.ElectrocutionStatTracker;
|
import nautilus.game.arcade.stats.ElectrocutionStatTracker;
|
||||||
import nautilus.game.arcade.stats.KillReasonStatTracker;
|
import nautilus.game.arcade.stats.KillReasonStatTracker;
|
||||||
import nautilus.game.arcade.stats.SeismicSlamStatTracker;
|
import nautilus.game.arcade.stats.SeismicSlamStatTracker;
|
||||||
@ -78,6 +79,16 @@ public class ChampionsDominate extends Domination
|
|||||||
new TheLongestShotStatTracker(this),
|
new TheLongestShotStatTracker(this),
|
||||||
new SeismicSlamStatTracker(this)
|
new SeismicSlamStatTracker(this)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
registerChatStats(
|
||||||
|
Kills,
|
||||||
|
Deaths,
|
||||||
|
KDRatio,
|
||||||
|
BlankLine,
|
||||||
|
Assists,
|
||||||
|
DamageDealt,
|
||||||
|
DamageTaken
|
||||||
|
);
|
||||||
|
|
||||||
new ChampionsFixes(this);
|
new ChampionsFixes(this);
|
||||||
}
|
}
|
||||||
|
@ -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.champions.kits.KitRanger;
|
||||||
import nautilus.game.arcade.game.games.common.TeamDeathmatch;
|
import nautilus.game.arcade.game.games.common.TeamDeathmatch;
|
||||||
import nautilus.game.arcade.kit.Kit;
|
import nautilus.game.arcade.kit.Kit;
|
||||||
|
import nautilus.game.arcade.managers.chat.ChatStatData;
|
||||||
import nautilus.game.arcade.stats.ElectrocutionStatTracker;
|
import nautilus.game.arcade.stats.ElectrocutionStatTracker;
|
||||||
import nautilus.game.arcade.stats.KillAllOpposingStatTracker;
|
import nautilus.game.arcade.stats.KillAllOpposingStatTracker;
|
||||||
import nautilus.game.arcade.stats.KillReasonStatTracker;
|
import nautilus.game.arcade.stats.KillReasonStatTracker;
|
||||||
@ -78,6 +79,16 @@ public class ChampionsTDM extends TeamDeathmatch
|
|||||||
new TheLongestShotStatTracker(this),
|
new TheLongestShotStatTracker(this),
|
||||||
new SeismicSlamStatTracker(this)
|
new SeismicSlamStatTracker(this)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
registerChatStats(
|
||||||
|
Kills,
|
||||||
|
Deaths,
|
||||||
|
KDRatio,
|
||||||
|
BlankLine,
|
||||||
|
Assists,
|
||||||
|
DamageDealt,
|
||||||
|
DamageTaken
|
||||||
|
);
|
||||||
|
|
||||||
new ChampionsFixes(this);
|
new ChampionsFixes(this);
|
||||||
}
|
}
|
||||||
|
@ -152,6 +152,11 @@ public class Christmas extends SoloGame
|
|||||||
HungerSet = 20;
|
HungerSet = 20;
|
||||||
WorldTimeSet = 2000;
|
WorldTimeSet = 2000;
|
||||||
PrepareFreeze = false;
|
PrepareFreeze = false;
|
||||||
|
|
||||||
|
registerChatStats(
|
||||||
|
DamageDealt,
|
||||||
|
DamageTaken
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
//parse 129 19 47 48 103 86 137 56 22 45 121 14 15 16 87 88 89 153 173 172 162
|
//parse 129 19 47 48 103 86 137 56 22 45 121 14 15 16 87 88 89 153 173 172 162
|
||||||
|
@ -73,6 +73,12 @@ public class DeathTag extends SoloGame
|
|||||||
this.PrepareFreeze = false;
|
this.PrepareFreeze = false;
|
||||||
|
|
||||||
registerStatTrackers(new ComeAtMeBroStatTracker(this));
|
registerStatTrackers(new ComeAtMeBroStatTracker(this));
|
||||||
|
|
||||||
|
registerChatStats(
|
||||||
|
Kills,
|
||||||
|
Deaths,
|
||||||
|
KDRatio
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -52,6 +52,8 @@ import nautilus.game.arcade.events.PlayerKitGiveEvent;
|
|||||||
import nautilus.game.arcade.game.SoloGame;
|
import nautilus.game.arcade.game.SoloGame;
|
||||||
import nautilus.game.arcade.game.games.dragonescape.kits.*;
|
import nautilus.game.arcade.game.games.dragonescape.kits.*;
|
||||||
import nautilus.game.arcade.kit.Kit;
|
import nautilus.game.arcade.kit.Kit;
|
||||||
|
import nautilus.game.arcade.managers.chat.ChatStatData;
|
||||||
|
import nautilus.game.arcade.stats.DistanceTraveledStatTracker;
|
||||||
import nautilus.game.arcade.stats.ParalympicsStatTracker;
|
import nautilus.game.arcade.stats.ParalympicsStatTracker;
|
||||||
import nautilus.game.arcade.stats.WinMapStatTracker;
|
import nautilus.game.arcade.stats.WinMapStatTracker;
|
||||||
|
|
||||||
@ -118,7 +120,14 @@ public class DragonEscape extends SoloGame
|
|||||||
|
|
||||||
registerStatTrackers(
|
registerStatTrackers(
|
||||||
new ParalympicsStatTracker(this),
|
new ParalympicsStatTracker(this),
|
||||||
new WinMapStatTracker(this)
|
new WinMapStatTracker(this),
|
||||||
|
new DistanceTraveledStatTracker(this, "MarathonRunner")
|
||||||
|
);
|
||||||
|
|
||||||
|
registerChatStats(
|
||||||
|
new ChatStatData("MarathonRunner", "Distance ran", true),
|
||||||
|
BlankLine,
|
||||||
|
new ChatStatData("kit", "Kit", true)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -45,6 +45,7 @@ import nautilus.game.arcade.game.TeamGame;
|
|||||||
import nautilus.game.arcade.game.Game.GameState;
|
import nautilus.game.arcade.game.Game.GameState;
|
||||||
import nautilus.game.arcade.game.games.dragonescape.kits.*;
|
import nautilus.game.arcade.game.games.dragonescape.kits.*;
|
||||||
import nautilus.game.arcade.kit.Kit;
|
import nautilus.game.arcade.kit.Kit;
|
||||||
|
import nautilus.game.arcade.managers.chat.ChatStatData;
|
||||||
|
|
||||||
public class DragonEscapeTeams extends TeamGame
|
public class DragonEscapeTeams extends TeamGame
|
||||||
{
|
{
|
||||||
@ -84,6 +85,13 @@ public class DragonEscapeTeams extends TeamGame
|
|||||||
this.HungerSet = 20;
|
this.HungerSet = 20;
|
||||||
|
|
||||||
this.TeamArmorHotbar = true;
|
this.TeamArmorHotbar = true;
|
||||||
|
|
||||||
|
registerChatStats(
|
||||||
|
Deaths,
|
||||||
|
DamageTaken,
|
||||||
|
BlankLine,
|
||||||
|
new ChatStatData("kit", "Kit", true)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -24,5 +24,8 @@ public class DragonRiders extends SoloGame
|
|||||||
|
|
||||||
this.Damage = false;
|
this.Damage = false;
|
||||||
this.HungerSet = 20;
|
this.HungerSet = 20;
|
||||||
|
|
||||||
|
//Chat stats
|
||||||
|
registerChatStats();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -18,11 +18,7 @@ import mineplex.core.common.util.UtilAction;
|
|||||||
import mineplex.core.common.util.UtilAlg;
|
import mineplex.core.common.util.UtilAlg;
|
||||||
import mineplex.core.common.util.UtilEnt;
|
import mineplex.core.common.util.UtilEnt;
|
||||||
import mineplex.core.common.util.UtilMath;
|
import mineplex.core.common.util.UtilMath;
|
||||||
import mineplex.core.common.util.UtilParticle;
|
|
||||||
import mineplex.core.common.util.UtilServer;
|
|
||||||
import mineplex.core.common.util.UtilTime;
|
import mineplex.core.common.util.UtilTime;
|
||||||
import mineplex.core.common.util.UtilParticle.ParticleType;
|
|
||||||
import mineplex.core.recharge.Recharge;
|
|
||||||
import mineplex.core.updater.UpdateType;
|
import mineplex.core.updater.UpdateType;
|
||||||
import mineplex.core.updater.event.UpdateEvent;
|
import mineplex.core.updater.event.UpdateEvent;
|
||||||
import mineplex.minecraft.game.core.damage.CustomDamageEvent;
|
import mineplex.minecraft.game.core.damage.CustomDamageEvent;
|
||||||
@ -31,11 +27,11 @@ import nautilus.game.arcade.GameType;
|
|||||||
import nautilus.game.arcade.events.PlayerStateChangeEvent;
|
import nautilus.game.arcade.events.PlayerStateChangeEvent;
|
||||||
import nautilus.game.arcade.game.SoloGame;
|
import nautilus.game.arcade.game.SoloGame;
|
||||||
import nautilus.game.arcade.game.GameTeam.PlayerState;
|
import nautilus.game.arcade.game.GameTeam.PlayerState;
|
||||||
import nautilus.game.arcade.game.games.dragons.DragonData;
|
|
||||||
import nautilus.game.arcade.game.games.dragons.kits.*;
|
import nautilus.game.arcade.game.games.dragons.kits.*;
|
||||||
import nautilus.game.arcade.kit.Kit;
|
import nautilus.game.arcade.kit.Kit;
|
||||||
import nautilus.game.arcade.kit.Perk;
|
import nautilus.game.arcade.kit.Perk;
|
||||||
import nautilus.game.arcade.kit.perks.PerkSparkler;
|
import nautilus.game.arcade.kit.perks.PerkSparkler;
|
||||||
|
import nautilus.game.arcade.managers.chat.ChatStatData;
|
||||||
import nautilus.game.arcade.stats.SparklezStatTracker;
|
import nautilus.game.arcade.stats.SparklezStatTracker;
|
||||||
|
|
||||||
public class Dragons extends SoloGame
|
public class Dragons extends SoloGame
|
||||||
@ -70,6 +66,13 @@ public class Dragons extends SoloGame
|
|||||||
registerStatTrackers(
|
registerStatTrackers(
|
||||||
new SparklezStatTracker(this)
|
new SparklezStatTracker(this)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
registerChatStats(
|
||||||
|
DamageDealt,
|
||||||
|
DamageTaken,
|
||||||
|
BlankLine,
|
||||||
|
new ChatStatData("kit", "Kit", true)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -35,6 +35,7 @@ import nautilus.game.arcade.game.games.dragons.kits.*;
|
|||||||
import nautilus.game.arcade.kit.Kit;
|
import nautilus.game.arcade.kit.Kit;
|
||||||
import nautilus.game.arcade.kit.Perk;
|
import nautilus.game.arcade.kit.Perk;
|
||||||
import nautilus.game.arcade.kit.perks.PerkSparkler;
|
import nautilus.game.arcade.kit.perks.PerkSparkler;
|
||||||
|
import nautilus.game.arcade.managers.chat.ChatStatData;
|
||||||
|
|
||||||
public class DragonsTeams extends TeamGame
|
public class DragonsTeams extends TeamGame
|
||||||
{
|
{
|
||||||
@ -72,6 +73,13 @@ public class DragonsTeams extends TeamGame
|
|||||||
|
|
||||||
this.TeamArmor = true;
|
this.TeamArmor = true;
|
||||||
this.TeamArmorHotbar = true;
|
this.TeamArmorHotbar = true;
|
||||||
|
|
||||||
|
registerChatStats(
|
||||||
|
Deaths,
|
||||||
|
DamageTaken,
|
||||||
|
BlankLine,
|
||||||
|
new ChatStatData("kit", "Kit", true)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -51,6 +51,8 @@ import nautilus.game.arcade.game.games.GameScore;
|
|||||||
import nautilus.game.arcade.game.games.draw.kits.*;
|
import nautilus.game.arcade.game.games.draw.kits.*;
|
||||||
import nautilus.game.arcade.game.games.draw.tools.*;
|
import nautilus.game.arcade.game.games.draw.tools.*;
|
||||||
import nautilus.game.arcade.kit.Kit;
|
import nautilus.game.arcade.kit.Kit;
|
||||||
|
import nautilus.game.arcade.managers.chat.ChatStatData;
|
||||||
|
import nautilus.game.arcade.stats.DrawGuessStatTracker;
|
||||||
import nautilus.game.arcade.stats.KeenEyeStatTracker;
|
import nautilus.game.arcade.stats.KeenEyeStatTracker;
|
||||||
import nautilus.game.arcade.stats.MrSquiggleStatTracker;
|
import nautilus.game.arcade.stats.MrSquiggleStatTracker;
|
||||||
import nautilus.game.arcade.stats.PureLuckStatTracker;
|
import nautilus.game.arcade.stats.PureLuckStatTracker;
|
||||||
@ -133,7 +135,13 @@ public class Draw extends SoloGame
|
|||||||
registerStatTrackers(
|
registerStatTrackers(
|
||||||
new MrSquiggleStatTracker(this),
|
new MrSquiggleStatTracker(this),
|
||||||
new KeenEyeStatTracker(this),
|
new KeenEyeStatTracker(this),
|
||||||
new PureLuckStatTracker(this)
|
new PureLuckStatTracker(this),
|
||||||
|
new DrawGuessStatTracker(this)
|
||||||
|
);
|
||||||
|
|
||||||
|
registerChatStats(
|
||||||
|
new ChatStatData("TotalGuess", "Total Guess'", true),
|
||||||
|
new ChatStatData("PureLuck", "Lucky Guess'", true)
|
||||||
);
|
);
|
||||||
|
|
||||||
Manager.GetChat().setThreeSecondDelay(false);
|
Manager.GetChat().setThreeSecondDelay(false);
|
||||||
|
@ -162,6 +162,16 @@ public class Evolution extends SoloGame
|
|||||||
new NoMeleeTracker(this),
|
new NoMeleeTracker(this),
|
||||||
new KillsWhileEvolvingTracker(this)
|
new KillsWhileEvolvingTracker(this)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
registerChatStats(
|
||||||
|
Kills,
|
||||||
|
Deaths,
|
||||||
|
KDRatio,
|
||||||
|
BlankLine,
|
||||||
|
Assists,
|
||||||
|
DamageDealt,
|
||||||
|
DamageTaken
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
public EvolveManager getEvolve()
|
public EvolveManager getEvolve()
|
||||||
|
@ -67,6 +67,7 @@ import nautilus.game.arcade.game.games.gladiators.trackers.UntouchableTracker;
|
|||||||
import nautilus.game.arcade.game.games.gladiators.tutorial.TutorialGladiators;
|
import nautilus.game.arcade.game.games.gladiators.tutorial.TutorialGladiators;
|
||||||
import nautilus.game.arcade.gametutorial.events.GameTutorialStartEvent;
|
import nautilus.game.arcade.gametutorial.events.GameTutorialStartEvent;
|
||||||
import nautilus.game.arcade.kit.Kit;
|
import nautilus.game.arcade.kit.Kit;
|
||||||
|
import nautilus.game.arcade.managers.chat.ChatStatData;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by William (WilliamTiger).
|
* Created by William (WilliamTiger).
|
||||||
@ -123,6 +124,16 @@ public class Gladiators extends SoloGame
|
|||||||
new SwiftKillTracker(this)
|
new SwiftKillTracker(this)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
registerChatStats(
|
||||||
|
Kills,
|
||||||
|
Assists,
|
||||||
|
BlankLine,
|
||||||
|
new ChatStatData("Untouchable", "Untouchable", true),
|
||||||
|
BlankLine,
|
||||||
|
DamageDealt,
|
||||||
|
DamageTaken
|
||||||
|
);
|
||||||
|
|
||||||
_playerArenas = new HashMap<>();
|
_playerArenas = new HashMap<>();
|
||||||
|
|
||||||
_roundState = RoundState.WAITING;
|
_roundState = RoundState.WAITING;
|
||||||
|
@ -115,6 +115,11 @@ public class Gravity extends SoloGame
|
|||||||
this.CompassEnabled = true;
|
this.CompassEnabled = true;
|
||||||
|
|
||||||
this.WorldBoundaryKill = false;
|
this.WorldBoundaryKill = false;
|
||||||
|
|
||||||
|
registerChatStats(
|
||||||
|
Kills,
|
||||||
|
Assists
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -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.WaveBoss;
|
||||||
import nautilus.game.arcade.game.games.halloween.waves.WaveVictory;
|
import nautilus.game.arcade.game.games.halloween.waves.WaveVictory;
|
||||||
import nautilus.game.arcade.kit.Kit;
|
import nautilus.game.arcade.kit.Kit;
|
||||||
|
import nautilus.game.arcade.managers.chat.ChatStatData;
|
||||||
|
|
||||||
import net.minecraft.server.v1_8_R3.PacketPlayOutNamedSoundEffect;
|
import net.minecraft.server.v1_8_R3.PacketPlayOutNamedSoundEffect;
|
||||||
|
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
@ -135,6 +137,13 @@ public class Halloween extends SoloGame
|
|||||||
this.WorldBoundaryKill = false;
|
this.WorldBoundaryKill = false;
|
||||||
|
|
||||||
this.DontAllowOverfill = true;
|
this.DontAllowOverfill = true;
|
||||||
|
|
||||||
|
registerChatStats(
|
||||||
|
DamageDealt,
|
||||||
|
DamageTaken,
|
||||||
|
BlankLine,
|
||||||
|
new ChatStatData("kit", "Kit", true)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -341,8 +341,16 @@ public class HideSeek extends TeamGame
|
|||||||
Manager.GetExplosion().SetTNTSpread(false);
|
Manager.GetExplosion().SetTNTSpread(false);
|
||||||
Manager.getCosmeticManager().setHideParticles(true);
|
Manager.getCosmeticManager().setHideParticles(true);
|
||||||
|
|
||||||
registerStatTrackers(new HunterKillerStatTracker(this), new MeowStatTracker(this), new HunterKillerStatTracker(this),
|
registerStatTrackers(
|
||||||
new HunterOfTheYearStatTracker(this), new BadHiderStatTracker(this));
|
new HunterKillerStatTracker(this),
|
||||||
|
new MeowStatTracker(this),
|
||||||
|
new HunterKillerStatTracker(this),
|
||||||
|
new HunterOfTheYearStatTracker(this),
|
||||||
|
new BadHiderStatTracker(this)
|
||||||
|
);
|
||||||
|
|
||||||
|
//Need ideas for this one
|
||||||
|
registerChatStats();
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
|
@ -57,6 +57,8 @@ public class HoleInTheWall extends SoloGame
|
|||||||
DamageFall = false;
|
DamageFall = false;
|
||||||
HungerSet = 20;
|
HungerSet = 20;
|
||||||
WorldTimeSet = 8000;
|
WorldTimeSet = 8000;
|
||||||
|
|
||||||
|
registerChatStats();
|
||||||
}
|
}
|
||||||
|
|
||||||
private ArrayList<Entry<Integer, Integer>> getWall()
|
private ArrayList<Entry<Integer, Integer>> getWall()
|
||||||
|
@ -18,23 +18,25 @@ public class Horse extends TeamGame
|
|||||||
{
|
{
|
||||||
super(manager, GameType.Horse,
|
super(manager, GameType.Horse,
|
||||||
|
|
||||||
new Kit[]
|
new Kit[]
|
||||||
{
|
{
|
||||||
new KitHorseKnight(manager),
|
new KitHorseKnight(manager),
|
||||||
new NullKit(manager),
|
new NullKit(manager),
|
||||||
new KitDefenceArcher(manager),
|
new KitDefenceArcher(manager),
|
||||||
},
|
},
|
||||||
|
|
||||||
new String[]
|
new String[]
|
||||||
{
|
{
|
||||||
"Horsemen must charge the ruins",
|
"Horsemen must charge the ruins",
|
||||||
"Horsemen win if they rid the ruins of Undead.",
|
"Horsemen win if they rid the ruins of Undead.",
|
||||||
"",
|
"",
|
||||||
"Undead must defend the ruins",
|
"Undead must defend the ruins",
|
||||||
"Undead win when all Horsemen are dead.",
|
"Undead win when all Horsemen are dead.",
|
||||||
"",
|
"",
|
||||||
"Teams swap after game is over"
|
"Teams swap after game is over"
|
||||||
});
|
});
|
||||||
|
|
||||||
|
registerChatStats();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -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.TrackerNoDamage;
|
||||||
import nautilus.game.arcade.game.games.lobbers.trackers.TrackerTNTThrown;
|
import nautilus.game.arcade.game.games.lobbers.trackers.TrackerTNTThrown;
|
||||||
import nautilus.game.arcade.kit.Kit;
|
import nautilus.game.arcade.kit.Kit;
|
||||||
|
import nautilus.game.arcade.managers.chat.ChatStatData;
|
||||||
|
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
@ -74,19 +75,23 @@ public class BombLobbers extends TeamGame implements IThrown
|
|||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
public BombLobbers(ArcadeManager manager)
|
public BombLobbers(ArcadeManager manager)
|
||||||
{
|
{
|
||||||
super(manager, GameType.Lobbers, new Kit[]
|
super(manager, GameType.Lobbers,
|
||||||
{
|
new Kit[]
|
||||||
new KitJumper(manager),
|
{
|
||||||
new KitArmorer(manager),
|
new KitJumper(manager),
|
||||||
new KitPitcher(manager),
|
new KitArmorer(manager),
|
||||||
new KitWaller(manager)
|
new KitPitcher(manager),
|
||||||
}, new String[]
|
new KitWaller(manager)
|
||||||
{
|
},
|
||||||
"Fight against your enemies using",
|
|
||||||
"the power of explosives!",
|
new String[]
|
||||||
"Left click TNT to throw at your enemy.",
|
{
|
||||||
"Last team alive wins!"
|
"Fight against your enemies using",
|
||||||
});
|
"the power of explosives!",
|
||||||
|
"Left click TNT to throw at your enemy.",
|
||||||
|
"Last team alive wins!"
|
||||||
|
});
|
||||||
|
|
||||||
DamageFall = true;
|
DamageFall = true;
|
||||||
DamageEvP = true;
|
DamageEvP = true;
|
||||||
|
|
||||||
@ -110,7 +115,21 @@ public class BombLobbers extends TeamGame implements IThrown
|
|||||||
|
|
||||||
WorldTimeSet = 6000;
|
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(
|
||||||
|
Kills,
|
||||||
|
Assists,
|
||||||
|
DamageTaken,
|
||||||
|
BlankLine,
|
||||||
|
new ChatStatData("Thrown", "Bombs Lobbed", true)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
|
@ -22,6 +22,7 @@ import nautilus.game.arcade.GameType;
|
|||||||
import nautilus.game.arcade.game.TeamGame;
|
import nautilus.game.arcade.game.TeamGame;
|
||||||
import nautilus.game.arcade.game.games.micro.kits.*;
|
import nautilus.game.arcade.game.games.micro.kits.*;
|
||||||
import nautilus.game.arcade.kit.Kit;
|
import nautilus.game.arcade.kit.Kit;
|
||||||
|
import nautilus.game.arcade.managers.chat.ChatStatData;
|
||||||
import nautilus.game.arcade.stats.KillsWithinGameStatTracker;
|
import nautilus.game.arcade.stats.KillsWithinGameStatTracker;
|
||||||
|
|
||||||
public class Micro extends TeamGame
|
public class Micro extends TeamGame
|
||||||
@ -58,7 +59,17 @@ public class Micro extends TeamGame
|
|||||||
this.BlockBreak = true;
|
this.BlockBreak = true;
|
||||||
this.BlockPlace = true;
|
this.BlockPlace = true;
|
||||||
|
|
||||||
registerStatTrackers(new KillsWithinGameStatTracker(this, 8, "Annihilation"));
|
registerStatTrackers(
|
||||||
|
new KillsWithinGameStatTracker(this, 8, "Annihilation")
|
||||||
|
);
|
||||||
|
|
||||||
|
registerChatStats(
|
||||||
|
Kills,
|
||||||
|
Assists,
|
||||||
|
BlankLine,
|
||||||
|
DamageTaken,
|
||||||
|
DamageDealt
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -74,29 +74,33 @@ public class MilkCow extends SoloGame
|
|||||||
super(manager, GameType.MilkCow,
|
super(manager, GameType.MilkCow,
|
||||||
|
|
||||||
new Kit[]
|
new Kit[]
|
||||||
{
|
{
|
||||||
new KitFarmerJump(manager),
|
new KitFarmerJump(manager),
|
||||||
new KitSturdyFarmhand(manager),
|
new KitSturdyFarmhand(manager),
|
||||||
new NullKit(manager),
|
new NullKit(manager),
|
||||||
new KitCow(manager),
|
new KitCow(manager),
|
||||||
},
|
},
|
||||||
|
|
||||||
new String[]
|
new String[]
|
||||||
{
|
{
|
||||||
"Farmers get 1 point for drinking milk.",
|
"Farmers get 1 point for drinking milk.",
|
||||||
"You lose 5 points for dying!",
|
"You lose 5 points for dying!",
|
||||||
"",
|
"",
|
||||||
"Cows get 1 point for killing farmers.",
|
"Cows get 1 point for killing farmers.",
|
||||||
"Defend your herd to stop farmers!",
|
"Defend your herd to stop farmers!",
|
||||||
"",
|
"",
|
||||||
"First player to 15 points wins!"
|
"First player to 15 points wins!"
|
||||||
});
|
});
|
||||||
|
|
||||||
this.CompassEnabled = true;
|
this.CompassEnabled = true;
|
||||||
this.DeathOut = false;
|
this.DeathOut = false;
|
||||||
|
|
||||||
_scoreObj = Scoreboard.GetScoreboard().registerNewObjective("Milk", "dummy");
|
_scoreObj = Scoreboard.GetScoreboard().registerNewObjective("Milk", "dummy");
|
||||||
_scoreObj.setDisplaySlot(DisplaySlot.BELOW_NAME);
|
_scoreObj.setDisplaySlot(DisplaySlot.BELOW_NAME);
|
||||||
|
|
||||||
|
registerChatStats(
|
||||||
|
Kills
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -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.items.guns.GunType;
|
||||||
import nautilus.game.arcade.game.games.minestrike.kits.KitPlayer;
|
import nautilus.game.arcade.game.games.minestrike.kits.KitPlayer;
|
||||||
import nautilus.game.arcade.kit.Kit;
|
import nautilus.game.arcade.kit.Kit;
|
||||||
|
import nautilus.game.arcade.managers.chat.ChatStatData;
|
||||||
import nautilus.game.arcade.stats.KaboomStatTracker;
|
import nautilus.game.arcade.stats.KaboomStatTracker;
|
||||||
import nautilus.game.arcade.stats.KillAllOpposingMineStrikeRoundStatTracker;
|
import nautilus.game.arcade.stats.KillAllOpposingMineStrikeRoundStatTracker;
|
||||||
import nautilus.game.arcade.stats.KillFastStatTracker;
|
import nautilus.game.arcade.stats.KillFastStatTracker;
|
||||||
@ -243,57 +244,57 @@ public class MineStrike extends TeamGame
|
|||||||
{
|
{
|
||||||
super(manager, GameType.MineStrike,
|
super(manager, GameType.MineStrike,
|
||||||
|
|
||||||
new Kit[]
|
new Kit[]
|
||||||
{
|
{
|
||||||
new KitPlayer(manager),
|
new KitPlayer(manager),
|
||||||
},
|
},
|
||||||
|
|
||||||
new String[]
|
new String[]
|
||||||
{
|
{
|
||||||
C.cAqua + "SWAT" + C.cWhite + " Defend the Bomb Sites",
|
C.cAqua + "SWAT" + C.cWhite + " Defend the Bomb Sites",
|
||||||
C.cAqua + "SWAT" + C.cWhite + " Kill the Bombers",
|
C.cAqua + "SWAT" + C.cWhite + " Kill the Bombers",
|
||||||
" ",
|
" ",
|
||||||
C.cRed + "Bombers" + C.cWhite + " Plant the Bomb at Bomb Site",
|
C.cRed + "Bombers" + C.cWhite + " Plant the Bomb at Bomb Site",
|
||||||
C.cRed + "Bombers" + C.cWhite + " Kill the SWAT Team",
|
C.cRed + "Bombers" + C.cWhite + " Kill the SWAT Team",
|
||||||
});
|
});
|
||||||
|
|
||||||
_shopManager = new ShopManager(this);
|
_shopManager = new ShopManager(this);
|
||||||
|
|
||||||
this.StrictAntiHack = true;
|
this.StrictAntiHack = true;
|
||||||
|
|
||||||
AnnounceStay = false;
|
AnnounceStay = false;
|
||||||
|
|
||||||
this.HungerSet = 20;
|
this.HungerSet = 20;
|
||||||
|
|
||||||
this.ItemDrop = true;
|
this.ItemDrop = true;
|
||||||
|
|
||||||
this.DeathTeleport = false;
|
this.DeathTeleport = false;
|
||||||
|
|
||||||
this.InventoryClick = true;
|
this.InventoryClick = true;
|
||||||
|
|
||||||
this.JoinInProgress = true;
|
this.JoinInProgress = true;
|
||||||
|
|
||||||
this.DontAllowOverfill = true;
|
this.DontAllowOverfill = true;
|
||||||
|
|
||||||
_scoreObj = Scoreboard.GetScoreboard().registerNewObjective("HP", "dummy");
|
_scoreObj = Scoreboard.GetScoreboard().registerNewObjective("HP", "dummy");
|
||||||
_scoreObj.setDisplaySlot(DisplaySlot.BELOW_NAME);
|
_scoreObj.setDisplaySlot(DisplaySlot.BELOW_NAME);
|
||||||
|
|
||||||
this._help = new String[]
|
this._help = new String[]
|
||||||
{
|
{
|
||||||
//"Tap Crouch when close to an ally to Boost",
|
//"Tap Crouch when close to an ally to Boost",
|
||||||
"Open Inventory at spawn to buy guns",
|
"Open Inventory at spawn to buy guns",
|
||||||
"Hold Right-Click to Plant Bomb",
|
"Hold Right-Click to Plant Bomb",
|
||||||
"Look at the Bomb to Defuse it",
|
"Look at the Bomb to Defuse it",
|
||||||
"Moving decreases accuracy",
|
"Moving decreases accuracy",
|
||||||
"Sprinting heavily decreases accuracy",
|
"Sprinting heavily decreases accuracy",
|
||||||
"Jumping massively decreases accuracy",
|
"Jumping massively decreases accuracy",
|
||||||
"Crouching increases accuracy",
|
"Crouching increases accuracy",
|
||||||
"Left-Click to drop Grenades",
|
"Left-Click to drop Grenades",
|
||||||
"Right-Click to throw Grenades",
|
"Right-Click to throw Grenades",
|
||||||
"Burst Fire for greater accuracy",
|
"Burst Fire for greater accuracy",
|
||||||
"Sniper Rifles are only accurate while scoped",
|
"Sniper Rifles are only accurate while scoped",
|
||||||
"Rifles have 30% recoil reduction while scoped",
|
"Rifles have 30% recoil reduction while scoped",
|
||||||
"Pick up better weapons from dead players"
|
"Pick up better weapons from dead players"
|
||||||
};
|
};
|
||||||
|
|
||||||
registerStatTrackers(
|
registerStatTrackers(
|
||||||
@ -304,10 +305,19 @@ public class MineStrike extends TeamGame
|
|||||||
new MineStrikeLastAliveKillStatTracker(this),
|
new MineStrikeLastAliveKillStatTracker(this),
|
||||||
new KillFastStatTracker(this, 4, 5, "KillingSpree"),
|
new KillFastStatTracker(this, 4, 5, "KillingSpree"),
|
||||||
new KillsWithConditionStatTracker(this, "Blindfolded", ConditionType.BLINDNESS, "Flash Bang", 2),
|
new KillsWithConditionStatTracker(this, "Blindfolded", ConditionType.BLINDNESS, "Flash Bang", 2),
|
||||||
|
|
||||||
new TeamDeathsStatTracker(this),
|
new TeamDeathsStatTracker(this),
|
||||||
new TeamKillsStatTracker(this)
|
new TeamKillsStatTracker(this)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
registerChatStats(
|
||||||
|
Kills,
|
||||||
|
Deaths,
|
||||||
|
KDRatio,
|
||||||
|
BlankLine,
|
||||||
|
new ChatStatData("BoomHeadshot", "Headshots", true),
|
||||||
|
Assists
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -84,6 +84,8 @@ public class MineWare extends SoloGame
|
|||||||
Manager.GetCreature().SetDisableCustomDrops(true);
|
Manager.GetCreature().SetDisableCustomDrops(true);
|
||||||
|
|
||||||
PopulateOrders();
|
PopulateOrders();
|
||||||
|
|
||||||
|
registerChatStats();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -31,6 +31,8 @@ public class Moba extends TeamGame
|
|||||||
this.DeathSpectateSecs = 8;
|
this.DeathSpectateSecs = 8;
|
||||||
|
|
||||||
this.HungerSet = 20;
|
this.HungerSet = 20;
|
||||||
|
|
||||||
|
registerChatStats();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -63,6 +63,8 @@ public class MonsterLeague extends TeamGame
|
|||||||
|
|
||||||
this.TeamArmor = true;
|
this.TeamArmor = true;
|
||||||
this.TeamArmorHotbar = true;
|
this.TeamArmorHotbar = true;
|
||||||
|
|
||||||
|
registerChatStats();
|
||||||
}
|
}
|
||||||
|
|
||||||
//Supports anywhere from 2-4 teams on a map
|
//Supports anywhere from 2-4 teams on a map
|
||||||
|
@ -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.SnowmanHitTracker;
|
||||||
import nautilus.game.arcade.game.games.monstermaze.trackers.SurvivePast10thSafepadTracker;
|
import nautilus.game.arcade.game.games.monstermaze.trackers.SurvivePast10thSafepadTracker;
|
||||||
import nautilus.game.arcade.kit.Kit;
|
import nautilus.game.arcade.kit.Kit;
|
||||||
|
import nautilus.game.arcade.managers.chat.ChatStatData;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.Effect;
|
import org.bukkit.Effect;
|
||||||
@ -101,6 +102,13 @@ public class MonsterMaze extends SoloGame
|
|||||||
new SurvivePast10thSafepadTracker(this)
|
new SurvivePast10thSafepadTracker(this)
|
||||||
);
|
);
|
||||||
//_maze = new SnowmanMaze(this, WorldData.GetDataLocs("GRAY")/*, WorldData.GetCustomLocs("103")*/);
|
//_maze = new SnowmanMaze(this, WorldData.GetDataLocs("GRAY")/*, WorldData.GetCustomLocs("103")*/);
|
||||||
|
|
||||||
|
registerChatStats(//first to beacon
|
||||||
|
new ChatStatData("Ninja", "Times Hit", true),
|
||||||
|
new ChatStatData("Speed", "First to safe pad", true),
|
||||||
|
BlankLine,
|
||||||
|
new ChatStatData("kit", "Kit", true)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Maze getMaze()
|
public Maze getMaze()
|
||||||
|
@ -88,6 +88,8 @@ public class OldMineWare extends SoloGame
|
|||||||
InventoryClick = true;
|
InventoryClick = true;
|
||||||
|
|
||||||
PopulateOrders();
|
PopulateOrders();
|
||||||
|
|
||||||
|
registerChatStats();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -114,6 +114,16 @@ public class Paintball extends TeamGame
|
|||||||
new WinFastStatTracker(this, 30, "Speedrunner"),
|
new WinFastStatTracker(this, 30, "Speedrunner"),
|
||||||
new LastStandStatTracker(this)
|
new LastStandStatTracker(this)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
registerChatStats(
|
||||||
|
Kills,
|
||||||
|
Deaths,
|
||||||
|
KDRatio,
|
||||||
|
BlankLine,
|
||||||
|
Assists,
|
||||||
|
DamageTaken,
|
||||||
|
DamageDealt
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
|
@ -92,6 +92,16 @@ public class Quiver extends SoloGame
|
|||||||
new SharpShooterStatTracker(this),
|
new SharpShooterStatTracker(this),
|
||||||
new WinWithoutBowStatTracker(this, "WhatsABow")
|
new WinWithoutBowStatTracker(this, "WhatsABow")
|
||||||
);
|
);
|
||||||
|
|
||||||
|
registerChatStats(
|
||||||
|
Kills,
|
||||||
|
Deaths,
|
||||||
|
KDRatio,
|
||||||
|
BlankLine,
|
||||||
|
Assists,
|
||||||
|
DamageTaken,
|
||||||
|
DamageDealt
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler(priority = EventPriority.HIGH)
|
@EventHandler(priority = EventPriority.HIGH)
|
||||||
|
@ -65,6 +65,16 @@ public class QuiverTeams extends TeamGame
|
|||||||
|
|
||||||
this.TeamArmor = true;
|
this.TeamArmor = true;
|
||||||
this.TeamArmorHotbar = true;
|
this.TeamArmorHotbar = true;
|
||||||
|
|
||||||
|
registerChatStats(
|
||||||
|
Kills,
|
||||||
|
Deaths,
|
||||||
|
KDRatio,
|
||||||
|
BlankLine,
|
||||||
|
Assists,
|
||||||
|
DamageTaken,
|
||||||
|
DamageDealt
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler(priority = EventPriority.HIGH)
|
@EventHandler(priority = EventPriority.HIGH)
|
||||||
|
@ -32,6 +32,7 @@ import nautilus.game.arcade.GameType;
|
|||||||
import nautilus.game.arcade.game.SoloGame;
|
import nautilus.game.arcade.game.SoloGame;
|
||||||
import nautilus.game.arcade.game.games.runner.kits.*;
|
import nautilus.game.arcade.game.games.runner.kits.*;
|
||||||
import nautilus.game.arcade.kit.Kit;
|
import nautilus.game.arcade.kit.Kit;
|
||||||
|
import nautilus.game.arcade.managers.chat.ChatStatData;
|
||||||
import nautilus.game.arcade.stats.DistanceTraveledStatTracker;
|
import nautilus.game.arcade.stats.DistanceTraveledStatTracker;
|
||||||
|
|
||||||
import net.minecraft.server.v1_8_R3.EntityArrow;
|
import net.minecraft.server.v1_8_R3.EntityArrow;
|
||||||
@ -66,6 +67,12 @@ public class Runner extends SoloGame implements IThrown
|
|||||||
this.PrepareFreeze = false;
|
this.PrepareFreeze = false;
|
||||||
|
|
||||||
registerStatTrackers(new DistanceTraveledStatTracker(this, "MarathonRunner"));
|
registerStatTrackers(new DistanceTraveledStatTracker(this, "MarathonRunner"));
|
||||||
|
|
||||||
|
registerChatStats(
|
||||||
|
new ChatStatData("MarathonRunner", "Distance ran", true),
|
||||||
|
BlankLine,
|
||||||
|
new ChatStatData("kit", "Kit", true)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
|
@ -72,6 +72,11 @@ public class SearchAndDestroy extends TeamGame
|
|||||||
DamageSelf = false;
|
DamageSelf = false;
|
||||||
|
|
||||||
Manager.GetDamage().GetCombatManager().setUseWeaponName(AttackReason.DefaultWeaponName);
|
Manager.GetDamage().GetCombatManager().setUseWeaponName(AttackReason.DefaultWeaponName);
|
||||||
|
|
||||||
|
registerChatStats(
|
||||||
|
Kills,
|
||||||
|
Assists
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
public ArrayList<TeamBomb> getBombs()
|
public ArrayList<TeamBomb> getBombs()
|
||||||
|
@ -53,6 +53,7 @@ import nautilus.game.arcade.game.GameTeam;
|
|||||||
import nautilus.game.arcade.game.TeamGame;
|
import nautilus.game.arcade.game.TeamGame;
|
||||||
import nautilus.game.arcade.game.games.sheep.kits.*;
|
import nautilus.game.arcade.game.games.sheep.kits.*;
|
||||||
import nautilus.game.arcade.kit.Kit;
|
import nautilus.game.arcade.kit.Kit;
|
||||||
|
import nautilus.game.arcade.managers.chat.ChatStatData;
|
||||||
import nautilus.game.arcade.stats.SheepDropStatTracker;
|
import nautilus.game.arcade.stats.SheepDropStatTracker;
|
||||||
import nautilus.game.arcade.stats.SheepThiefStatTracker;
|
import nautilus.game.arcade.stats.SheepThiefStatTracker;
|
||||||
import nautilus.game.arcade.stats.WinWithSheepStatTracker;
|
import nautilus.game.arcade.stats.WinWithSheepStatTracker;
|
||||||
@ -155,6 +156,15 @@ public class SheepGame extends TeamGame
|
|||||||
new SheepDropStatTracker(this),
|
new SheepDropStatTracker(this),
|
||||||
new WinWithSheepStatTracker(this)
|
new WinWithSheepStatTracker(this)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
registerChatStats(
|
||||||
|
new ChatStatData("AnimalRescue", "Captures", true),
|
||||||
|
new ChatStatData("Thief", "Stolen", true),
|
||||||
|
BlankLine,
|
||||||
|
Kills,
|
||||||
|
Deaths,
|
||||||
|
KDRatio
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -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.KitMiner;
|
||||||
import nautilus.game.arcade.game.games.skywars.kits.KitMadScientist;
|
import nautilus.game.arcade.game.games.skywars.kits.KitMadScientist;
|
||||||
import nautilus.game.arcade.kit.Kit;
|
import nautilus.game.arcade.kit.Kit;
|
||||||
|
import nautilus.game.arcade.managers.chat.ChatStatData;
|
||||||
import nautilus.game.arcade.ore.OreHider;
|
import nautilus.game.arcade.ore.OreHider;
|
||||||
import nautilus.game.arcade.stats.DeathBomberStatTracker;
|
import nautilus.game.arcade.stats.DeathBomberStatTracker;
|
||||||
import nautilus.game.arcade.stats.SkywarsKillZombieStatTracker;
|
import nautilus.game.arcade.stats.SkywarsKillZombieStatTracker;
|
||||||
@ -204,6 +205,16 @@ public abstract class Skywars extends Game
|
|||||||
new WinWithoutOpeningChestStatTracker(this),
|
new WinWithoutOpeningChestStatTracker(this),
|
||||||
new WinWithoutWearingArmorStatTracker(this));
|
new WinWithoutWearingArmorStatTracker(this));
|
||||||
|
|
||||||
|
registerChatStats(
|
||||||
|
Kills,
|
||||||
|
Deaths,
|
||||||
|
KDRatio,
|
||||||
|
BlankLine,
|
||||||
|
Assists,
|
||||||
|
DamageTaken,
|
||||||
|
DamageDealt
|
||||||
|
);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ParseData()
|
public void ParseData()
|
||||||
|
@ -16,6 +16,7 @@ import nautilus.game.arcade.GameType;
|
|||||||
import nautilus.game.arcade.events.GameStateChangeEvent;
|
import nautilus.game.arcade.events.GameStateChangeEvent;
|
||||||
import nautilus.game.arcade.game.GameTeam;
|
import nautilus.game.arcade.game.GameTeam;
|
||||||
import nautilus.game.arcade.game.Game.GameState;
|
import nautilus.game.arcade.game.Game.GameState;
|
||||||
|
import nautilus.game.arcade.managers.chat.ChatStatData;
|
||||||
|
|
||||||
public class SoloSuperSmash extends SuperSmash
|
public class SoloSuperSmash extends SuperSmash
|
||||||
{
|
{
|
||||||
@ -32,6 +33,18 @@ public class SoloSuperSmash extends SuperSmash
|
|||||||
});
|
});
|
||||||
|
|
||||||
this.DamageTeamSelf = true;
|
this.DamageTeamSelf = true;
|
||||||
|
|
||||||
|
registerChatStats(
|
||||||
|
Kills,
|
||||||
|
Deaths,
|
||||||
|
KDRatio,
|
||||||
|
BlankLine,
|
||||||
|
Assists,
|
||||||
|
DamageTaken,
|
||||||
|
DamageDealt,
|
||||||
|
BlankLine,
|
||||||
|
new ChatStatData("kit", "Kit", true)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
|
@ -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.common.Domination;
|
||||||
import nautilus.game.arcade.game.games.smash.kits.*;
|
import nautilus.game.arcade.game.games.smash.kits.*;
|
||||||
import nautilus.game.arcade.kit.Kit;
|
import nautilus.game.arcade.kit.Kit;
|
||||||
|
import nautilus.game.arcade.managers.chat.ChatStatData;
|
||||||
|
|
||||||
public class SuperSmashDominate extends Domination
|
public class SuperSmashDominate extends Domination
|
||||||
{
|
{
|
||||||
public SuperSmashDominate(ArcadeManager manager)
|
public SuperSmashDominate(ArcadeManager manager)
|
||||||
@ -55,6 +56,18 @@ public class SuperSmashDominate extends Domination
|
|||||||
new KitMagmaCube(manager),
|
new KitMagmaCube(manager),
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
registerChatStats(
|
||||||
|
Kills,
|
||||||
|
Deaths,
|
||||||
|
KDRatio,
|
||||||
|
BlankLine,
|
||||||
|
Assists,
|
||||||
|
DamageTaken,
|
||||||
|
DamageDealt,
|
||||||
|
BlankLine,
|
||||||
|
new ChatStatData("kit", "Kit", true)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler(priority = EventPriority.LOWEST)
|
@EventHandler(priority = EventPriority.LOWEST)
|
||||||
|
@ -15,6 +15,7 @@ import nautilus.game.arcade.ArcadeManager;
|
|||||||
import nautilus.game.arcade.GameType;
|
import nautilus.game.arcade.GameType;
|
||||||
import nautilus.game.arcade.events.GameStateChangeEvent;
|
import nautilus.game.arcade.events.GameStateChangeEvent;
|
||||||
import nautilus.game.arcade.game.GameTeam;
|
import nautilus.game.arcade.game.GameTeam;
|
||||||
|
import nautilus.game.arcade.managers.chat.ChatStatData;
|
||||||
|
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
@ -53,6 +54,18 @@ public class TeamSuperSmash extends SuperSmash
|
|||||||
this.TeamArmorHotbar = true;
|
this.TeamArmorHotbar = true;
|
||||||
|
|
||||||
this.DontAllowOverfill = true;
|
this.DontAllowOverfill = true;
|
||||||
|
|
||||||
|
registerChatStats(
|
||||||
|
Kills,
|
||||||
|
Deaths,
|
||||||
|
KDRatio,
|
||||||
|
BlankLine,
|
||||||
|
Assists,
|
||||||
|
DamageTaken,
|
||||||
|
DamageDealt,
|
||||||
|
BlankLine,
|
||||||
|
new ChatStatData("kit", "Kit", true)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -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.KitReverser;
|
||||||
import nautilus.game.arcade.game.games.snake.kits.KitSpeed;
|
import nautilus.game.arcade.game.games.snake.kits.KitSpeed;
|
||||||
import nautilus.game.arcade.kit.Kit;
|
import nautilus.game.arcade.kit.Kit;
|
||||||
|
import nautilus.game.arcade.managers.chat.ChatStatData;
|
||||||
import nautilus.game.arcade.stats.ChooChooStatTracker;
|
import nautilus.game.arcade.stats.ChooChooStatTracker;
|
||||||
import nautilus.game.arcade.stats.KillsWithinGameStatTracker;
|
import nautilus.game.arcade.stats.KillsWithinGameStatTracker;
|
||||||
import nautilus.game.arcade.stats.SlimySheepStatTracker;
|
import nautilus.game.arcade.stats.SlimySheepStatTracker;
|
||||||
@ -157,6 +158,15 @@ public class Snake extends SoloGame
|
|||||||
new ChooChooStatTracker(this),
|
new ChooChooStatTracker(this),
|
||||||
new SlimySheepStatTracker(this)
|
new SlimySheepStatTracker(this)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
registerChatStats(//slimes eaten, kills, length
|
||||||
|
new ChatStatData("Cannibal", "Kills", true),
|
||||||
|
BlankLine,
|
||||||
|
new ChatStatData("ChooChoo", "Tail Length", true),
|
||||||
|
new ChatStatData("SlimySheep", "Slimes Eaten", true),
|
||||||
|
BlankLine,
|
||||||
|
new ChatStatData("kit", "Kit", true)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
|
@ -92,6 +92,14 @@ public class SneakyAssassins extends SoloGame
|
|||||||
new RevealStatTracker(this, "ISeeYou"),
|
new RevealStatTracker(this, "ISeeYou"),
|
||||||
_killEntityStatTracker
|
_killEntityStatTracker
|
||||||
);
|
);
|
||||||
|
|
||||||
|
registerChatStats(//assists
|
||||||
|
Kills,
|
||||||
|
Assists,
|
||||||
|
BlankLine,
|
||||||
|
DamageTaken,
|
||||||
|
DamageDealt
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -104,6 +104,14 @@ public class SnowFight extends TeamGame
|
|||||||
|
|
||||||
this.TeamArmor = true;
|
this.TeamArmor = true;
|
||||||
this.TeamArmorHotbar = true;
|
this.TeamArmorHotbar = true;
|
||||||
|
|
||||||
|
registerChatStats(//damage, collected
|
||||||
|
Kills,
|
||||||
|
Assists,
|
||||||
|
BlankLine,
|
||||||
|
DamageTaken,
|
||||||
|
DamageDealt
|
||||||
|
);
|
||||||
|
|
||||||
// this.WorldWeatherEnabled = true;
|
// this.WorldWeatherEnabled = true;
|
||||||
// this.WorldTimeSet = 4000;
|
// this.WorldTimeSet = 4000;
|
||||||
|
@ -32,6 +32,7 @@ import nautilus.game.arcade.ArcadeManager;
|
|||||||
import nautilus.game.arcade.GameType;
|
import nautilus.game.arcade.GameType;
|
||||||
import nautilus.game.arcade.game.SoloGame;
|
import nautilus.game.arcade.game.SoloGame;
|
||||||
import nautilus.game.arcade.kit.Kit;
|
import nautilus.game.arcade.kit.Kit;
|
||||||
|
import nautilus.game.arcade.managers.chat.ChatStatData;
|
||||||
import nautilus.game.arcade.stats.SpleefBlockDestroyStatTracker;
|
import nautilus.game.arcade.stats.SpleefBlockDestroyStatTracker;
|
||||||
|
|
||||||
import net.minecraft.server.v1_8_R3.EntityArrow;
|
import net.minecraft.server.v1_8_R3.EntityArrow;
|
||||||
@ -62,6 +63,15 @@ public class Spleef extends SoloGame
|
|||||||
this.PrepareFreeze = false;
|
this.PrepareFreeze = false;
|
||||||
|
|
||||||
registerStatTrackers(new SpleefBlockDestroyStatTracker(this));
|
registerStatTrackers(new SpleefBlockDestroyStatTracker(this));
|
||||||
|
|
||||||
|
registerChatStats(
|
||||||
|
DamageTaken,
|
||||||
|
DamageDealt,
|
||||||
|
BlankLine,
|
||||||
|
new ChatStatData("SpleefBlocks", "Blocks Broken", true),
|
||||||
|
BlankLine,
|
||||||
|
new ChatStatData("kit", "Kit", true)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
|
@ -30,6 +30,7 @@ import nautilus.game.arcade.GameType;
|
|||||||
import nautilus.game.arcade.game.TeamGame;
|
import nautilus.game.arcade.game.TeamGame;
|
||||||
import nautilus.game.arcade.game.games.spleef.kits.*;
|
import nautilus.game.arcade.game.games.spleef.kits.*;
|
||||||
import nautilus.game.arcade.kit.Kit;
|
import nautilus.game.arcade.kit.Kit;
|
||||||
|
import nautilus.game.arcade.managers.chat.ChatStatData;
|
||||||
|
|
||||||
import net.minecraft.server.v1_8_R3.EntityArrow;
|
import net.minecraft.server.v1_8_R3.EntityArrow;
|
||||||
|
|
||||||
@ -59,6 +60,15 @@ public class SpleefTeams extends TeamGame
|
|||||||
|
|
||||||
this.TeamArmor = true;
|
this.TeamArmor = true;
|
||||||
this.TeamArmorHotbar = true;
|
this.TeamArmorHotbar = true;
|
||||||
|
|
||||||
|
registerChatStats(
|
||||||
|
Kills,
|
||||||
|
Assists,
|
||||||
|
BlankLine,
|
||||||
|
new ChatStatData("BlocksBroken", "Blocks Broken", true),
|
||||||
|
BlankLine,
|
||||||
|
new ChatStatData("kit", "Kit", true)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
|
@ -50,6 +50,8 @@ public class SquidShooter extends SoloGame
|
|||||||
this.PrepareFreeze = false;
|
this.PrepareFreeze = false;
|
||||||
this.CompassEnabled = true;
|
this.CompassEnabled = true;
|
||||||
this.KitRegisterState = GameState.Prepare;
|
this.KitRegisterState = GameState.Prepare;
|
||||||
|
|
||||||
|
registerChatStats();
|
||||||
}
|
}
|
||||||
@EventHandler
|
@EventHandler
|
||||||
public void Death(CombatDeathEvent event)
|
public void Death(CombatDeathEvent event)
|
||||||
|
@ -54,6 +54,8 @@ public class Stacker extends SoloGame implements IThrown
|
|||||||
"Players lose 5 stacked animals if they get hit.",
|
"Players lose 5 stacked animals if they get hit.",
|
||||||
"First to stack 16 high wins!"
|
"First to stack 16 high wins!"
|
||||||
});
|
});
|
||||||
|
|
||||||
|
registerChatStats();
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
|
@ -14,6 +14,7 @@ import nautilus.game.arcade.GameType;
|
|||||||
import nautilus.game.arcade.events.GameStateChangeEvent;
|
import nautilus.game.arcade.events.GameStateChangeEvent;
|
||||||
import nautilus.game.arcade.game.GameTeam;
|
import nautilus.game.arcade.game.GameTeam;
|
||||||
import nautilus.game.arcade.game.Game.GameState;
|
import nautilus.game.arcade.game.Game.GameState;
|
||||||
|
import nautilus.game.arcade.managers.chat.ChatStatData;
|
||||||
|
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
@ -87,6 +87,7 @@ import nautilus.game.arcade.game.Game;
|
|||||||
import nautilus.game.arcade.game.GameTeam;
|
import nautilus.game.arcade.game.GameTeam;
|
||||||
import nautilus.game.arcade.game.games.survivalgames.kit.*;
|
import nautilus.game.arcade.game.games.survivalgames.kit.*;
|
||||||
import nautilus.game.arcade.kit.Kit;
|
import nautilus.game.arcade.kit.Kit;
|
||||||
|
import nautilus.game.arcade.managers.chat.ChatStatData;
|
||||||
import nautilus.game.arcade.stats.FirstSupplyDropOpenStatTracker;
|
import nautilus.game.arcade.stats.FirstSupplyDropOpenStatTracker;
|
||||||
import nautilus.game.arcade.stats.KillsWithinTimeLimitStatTracker;
|
import nautilus.game.arcade.stats.KillsWithinTimeLimitStatTracker;
|
||||||
import nautilus.game.arcade.stats.SimultaneousSkeletonStatTracker;
|
import nautilus.game.arcade.stats.SimultaneousSkeletonStatTracker;
|
||||||
@ -260,6 +261,16 @@ public abstract class SurvivalGames extends Game
|
|||||||
new KillsWithinTimeLimitStatTracker(this, 3, 60, "Bloodlust"),
|
new KillsWithinTimeLimitStatTracker(this, 3, 60, "Bloodlust"),
|
||||||
new FirstSupplyDropOpenStatTracker(this),
|
new FirstSupplyDropOpenStatTracker(this),
|
||||||
new SimultaneousSkeletonStatTracker(this, 5));
|
new SimultaneousSkeletonStatTracker(this, 5));
|
||||||
|
|
||||||
|
registerChatStats(
|
||||||
|
Kills,
|
||||||
|
Assists,
|
||||||
|
BlankLine,
|
||||||
|
DamageTaken,
|
||||||
|
DamageDealt,
|
||||||
|
BlankLine,
|
||||||
|
new ChatStatData("SupplyDropsOpened", "Event chests opened", true)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
|
@ -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.KitKnight;
|
||||||
import nautilus.game.arcade.game.games.survivalgames.kit.KitLooter;
|
import nautilus.game.arcade.game.games.survivalgames.kit.KitLooter;
|
||||||
import nautilus.game.arcade.kit.Kit;
|
import nautilus.game.arcade.kit.Kit;
|
||||||
|
import nautilus.game.arcade.managers.chat.ChatStatData;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
|
@ -17,6 +17,7 @@ import nautilus.game.arcade.ArcadeManager;
|
|||||||
import nautilus.game.arcade.GameType;
|
import nautilus.game.arcade.GameType;
|
||||||
import nautilus.game.arcade.events.GameStateChangeEvent;
|
import nautilus.game.arcade.events.GameStateChangeEvent;
|
||||||
import nautilus.game.arcade.game.GameTeam;
|
import nautilus.game.arcade.game.GameTeam;
|
||||||
|
import nautilus.game.arcade.managers.chat.ChatStatData;
|
||||||
|
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
|
@ -75,6 +75,8 @@ public class Tug extends TeamGame
|
|||||||
this.DeathOut = false;
|
this.DeathOut = false;
|
||||||
|
|
||||||
this.DeathSpectateSecs = 20;
|
this.DeathSpectateSecs = 20;
|
||||||
|
|
||||||
|
registerChatStats();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -59,7 +59,10 @@ 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.KitMarksman;
|
||||||
import nautilus.game.arcade.game.games.turfforts.kits.KitShredder;
|
import nautilus.game.arcade.game.games.turfforts.kits.KitShredder;
|
||||||
import nautilus.game.arcade.kit.Kit;
|
import nautilus.game.arcade.kit.Kit;
|
||||||
|
import nautilus.game.arcade.managers.chat.ChatStatData;
|
||||||
import nautilus.game.arcade.stats.BehindEnemyLinesStatTracker;
|
import nautilus.game.arcade.stats.BehindEnemyLinesStatTracker;
|
||||||
|
import nautilus.game.arcade.stats.BlockBreakStatTracker;
|
||||||
|
import nautilus.game.arcade.stats.BlockPlaceStatTracker;
|
||||||
import nautilus.game.arcade.stats.BlockShreadStatTracker;
|
import nautilus.game.arcade.stats.BlockShreadStatTracker;
|
||||||
import nautilus.game.arcade.stats.TheComebackStatTracker;
|
import nautilus.game.arcade.stats.TheComebackStatTracker;
|
||||||
import net.minecraft.server.v1_8_R3.EntityArrow;
|
import net.minecraft.server.v1_8_R3.EntityArrow;
|
||||||
@ -112,6 +115,8 @@ public class TurfForts extends TeamGame
|
|||||||
private long _fightTime = 90000;
|
private long _fightTime = 90000;
|
||||||
private boolean _fight = false;
|
private boolean _fight = false;
|
||||||
private int _lines = 0;
|
private int _lines = 0;
|
||||||
|
|
||||||
|
private BlockBreakStatTracker _breakStatTracker;
|
||||||
|
|
||||||
private HashMap<Player, Long> _enemyTurf = new HashMap<Player, Long>();
|
private HashMap<Player, Long> _enemyTurf = new HashMap<Player, Long>();
|
||||||
|
|
||||||
@ -146,10 +151,23 @@ public class TurfForts extends TeamGame
|
|||||||
this.DamageSelf = false;
|
this.DamageSelf = false;
|
||||||
this.DeathSpectateSecs = 4;
|
this.DeathSpectateSecs = 4;
|
||||||
|
|
||||||
|
_breakStatTracker = new BlockBreakStatTracker(this, false);
|
||||||
|
|
||||||
registerStatTrackers(
|
registerStatTrackers(
|
||||||
new BlockShreadStatTracker(this),
|
new BlockShreadStatTracker(this),
|
||||||
new BehindEnemyLinesStatTracker(this),
|
new BehindEnemyLinesStatTracker(this),
|
||||||
new TheComebackStatTracker(this)
|
new TheComebackStatTracker(this),
|
||||||
|
new BlockPlaceStatTracker(this, new Material[]{}),
|
||||||
|
_breakStatTracker
|
||||||
|
);
|
||||||
|
|
||||||
|
registerChatStats(
|
||||||
|
Kills,
|
||||||
|
Deaths,
|
||||||
|
KDRatio,
|
||||||
|
BlankLine,
|
||||||
|
new ChatStatData("BlocksPlaced", "Blocks Placed", true),
|
||||||
|
new ChatStatData("BlocksBroken", "Blocks Broken", true)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -426,10 +444,12 @@ public class TurfForts extends TeamGame
|
|||||||
if (block.getData() == 14 /* && team.GetColor() != ChatColor.RED */)
|
if (block.getData() == 14 /* && team.GetColor() != ChatColor.RED */)
|
||||||
{
|
{
|
||||||
block.getWorld().playEffect(block.getLocation(), Effect.STEP_SOUND, Material.REDSTONE_BLOCK.getId());
|
block.getWorld().playEffect(block.getLocation(), Effect.STEP_SOUND, Material.REDSTONE_BLOCK.getId());
|
||||||
|
_breakStatTracker.addStat(shooter);
|
||||||
}
|
}
|
||||||
else if (block.getData() == 3 /* && team.GetColor() != ChatColor.AQUA */)
|
else if (block.getData() == 3 /* && team.GetColor() != ChatColor.AQUA */)
|
||||||
{
|
{
|
||||||
block.getWorld().playEffect(block.getLocation(), Effect.STEP_SOUND, Material.LAPIS_BLOCK.getId());
|
block.getWorld().playEffect(block.getLocation(), Effect.STEP_SOUND, Material.LAPIS_BLOCK.getId());
|
||||||
|
_breakStatTracker.addStat(shooter);
|
||||||
}
|
}
|
||||||
|
|
||||||
Bukkit.getPluginManager().callEvent(new ShredBlockEvent(block, arrow));
|
Bukkit.getPluginManager().callEvent(new ShredBlockEvent(block, arrow));
|
||||||
|
@ -66,6 +66,8 @@ import nautilus.game.arcade.game.games.typewars.tutorial.TutorialTypeWars;
|
|||||||
import nautilus.game.arcade.gametutorial.events.GameTutorialEndEvent;
|
import nautilus.game.arcade.gametutorial.events.GameTutorialEndEvent;
|
||||||
import nautilus.game.arcade.gametutorial.events.GameTutorialStartEvent;
|
import nautilus.game.arcade.gametutorial.events.GameTutorialStartEvent;
|
||||||
import nautilus.game.arcade.kit.Kit;
|
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;
|
import nautilus.game.arcade.world.WorldData;
|
||||||
|
|
||||||
public class TypeWars extends TeamGame
|
public class TypeWars extends TeamGame
|
||||||
@ -167,6 +169,10 @@ public class TypeWars extends TeamGame
|
|||||||
new KillsStatTracker(this),
|
new KillsStatTracker(this),
|
||||||
new TimeInGameTracker(this)
|
new TimeInGameTracker(this)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
registerChatStats(
|
||||||
|
new ChatStatData("MinionKills", "Kills", true)
|
||||||
|
);
|
||||||
|
|
||||||
manager.GetCreature().SetDisableCustomDrops(true);
|
manager.GetCreature().SetDisableCustomDrops(true);
|
||||||
manager.GetChat().setThreeSecondDelay(false);
|
manager.GetChat().setThreeSecondDelay(false);
|
||||||
|
@ -207,6 +207,14 @@ public class UHC extends TeamGame
|
|||||||
|
|
||||||
_createTime = System.currentTimeMillis();
|
_createTime = System.currentTimeMillis();
|
||||||
_serverTime = Utility.currentTimeMillis();
|
_serverTime = Utility.currentTimeMillis();
|
||||||
|
|
||||||
|
registerChatStats(
|
||||||
|
Kills,
|
||||||
|
Assists,
|
||||||
|
BlankLine,
|
||||||
|
DamageTaken,
|
||||||
|
DamageDealt
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -66,6 +66,7 @@ import nautilus.game.arcade.game.games.wither.kit.KitWitherMinion;
|
|||||||
import nautilus.game.arcade.kit.Kit;
|
import nautilus.game.arcade.kit.Kit;
|
||||||
import nautilus.game.arcade.kit.NullKit;
|
import nautilus.game.arcade.kit.NullKit;
|
||||||
import nautilus.game.arcade.kit.perks.data.IBlockRestorer;
|
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.TeamDeathsStatTracker;
|
||||||
import nautilus.game.arcade.stats.TeamKillsStatTracker;
|
import nautilus.game.arcade.stats.TeamKillsStatTracker;
|
||||||
|
|
||||||
@ -148,6 +149,14 @@ public class WitherGame extends TeamGame implements IBlockRestorer
|
|||||||
new TeamDeathsStatTracker(this),
|
new TeamDeathsStatTracker(this),
|
||||||
new TeamKillsStatTracker(this)
|
new TeamKillsStatTracker(this)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
registerChatStats(
|
||||||
|
Deaths,
|
||||||
|
DamageTaken,
|
||||||
|
DamageDealt,
|
||||||
|
BlankLine,
|
||||||
|
new ChatStatData("kit", "Kit", true)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -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.PacketPlayOutSetSlot;
|
||||||
import net.minecraft.server.v1_8_R3.PacketPlayOutWindowItems;
|
import net.minecraft.server.v1_8_R3.PacketPlayOutWindowItems;
|
||||||
|
|
||||||
|
import nautilus.game.arcade.managers.chat.ChatStatData;
|
||||||
import org.apache.commons.lang.IllegalClassException;
|
import org.apache.commons.lang.IllegalClassException;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
@ -166,6 +167,16 @@ public class Wizards extends SoloGame
|
|||||||
SoupEnabled = false;
|
SoupEnabled = false;
|
||||||
DamageTeamSelf = true;
|
DamageTeamSelf = true;
|
||||||
|
|
||||||
|
registerChatStats(
|
||||||
|
Kills,
|
||||||
|
Assists,
|
||||||
|
BlankLine,
|
||||||
|
DamageTaken,
|
||||||
|
DamageDealt,
|
||||||
|
BlankLine,
|
||||||
|
new ChatStatData("kit", "Kit", true)
|
||||||
|
);
|
||||||
|
|
||||||
Manager.getCosmeticManager().setHideParticles(true);
|
Manager.getCosmeticManager().setHideParticles(true);
|
||||||
// Manager.GetDamage().GetCombatManager().setUseWeaponName(AttackReason.DefaultWeaponName);
|
// Manager.GetDamage().GetCombatManager().setUseWeaponName(AttackReason.DefaultWeaponName);
|
||||||
|
|
||||||
|
@ -71,6 +71,11 @@ public class ZombieSurvival extends SoloGame
|
|||||||
this.HungerSet = 20;
|
this.HungerSet = 20;
|
||||||
|
|
||||||
this.CompassEnabled = true;
|
this.CompassEnabled = true;
|
||||||
|
|
||||||
|
registerChatStats(
|
||||||
|
Kills,
|
||||||
|
Assists
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -1,177 +0,0 @@
|
|||||||
package nautilus.game.arcade.managers;
|
|
||||||
|
|
||||||
import java.util.Iterator;
|
|
||||||
|
|
||||||
import mineplex.core.account.CoreClient;
|
|
||||||
import mineplex.core.common.Rank;
|
|
||||||
import mineplex.core.common.util.C;
|
|
||||||
import mineplex.core.common.util.F;
|
|
||||||
import mineplex.core.party.Party;
|
|
||||||
import nautilus.game.arcade.ArcadeManager;
|
|
||||||
import nautilus.game.arcade.game.Game.GameState;
|
|
||||||
import nautilus.game.arcade.game.GameTeam;
|
|
||||||
|
|
||||||
import org.bukkit.ChatColor;
|
|
||||||
import org.bukkit.entity.Player;
|
|
||||||
import org.bukkit.event.EventHandler;
|
|
||||||
import org.bukkit.event.Listener;
|
|
||||||
import org.bukkit.event.player.AsyncPlayerChatEvent;
|
|
||||||
import org.bukkit.event.player.PlayerCommandPreprocessEvent;
|
|
||||||
|
|
||||||
public class GameChatManager implements Listener
|
|
||||||
{
|
|
||||||
ArcadeManager Manager;
|
|
||||||
|
|
||||||
public GameChatManager(ArcadeManager manager)
|
|
||||||
{
|
|
||||||
Manager = manager;
|
|
||||||
|
|
||||||
Manager.getPluginManager().registerEvents(this, Manager.getPlugin());
|
|
||||||
}
|
|
||||||
|
|
||||||
@EventHandler
|
|
||||||
public void MeCancel(PlayerCommandPreprocessEvent event)
|
|
||||||
{
|
|
||||||
if (event.getMessage().startsWith("/me "))
|
|
||||||
{
|
|
||||||
event.getPlayer().sendMessage(F.main("Mirror", "You can't see /me messages, are you a vampire?"));
|
|
||||||
event.setCancelled(true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@EventHandler
|
|
||||||
public void HandleChat(AsyncPlayerChatEvent event)
|
|
||||||
{
|
|
||||||
if (event.isCancelled())
|
|
||||||
return;
|
|
||||||
|
|
||||||
Player sender = event.getPlayer();
|
|
||||||
String senderName = sender.getName();
|
|
||||||
|
|
||||||
//Dead Prefix
|
|
||||||
String dead = "";
|
|
||||||
if (Manager.GetGame() != null)
|
|
||||||
if (Manager.GetGame().GetTeam(sender) != null)
|
|
||||||
if (!Manager.GetGame().IsAlive(sender))
|
|
||||||
dead = C.cGray + "Dead ";
|
|
||||||
|
|
||||||
Rank rank = Manager.GetClients().Get(sender).GetRank();
|
|
||||||
String disguiseTag = "";
|
|
||||||
if(Manager.GetClients().Get(sender).isDisguised())
|
|
||||||
{
|
|
||||||
CoreClient cc = Manager.GetClients().Get(sender);
|
|
||||||
rank = cc.getDisguisedRank();
|
|
||||||
|
|
||||||
if(!cc.GetRank().has(Rank.JNR_DEV))
|
|
||||||
{
|
|
||||||
disguiseTag = ChatColor.BLACK + " ";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
boolean ownsUltra = false;
|
|
||||||
|
|
||||||
if (Manager.GetGame() != null)
|
|
||||||
ownsUltra= Manager.GetDonation().Get(sender.getName()).OwnsUnknownPackage(Manager.GetServerConfig().ServerType + " ULTRA");
|
|
||||||
|
|
||||||
//Level
|
|
||||||
String levelStr = "";
|
|
||||||
if (!Manager.GetGameHostManager().isPrivateServer())
|
|
||||||
levelStr = Manager.GetAchievement().getMineplexLevel(sender, rank);
|
|
||||||
|
|
||||||
String rankStr = "";
|
|
||||||
//Rank Prefix & MPS Host Prefix
|
|
||||||
if (Manager.GetGameHostManager().isHost(event.getPlayer()))
|
|
||||||
{
|
|
||||||
if (Manager.GetGameHostManager().isEventServer())
|
|
||||||
rankStr = C.cDGreen + C.Bold + "Event Host ";
|
|
||||||
else
|
|
||||||
rankStr = C.cDGreen + C.Bold + "MPS Host ";
|
|
||||||
}
|
|
||||||
else if (Manager.GetGameHostManager().isAdmin(event.getPlayer(), false))
|
|
||||||
{
|
|
||||||
if (Manager.GetGameHostManager().isEventServer())
|
|
||||||
rankStr = C.cDGreen + C.Bold + "Event Co-Host ";
|
|
||||||
else
|
|
||||||
rankStr = C.cDGreen + C.Bold + "MPS Co-Host ";
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (rank != Rank.ALL)
|
|
||||||
rankStr = rank.getTag(true, true) + " ";
|
|
||||||
|
|
||||||
if (ownsUltra && !rank.has(Rank.ULTRA))
|
|
||||||
rankStr = Rank.ULTRA.getTag(true, true) + " ";
|
|
||||||
}
|
|
||||||
|
|
||||||
if (event.getMessage().charAt(0) == '@')
|
|
||||||
{
|
|
||||||
//Party Chat
|
|
||||||
Party party = Manager.getPartyManager().GetParty(sender);
|
|
||||||
|
|
||||||
if (party != null)
|
|
||||||
{
|
|
||||||
event.getRecipients().clear();
|
|
||||||
|
|
||||||
event.setMessage(event.getMessage().substring(1, event.getMessage().length()));
|
|
||||||
event.setFormat(levelStr + C.cDPurple + C.Bold + "Party " + C.cWhite + C.Bold + senderName + " " + C.cPurple + "%2$s");
|
|
||||||
|
|
||||||
event.getRecipients().addAll(party.GetPlayersOnline());
|
|
||||||
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//Base Format
|
|
||||||
event.setFormat(disguiseTag + dead + levelStr + rankStr + Manager.GetColor(sender) + senderName + " " + ChatColor.WHITE + "%2$s");
|
|
||||||
|
|
||||||
//Public/Private (Not If Player Dead)
|
|
||||||
if (Manager.GetGame() != null && Manager.GetGame().GetState() == GameState.Live)
|
|
||||||
{
|
|
||||||
boolean globalMessage = false;
|
|
||||||
|
|
||||||
//Team
|
|
||||||
GameTeam team = Manager.GetGame().GetTeam(sender);
|
|
||||||
|
|
||||||
if (team != null)
|
|
||||||
{
|
|
||||||
//Team Chat
|
|
||||||
if (event.getMessage().charAt(0) == '@')
|
|
||||||
{
|
|
||||||
event.setMessage(event.getMessage().substring(1, event.getMessage().length()));
|
|
||||||
event.setFormat(disguiseTag + C.cWhite + C.Bold + "Team" + " " + dead + levelStr + rankStr + team.GetColor() + senderName + " " + C.cWhite + "%2$s");
|
|
||||||
}
|
|
||||||
//All Chat
|
|
||||||
else
|
|
||||||
{
|
|
||||||
globalMessage = true;
|
|
||||||
event.setFormat(disguiseTag + dead + levelStr + rankStr + team.GetColor() + senderName + " " + C.cWhite + "%2$s");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (globalMessage)
|
|
||||||
return;
|
|
||||||
|
|
||||||
//Team Message Remove Recipient
|
|
||||||
Iterator<Player> recipientIterator = event.getRecipients().iterator();
|
|
||||||
|
|
||||||
while (recipientIterator.hasNext())
|
|
||||||
{
|
|
||||||
Player receiver = recipientIterator.next();
|
|
||||||
|
|
||||||
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);
|
|
||||||
|
|
||||||
if (recTeam == null || sendTeam == null)
|
|
||||||
{
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!recTeam.equals(sendTeam))
|
|
||||||
recipientIterator.remove();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -0,0 +1,56 @@
|
|||||||
|
package nautilus.game.arcade.managers.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 = null;
|
||||||
|
_display = " ";
|
||||||
|
_isValue = false;
|
||||||
|
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ChatStatData plainText(String text)
|
||||||
|
{
|
||||||
|
_stat = null;
|
||||||
|
_display = text;
|
||||||
|
_isValue = false;
|
||||||
|
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getStat()
|
||||||
|
{
|
||||||
|
return _stat;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getDisplay()
|
||||||
|
{
|
||||||
|
return _display;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isValue()
|
||||||
|
{
|
||||||
|
return _isValue;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,383 @@
|
|||||||
|
package nautilus.game.arcade.managers.chat;
|
||||||
|
|
||||||
|
import java.text.DecimalFormat;
|
||||||
|
import java.util.AbstractMap;
|
||||||
|
import java.util.Collection;
|
||||||
|
import java.util.Iterator;
|
||||||
|
import java.util.LinkedList;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
import org.bukkit.ChatColor;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.event.EventHandler;
|
||||||
|
import org.bukkit.event.Listener;
|
||||||
|
import org.bukkit.event.player.AsyncPlayerChatEvent;
|
||||||
|
import org.bukkit.event.player.PlayerCommandPreprocessEvent;
|
||||||
|
|
||||||
|
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;
|
||||||
|
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 org.jooq.tools.json.JSONObject;
|
||||||
|
|
||||||
|
public class GameChatManager implements Listener
|
||||||
|
{
|
||||||
|
|
||||||
|
private ArcadeManager _manager;
|
||||||
|
|
||||||
|
private LinkedList<ChatStatData> _chatStats;
|
||||||
|
|
||||||
|
public GameChatManager(ArcadeManager manager)
|
||||||
|
{
|
||||||
|
_manager = manager;
|
||||||
|
|
||||||
|
_manager.getPluginManager().registerEvents(this, _manager.getPlugin());
|
||||||
|
|
||||||
|
_chatStats = new LinkedList<ChatStatData>();
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler
|
||||||
|
public void MeCancel(PlayerCommandPreprocessEvent event)
|
||||||
|
{
|
||||||
|
if (event.getMessage().startsWith("/me "))
|
||||||
|
{
|
||||||
|
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)
|
||||||
|
{
|
||||||
|
if (event.isCancelled())
|
||||||
|
return;
|
||||||
|
|
||||||
|
Player sender = event.getPlayer();
|
||||||
|
String senderName = sender.getName();
|
||||||
|
|
||||||
|
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())
|
||||||
|
{
|
||||||
|
CoreClient cc = _manager.GetClients().Get(sender);
|
||||||
|
rank = cc.getDisguisedRank();
|
||||||
|
|
||||||
|
if(!cc.GetRank().has(Rank.JNR_DEV))
|
||||||
|
{
|
||||||
|
disguiseTag = ChatColor.BLACK + " ";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
boolean ownsUltra = false;
|
||||||
|
|
||||||
|
if (_manager.GetGame() != null)
|
||||||
|
ownsUltra = _manager.GetDonation().Get(sender.getName()).OwnsUnknownPackage(_manager.GetServerConfig().ServerType + " ULTRA");
|
||||||
|
|
||||||
|
//Level
|
||||||
|
String levelStr = "";
|
||||||
|
if (!_manager.GetGameHostManager().isPrivateServer())
|
||||||
|
levelStr = _manager.GetAchievement().getMineplexLevel(sender, rank);
|
||||||
|
|
||||||
|
String rankStr = "";
|
||||||
|
//Rank Prefix & MPS Host Prefix
|
||||||
|
if (_manager.GetGameHostManager().isHost(event.getPlayer()))
|
||||||
|
{
|
||||||
|
if (_manager.GetGameHostManager().isEventServer())
|
||||||
|
rankStr = C.cDGreen + C.Bold + "Event Host " + C.Reset;
|
||||||
|
else
|
||||||
|
rankStr = C.cDGreen + C.Bold + "MPS Host " + C.Reset;
|
||||||
|
}
|
||||||
|
else if (_manager.GetGameHostManager().isAdmin(event.getPlayer(), false))
|
||||||
|
{
|
||||||
|
if (_manager.GetGameHostManager().isEventServer())
|
||||||
|
rankStr = C.cDGreen + C.Bold + "Event Co-Host " + C.Reset;
|
||||||
|
else
|
||||||
|
rankStr = C.cDGreen + C.Bold + "MPS Co-Host " + C.Reset;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (rank != Rank.ALL)
|
||||||
|
rankStr = rank.getTag(true, true) + " " + C.Reset;
|
||||||
|
|
||||||
|
if (ownsUltra && !rank.has(Rank.ULTRA))
|
||||||
|
rankStr = Rank.ULTRA.getTag(true, true) + " " + C.Reset;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (event.getMessage().charAt(0) == '@')
|
||||||
|
{
|
||||||
|
//Party Chat
|
||||||
|
Party party = _manager.getPartyManager().GetParty(sender);
|
||||||
|
|
||||||
|
if (party != null)
|
||||||
|
{
|
||||||
|
event.getRecipients().clear();
|
||||||
|
|
||||||
|
rankStr = C.cDPurpleB + "Party " + C.Reset;
|
||||||
|
|
||||||
|
event.setMessage(event.getMessage().substring(1, event.getMessage().length()));
|
||||||
|
event.setFormat(levelStr + rankStr + C.cWhiteB + senderName + " " + C.cPurple + "%2$s");
|
||||||
|
|
||||||
|
format = event.getFormat().split(rankStr)[0];
|
||||||
|
name = C.cWhiteB + sender.getName() + C.Reset;
|
||||||
|
message = event.getFormat().split(sender.getName())[1].replace("%2$s", "") + _manager.GetChat().getFilteredMessage(sender, event.getMessage());
|
||||||
|
|
||||||
|
if(safeSend(sender, format, rankStr, rank, name, message, party.GetPlayersOnline()))
|
||||||
|
{
|
||||||
|
event.setCancelled(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
event.setFormat(levelStr + rankStr + senderName + " " + C.cWhite + "%2$s");
|
||||||
|
|
||||||
|
if(rankStr.equals(""))
|
||||||
|
format = levelStr;
|
||||||
|
else
|
||||||
|
format = event.getFormat().split(rankStr)[0];
|
||||||
|
|
||||||
|
name = _manager.GetColor(sender) + sender.getName() + C.Reset;
|
||||||
|
message = event.getFormat().split(sender.getName())[1].replace("%2$s", "") + _manager.GetChat().getFilteredMessage(sender, event.getMessage());
|
||||||
|
|
||||||
|
if (_manager.GetGame().GetState() != GameState.Live)
|
||||||
|
{
|
||||||
|
event.setFormat(levelStr + rankStr + senderName + " " + C.cWhite + "%2$s");
|
||||||
|
|
||||||
|
if(safeSend(sender, format, rankStr, rank, name, message, event.getRecipients()))
|
||||||
|
{
|
||||||
|
event.setCancelled(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
//Base Format
|
||||||
|
event.setFormat(disguiseTag + dead + levelStr + rankStr + _manager.GetColor(sender) + senderName + " " + C.cWhite + "%2$s");
|
||||||
|
|
||||||
|
//Public/Private (Not If Player Dead)
|
||||||
|
if (_manager.GetGame() != null && _manager.GetGame().GetState() == GameState.Live)
|
||||||
|
{
|
||||||
|
boolean globalMessage = false;
|
||||||
|
|
||||||
|
//Team
|
||||||
|
GameTeam team = _manager.GetGame().GetTeam(sender);
|
||||||
|
|
||||||
|
if (team != null)
|
||||||
|
{
|
||||||
|
boolean isPriv = event.getMessage().charAt(0) == '@';
|
||||||
|
|
||||||
|
if(isPriv)
|
||||||
|
event.setMessage(event.getMessage().substring(1, event.getMessage().length()));
|
||||||
|
else
|
||||||
|
globalMessage = true;
|
||||||
|
|
||||||
|
event.setFormat(isPriv ? disguiseTag + C.cWhiteB + "Team " + dead + levelStr + rankStr + senderName + " " + C.cWhite + "%2$s" : disguiseTag + dead + levelStr + rankStr + team.GetColor() + senderName + " " + C.cWhite + "%2$s");
|
||||||
|
|
||||||
|
if(rankStr.equals(""))
|
||||||
|
format = isPriv ? disguiseTag + C.cWhiteB + "Team " + dead + levelStr : disguiseTag + dead + levelStr;
|
||||||
|
else
|
||||||
|
format = event.getFormat().split(rankStr)[0];
|
||||||
|
|
||||||
|
name = isPriv ? team.GetColor() + sender.getName() : _manager.GetColor(sender) + sender.getName();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
globalMessage = true;
|
||||||
|
event.setFormat(disguiseTag + dead + levelStr + rankStr + senderName + " " + C.cWhite + "%2$s");
|
||||||
|
|
||||||
|
if(rankStr.equals(""))
|
||||||
|
format = disguiseTag + dead + levelStr;
|
||||||
|
else
|
||||||
|
format = event.getFormat().split(rankStr)[0];
|
||||||
|
|
||||||
|
name = _manager.GetColor(sender) + sender.getName();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (globalMessage)
|
||||||
|
{
|
||||||
|
if(safeSend(sender, format, rankStr, rank, name, message, event.getRecipients()))
|
||||||
|
{
|
||||||
|
event.setCancelled(true);
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
//Team Message Remove Recipient
|
||||||
|
Iterator<Player> recipientIterator = event.getRecipients().iterator();
|
||||||
|
|
||||||
|
while (recipientIterator.hasNext())
|
||||||
|
{
|
||||||
|
Player receiver = recipientIterator.next();
|
||||||
|
|
||||||
|
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);
|
||||||
|
|
||||||
|
if (recTeam == null || sendTeam == null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!recTeam.equals(sendTeam))
|
||||||
|
recipientIterator.remove();
|
||||||
|
}
|
||||||
|
|
||||||
|
if(safeSend(sender, format, rankStr, rank, name, message, event.getRecipients()))
|
||||||
|
{
|
||||||
|
event.setCancelled(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean safeSend(Player sender, String prefix, String rankStr, Rank rank, String name, String message, Collection<Player> sendto)
|
||||||
|
{
|
||||||
|
final JsonMessage json = buildJSON(sender, prefix, rankStr, rank, name, _chatStats, message);
|
||||||
|
try
|
||||||
|
{
|
||||||
|
json.send(JsonMessage.MessageType.CHAT_BOX, sendto.toArray(new Player[sendto.size()]));
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
System.out.println("ChatStats Failed to send JSON message..");
|
||||||
|
System.out.println(json);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setGameChatStats(ChatStatData... stats)
|
||||||
|
{
|
||||||
|
_chatStats = new LinkedList<ChatStatData>();
|
||||||
|
for(ChatStatData chatStat : stats)
|
||||||
|
{
|
||||||
|
_chatStats.add(chatStat);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private JsonMessage buildJSON(Player player, String prefix, String rankStr, Rank rank, String name, LinkedList<ChatStatData> hoverText, String message)
|
||||||
|
{
|
||||||
|
if(_manager.GetGame().GetState() != GameState.Prepare && _manager.GetGame().GetState() != GameState.Live && _manager.GetGame().GetState() != GameState.End)
|
||||||
|
{
|
||||||
|
if(rank == Rank.ALL)
|
||||||
|
{
|
||||||
|
return new JsonMessage("").extra(JSONObject.escape(prefix))
|
||||||
|
.add(JSONObject.escape(rankStr)).add(JSONObject.escape(name)).add(JSONObject.escape(message));
|
||||||
|
}
|
||||||
|
|
||||||
|
return new JsonMessage("").extra(JSONObject.escape(prefix))
|
||||||
|
.add(JSONObject.escape(rankStr)).hover("show_text", rank.getColor() + rank.getTag(true, true) + C.cWhite + "\n" + rank.getDescription())
|
||||||
|
.add(JSONObject.escape(name)).add(JSONObject.escape(message));
|
||||||
|
}
|
||||||
|
|
||||||
|
LinkedList<Map.Entry<String, String>> temp = new LinkedList<Map.Entry<String, String>>();
|
||||||
|
ChatColor teamColor = _manager.GetColor(player);
|
||||||
|
|
||||||
|
temp.add(new AbstractMap.SimpleEntry<String, String>(teamColor + C.Bold + ChatColor.stripColor(name) + teamColor + "'s stats", ""));
|
||||||
|
temp.add(new AbstractMap.SimpleEntry<String, String>(" ", ""));
|
||||||
|
|
||||||
|
Game game = _manager.GetGame();
|
||||||
|
String gameName = game.GetName();
|
||||||
|
|
||||||
|
for (int i = 0; i < hoverText.size(); i++)
|
||||||
|
{
|
||||||
|
if (!_manager.GetGame().GetStats().containsKey(player))
|
||||||
|
{
|
||||||
|
temp.add(new AbstractMap.SimpleEntry<String, String>(C.cGray + "Retrieving stats..", ""));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
ChatStatData chatStatData = hoverText.get(i);
|
||||||
|
String display = (chatStatData.getDisplay() == null ? chatStatData.getStat() : chatStatData.getDisplay());
|
||||||
|
|
||||||
|
if(!chatStatData.isValue())
|
||||||
|
{
|
||||||
|
temp.add(new AbstractMap.SimpleEntry<String, String>(chatStatData.getDisplay(), ""));
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (chatStatData.getStat().equalsIgnoreCase("kit"))
|
||||||
|
{
|
||||||
|
temp.add(new AbstractMap.SimpleEntry<String, String>(display + ": ", game.GetKit(player).GetName()));
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (chatStatData.getStat().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<String, String>(display + ": ", "" + getRatio(kills, deaths, "##.##")));
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (game.GetStats().get(player).containsKey(gameName + "." + chatStatData.getStat()))
|
||||||
|
{
|
||||||
|
temp.add(new AbstractMap.SimpleEntry<String, String>(display + ": ", (game.GetStats().get(player).get(gameName + "." + chatStatData.getStat()).toString())));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
temp.add(new AbstractMap.SimpleEntry<String, String>(display + ": ", "0"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
String stats = "";
|
||||||
|
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");
|
||||||
|
}
|
||||||
|
|
||||||
|
if(rank == Rank.ALL)
|
||||||
|
{
|
||||||
|
return new JsonMessage("").extra(JSONObject.escape(prefix))
|
||||||
|
.add(JSONObject.escape(rankStr)).add(JSONObject.escape(name)).hover("show_text", stats).add(JSONObject.escape(message));
|
||||||
|
}
|
||||||
|
|
||||||
|
return new JsonMessage("").extra(JSONObject.escape(prefix))
|
||||||
|
.add(JSONObject.escape(rankStr)).hover("show_text", rank.getColor() + rank.getTag(true, true) + ChatColor.WHITE + "\n" + rank.getDescription())
|
||||||
|
.add(JSONObject.escape(name)).hover("show_text", stats).add(JSONObject.escape(message));
|
||||||
|
}
|
||||||
|
|
||||||
|
public double 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 Double.parseDouble(new DecimalFormat(format).format(ratio));
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,71 @@
|
|||||||
|
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 BlockBreakStatTracker extends StatTracker<Game>
|
||||||
|
{
|
||||||
|
private boolean _blockDamage;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param blockDamage
|
||||||
|
* - true = triggers block damage event
|
||||||
|
* - false = triggers block break event
|
||||||
|
*/
|
||||||
|
public BlockBreakStatTracker(Game game, boolean blockDamage)
|
||||||
|
{
|
||||||
|
super(game);
|
||||||
|
|
||||||
|
_blockDamage = blockDamage;
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler
|
||||||
|
public void blockBreak(BlockBreakEvent event)
|
||||||
|
{
|
||||||
|
if(!getGame().IsLive())
|
||||||
|
return;
|
||||||
|
|
||||||
|
if(event.isCancelled())
|
||||||
|
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(!getGame().IsLive())
|
||||||
|
return;
|
||||||
|
|
||||||
|
if(event.isCancelled())
|
||||||
|
return;
|
||||||
|
|
||||||
|
if(!_blockDamage)
|
||||||
|
return;
|
||||||
|
|
||||||
|
Player player = event.getPlayer();
|
||||||
|
if(player == null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
addStat(player, "BlocksBroken", 1, false, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void addStat(Player player)
|
||||||
|
{
|
||||||
|
addStat(player, "BlocksBroken", 1, false, false);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,48 @@
|
|||||||
|
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<Game>
|
||||||
|
{
|
||||||
|
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;
|
||||||
|
|
||||||
|
if(_ignore.length == 0)
|
||||||
|
addStat(event.getPlayer(), "BlocksPlaced", 1, false, false);
|
||||||
|
|
||||||
|
for(Material material : _ignore)
|
||||||
|
{
|
||||||
|
if(event.getBlock().getType() == material)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
addStat(event.getPlayer(), "BlocksPlaced", 1, false, false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,40 @@
|
|||||||
|
package nautilus.game.arcade.stats;
|
||||||
|
|
||||||
|
import org.bukkit.event.EventHandler;
|
||||||
|
import org.bukkit.event.player.AsyncPlayerChatEvent;
|
||||||
|
|
||||||
|
import nautilus.game.arcade.game.Game;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created by luke1 on 28/01/2016.
|
||||||
|
*/
|
||||||
|
public class DrawGuessStatTracker extends StatTracker<Game>
|
||||||
|
{
|
||||||
|
public DrawGuessStatTracker(Game game)
|
||||||
|
{
|
||||||
|
super(game);
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler
|
||||||
|
public void guess(AsyncPlayerChatEvent event)
|
||||||
|
{
|
||||||
|
if(getGame().GetState() != Game.GameState.Live)
|
||||||
|
return;
|
||||||
|
|
||||||
|
int i = 0;
|
||||||
|
if(event.getMessage().contains(" "))
|
||||||
|
{
|
||||||
|
for(char c : event.getMessage().toCharArray())
|
||||||
|
{
|
||||||
|
System.out.println(c);
|
||||||
|
if(c != ' ')
|
||||||
|
continue;
|
||||||
|
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(i <= 1)
|
||||||
|
addStat(event.getPlayer(), "TotalGuess", 1, false, false);
|
||||||
|
}
|
||||||
|
}
|
@ -24,12 +24,12 @@ public class FirstSupplyDropOpenStatTracker extends StatTracker<Game>
|
|||||||
{
|
{
|
||||||
if (getGame().GetState() != Game.GameState.Live)
|
if (getGame().GetState() != Game.GameState.Live)
|
||||||
return;
|
return;
|
||||||
|
System.out.println("DEBUG 1");
|
||||||
if (_opened.contains(event.getChest()))
|
if (_opened.contains(event.getChest()))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
_opened.add(event.getChest());
|
_opened.add(event.getChest());
|
||||||
|
System.out.println("DEBUG 2");
|
||||||
addStat(event.getPlayer(), "SupplyDropsOpened", 1, false, false);
|
addStat(event.getPlayer(), "SupplyDropsOpened", 1, false, false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user