From 2af9ffe6a2efa43b293e61eb78d2af11d8eb41e2 Mon Sep 17 00:00:00 2001 From: Sam Date: Sun, 23 Oct 2022 17:15:35 -0700 Subject: [PATCH 01/10] Create UHC classes --- .../wrapper/games/uhc/HypixelUHCBrawl.java | 26 +++++++++++++++++++ .../wrapper/games/uhc/HypixelUHCDuoBrawl.java | 26 +++++++++++++++++++ .../games/uhc/HypixelUHCNoDiamonds.java | 26 +++++++++++++++++++ .../games/uhc/HypixelUHCRedVSBlue.java | 26 +++++++++++++++++++ .../games/uhc/HypixelUHCSoloBrawl.java | 26 +++++++++++++++++++ .../wrapper/games/uhc/HypixelUHCSolos.java | 26 +++++++++++++++++++ .../wrapper/games/uhc/HypixelUHCTeams.java | 26 +++++++++++++++++++ .../games/uhc/HypixelUHCVanillaDoubles.java | 26 +++++++++++++++++++ 8 files changed, 208 insertions(+) create mode 100644 src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHCBrawl.java create mode 100644 src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHCDuoBrawl.java create mode 100644 src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHCNoDiamonds.java create mode 100644 src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHCRedVSBlue.java create mode 100644 src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHCSoloBrawl.java create mode 100644 src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHCSolos.java create mode 100644 src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHCTeams.java create mode 100644 src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHCVanillaDoubles.java diff --git a/src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHCBrawl.java b/src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHCBrawl.java new file mode 100644 index 00000000..0bd8607a --- /dev/null +++ b/src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHCBrawl.java @@ -0,0 +1,26 @@ +package io.github.neopixel.wrapper.games.uhc; + +import io.github.neopixel.wrapper.games.HypixelGame; +import io.github.neopixel.wrapper.util.JSONHandler; + +public class HypixelUHCBrawl extends HypixelGame { + + protected HypixelUHCBrawl(JSONHandler jsonHandler) { + super(jsonHandler); + } + + @Override + public String getGameID() { + return "UHC_BRAWL"; + } + + @Override + public String getGameName() { + return "UHC Brawl"; + } + + @Override + public boolean isRemoved() { + return false; + } +} diff --git a/src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHCDuoBrawl.java b/src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHCDuoBrawl.java new file mode 100644 index 00000000..689f0a64 --- /dev/null +++ b/src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHCDuoBrawl.java @@ -0,0 +1,26 @@ +package io.github.neopixel.wrapper.games.uhc; + +import io.github.neopixel.wrapper.games.HypixelGame; +import io.github.neopixel.wrapper.util.JSONHandler; + +public class HypixelUHCDuoBrawl extends HypixelGame { + + protected HypixelUHCDuoBrawl(JSONHandler jsonHandler) { + super(jsonHandler); + } + + @Override + public String getGameID() { + return "UHC_BRAWL_DOUBLES"; + } + + @Override + public String getGameName() { + return "UHC Duo Brawl"; + } + + @Override + public boolean isRemoved() { + return false; + } +} diff --git a/src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHCNoDiamonds.java b/src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHCNoDiamonds.java new file mode 100644 index 00000000..47ced3f7 --- /dev/null +++ b/src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHCNoDiamonds.java @@ -0,0 +1,26 @@ +package io.github.neopixel.wrapper.games.uhc; + +import io.github.neopixel.wrapper.games.HypixelGame; +import io.github.neopixel.wrapper.util.JSONHandler; + +public class HypixelUHCNoDiamonds extends HypixelGame { + + protected HypixelUHCNoDiamonds(JSONHandler jsonHandler) { + super(jsonHandler); + } + + @Override + public String getGameID() { + return "UHC_NO_DIAMONDS"; + } + + @Override + public String getGameName() { + return "UHC No Diamonds"; + } + + @Override + public boolean isRemoved() { + return false; + } +} diff --git a/src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHCRedVSBlue.java b/src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHCRedVSBlue.java new file mode 100644 index 00000000..a3ce75d7 --- /dev/null +++ b/src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHCRedVSBlue.java @@ -0,0 +1,26 @@ +package io.github.neopixel.wrapper.games.uhc; + +import io.github.neopixel.wrapper.games.HypixelGame; +import io.github.neopixel.wrapper.util.JSONHandler; + +public class HypixelUHCRedVSBlue extends HypixelGame { + + protected HypixelUHCRedVSBlue(JSONHandler jsonHandler) { + super(jsonHandler); + } + + @Override + public String getGameID() { + return "UHC_RED_VS_BLUE"; + } + + @Override + public String getGameName() { + return "UHC Red vs Blue"; + } + + @Override + public boolean isRemoved() { + return false; + } +} diff --git a/src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHCSoloBrawl.java b/src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHCSoloBrawl.java new file mode 100644 index 00000000..6f5d3799 --- /dev/null +++ b/src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHCSoloBrawl.java @@ -0,0 +1,26 @@ +package io.github.neopixel.wrapper.games.uhc; + +import io.github.neopixel.wrapper.games.HypixelGame; +import io.github.neopixel.wrapper.util.JSONHandler; + +public class HypixelUHCSoloBrawl extends HypixelGame { + + protected HypixelUHCSoloBrawl(JSONHandler jsonHandler) { + super(jsonHandler); + } + + @Override + public String getGameID() { + return "UHC_BRAWL_SOLOS"; + } + + @Override + public String getGameName() { + return "Uhc Brawl Solos"; + } + + @Override + public boolean isRemoved() { + return false; + } +} diff --git a/src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHCSolos.java b/src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHCSolos.java new file mode 100644 index 00000000..8590bbe6 --- /dev/null +++ b/src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHCSolos.java @@ -0,0 +1,26 @@ +package io.github.neopixel.wrapper.games.uhc; + +import io.github.neopixel.wrapper.games.HypixelGame; +import io.github.neopixel.wrapper.util.JSONHandler; + +public class HypixelUHCSolos extends HypixelGame { + + protected HypixelUHCSolos(JSONHandler jsonHandler) { + super(jsonHandler); + } + + @Override + public String getGameID() { + return "UHC_SOLOS"; + } + + @Override + public String getGameName() { + return "UHC Solos"; + } + + @Override + public boolean isRemoved() { + return false; + } +} diff --git a/src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHCTeams.java b/src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHCTeams.java new file mode 100644 index 00000000..d18cceef --- /dev/null +++ b/src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHCTeams.java @@ -0,0 +1,26 @@ +package io.github.neopixel.wrapper.games.uhc; + +import io.github.neopixel.wrapper.games.HypixelGame; +import io.github.neopixel.wrapper.util.JSONHandler; + +public class HypixelUHCTeams extends HypixelGame { + + protected HypixelUHCTeams(JSONHandler jsonHandler) { + super(jsonHandler); + } + + @Override + public String getGameID() { + return "UHC_TEAMS"; + } + + @Override + public String getGameName() { + return "UHC Teams"; + } + + @Override + public boolean isRemoved() { + return false; + } +} diff --git a/src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHCVanillaDoubles.java b/src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHCVanillaDoubles.java new file mode 100644 index 00000000..c9b86c03 --- /dev/null +++ b/src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHCVanillaDoubles.java @@ -0,0 +1,26 @@ +package io.github.neopixel.wrapper.games.uhc; + +import io.github.neopixel.wrapper.games.HypixelGame; +import io.github.neopixel.wrapper.util.JSONHandler; + +public class HypixelUHCVanillaDoubles extends HypixelGame { + + protected HypixelUHCVanillaDoubles(JSONHandler jsonHandler) { + super(jsonHandler); + } + + @Override + public String getGameID() { + return "UHC_VANILLA_DOUBLES"; + } + + @Override + public String getGameName() { + return "UHC Vanilla Doubles"; + } + + @Override + public boolean isRemoved() { + return false; + } +} From febba75d01897c9b09ea91d9d287f2bba54a4ea5 Mon Sep 17 00:00:00 2001 From: Sam Date: Sun, 23 Oct 2022 17:28:29 -0700 Subject: [PATCH 02/10] Implement HypixelUHC --- .../wrapper/games/uhc/HypixelUHC.java | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHC.java b/src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHC.java index a633b5c5..80cf7def 100644 --- a/src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHC.java +++ b/src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHC.java @@ -23,4 +23,45 @@ public String getGameName() { public boolean isRemoved() { return false; } + + public int getCoins() { + return jsonHandler.getSafeInt("coins"); + } + + public boolean isTeammateDamage() { + return jsonHandler.getSafeBoolean("teammate_damage"); + } + + public HypixelUHCBrawl getBrawlStats() { + return new HypixelUHCBrawl(jsonHandler); + } + + public HypixelUHCSoloBrawl getBrawlSolosStats() { + return new HypixelUHCSoloBrawl(jsonHandler); + } + + public HypixelUHCDuoBrawl getBrawlDoublesStats() { + return new HypixelUHCDuoBrawl(jsonHandler); + } + + public HypixelUHCNoDiamonds getNoDiamondsStats() { + return new HypixelUHCNoDiamonds(jsonHandler); + } + + public HypixelUHCRedVSBlue getRedVSBlueStats() { + return new HypixelUHCRedVSBlue(jsonHandler); + } + + public HypixelUHCSolos getSolosStats() { + return new HypixelUHCSolos(jsonHandler); + } + + public HypixelUHCTeams getTeamsStats() { + return new HypixelUHCTeams(jsonHandler); + } + + public HypixelUHCVanillaDoubles getVanillaDoublesStats() { + return new HypixelUHCVanillaDoubles(jsonHandler); + } + } From adc07804348285db014007f9d874afccb24a3660 Mon Sep 17 00:00:00 2001 From: Sam Date: Tue, 25 Oct 2022 21:07:39 -0700 Subject: [PATCH 03/10] Update JSONHandler to use statsSuffix --- .../games/bedwars/HypixelBedWarsStats.java | 5 ++-- .../neopixel/wrapper/util/JSONHandler.java | 28 ++++++++++++++----- 2 files changed, 24 insertions(+), 9 deletions(-) diff --git a/src/main/java/io/github/neopixel/wrapper/games/bedwars/HypixelBedWarsStats.java b/src/main/java/io/github/neopixel/wrapper/games/bedwars/HypixelBedWarsStats.java index a56d7e3d..17b9ac52 100644 --- a/src/main/java/io/github/neopixel/wrapper/games/bedwars/HypixelBedWarsStats.java +++ b/src/main/java/io/github/neopixel/wrapper/games/bedwars/HypixelBedWarsStats.java @@ -44,8 +44,9 @@ public boolean isRemoved() { * @return The player's stats for that {@code mode}. */ public HypixelBedWars getMode(HypixelBedWarsMode mode) { - return new HypixelBedWars( - jsonHandler.getThisJSONHandlerWithStatsPrefix(mode.getStatsPrefix())); + JSONHandler jsonHandler = this.jsonHandler.getCopy(); + jsonHandler.setStatsPrefix(mode.getStatsPrefix()); + return new HypixelBedWars(jsonHandler); } /** diff --git a/src/main/java/io/github/neopixel/wrapper/util/JSONHandler.java b/src/main/java/io/github/neopixel/wrapper/util/JSONHandler.java index e157e96b..337aa57f 100644 --- a/src/main/java/io/github/neopixel/wrapper/util/JSONHandler.java +++ b/src/main/java/io/github/neopixel/wrapper/util/JSONHandler.java @@ -10,19 +10,26 @@ public class JSONHandler { private final JSONObject stats; - private final String statsPrefix; + private String statsPrefix; + + private String statsSuffix; public JSONHandler(JSONObject stats) { this.stats = stats; this.statsPrefix = ""; + this.statsSuffix = ""; } - public JSONHandler(JSONObject stats, String statsPrefix) { - this.stats = stats; + public void setStatsPrefix(String statsPrefix) { this.statsPrefix = statsPrefix; } + public void setStatsSuffix(String statsSuffix) { + this.statsSuffix = statsSuffix; + } + + public JSONArray getSafeJSONArray(String key) { if (stats.has(statsPrefix + key)) { Object object = this.get(key); @@ -114,7 +121,7 @@ public UUID getSafeUUID(String key) { } public Object get(String key) { - return stats.get(statsPrefix + key); + return stats.get(statsPrefix + key + statsSuffix); } public Iterator getKeys() { @@ -123,13 +130,20 @@ public Iterator getKeys() { public JSONHandler getJSONHandler(String key) { if (stats.has(key)) { - return new JSONHandler(stats.getJSONObject(key)); + JSONHandler handler = new JSONHandler(stats.getJSONObject(key)); + handler.setStatsPrefix(statsPrefix); + handler.setStatsSuffix(statsSuffix); + return handler; } else { return null; } } - public JSONHandler getThisJSONHandlerWithStatsPrefix(String statsPrefix) { - return new JSONHandler(stats, statsPrefix); + public JSONHandler getCopy() { + JSONHandler handler = new JSONHandler(stats); + handler.setStatsPrefix(statsPrefix); + handler.setStatsSuffix(statsSuffix); + return handler; } + } From 213d8a9e3856d3fc979a2d7090ed384a3f86f554 Mon Sep 17 00:00:00 2001 From: Sam Date: Tue, 25 Oct 2022 21:11:13 -0700 Subject: [PATCH 04/10] Delete unneeded classes --- .../wrapper/games/uhc/HypixelUHC.java | 67 ------------------- .../wrapper/games/uhc/HypixelUHCBrawl.java | 26 ------- .../wrapper/games/uhc/HypixelUHCDuoBrawl.java | 26 ------- .../games/uhc/HypixelUHCNoDiamonds.java | 26 ------- .../games/uhc/HypixelUHCSoloBrawl.java | 26 ------- .../wrapper/games/uhc/HypixelUHCSolos.java | 26 ------- ...UHCRedVSBlue.java => HypixelUHCStats.java} | 18 +++-- .../wrapper/games/uhc/HypixelUHCTeams.java | 26 ------- .../games/uhc/HypixelUHCVanillaDoubles.java | 26 ------- 9 files changed, 14 insertions(+), 253 deletions(-) delete mode 100644 src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHC.java delete mode 100644 src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHCBrawl.java delete mode 100644 src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHCDuoBrawl.java delete mode 100644 src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHCNoDiamonds.java delete mode 100644 src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHCSoloBrawl.java delete mode 100644 src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHCSolos.java rename src/main/java/io/github/neopixel/wrapper/games/uhc/{HypixelUHCRedVSBlue.java => HypixelUHCStats.java} (51%) delete mode 100644 src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHCTeams.java delete mode 100644 src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHCVanillaDoubles.java diff --git a/src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHC.java b/src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHC.java deleted file mode 100644 index 80cf7def..00000000 --- a/src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHC.java +++ /dev/null @@ -1,67 +0,0 @@ -package io.github.neopixel.wrapper.games.uhc; - -import io.github.neopixel.wrapper.games.HypixelGame; -import io.github.neopixel.wrapper.util.JSONHandler; - -public class HypixelUHC extends HypixelGame { - - protected HypixelUHC(JSONHandler jsonHandler) { - super(jsonHandler); - } - - @Override - public String getGameID() { - return "UHC"; - } - - @Override - public String getGameName() { - return "UHC Champions"; - } - - @Override - public boolean isRemoved() { - return false; - } - - public int getCoins() { - return jsonHandler.getSafeInt("coins"); - } - - public boolean isTeammateDamage() { - return jsonHandler.getSafeBoolean("teammate_damage"); - } - - public HypixelUHCBrawl getBrawlStats() { - return new HypixelUHCBrawl(jsonHandler); - } - - public HypixelUHCSoloBrawl getBrawlSolosStats() { - return new HypixelUHCSoloBrawl(jsonHandler); - } - - public HypixelUHCDuoBrawl getBrawlDoublesStats() { - return new HypixelUHCDuoBrawl(jsonHandler); - } - - public HypixelUHCNoDiamonds getNoDiamondsStats() { - return new HypixelUHCNoDiamonds(jsonHandler); - } - - public HypixelUHCRedVSBlue getRedVSBlueStats() { - return new HypixelUHCRedVSBlue(jsonHandler); - } - - public HypixelUHCSolos getSolosStats() { - return new HypixelUHCSolos(jsonHandler); - } - - public HypixelUHCTeams getTeamsStats() { - return new HypixelUHCTeams(jsonHandler); - } - - public HypixelUHCVanillaDoubles getVanillaDoublesStats() { - return new HypixelUHCVanillaDoubles(jsonHandler); - } - -} diff --git a/src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHCBrawl.java b/src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHCBrawl.java deleted file mode 100644 index 0bd8607a..00000000 --- a/src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHCBrawl.java +++ /dev/null @@ -1,26 +0,0 @@ -package io.github.neopixel.wrapper.games.uhc; - -import io.github.neopixel.wrapper.games.HypixelGame; -import io.github.neopixel.wrapper.util.JSONHandler; - -public class HypixelUHCBrawl extends HypixelGame { - - protected HypixelUHCBrawl(JSONHandler jsonHandler) { - super(jsonHandler); - } - - @Override - public String getGameID() { - return "UHC_BRAWL"; - } - - @Override - public String getGameName() { - return "UHC Brawl"; - } - - @Override - public boolean isRemoved() { - return false; - } -} diff --git a/src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHCDuoBrawl.java b/src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHCDuoBrawl.java deleted file mode 100644 index 689f0a64..00000000 --- a/src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHCDuoBrawl.java +++ /dev/null @@ -1,26 +0,0 @@ -package io.github.neopixel.wrapper.games.uhc; - -import io.github.neopixel.wrapper.games.HypixelGame; -import io.github.neopixel.wrapper.util.JSONHandler; - -public class HypixelUHCDuoBrawl extends HypixelGame { - - protected HypixelUHCDuoBrawl(JSONHandler jsonHandler) { - super(jsonHandler); - } - - @Override - public String getGameID() { - return "UHC_BRAWL_DOUBLES"; - } - - @Override - public String getGameName() { - return "UHC Duo Brawl"; - } - - @Override - public boolean isRemoved() { - return false; - } -} diff --git a/src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHCNoDiamonds.java b/src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHCNoDiamonds.java deleted file mode 100644 index 47ced3f7..00000000 --- a/src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHCNoDiamonds.java +++ /dev/null @@ -1,26 +0,0 @@ -package io.github.neopixel.wrapper.games.uhc; - -import io.github.neopixel.wrapper.games.HypixelGame; -import io.github.neopixel.wrapper.util.JSONHandler; - -public class HypixelUHCNoDiamonds extends HypixelGame { - - protected HypixelUHCNoDiamonds(JSONHandler jsonHandler) { - super(jsonHandler); - } - - @Override - public String getGameID() { - return "UHC_NO_DIAMONDS"; - } - - @Override - public String getGameName() { - return "UHC No Diamonds"; - } - - @Override - public boolean isRemoved() { - return false; - } -} diff --git a/src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHCSoloBrawl.java b/src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHCSoloBrawl.java deleted file mode 100644 index 6f5d3799..00000000 --- a/src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHCSoloBrawl.java +++ /dev/null @@ -1,26 +0,0 @@ -package io.github.neopixel.wrapper.games.uhc; - -import io.github.neopixel.wrapper.games.HypixelGame; -import io.github.neopixel.wrapper.util.JSONHandler; - -public class HypixelUHCSoloBrawl extends HypixelGame { - - protected HypixelUHCSoloBrawl(JSONHandler jsonHandler) { - super(jsonHandler); - } - - @Override - public String getGameID() { - return "UHC_BRAWL_SOLOS"; - } - - @Override - public String getGameName() { - return "Uhc Brawl Solos"; - } - - @Override - public boolean isRemoved() { - return false; - } -} diff --git a/src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHCSolos.java b/src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHCSolos.java deleted file mode 100644 index 8590bbe6..00000000 --- a/src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHCSolos.java +++ /dev/null @@ -1,26 +0,0 @@ -package io.github.neopixel.wrapper.games.uhc; - -import io.github.neopixel.wrapper.games.HypixelGame; -import io.github.neopixel.wrapper.util.JSONHandler; - -public class HypixelUHCSolos extends HypixelGame { - - protected HypixelUHCSolos(JSONHandler jsonHandler) { - super(jsonHandler); - } - - @Override - public String getGameID() { - return "UHC_SOLOS"; - } - - @Override - public String getGameName() { - return "UHC Solos"; - } - - @Override - public boolean isRemoved() { - return false; - } -} diff --git a/src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHCRedVSBlue.java b/src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHCStats.java similarity index 51% rename from src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHCRedVSBlue.java rename to src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHCStats.java index a3ce75d7..701e98a9 100644 --- a/src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHCRedVSBlue.java +++ b/src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHCStats.java @@ -3,24 +3,34 @@ import io.github.neopixel.wrapper.games.HypixelGame; import io.github.neopixel.wrapper.util.JSONHandler; -public class HypixelUHCRedVSBlue extends HypixelGame { +public class HypixelUHCStats extends HypixelGame { - protected HypixelUHCRedVSBlue(JSONHandler jsonHandler) { + protected HypixelUHCStats(JSONHandler jsonHandler) { super(jsonHandler); } @Override public String getGameID() { - return "UHC_RED_VS_BLUE"; + return "UHC"; } @Override public String getGameName() { - return "UHC Red vs Blue"; + return "UHC Champions"; } @Override public boolean isRemoved() { return false; } + + public int getCoins() { + return jsonHandler.getSafeInt("coins"); + } + + public boolean isTeammateDamage() { + return jsonHandler.getSafeBoolean("teammate_damage"); + } + + } diff --git a/src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHCTeams.java b/src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHCTeams.java deleted file mode 100644 index d18cceef..00000000 --- a/src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHCTeams.java +++ /dev/null @@ -1,26 +0,0 @@ -package io.github.neopixel.wrapper.games.uhc; - -import io.github.neopixel.wrapper.games.HypixelGame; -import io.github.neopixel.wrapper.util.JSONHandler; - -public class HypixelUHCTeams extends HypixelGame { - - protected HypixelUHCTeams(JSONHandler jsonHandler) { - super(jsonHandler); - } - - @Override - public String getGameID() { - return "UHC_TEAMS"; - } - - @Override - public String getGameName() { - return "UHC Teams"; - } - - @Override - public boolean isRemoved() { - return false; - } -} diff --git a/src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHCVanillaDoubles.java b/src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHCVanillaDoubles.java deleted file mode 100644 index c9b86c03..00000000 --- a/src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHCVanillaDoubles.java +++ /dev/null @@ -1,26 +0,0 @@ -package io.github.neopixel.wrapper.games.uhc; - -import io.github.neopixel.wrapper.games.HypixelGame; -import io.github.neopixel.wrapper.util.JSONHandler; - -public class HypixelUHCVanillaDoubles extends HypixelGame { - - protected HypixelUHCVanillaDoubles(JSONHandler jsonHandler) { - super(jsonHandler); - } - - @Override - public String getGameID() { - return "UHC_VANILLA_DOUBLES"; - } - - @Override - public String getGameName() { - return "UHC Vanilla Doubles"; - } - - @Override - public boolean isRemoved() { - return false; - } -} From 1cb18a8541d3531c34cfafdedf1e38eb10585c63 Mon Sep 17 00:00:00 2001 From: Sam Date: Tue, 25 Oct 2022 21:13:01 -0700 Subject: [PATCH 05/10] Delete underscores from HypixelBedWarsMode --- .../games/bedwars/HypixelBedWarsMode.java | 44 +++++++++---------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/src/main/java/io/github/neopixel/wrapper/games/bedwars/HypixelBedWarsMode.java b/src/main/java/io/github/neopixel/wrapper/games/bedwars/HypixelBedWarsMode.java index cfd5bf97..a878cf37 100644 --- a/src/main/java/io/github/neopixel/wrapper/games/bedwars/HypixelBedWarsMode.java +++ b/src/main/java/io/github/neopixel/wrapper/games/bedwars/HypixelBedWarsMode.java @@ -5,40 +5,40 @@ */ public enum HypixelBedWarsMode { - SOLOS("eight_one_"), - DOUBLES("eight_two_"), - TRIOS("four_three_"), - FOURS("four_four_"), + SOLOS("eight_one"), + DOUBLES("eight_two"), + TRIOS("four_three"), + FOURS("four_four"), - FOUR_VS_FOUR("two_four_"), + FOUR_VS_FOUR("two_four"), - RUSH_SOLOS("eight_one_rush_"), - RUSH_DOUBLES("eight_two_rush_"), - RUSH_FOURS("four_four_rush_"), + RUSH_SOLOS("eight_one_rush"), + RUSH_DOUBLES("eight_two_rush"), + RUSH_FOURS("four_four_rush"), - ULTIMATE_DOUBLES("eight_two_ultimate_"), - ULTIMATE_FOURS("four_four_ultimate_"), + ULTIMATE_DOUBLES("eight_two_ultimate"), + ULTIMATE_FOURS("four_four_ultimate"), - LUCKY_DOUBLES("eight_two_lucky_"), - LUCKY_FOURS("four_four_lucky_"), + LUCKY_DOUBLES("eight_two_lucky"), + LUCKY_FOURS("four_four_lucky"), - ARMED_DOUBLES("eight_two_armed_"), - ARMED_FOURS("four_four_armed_"), + ARMED_DOUBLES("eight_two_armed"), + ARMED_FOURS("four_four_armed"), - CASTLE("castle_"), + CASTLE("castle"), - VOIDLESS_DOUBLES("eight_two_voidless_"), - VOIDLESS_FOURS("four_four_voidless_"), + VOIDLESS_DOUBLES("eight_two_voidless"), + VOIDLESS_FOURS("four_four_voidless"), - UNDERWORLD_DOUBLES("eight_two_underworld_"), - UNDERWORLD_FOURS("four_four_underworld_"), + UNDERWORLD_DOUBLES("eight_two_underworld"), + UNDERWORLD_FOURS("four_four_underworld"), - SWAP_DOUBLES("eight_two_swap_"), - SWAP_FOURS("four_four_swap_"), + SWAP_DOUBLES("eight_two_swap"), + SWAP_FOURS("four_four_swap"), OVERALL(""); - String statsPrefix; + final String statsPrefix; HypixelBedWarsMode(String statsPrefix) { this.statsPrefix = statsPrefix; From 32b7ae2044268b8cfb0abbb797a789af14af7404 Mon Sep 17 00:00:00 2001 From: Sam Date: Tue, 25 Oct 2022 21:15:11 -0700 Subject: [PATCH 06/10] Add underscores in get() method --- .../io/github/neopixel/wrapper/util/JSONHandler.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/main/java/io/github/neopixel/wrapper/util/JSONHandler.java b/src/main/java/io/github/neopixel/wrapper/util/JSONHandler.java index 337aa57f..2af4047b 100644 --- a/src/main/java/io/github/neopixel/wrapper/util/JSONHandler.java +++ b/src/main/java/io/github/neopixel/wrapper/util/JSONHandler.java @@ -11,14 +11,11 @@ public class JSONHandler { private final JSONObject stats; private String statsPrefix; - private String statsSuffix; public JSONHandler(JSONObject stats) { this.stats = stats; - this.statsPrefix = ""; - this.statsSuffix = ""; } public void setStatsPrefix(String statsPrefix) { @@ -121,7 +118,13 @@ public UUID getSafeUUID(String key) { } public Object get(String key) { - return stats.get(statsPrefix + key + statsSuffix); + if(statsPrefix != null) { + return stats.get(statsPrefix + "_" + key); + } else if(statsSuffix != null) { + return stats.get(key + "_" + statsSuffix); + } else { + return stats.get(key); + } } public Iterator getKeys() { From b5cd61a3803355179ebd165c0ed2b3d8d42b95bb Mon Sep 17 00:00:00 2001 From: Sam Date: Tue, 25 Oct 2022 21:17:53 -0700 Subject: [PATCH 07/10] Create HypixelUHCMode.java --- .../wrapper/games/uhc/HypixelUHCMode.java | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHCMode.java diff --git a/src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHCMode.java b/src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHCMode.java new file mode 100644 index 00000000..827209eb --- /dev/null +++ b/src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHCMode.java @@ -0,0 +1,25 @@ +package io.github.neopixel.wrapper.games.uhc; + +public enum HypixelUHCMode { + + SOLOS("solo"), + TEAMS(""), + + SOLO_BRAWL("solo_brawl"), + DUO_BRAWL("duo_brawl"), + + NO_DIAMONDS("no_diamonds"), + + RED_vs_BLUE("red_vs_blue"); + + final String statsPrefix; + + HypixelUHCMode(String statsPrefix) { + this.statsPrefix = statsPrefix; + } + + public String getStatsPrefix() { + return statsPrefix; + } + +} From f9d873afae2644eecd1333ca9371d69a17134192 Mon Sep 17 00:00:00 2001 From: Sam Date: Tue, 25 Oct 2022 21:31:23 -0700 Subject: [PATCH 08/10] Fix misnamed method --- .../io/github/neopixel/wrapper/games/uhc/HypixelUHCMode.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHCMode.java b/src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHCMode.java index 827209eb..212244c4 100644 --- a/src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHCMode.java +++ b/src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHCMode.java @@ -18,7 +18,7 @@ public enum HypixelUHCMode { this.statsPrefix = statsPrefix; } - public String getStatsPrefix() { + public String getStatsSuffix() { return statsPrefix; } From 46aab4234731ab305793a0e581af275add281767 Mon Sep 17 00:00:00 2001 From: Sam Date: Tue, 25 Oct 2022 21:31:29 -0700 Subject: [PATCH 09/10] Create HypixelUHC.java --- .../wrapper/games/uhc/HypixelUHC.java | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHC.java diff --git a/src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHC.java b/src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHC.java new file mode 100644 index 00000000..a543fa76 --- /dev/null +++ b/src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHC.java @@ -0,0 +1,43 @@ +package io.github.neopixel.wrapper.games.uhc; + +import io.github.neopixel.wrapper.games.bedwars.BedWarsKillCause; +import io.github.neopixel.wrapper.util.JSONHandler; + +public class HypixelUHC { + + private final JSONHandler jsonHandler; + + protected HypixelUHC(JSONHandler jsonHandler) { + this.jsonHandler = jsonHandler; + } + + + public int getWins() { + return jsonHandler.getSafeInt("wins"); + } + + public int getHeadsEaten() { + return jsonHandler.getSafeInt("heads_eaten"); + } + + public int getKills() { + return jsonHandler.getSafeInt("kills"); + } + + public int getDeaths() { + return jsonHandler.getSafeInt("deaths"); + } + + public int getKillToDeathRatio() { + return getKills() / Math.max(getDeaths(), 1); + } + + public int getUltimatesCrafted() { + return jsonHandler.getSafeInt("ultimates_crafted"); + } + + public int getExtraUltimatesCrafted() { + return jsonHandler.getSafeInt("extra_ultimates_crafted"); + } + +} From 6e198a3b02c79a430fe1e35abc1ddc1814c78bdd Mon Sep 17 00:00:00 2001 From: Sam Date: Tue, 25 Oct 2022 21:33:18 -0700 Subject: [PATCH 10/10] Add getMode() method --- .../github/neopixel/wrapper/games/uhc/HypixelUHCStats.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHCStats.java b/src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHCStats.java index 701e98a9..287fdb91 100644 --- a/src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHCStats.java +++ b/src/main/java/io/github/neopixel/wrapper/games/uhc/HypixelUHCStats.java @@ -1,6 +1,7 @@ package io.github.neopixel.wrapper.games.uhc; import io.github.neopixel.wrapper.games.HypixelGame; +import io.github.neopixel.wrapper.games.bedwars.HypixelBedWars; import io.github.neopixel.wrapper.util.JSONHandler; public class HypixelUHCStats extends HypixelGame { @@ -32,5 +33,9 @@ public boolean isTeammateDamage() { return jsonHandler.getSafeBoolean("teammate_damage"); } - + public HypixelUHC getMode(HypixelUHCMode mode) { + JSONHandler jsonHandler = this.jsonHandler.getCopy(); + jsonHandler.setStatsPrefix(mode.getStatsSuffix()); + return new HypixelUHC(jsonHandler); + } }