Handle invalid enchantment NBT

Fixes #2117
This commit is contained in:
Camotoy 2021-09-14 11:18:26 -04:00
parent e13643d040
commit 0537c04ef6
No known key found for this signature in database
GPG key ID: 7EEFB66FE798081F

View file

@ -43,9 +43,9 @@ public class EnchantmentTranslator extends NbtItemStackTranslator {
@Override
public void translateToBedrock(GeyserSession session, CompoundTag itemTag, ItemMapping mapping) {
List<Tag> newTags = new ArrayList<>();
if (itemTag.contains("Enchantments")) {
ListTag enchantmentTag = itemTag.get("Enchantments");
for (Tag tag : enchantmentTag.getValue()) {
Tag enchantmentTag = itemTag.get("Enchantments");
if (enchantmentTag instanceof ListTag listTag) {
for (Tag tag : listTag.getValue()) {
if (!(tag instanceof CompoundTag)) continue;
CompoundTag bedrockTag = remapEnchantment((CompoundTag) tag);
@ -53,9 +53,9 @@ public class EnchantmentTranslator extends NbtItemStackTranslator {
}
itemTag.remove("Enchantments");
}
if (itemTag.contains("StoredEnchantments")) {
ListTag enchantmentTag = itemTag.get("StoredEnchantments");
for (Tag tag : enchantmentTag.getValue()) {
enchantmentTag = itemTag.get("StoredEnchantments");
if (enchantmentTag instanceof ListTag listTag) {
for (Tag tag : listTag.getValue()) {
if (!(tag instanceof CompoundTag)) continue;
CompoundTag bedrockTag = remapEnchantment((CompoundTag) tag);