Mirror von
https://github.com/ViaVersion/ViaVersion.git
synchronisiert 2024-12-26 16:12:42 +01:00
Fix custom enchantments
Dieser Commit ist enthalten in:
Ursprung
a2f5120069
Commit
32161333dd
@ -315,11 +315,12 @@ public class InventoryPackets {
|
|||||||
for (Tag enchEntry : ench) {
|
for (Tag enchEntry : ench) {
|
||||||
if (enchEntry instanceof CompoundTag) {
|
if (enchEntry instanceof CompoundTag) {
|
||||||
CompoundTag enchantmentEntry = new CompoundTag("");
|
CompoundTag enchantmentEntry = new CompoundTag("");
|
||||||
enchantmentEntry.put(new StringTag("id",
|
short oldId = (short) ((CompoundTag) enchEntry).get("id").getValue();
|
||||||
MappingData.oldEnchantmentsIds.get(
|
String newId = MappingData.oldEnchantmentsIds.get(oldId);
|
||||||
(short) ((CompoundTag) enchEntry).get("id").getValue()
|
if (newId == null){
|
||||||
)
|
newId = "viaversion:legacy/"+oldId;
|
||||||
));
|
}
|
||||||
|
enchantmentEntry.put(new StringTag("id", newId));
|
||||||
enchantmentEntry.put(new ShortTag("lvl", (Short) ((CompoundTag) enchEntry).get("lvl").getValue()));
|
enchantmentEntry.put(new ShortTag("lvl", (Short) ((CompoundTag) enchEntry).get("lvl").getValue()));
|
||||||
enchantments.add(enchantmentEntry);
|
enchantments.add(enchantmentEntry);
|
||||||
}
|
}
|
||||||
@ -333,10 +334,13 @@ public class InventoryPackets {
|
|||||||
for (Tag enchEntry : storedEnch) {
|
for (Tag enchEntry : storedEnch) {
|
||||||
if (enchEntry instanceof CompoundTag) {
|
if (enchEntry instanceof CompoundTag) {
|
||||||
CompoundTag enchantmentEntry = new CompoundTag("");
|
CompoundTag enchantmentEntry = new CompoundTag("");
|
||||||
|
short oldId = (short) ((CompoundTag) enchEntry).get("id").getValue();
|
||||||
|
String newId = MappingData.oldEnchantmentsIds.get(oldId);
|
||||||
|
if (newId == null) {
|
||||||
|
newId = "viaversion:legacy/"+oldId;
|
||||||
|
}
|
||||||
enchantmentEntry.put(new StringTag("id",
|
enchantmentEntry.put(new StringTag("id",
|
||||||
MappingData.oldEnchantmentsIds.get(
|
newId
|
||||||
(short) ((CompoundTag) enchEntry).get("id").getValue()
|
|
||||||
)
|
|
||||||
));
|
));
|
||||||
enchantmentEntry.put(new ShortTag("lvl", (Short) ((CompoundTag) enchEntry).get("lvl").getValue()));
|
enchantmentEntry.put(new ShortTag("lvl", (Short) ((CompoundTag) enchEntry).get("lvl").getValue()));
|
||||||
newStoredEnch.add(enchantmentEntry);
|
newStoredEnch.add(enchantmentEntry);
|
||||||
@ -495,12 +499,15 @@ public class InventoryPackets {
|
|||||||
for (Tag enchantmentEntry : enchantments) {
|
for (Tag enchantmentEntry : enchantments) {
|
||||||
if (enchantmentEntry instanceof CompoundTag) {
|
if (enchantmentEntry instanceof CompoundTag) {
|
||||||
CompoundTag enchEntry = new CompoundTag("");
|
CompoundTag enchEntry = new CompoundTag("");
|
||||||
|
String newId = (String) ((CompoundTag) enchantmentEntry).get("id").getValue();
|
||||||
|
Short oldId = MappingData.oldEnchantmentsIds.inverse().get(newId);
|
||||||
|
if (oldId == null && newId.startsWith("viaversion:legacy/")){
|
||||||
|
oldId = Short.valueOf(newId.substring(18));
|
||||||
|
}
|
||||||
enchEntry.put(
|
enchEntry.put(
|
||||||
new ShortTag(
|
new ShortTag(
|
||||||
"id",
|
"id",
|
||||||
MappingData.oldEnchantmentsIds.inverse().get(
|
oldId
|
||||||
(String) ((CompoundTag) enchantmentEntry).get("id").getValue()
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
enchEntry.put(new ShortTag("lvl", (Short) ((CompoundTag) enchantmentEntry).get("lvl").getValue()));
|
enchEntry.put(new ShortTag("lvl", (Short) ((CompoundTag) enchantmentEntry).get("lvl").getValue()));
|
||||||
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren