3
0
Mirror von https://github.com/ViaVersion/ViaVersion.git synchronisiert 2024-09-17 01:23:43 +02:00

Remove redundant tags

Dieser Commit ist enthalten in:
creeper123123321 2018-07-20 07:14:51 -03:00
Ursprung fdc4d2c5d2
Commit 4e2156bd2b
Es konnte kein GPG-Schlüssel zu dieser Signatur gefunden werden
GPG-Schlüssel-ID: 0AC57D54786721D1
2 geänderte Dateien mit 25 neuen und 15 gelöschten Zeilen

Datei anzeigen

@ -64,7 +64,8 @@ public class SpawnEggRewriter {
public static int getSpawnEggId(String entityIdentifier) { public static int getSpawnEggId(String entityIdentifier) {
// Fallback to bat // Fallback to bat
if (!spawnEggs.containsKey(entityIdentifier)) if (!spawnEggs.containsKey(entityIdentifier))
return 25100288; //return 25100288;
return -1;
return (383 << 16 | (spawnEggs.get(entityIdentifier) & 0xFFFF)); return (383 << 16 | (spawnEggs.get(entityIdentifier) & 0xFFFF));
} }

Datei anzeigen

@ -265,6 +265,8 @@ public class InventoryPackets {
// Save original id // Save original id
int originalId = (item.getId() << 16 | item.getData() & 0xFFFF); int originalId = (item.getId() << 16 | item.getData() & 0xFFFF);
int rawId = (item.getId() << 4 | item.getData() & 0xF);
// NBT Additions // NBT Additions
if (isDamageable(item.getId())) { if (isDamageable(item.getId())) {
if (tag == null) item.setTag(tag = new CompoundTag("tag")); if (tag == null) item.setTag(tag = new CompoundTag("tag"));
@ -343,24 +345,31 @@ public class InventoryPackets {
tag.remove("StoredEnchantments"); tag.remove("StoredEnchantments");
tag.put(newStoredEnch); tag.put(newStoredEnch);
} }
} // Handle SpawnEggs
if (item.getId() == 383) {
int rawId = (item.getId() << 4 | item.getData() & 0xF); if (tag.get("EntityTag") instanceof CompoundTag) {
CompoundTag entityTag = tag.get("EntityTag");
// Handle SpawnEggs if (entityTag.get("id") instanceof StringTag) {
if (item.getId() == 383) { StringTag identifier = entityTag.get("id");
if (tag != null && tag.get("EntityTag") instanceof CompoundTag) { rawId = SpawnEggRewriter.getSpawnEggId(identifier.getValue());
CompoundTag entityTag = tag.get("EntityTag"); if (rawId == -1) {
if (entityTag.get("id") instanceof StringTag) { rawId = 25100288; // Bat fallback
StringTag identifier = entityTag.get("id"); } else {
rawId = SpawnEggRewriter.getSpawnEggId(identifier.getValue()); entityTag.remove("id");
if (entityTag.isEmpty())
tag.remove("EntityTag");
}
} else {
// Fallback to bat
rawId = 25100288;
}
} else { } else {
// Fallback to bat // Fallback to bat
rawId = 25100288; rawId = 25100288;
} }
} else { }
// Fallback to bat if (tag.isEmpty()) {
rawId = 25100288; item.setTag(tag = null);
} }
} }