Mirror von
https://github.com/ViaVersion/ViaVersion.git
synchronisiert 2024-11-03 14:50:30 +01:00
Rewrite StoredEnchantments
Dieser Commit ist enthalten in:
Ursprung
7eb446d528
Commit
4c8761b17b
@ -325,13 +325,31 @@ public class InventoryPackets {
|
|||||||
tag.remove("ench");
|
tag.remove("ench");
|
||||||
tag.put(enchantments);
|
tag.put(enchantments);
|
||||||
}
|
}
|
||||||
|
if (tag.get("StoredEnchantments") instanceof ListTag) {
|
||||||
|
ListTag storedEnch = tag.get("StoredEnchantments");
|
||||||
|
ListTag newStoredEnch = new ListTag("StoredEnchantments", CompoundTag.class);
|
||||||
|
for (Tag enchEntry : storedEnch) {
|
||||||
|
if (enchEntry instanceof CompoundTag) {
|
||||||
|
CompoundTag enchantmentEntry = new CompoundTag("");
|
||||||
|
enchantmentEntry.put(new StringTag("id",
|
||||||
|
MappingData.oldEnchantmentsIds.get(
|
||||||
|
(short) ((CompoundTag) enchEntry).get("id").getValue()
|
||||||
|
)
|
||||||
|
));
|
||||||
|
enchantmentEntry.put(new ShortTag("lvl", (Short) ((CompoundTag) enchEntry).get("lvl").getValue()));
|
||||||
|
newStoredEnch.add(enchantmentEntry);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
tag.remove("StoredEnchantments");
|
||||||
|
tag.put(newStoredEnch);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int rawId = (item.getId() << 4 | item.getData() & 0xF);
|
int rawId = (item.getId() << 4 | item.getData() & 0xF);
|
||||||
|
|
||||||
// Handle SpawnEggs
|
// Handle SpawnEggs
|
||||||
if (item.getId() == 383) {
|
if (item.getId() == 383) {
|
||||||
if (tag.get("EntityTag") instanceof CompoundTag) {
|
if (tag != null && tag.get("EntityTag") instanceof CompoundTag) {
|
||||||
CompoundTag entityTag = tag.get("EntityTag");
|
CompoundTag entityTag = tag.get("EntityTag");
|
||||||
if (entityTag.get("id") instanceof StringTag) {
|
if (entityTag.get("id") instanceof StringTag) {
|
||||||
StringTag identifier = entityTag.get("id");
|
StringTag identifier = entityTag.get("id");
|
||||||
@ -447,7 +465,6 @@ public class InventoryPackets {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Display Name now uses JSON
|
// Display Name now uses JSON
|
||||||
@ -484,6 +501,27 @@ public class InventoryPackets {
|
|||||||
tag.remove("Enchantment");
|
tag.remove("Enchantment");
|
||||||
tag.put(ench);
|
tag.put(ench);
|
||||||
}
|
}
|
||||||
|
if (tag.get("StoredEnchantments") instanceof ListTag) {
|
||||||
|
ListTag storedEnch = tag.get("StoredEnchantments");
|
||||||
|
ListTag newStoredEnch = new ListTag("StoredEnchantments", CompoundTag.class);
|
||||||
|
for (Tag enchantmentEntry : storedEnch) {
|
||||||
|
if (enchantmentEntry instanceof CompoundTag) {
|
||||||
|
CompoundTag enchEntry = new CompoundTag("");
|
||||||
|
enchEntry.put(
|
||||||
|
new ShortTag(
|
||||||
|
"id",
|
||||||
|
MappingData.oldEnchantmentsIds.inverse().get(
|
||||||
|
(String) ((CompoundTag) enchantmentEntry).get("id").getValue()
|
||||||
|
)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
enchEntry.put(new ShortTag("lvl", (Short) ((CompoundTag) enchantmentEntry).get("lvl").getValue()));
|
||||||
|
newStoredEnch.add(enchEntry);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
tag.remove("StoredEnchantments");
|
||||||
|
tag.put(newStoredEnch);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren