aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/eu/olli/cowmoonication/util
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/eu/olli/cowmoonication/util')
-rw-r--r--src/main/java/eu/olli/cowmoonication/util/HyStalking.java90
-rw-r--r--src/main/java/eu/olli/cowmoonication/util/Utils.java6
2 files changed, 70 insertions, 26 deletions
diff --git a/src/main/java/eu/olli/cowmoonication/util/HyStalking.java b/src/main/java/eu/olli/cowmoonication/util/HyStalking.java
index a46e1b5..a1f11ae 100644
--- a/src/main/java/eu/olli/cowmoonication/util/HyStalking.java
+++ b/src/main/java/eu/olli/cowmoonication/util/HyStalking.java
@@ -1,6 +1,6 @@
package eu.olli.cowmoonication.util;
-import org.apache.commons.lang3.text.WordUtils;
+import org.apache.commons.lang3.StringUtils;
public class HyStalking {
private boolean success;
@@ -41,38 +41,76 @@ public class HyStalking {
cleanGameType = GameType.valueOf(gameType).getCleanName();
} catch (IllegalArgumentException e) {
// no matching game type found
- cleanGameType = WordUtils.capitalizeFully(gameType.replace('_', ' '));
+ cleanGameType = Utils.fancyCase(gameType);
}
return cleanGameType;
}
public String getMode() {
- // list partially taken from https://api.hypixel.net/gameCounts?key=MOO
- switch (mode) {
+ // modes partially taken from https://api.hypixel.net/gameCounts?key=MOO
+ if (mode == null) {
+ return null;
+ }
+ String gameType = getGameType();
+ if (GameType.BEDWARS.cleanName.equals(gameType)) {
+ // BedWars related
+ String playerMode;
+ String specialMode;
+ int specialModeStart = StringUtils.ordinalIndexOf(mode, "_", 2);
+ if (specialModeStart > -1) {
+ playerMode = mode.substring(0, specialModeStart);
+ specialMode = mode.substring(specialModeStart + 1) + " ";
+ } else {
+ playerMode = mode;
+ specialMode = "";
+ }
+ String playerModeClean;
+ switch (playerMode) {
+ case "EIGHT_ONE":
+ playerModeClean = "Solo";
+ break;
+ case "EIGHT_TWO":
+ playerModeClean = "Doubles";
+ break;
+ case "FOUR_THREE":
+ playerModeClean = "3v3v3v3";
+ break;
+ case "FOUR_FOUR":
+ playerModeClean = "4v4v4v4";
+ break;
+ case "TWO_FOUR":
+ playerModeClean = "4v4";
+ break;
+ default:
+ playerModeClean = playerMode;
+ }
+ return Utils.fancyCase(specialMode + playerModeClean);
+ } else if (GameType.SKYBLOCK.cleanName.equals(gameType)) {
// SkyBlock related
- case "dynamic":
- return "Private Island";
- case "hub":
- return "Hub";
- case "combat_1":
- return "Spider's Den";
- case "combat_2":
- return "Blazing Fortress";
- case "combat_3":
- return "The End";
- case "farming_1":
- return "The Barn";
- case "farming_2":
- return "Mushroom Desert";
- case "foraging_1":
- return "The Park";
- case "mining_1":
- return "Gold Mine";
- case "mining_2":
- return "Deep Caverns";
- default:
- return WordUtils.capitalizeFully(mode.replace('_', ' '));
+ switch (mode) {
+ case "dynamic":
+ return "Private Island";
+ case "hub":
+ return "Hub";
+ case "combat_1":
+ return "Spider's Den";
+ case "combat_2":
+ return "Blazing Fortress";
+ case "combat_3":
+ return "The End";
+ case "farming_1":
+ return "The Barn";
+ case "farming_2":
+ return "Mushroom Desert";
+ case "foraging_1":
+ return "The Park";
+ case "mining_1":
+ return "Gold Mine";
+ case "mining_2":
+ return "Deep Caverns";
+ }
}
+ return Utils.fancyCase(mode);
}
public String getMap() {
diff --git a/src/main/java/eu/olli/cowmoonication/util/Utils.java b/src/main/java/eu/olli/cowmoonication/util/Utils.java
index ec96bf1..dd68cc3 100644
--- a/src/main/java/eu/olli/cowmoonication/util/Utils.java
+++ b/src/main/java/eu/olli/cowmoonication/util/Utils.java
@@ -1,5 +1,7 @@
package eu.olli.cowmoonication.util;
+import org.apache.commons.lang3.text.WordUtils;
+
import java.util.regex.Pattern;
public final class Utils {
@@ -16,4 +18,8 @@ public final class Utils {
public static boolean isValidMcName(String username) {
return VALID_USERNAME.matcher(username).matches();
}
+
+ public static String fancyCase(String string) {
+ return WordUtils.capitalizeFully(string.replace('_', ' '));
+ }
}