diff --git a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_20_5to1_20_3/rewriter/StructuredDataConverter.java b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_20_5to1_20_3/rewriter/StructuredDataConverter.java index dbfdb1ce5..7dd4e2c7d 100644 --- a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_20_5to1_20_3/rewriter/StructuredDataConverter.java +++ b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_20_5to1_20_3/rewriter/StructuredDataConverter.java @@ -755,18 +755,23 @@ public final class StructuredDataConverter { final ListTag itemsTag = new ListTag<>(CompoundTag.class); for (final Item item : items) { final CompoundTag savedItem = new CompoundTag(); - final String name = toMappedItemName(item.identifier()); - savedItem.putString("id", name); - if (backupInconvertibleData && name.isEmpty()) { - savedItem.putInt(ITEM_BACKUP_TAG_KEY, item.identifier()); - } - savedItem.putByte("Count", (byte) item.amount()); + if (item != null) { + final String name = toMappedItemName(item.identifier()); + savedItem.putString("id", name); + if (backupInconvertibleData && name.isEmpty()) { + savedItem.putInt(ITEM_BACKUP_TAG_KEY, item.identifier()); + } + savedItem.putByte("Count", (byte) item.amount()); - final CompoundTag itemTag = new CompoundTag(); - for (final StructuredData data : item.structuredData().data().values()) { - writeToTag(data, itemTag); + final CompoundTag itemTag = new CompoundTag(); + for (final StructuredData data : item.structuredData().data().values()) { + writeToTag(data, itemTag); + } + savedItem.put("tag", itemTag); + } else { + savedItem.putString("id", "air"); } - savedItem.put("tag", itemTag); + itemsTag.add(savedItem); } tag.put(key, itemsTag);