From 8911617a0cfcf5cfd15c169cea46d3a4d75ddf96 Mon Sep 17 00:00:00 2001 From: Shaun Bennett Date: Thu, 1 Oct 2015 14:01:36 -0400 Subject: [PATCH 1/3] Remove BungeeSigns again? --- Plugins/.idea/modules.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/Plugins/.idea/modules.xml b/Plugins/.idea/modules.xml index bcc0470f4..f7936ba2e 100644 --- a/Plugins/.idea/modules.xml +++ b/Plugins/.idea/modules.xml @@ -11,7 +11,6 @@ - From 855bb892006935d6947c2bd22ef4e5b19ce11706 Mon Sep 17 00:00:00 2001 From: Shaun Bennett Date: Thu, 1 Oct 2015 14:50:15 -0400 Subject: [PATCH 2/3] Update .gitignore with IntellIJ tasks file --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index c1fc8b034..970fac184 100644 --- a/.gitignore +++ b/.gitignore @@ -17,6 +17,7 @@ update Reference /Plugins/.idea/workspace.xml +/Plugins/.idea/tasks.xml /Plugins/out BungeeCord /Plugins/Mineplex.Bungee.Mineplexer/*.gitignore From 993c9783ec5fd8e8e3830f81cb540c1362b486fd Mon Sep 17 00:00:00 2001 From: Shaun Bennett Date: Fri, 2 Oct 2015 13:15:02 -0400 Subject: [PATCH 3/3] Add Votifier Jar, display team stats for SG, SW, SSM --- Plugins/Libraries/Votifier.jar | Bin 0 -> 19165 bytes .../core/achievement/AchievementCategory.java | 45 +++++++++++++++--- .../core/achievement/StatDisplay.java | 42 +++++++++++++++- 3 files changed, 78 insertions(+), 9 deletions(-) create mode 100644 Plugins/Libraries/Votifier.jar diff --git a/Plugins/Libraries/Votifier.jar b/Plugins/Libraries/Votifier.jar new file mode 100644 index 0000000000000000000000000000000000000000..9751f180ae176574d39d88a3f4293e377d9cbdee GIT binary patch literal 19165 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�UbWu_@M9c9MECq;Nm1kf*Wn1Lg94Z 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 VOICO*8T0m+0sfZuEb!yM{|B$LrSt#* literal 0 HcmV?d00001 diff --git a/Plugins/Mineplex.Core/src/mineplex/core/achievement/AchievementCategory.java b/Plugins/Mineplex.Core/src/mineplex/core/achievement/AchievementCategory.java index 5b81e40ea..636176b02 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/achievement/AchievementCategory.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/achievement/AchievementCategory.java @@ -6,9 +6,11 @@ import mineplex.core.account.CoreClientManager; import mineplex.core.common.Rank; import mineplex.core.common.util.C; import mineplex.core.common.util.UtilTime; +import mineplex.core.game.GameDisplay; import mineplex.core.stats.PlayerStats; import mineplex.core.stats.StatsManager; +import org.bukkit.ChatColor; import org.bukkit.Material; import org.bukkit.entity.Player; @@ -24,11 +26,19 @@ public enum AchievementCategory Material.IRON_PICKAXE, 0, GameCategory.SURVIVAL, "Destructor Kit"), SURVIVAL_GAMES("Survival Games", null, - new StatDisplay[] { StatDisplay.WINS, StatDisplay.GAMES_PLAYED, StatDisplay.KILLS, StatDisplay.DEATHS, StatDisplay.GEMS_EARNED }, + new StatDisplay[] { StatDisplay.WINS, StatDisplay.GAMES_PLAYED, StatDisplay.KILLS, StatDisplay.DEATHS, StatDisplay.GEMS_EARNED, + null, null, new StatDisplay(C.Bold + "Teams Stats", true), null, + StatDisplay.fromGame("Wins", GameDisplay.SurvivalGamesTeams, "Wins"), StatDisplay.fromGame("Games Played", GameDisplay.SurvivalGamesTeams, "Wins", "Losses"), + StatDisplay.fromGame("Kills", GameDisplay.SurvivalGamesTeams, "Kills"), StatDisplay.fromGame("Deaths", GameDisplay.SurvivalGamesTeams, "Deaths"), + StatDisplay.fromGame("Gems Earned", GameDisplay.SurvivalGamesTeams, "GemsEarned") }, Material.DIAMOND_SWORD, 0, GameCategory.SURVIVAL, "Horseman Kit"), SKYWARS("Skywars",null, - new StatDisplay[]{StatDisplay.WINS, StatDisplay.GAMES_PLAYED, StatDisplay.KILLS, StatDisplay.DEATHS, StatDisplay.GEMS_EARNED}, + new StatDisplay[]{StatDisplay.WINS, StatDisplay.GAMES_PLAYED, StatDisplay.KILLS, StatDisplay.DEATHS, StatDisplay.GEMS_EARNED, + null, null, new StatDisplay(C.Bold + "Team Stats", true), null, + StatDisplay.fromGame("Wins", GameDisplay.SkywarsTeams, "Wins"), StatDisplay.fromGame("Games Played", GameDisplay.SkywarsTeams, "Wins", "Losses"), + StatDisplay.fromGame("Kills", GameDisplay.SkywarsTeams, "Kills"), StatDisplay.fromGame("Deaths", GameDisplay.SkywarsTeams, "Deaths"), + StatDisplay.fromGame("Gems Earned", GameDisplay.SkywarsTeams, "GemsEarned") }, Material.FEATHER, 0, GameCategory.SURVIVAL, "Destructor Kit"), UHC("Ultra Hardcore", null, @@ -49,7 +59,11 @@ public enum AchievementCategory Material.GRASS, 0, GameCategory.CLASSICS, "Infestor Kit"), SMASH_MOBS("Super Smash Mobs", null, - new StatDisplay[] { StatDisplay.WINS, StatDisplay.GAMES_PLAYED, StatDisplay.KILLS, StatDisplay.DEATHS, StatDisplay.GEMS_EARNED }, + new StatDisplay[] { StatDisplay.WINS, StatDisplay.GAMES_PLAYED, StatDisplay.KILLS, StatDisplay.DEATHS, StatDisplay.GEMS_EARNED, + null, null, new StatDisplay(C.Bold + "Team Stats", true), null, + StatDisplay.fromGame("Wins", GameDisplay.SmashTeams, "Wins"), StatDisplay.fromGame("Games Played", GameDisplay.SmashTeams, "Wins", "Losses"), + StatDisplay.fromGame("Kills", GameDisplay.SmashTeams, "Kills"), StatDisplay.fromGame("Deaths", GameDisplay.SmashTeams, "Deaths"), + StatDisplay.fromGame("Gems Earned", GameDisplay.SmashTeams, "GemsEarned")}, Material.SKULL_ITEM, 4, GameCategory.CLASSICS, "Sheep Kit"), MINE_STRIKE("MineStrike", null, @@ -203,6 +217,11 @@ public enum AchievementCategory lore.add(" "); continue; } + else if (_statDisplays[i].isJustDisplayName()) + { + lore.add(ChatColor.RESET + _statDisplays[i].getDisplayName()); + continue; + } String displayName = _statDisplays[i].getDisplayName(); @@ -211,9 +230,21 @@ public enum AchievementCategory continue; int statNumber = 0; - for (String statToPull : _statsToPull) + + + // This is so we could load stats from other games + // (Refer to team games, displaying team stats in the normal game view) + if (_statDisplays[i].isFullStat()) + { for (String statName : _statDisplays[i].getStats()) - statNumber += stats.getStat(statToPull + "." + statName); + statNumber += stats.getStat(statName); + } + else + { + for (String statToPull : _statsToPull) + for (String statName : _statDisplays[i].getStats()) + statNumber += stats.getStat(statToPull + "." + statName); + } String statString = C.cWhite + statNumber; // Need to display special for time @@ -224,8 +255,8 @@ public enum AchievementCategory } } - public static enum GameCategory + public enum GameCategory { - GLOBAL, SURVIVAL, CLASSICS, CHAMPIONS, ARCADE; + GLOBAL, SURVIVAL, CLASSICS, CHAMPIONS, ARCADE } } diff --git a/Plugins/Mineplex.Core/src/mineplex/core/achievement/StatDisplay.java b/Plugins/Mineplex.Core/src/mineplex/core/achievement/StatDisplay.java index b8b58f100..ea7515827 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/achievement/StatDisplay.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/achievement/StatDisplay.java @@ -1,5 +1,7 @@ package mineplex.core.achievement; +import mineplex.core.game.GameDisplay; + /** * The purpose of extracting stats to this class is so we can display stats that are a combination * of different stat values. For example, since we don't have a specific stat for games played of a game, @@ -8,19 +10,34 @@ package mineplex.core.achievement; */ public class StatDisplay { - public String _displayName; - public String[] _stats; + private String _displayName; + private String[] _stats; + private boolean _fullStat; + private boolean _justDisplayName; public StatDisplay(String stat) + { + this(stat, false); + } + + public StatDisplay(String stat, boolean justDisplayName) { _displayName = stat; _stats = new String[] { stat }; + _fullStat = false; + _justDisplayName = justDisplayName; } public StatDisplay(String displayName, String... stats) + { + this(displayName, false, stats); + } + + public StatDisplay(String displayName, boolean fullStat, String... stats) { _displayName = displayName; _stats = stats; + _fullStat = fullStat; } public String getDisplayName() @@ -28,11 +45,32 @@ public class StatDisplay return _displayName; } + public boolean isJustDisplayName() + { + return _justDisplayName; + } + public String[] getStats() { return _stats; } + public boolean isFullStat() + { + return _fullStat; + } + + public static StatDisplay fromGame(String name, GameDisplay gameDisplay, String... stats) + { + String[] formattedStats = new String[stats.length]; + for (int i = 0; i < stats.length; i++) + { + formattedStats[i] = gameDisplay.getName() + "." + stats[i]; + } + + return new StatDisplay(name, true, formattedStats); + } + public static final StatDisplay WINS = new StatDisplay("Wins"); public static final StatDisplay LOSSES = new StatDisplay("Losses"); public static final StatDisplay KILLS = new StatDisplay("Kills");