From a8de222bc29b4e1d502c796564a3e8b80ac4e927 Mon Sep 17 00:00:00 2001 From: KennyTV Date: Mon, 1 Mar 2021 18:25:31 +0100 Subject: [PATCH] More sanity checks in legacy enchantment handling Fixes #336 --- .../api/rewriters/LegacyEnchantmentRewriter.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/common/src/main/java/nl/matsv/viabackwards/api/rewriters/LegacyEnchantmentRewriter.java b/common/src/main/java/nl/matsv/viabackwards/api/rewriters/LegacyEnchantmentRewriter.java index c7297cac..30a4f31a 100644 --- a/common/src/main/java/nl/matsv/viabackwards/api/rewriters/LegacyEnchantmentRewriter.java +++ b/common/src/main/java/nl/matsv/viabackwards/api/rewriters/LegacyEnchantmentRewriter.java @@ -24,7 +24,10 @@ public class LegacyEnchantmentRewriter { ListTag remappedEnchantments = new ListTag(nbtTagName + "|" + key, CompoundTag.class); List lore = new ArrayList<>(); for (Tag enchantmentEntry : enchantments.clone()) { - Short newId = (Short) ((CompoundTag) enchantmentEntry).get("id").getValue(); + Tag idTag = ((CompoundTag) enchantmentEntry).get("id"); + if (idTag == null) continue; + + short newId = ((Number) idTag.getValue()).shortValue(); String enchantmentName = enchantmentMappings.get(newId); if (enchantmentName != null) { enchantments.remove(enchantmentEntry);