From e85ae05d4da96f35aa11affd6db55a46ead2771f Mon Sep 17 00:00:00 2001 From: Mike Primm Date: Sun, 3 Feb 2019 14:32:47 -0600 Subject: [PATCH] Handle JEIDs/NEIDs on Forge 1.10.2 --- .../java/org/dynmap/forge_1_10_2/DynmapPlugin.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/forge-1.10.2/src/main/java/org/dynmap/forge_1_10_2/DynmapPlugin.java b/forge-1.10.2/src/main/java/org/dynmap/forge_1_10_2/DynmapPlugin.java index b5747dad..e53e1165 100644 --- a/forge-1.10.2/src/main/java/org/dynmap/forge_1_10_2/DynmapPlugin.java +++ b/forge-1.10.2/src/main/java/org/dynmap/forge_1_10_2/DynmapPlugin.java @@ -163,12 +163,17 @@ public class DynmapPlugin * Initialize block states (org.dynmap.blockstate.DynmapBlockState) */ public void initializeBlockStates() { - stateByID = new DynmapBlockState[4096*16]; // Simple meta+id map + stateByID = new DynmapBlockState[512*16]; // Simple meta+id map Arrays.fill(stateByID, DynmapBlockState.AIR); // Default to air - for (int i = 0; i < 4096; i++) { - Block b = getBlockByID(i); + for (Block b : Block.REGISTRY) { if (b == null) continue; + int i = Block.getIdFromBlock(b); + if (i >= (stateByID.length >> 4)) { + int plen = stateByID.length; + stateByID = Arrays.copyOf(stateByID, (i+1) << 4); + Arrays.fill(stateByID, plen, stateByID.length, DynmapBlockState.AIR); + } ResourceLocation ui = null; try { ui = Block.REGISTRY.getNameForObject(b);