From f0b57a2bbf0d0d58a57a26e234dc0772aba0c688 Mon Sep 17 00:00:00 2001 From: Sollace Date: Thu, 16 May 2024 20:31:42 +0100 Subject: [PATCH] Fix trait serialization. Fixes #342 --- .../unicopia/ability/magic/spell/trait/SpellTraits.java | 2 +- .../unicopia/ability/magic/spell/trait/Trait.java | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/trait/SpellTraits.java b/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/trait/SpellTraits.java index 5c9b9ca8..f900ac24 100644 --- a/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/trait/SpellTraits.java +++ b/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/trait/SpellTraits.java @@ -319,7 +319,7 @@ public final class SpellTraits implements Iterable> { public static Stream> streamFromJson(JsonObject traits) { return traits.entrySet().stream().map(entry -> { - Trait trait = Trait.fromName(entry.getKey()).orElse(null); + Trait trait = Trait.fromId(entry.getKey()).orElse(null); if (trait == null || !entry.getValue().isJsonPrimitive() && !entry.getValue().getAsJsonPrimitive().isNumber()) { return null; } diff --git a/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/trait/Trait.java b/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/trait/Trait.java index 20b6e151..7c3741ac 100644 --- a/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/trait/Trait.java +++ b/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/trait/Trait.java @@ -164,7 +164,11 @@ public enum Trait implements CommandArgumentEnum { } public static Optional fromName(String name) { - return Optional.ofNullable(REGISTRY.getOrDefault(name.toUpperCase(), null)); + Trait trait = REGISTRY.getOrDefault(name.toUpperCase(), null); + if (trait == null) { + Unicopia.LOGGER.error("Unknown trait: " + name); + } + return Optional.ofNullable(trait); } public static EnumArgumentType argument() {