From 16b5aeb4647b13d49b8d679a417bdbc0b4ff6aba Mon Sep 17 00:00:00 2001 From: Cow Date: Sun, 30 May 2021 18:35:30 +0200 Subject: (Dungeons) player lookups additions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - added ironman icon ♲ - added average secrets per completion --- .../cowtipper/cowlection/data/HySkyBlockStats.java | 33 ++++++++++++++++++++++ 1 file changed, 33 insertions(+) (limited to 'src/main/java/de/cowtipper/cowlection/data') diff --git a/src/main/java/de/cowtipper/cowlection/data/HySkyBlockStats.java b/src/main/java/de/cowtipper/cowlection/data/HySkyBlockStats.java index 7673b60..8a3e067 100644 --- a/src/main/java/de/cowtipper/cowlection/data/HySkyBlockStats.java +++ b/src/main/java/de/cowtipper/cowlection/data/HySkyBlockStats.java @@ -9,6 +9,7 @@ import net.minecraft.nbt.CompressedStreamTools; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.StringUtils; import net.minecraftforge.common.util.Constants; import org.apache.commons.codec.binary.Base64; @@ -63,6 +64,7 @@ public class HySkyBlockStats { public static class Profile { private String cute_name; private Map members; + private String game_mode; private Banking banking; /** @@ -79,6 +81,15 @@ public class HySkyBlockStats { return members.get(UUIDTypeAdapter.fromUUID(uuid)); } + public String getGameModeIcon() { + if (StringUtils.isNullOrEmpty(game_mode)) { + return ""; + } else if ("ironman".equals(game_mode)) { + return EnumChatFormatting.GRAY + "♲"; + } + return ""; + } + public double getCoinBank() { return (banking != null) ? banking.balance : -1; } @@ -398,6 +409,18 @@ public class HySkyBlockStats { return dungeonTypesLevels.toString(); } + public int getTotalDungeonCompletions() { + int totalDungeonCompletions = 0; + if (dungeon_types != null) { + for (Type dungeonType : dungeon_types.values()) { + if (dungeonType != null && dungeonType.hasPlayed()) { + totalDungeonCompletions += dungeonType.getTotalTierCompletions(); + } + } + } + return totalDungeonCompletions; + } + public static class Type { private Map times_played; private Map tier_completions; @@ -425,6 +448,16 @@ public class HySkyBlockStats { return experience > 0 || best_score != null; } + public int getTotalTierCompletions() { + int totalTierCompletions = 0; + if (tier_completions != null) { + for (Integer completions : tier_completions.values()) { + totalTierCompletions += completions; + } + } + return totalTierCompletions; + } + /** * Level [lvl] ([amount]x Floor [highest]) * -- cgit