3
0
Mirror von https://github.com/ViaVersion/ViaVersion.git synchronisiert 2024-11-19 14:30:16 +01:00

Fix StructuredDataConverter#removeItemBackupTag

Dieser Commit ist enthalten in:
FlorianMichael 2024-04-08 13:31:13 +02:00
Ursprung 7b28683b6a
Commit ba2e50cc88
Es konnte kein GPG-Schlüssel zu dieser Signatur gefunden werden
GPG-Schlüssel-ID: C2FB87E71C425126
2 geänderte Dateien mit 14 neuen und 10 gelöschten Zeilen

Datei anzeigen

@ -851,7 +851,7 @@ public final class BlockItemPacketRewriter1_20_5 extends ItemRewriter<Clientboun
return; return;
} }
final int ingredientId = StructuredDataConverter.getBackupItemId(materialCompoundTag, toMappedItemId(ingredientTag.getValue())); final int ingredientId = StructuredDataConverter.removeItemBackupTag(materialCompoundTag, toMappedItemId(ingredientTag.getValue()));
if (ingredientId == -1) { if (ingredientId == -1) {
return; return;
} }
@ -900,7 +900,7 @@ public final class BlockItemPacketRewriter1_20_5 extends ItemRewriter<Clientboun
return; return;
} }
final int templateItemId = StructuredDataConverter.getBackupItemId(patternCompoundTag, toMappedItemId(templateItem)); final int templateItemId = StructuredDataConverter.removeItemBackupTag(patternCompoundTag, toMappedItemId(templateItem));
if (templateItemId == -1) { if (templateItemId == -1) {
return; return;
} }
@ -1085,7 +1085,7 @@ public final class BlockItemPacketRewriter1_20_5 extends ItemRewriter<Clientboun
return null; return null;
} }
final int itemId = StructuredDataConverter.getBackupItemId(item, unmappedItemId(id)); final int itemId = StructuredDataConverter.removeItemBackupTag(item, unmappedItemId(id));
if (itemId == -1) { if (itemId == -1) {
return null; return null;
} }

Datei anzeigen

@ -81,7 +81,7 @@ public final class StructuredDataConverter {
// Can't do nicely // Can't do nicely
private static final String BACKUP_TAG_KEY = "VV|DataComponents"; private static final String BACKUP_TAG_KEY = "VV|DataComponents";
private static final String ITEM_TAG_KEY = "VV|id"; private static final String ITEM_BACKUP_TAG_KEY = "VV|id";
private final Map<StructuredDataKey<?>, DataConverter<?>> rewriters = new Reference2ObjectOpenHashMap<>(); private final Map<StructuredDataKey<?>, DataConverter<?>> rewriters = new Reference2ObjectOpenHashMap<>();
@ -461,7 +461,7 @@ public final class StructuredDataConverter {
final String ingredientName = toMappedItemName(material.itemId()); final String ingredientName = toMappedItemName(material.itemId());
if (ingredientName.isEmpty()) { if (ingredientName.isEmpty()) {
getBackupTag(materialTag).putInt(ITEM_TAG_KEY, material.itemId()); getBackupTag(materialTag).putInt(ITEM_BACKUP_TAG_KEY, material.itemId());
} }
materialTag.putString("ingredient", ingredientName); materialTag.putString("ingredient", ingredientName);
materialTag.put("item_model_index", new FloatTag(material.itemModelIndex())); materialTag.put("item_model_index", new FloatTag(material.itemModelIndex()));
@ -487,7 +487,7 @@ public final class StructuredDataConverter {
patternTag.putString("assetId", pattern.assetName()); patternTag.putString("assetId", pattern.assetName());
final String itemName = toMappedItemName(pattern.itemId()); final String itemName = toMappedItemName(pattern.itemId());
if (itemName.isEmpty()) { if (itemName.isEmpty()) {
getBackupTag(patternTag).putInt(ITEM_TAG_KEY, pattern.itemId()); getBackupTag(patternTag).putInt(ITEM_BACKUP_TAG_KEY, pattern.itemId());
} }
patternTag.putString("templateItem", itemName); patternTag.putString("templateItem", itemName);
patternTag.put("description", pattern.description()); patternTag.put("description", pattern.description());
@ -642,12 +642,16 @@ public final class StructuredDataConverter {
return backupTag; return backupTag;
} }
static int getBackupItemId(final CompoundTag tag, final int unmappedId) { static int removeItemBackupTag(final CompoundTag tag, final int unmappedId) {
if (unmappedId != -1) { if (unmappedId != -1) {
return unmappedId; return unmappedId;
} }
final IntTag itemIdTag = tag.getIntTag(ITEM_TAG_KEY); final IntTag itemBackupTag = tag.getIntTag(ITEM_BACKUP_TAG_KEY);
return itemIdTag != null ? itemIdTag.getTagId() : -1; if (itemBackupTag != null) {
tag.remove(ITEM_BACKUP_TAG_KEY);
return itemBackupTag.asInt();
}
return -1;
} }
private void convertBlockPredicates(final CompoundTag tag, final AdventureModePredicate data, final String key, final int hideFlag) { private void convertBlockPredicates(final CompoundTag tag, final AdventureModePredicate data, final String key, final int hideFlag) {
@ -727,7 +731,7 @@ public final class StructuredDataConverter {
final String name = toMappedItemName(item.identifier()); final String name = toMappedItemName(item.identifier());
savedItem.putString("id", name); savedItem.putString("id", name);
if (name.isEmpty()) { if (name.isEmpty()) {
savedItem.putInt(ITEM_TAG_KEY, item.identifier()); savedItem.putInt(ITEM_BACKUP_TAG_KEY, item.identifier());
} }
savedItem.putByte("Count", (byte) item.amount()); savedItem.putByte("Count", (byte) item.amount());