diff --git a/core/src/main/java/nl/matsv/viabackwards/api/rewriters/BlockItemRewriter.java b/core/src/main/java/nl/matsv/viabackwards/api/rewriters/BlockItemRewriter.java index fffd4ba4..976339bc 100644 --- a/core/src/main/java/nl/matsv/viabackwards/api/rewriters/BlockItemRewriter.java +++ b/core/src/main/java/nl/matsv/viabackwards/api/rewriters/BlockItemRewriter.java @@ -43,9 +43,9 @@ public abstract class BlockItemRewriter extends Rew protected Item handleItemToClient(Item i) { if (i == null) return null; - if (!replacementData.containsKey((int) i.getId())) + if (!replacementData.containsKey(i.getIdentifier())) return i; - BlockItemSettings data = replacementData.get((int) i.getId()); + BlockItemSettings data = replacementData.get(i.getIdentifier()); Item original = ItemUtil.copyItem(i); if (data.hasRepItem()) { diff --git a/core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_12_2to1_13/packets/BlockItemPackets1_13.java b/core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_12_2to1_13/packets/BlockItemPackets1_13.java index bef1d754..3cdcb631 100644 --- a/core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_12_2to1_13/packets/BlockItemPackets1_13.java +++ b/core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_12_2to1_13/packets/BlockItemPackets1_13.java @@ -255,7 +255,6 @@ public class BlockItemPackets1_13 extends BlockItemRewriter eggEntityId = SpawnEggRewriter.getEntityId(oldId); @@ -633,22 +657,24 @@ public class BlockItemPackets1_13 extends BlockItemRewriter> 4) << 16 | oldId & 0xF; } + } else if (item.getIdentifier() == 362) { // base/colorless shulker box + rawId = 0xe50000; // purple shulker box } } if (rawId == null) { if (!Via.getConfig().isSuppress1_13ConversionErrors() || Via.getManager().isDebug()) { - ViaBackwards.getPlatform().getLogger().warning("Failed to get 1.12 item for " + item.getId()); + ViaBackwards.getPlatform().getLogger().warning("Failed to get 1.12 item for " + item.getIdentifier()); } rawId = 0x10000; // Stone } - item.setId((short) (rawId >> 16)); + item.setIdentifier(rawId >> 16); item.setData((short) (rawId & 0xFFFF)); // NBT changes if (tag != null) { - if (isDamageable(item.getId())) { + if (isDamageable(item.getIdentifier())) { if (tag.get("Damage") instanceof IntTag) { if (!gotRawIdFromTag) item.setData((short) (int) tag.get("Damage").getValue()); @@ -656,7 +682,7 @@ public class BlockItemPackets1_13 extends BlockItemRewriter base/colorless shulker box + } else if (item.getIdentifier() == 31 && item.getData() == 0) { // Shrub was removed rawId = 32 << 4; // Dead Bush } else if (MappingData.oldToNewItems.containsKey(rawId & ~0xF)) { rawId &= ~0xF; // Remove data } else { if (!Via.getConfig().isSuppress1_13ConversionErrors() || Via.getManager().isDebug()) { - ViaBackwards.getPlatform().getLogger().warning("Failed to get 1.13 item for " + item.getId()); + ViaBackwards.getPlatform().getLogger().warning("Failed to get 1.13 item for " + item.getIdentifier()); } rawId = 16; // Stone } } - item.setId(MappingData.oldToNewItems.get(rawId).shortValue()); + if (newId == -1) { + newId = MappingData.oldToNewItems.get(rawId); + } + + item.setIdentifier(newId); item.setData((short) 0); item = super.handleItemToServer(item); return item; diff --git a/core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_13to1_13_1/packets/InventoryPackets1_13_1.java b/core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_13to1_13_1/packets/InventoryPackets1_13_1.java index 8a22358f..e8d0cb97 100644 --- a/core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_13to1_13_1/packets/InventoryPackets1_13_1.java +++ b/core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_13to1_13_1/packets/InventoryPackets1_13_1.java @@ -155,7 +155,7 @@ public class InventoryPackets1_13_1 { public static void toClient(Item item) { if (item == null) return; - item.setId((short) getOldItemId(item.getId())); + item.setIdentifier(getOldItemId(item.getIdentifier())); } //1.13.1 Item Id @@ -168,7 +168,7 @@ public class InventoryPackets1_13_1 { public static void toServer(Item item) { if (item == null) return; - item.setId((short) getNewItemId(item.getId())); + item.setIdentifier(getNewItemId(item.getIdentifier())); } //1.13 Item Id diff --git a/core/src/main/resources/assets/viabackwards/data/mapping-1.12.2to1.13.json b/core/src/main/resources/assets/viabackwards/data/mapping-1.12.2to1.13.json index a4162572..65946408 100644 --- a/core/src/main/resources/assets/viabackwards/data/mapping-1.12.2to1.13.json +++ b/core/src/main/resources/assets/viabackwards/data/mapping-1.12.2to1.13.json @@ -4393,12 +4393,12 @@ "minecraft:purpur_slab[type=bottom,waterlogged=true]": "minecraft:purpur_slab[type=bottom,waterlogged=false]", "minecraft:purpur_slab[type=double,waterlogged=true]": "minecraft:purpur_slab[type=double,waterlogged=false]", "minecraft:chorus_plant": "minecraft:chorus_plant[down=false,east=false,north=false,south=false,up=false,west=false]", - "minecraft:shulker_box[facing=north]": "minecraft:magenta_shulker_box[facing=north]", - "minecraft:shulker_box[facing=east]": "minecraft:magenta_shulker_box[facing=east]", - "minecraft:shulker_box[facing=south]": "minecraft:magenta_shulker_box[facing=south]", - "minecraft:shulker_box[facing=west]": "minecraft:magenta_shulker_box[facing=west]", - "minecraft:shulker_box[facing=up]": "minecraft:magenta_shulker_box[facing=up]", - "minecraft:shulker_box[facing=down]": "minecraft:magenta_shulker_box[facing=down]", + "minecraft:shulker_box[facing=north]": "minecraft:purple_shulker_box[facing=north]", + "minecraft:shulker_box[facing=east]": "minecraft:purple_shulker_box[facing=east]", + "minecraft:shulker_box[facing=south]": "minecraft:purple_shulker_box[facing=south]", + "minecraft:shulker_box[facing=west]": "minecraft:purple_shulker_box[facing=west]", + "minecraft:shulker_box[facing=up]": "minecraft:purple_shulker_box[facing=up]", + "minecraft:shulker_box[facing=down]": "minecraft:purple_shulker_box[facing=down]", "minecraft:vine[east=true,north=true,south=true,up=true,west=true]": "minecraft:vine[east=true,north=true,south=true,up=false,west=true]", "minecraft:vine[east=true,north=true,south=true,up=true,west=false]": "minecraft:vine[east=true,north=true,south=true,up=false,west=false]", "minecraft:vine[east=true,north=true,south=false,up=true,west=true]": "minecraft:vine[east=true,north=true,south=false,up=false,west=true]",