diff options
Diffstat (limited to 'src/main/java')
3 files changed, 5 insertions, 8 deletions
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/chat/ChatRulesConfigScreen.java b/src/main/java/de/hysky/skyblocker/skyblock/chat/ChatRulesConfigScreen.java index d986f9c7..b4e7334a 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/chat/ChatRulesConfigScreen.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/chat/ChatRulesConfigScreen.java @@ -20,11 +20,6 @@ public class ChatRulesConfigScreen extends Screen { } @Override - public void setTooltip(Text tooltip) { - super.setTooltip(tooltip); - } - - @Override protected void init() { super.init(); chatRulesConfigListWidget = new ChatRulesConfigListWidget(client, this, width, height - 96, 32, 25); diff --git a/src/main/java/de/hysky/skyblocker/utils/CodecUtils.java b/src/main/java/de/hysky/skyblocker/utils/CodecUtils.java index 5b17dfa4..649f2dc4 100644 --- a/src/main/java/de/hysky/skyblocker/utils/CodecUtils.java +++ b/src/main/java/de/hysky/skyblocker/utils/CodecUtils.java @@ -44,7 +44,9 @@ public final class CodecUtils { * @param <E> The enum type * @return EnumSet codec for the given enum */ - public static <E extends Enum<E>> Codec<EnumSet<E>> enumSetCodec(Codec<E> enumCodec) { - return enumCodec.listOf().xmap(EnumSet::copyOf, List::copyOf); + public static <E extends Enum<E>> Codec<EnumSet<E>> enumSetCodec(Codec<E> enumCodec, Class<E> enumClass) { + // EnumSet#copyOf finds type from the first element of the list passed to it, so if it's empty the enum type is unknown and an exception is thrown + // So we have to manually handle the case where the list empty + return enumCodec.listOf().xmap(list -> list.isEmpty() ? EnumSet.noneOf(enumClass) : EnumSet.copyOf(list), List::copyOf); } } diff --git a/src/main/java/de/hysky/skyblocker/utils/Location.java b/src/main/java/de/hysky/skyblocker/utils/Location.java index 4c3aa6f4..b43783ab 100644 --- a/src/main/java/de/hysky/skyblocker/utils/Location.java +++ b/src/main/java/de/hysky/skyblocker/utils/Location.java @@ -47,7 +47,7 @@ public enum Location implements StringIdentifiable { UNKNOWN("unknown"); public static final Codec<Location> CODEC = StringIdentifiable.createCodec(Location::values); - public static final Codec<EnumSet<Location>> SET_CODEC = CodecUtils.enumSetCodec(CODEC); + public static final Codec<EnumSet<Location>> SET_CODEC = CodecUtils.enumSetCodec(CODEC, Location.class); /** * location id from <a href="https://api.hypixel.net/v2/resources/games">Hypixel API</a> |
