From 5f6566ad0efb147c384f398b76934bb1da251f26 Mon Sep 17 00:00:00 2001 From: rtm516 Date: Tue, 7 Jul 2020 16:23:21 +0100 Subject: [PATCH] Move to dynamic item ID mapping in ItemRegistry --- .../translators/item/ItemRegistry.java | 20 ++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/connector/src/main/java/org/geysermc/connector/network/translators/item/ItemRegistry.java b/connector/src/main/java/org/geysermc/connector/network/translators/item/ItemRegistry.java index bf3769ed..b9ce5c6c 100644 --- a/connector/src/main/java/org/geysermc/connector/network/translators/item/ItemRegistry.java +++ b/connector/src/main/java/org/geysermc/connector/network/translators/item/ItemRegistry.java @@ -57,11 +57,11 @@ public class ItemRegistry { public static final Int2ObjectMap ITEM_ENTRIES = new Int2ObjectOpenHashMap<>(); // Shield ID, used in Entity.java - public static final int SHIELD = 829; + public static int SHIELD = 0; // Boat ID, used in BedrockInventoryTransactionTranslator.java - public static final int BOAT = 333; + public static int BOAT = 0; // Gold ID, used in PiglinEntity.java - public static final int GOLD = 266; + public static int GOLD = 0; public static int BARRIER_INDEX = 0; @@ -85,6 +85,20 @@ public class ItemRegistry { for (JsonNode entry : itemEntries) { ITEMS.add(new StartGamePacket.ItemEntry(entry.get("name").textValue(), (short) entry.get("id").intValue())); + + switch (entry.get("name").textValue()) { + case "minecraft:shield": + SHIELD = entry.get("id").intValue(); + break; + case "minecraft:boat": + BOAT = entry.get("id").intValue(); + break; + case "minecraft:gold_ingot": + GOLD = entry.get("id").intValue(); + break; + default: + break; + } } stream = FileUtils.getResource("mappings/items.json");