From 5f13c8f74f246f0ccce246f8fbe8d3269e66ee59 Mon Sep 17 00:00:00 2001 From: Mike Primm Date: Mon, 3 Sep 2018 16:51:04 -0500 Subject: [PATCH] Forge fixes --- .../org/dynmap/forge_1_10_2/DynmapPlugin.java | 39 +++++++++++-------- .../org/dynmap/forge_1_11_2/DynmapPlugin.java | 39 +++++++++++-------- .../org/dynmap/forge_1_12_2/DynmapPlugin.java | 39 +++++++++++-------- .../org/dynmap/forge_1_8_9/DynmapPlugin.java | 8 ++-- .../org/dynmap/forge_1_9_4/DynmapPlugin.java | 39 +++++++++++-------- 5 files changed, 96 insertions(+), 68 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 91225dcd..9c2a8cca 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 @@ -176,28 +176,35 @@ public class DynmapPlugin for (int m = 1; m < 16; m++) { DynmapBlockState bs = new DynmapBlockState(basebs, m, bn, "meta=" + m); stateByID[(i << 4) + m] = bs; - IBlockState blkstate = b.getStateFromMeta(m); - Material mat = blkstate.getMaterial(); - if (mat.isSolid()) { - bs.setSolid(); + IBlockState blkstate = null; + try { + blkstate = b.getStateFromMeta(m); + } catch (Exception x) { + // Invalid meta } - if (mat == Material.AIR) { - bs.setAir(); - } - if (mat == Material.WOOD) { - bs.setLog(); - } - if (mat == Material.LEAVES) { - bs.setLeaves(); + if (blkstate != null) { + Material mat = blkstate.getMaterial(); + if (mat.isSolid()) { + bs.setSolid(); + } + if (mat == Material.AIR) { + bs.setAir(); + } + if (mat == Material.WOOD) { + bs.setLog(); + } + if (mat == Material.LEAVES) { + bs.setLeaves(); + } } } } } } - for (int gidx = 0; gidx < DynmapBlockState.getGlobalIndexMax(); gidx++) { - DynmapBlockState bs = DynmapBlockState.getStateByGlobalIndex(gidx); - Log.info(gidx + ":" + bs.toString() + ", gidx=" + bs.globalStateIndex + ", sidx=" + bs.stateIndex); - } + //for (int gidx = 0; gidx < DynmapBlockState.getGlobalIndexMax(); gidx++) { + // DynmapBlockState bs = DynmapBlockState.getStateByGlobalIndex(gidx); + // Log.verboseinfo(gidx + ":" + bs.toString() + ", gidx=" + bs.globalStateIndex + ", sidx=" + bs.stateIndex); + //} } public static final int getBlockID(World w, int x, int y, int z) { diff --git a/forge-1.11.2/src/main/java/org/dynmap/forge_1_11_2/DynmapPlugin.java b/forge-1.11.2/src/main/java/org/dynmap/forge_1_11_2/DynmapPlugin.java index 62590a3e..e044a64c 100644 --- a/forge-1.11.2/src/main/java/org/dynmap/forge_1_11_2/DynmapPlugin.java +++ b/forge-1.11.2/src/main/java/org/dynmap/forge_1_11_2/DynmapPlugin.java @@ -176,28 +176,35 @@ public class DynmapPlugin for (int m = 1; m < 16; m++) { DynmapBlockState bs = new DynmapBlockState(basebs, m, bn, "meta=" + m); stateByID[(i << 4) + m] = bs; - IBlockState blkstate = b.getStateFromMeta(m); - Material mat = blkstate.getMaterial(); - if (mat.isSolid()) { - bs.setSolid(); + IBlockState blkstate = null; + try { + blkstate = b.getStateFromMeta(m); + } catch (Exception x) { + // Bad metadata } - if (mat == Material.AIR) { - bs.setAir(); - } - if (mat == Material.WOOD) { - bs.setLog(); - } - if (mat == Material.LEAVES) { - bs.setLeaves(); + if (blkstate != null) { + Material mat = blkstate.getMaterial(); + if (mat.isSolid()) { + bs.setSolid(); + } + if (mat == Material.AIR) { + bs.setAir(); + } + if (mat == Material.WOOD) { + bs.setLog(); + } + if (mat == Material.LEAVES) { + bs.setLeaves(); + } } } } } } - for (int gidx = 0; gidx < DynmapBlockState.getGlobalIndexMax(); gidx++) { - DynmapBlockState bs = DynmapBlockState.getStateByGlobalIndex(gidx); - Log.info(gidx + ":" + bs.toString() + ", gidx=" + bs.globalStateIndex + ", sidx=" + bs.stateIndex); - } + //for (int gidx = 0; gidx < DynmapBlockState.getGlobalIndexMax(); gidx++) { + // DynmapBlockState bs = DynmapBlockState.getStateByGlobalIndex(gidx); + // Log.verboseinfo(gidx + ":" + bs.toString() + ", gidx=" + bs.globalStateIndex + ", sidx=" + bs.stateIndex); + //} } public static final int getBlockID(World w, int x, int y, int z) { diff --git a/forge-1.12.2/src/main/java/org/dynmap/forge_1_12_2/DynmapPlugin.java b/forge-1.12.2/src/main/java/org/dynmap/forge_1_12_2/DynmapPlugin.java index cc00f5f3..95261660 100644 --- a/forge-1.12.2/src/main/java/org/dynmap/forge_1_12_2/DynmapPlugin.java +++ b/forge-1.12.2/src/main/java/org/dynmap/forge_1_12_2/DynmapPlugin.java @@ -176,28 +176,35 @@ public class DynmapPlugin for (int m = 1; m < 16; m++) { DynmapBlockState bs = new DynmapBlockState(basebs, m, bn, "meta=" + m); stateByID[(i << 4) + m] = bs; - IBlockState blkstate = b.getStateFromMeta(m); - Material mat = blkstate.getMaterial(); - if (mat.isSolid()) { - bs.setSolid(); + IBlockState blkstate = null; + try { + blkstate = b.getStateFromMeta(m); + } catch (Exception x) { + // Invalid metadata } - if (mat == Material.AIR) { - bs.setAir(); - } - if (mat == Material.WOOD) { - bs.setLog(); - } - if (mat == Material.LEAVES) { - bs.setLeaves(); + if (blkstate != null) { + Material mat = blkstate.getMaterial(); + if (mat.isSolid()) { + bs.setSolid(); + } + if (mat == Material.AIR) { + bs.setAir(); + } + if (mat == Material.WOOD) { + bs.setLog(); + } + if (mat == Material.LEAVES) { + bs.setLeaves(); + } } } } } } - for (int gidx = 0; gidx < DynmapBlockState.getGlobalIndexMax(); gidx++) { - DynmapBlockState bs = DynmapBlockState.getStateByGlobalIndex(gidx); - Log.info(gidx + ":" + bs.toString() + ", gidx=" + bs.globalStateIndex + ", sidx=" + bs.stateIndex); - } + //for (int gidx = 0; gidx < DynmapBlockState.getGlobalIndexMax(); gidx++) { + // DynmapBlockState bs = DynmapBlockState.getStateByGlobalIndex(gidx); + // Log.verboseinfo(gidx + ":" + bs.toString() + ", gidx=" + bs.globalStateIndex + ", sidx=" + bs.stateIndex); + //} } public static final int getBlockID(World w, int x, int y, int z) { diff --git a/forge-1.8.9/src/main/java/org/dynmap/forge_1_8_9/DynmapPlugin.java b/forge-1.8.9/src/main/java/org/dynmap/forge_1_8_9/DynmapPlugin.java index 6a0e1716..b66047a2 100644 --- a/forge-1.8.9/src/main/java/org/dynmap/forge_1_8_9/DynmapPlugin.java +++ b/forge-1.8.9/src/main/java/org/dynmap/forge_1_8_9/DynmapPlugin.java @@ -195,10 +195,10 @@ public class DynmapPlugin } } } - for (int gidx = 0; gidx < DynmapBlockState.getGlobalIndexMax(); gidx++) { - DynmapBlockState bs = DynmapBlockState.getStateByGlobalIndex(gidx); - Log.info(gidx + ":" + bs.toString() + ", gidx=" + bs.globalStateIndex + ", sidx=" + bs.stateIndex); - } + //for (int gidx = 0; gidx < DynmapBlockState.getGlobalIndexMax(); gidx++) { + // DynmapBlockState bs = DynmapBlockState.getStateByGlobalIndex(gidx); + // Log.verboseinfo(gidx + ":" + bs.toString() + ", gidx=" + bs.globalStateIndex + ", sidx=" + bs.stateIndex); + //} } public static final int getBlockID(World w, int x, int y, int z) { diff --git a/forge-1.9.4/src/main/java/org/dynmap/forge_1_9_4/DynmapPlugin.java b/forge-1.9.4/src/main/java/org/dynmap/forge_1_9_4/DynmapPlugin.java index c806a451..ef28bcae 100644 --- a/forge-1.9.4/src/main/java/org/dynmap/forge_1_9_4/DynmapPlugin.java +++ b/forge-1.9.4/src/main/java/org/dynmap/forge_1_9_4/DynmapPlugin.java @@ -176,28 +176,35 @@ public class DynmapPlugin for (int m = 1; m < 16; m++) { DynmapBlockState bs = new DynmapBlockState(basebs, m, bn, "meta=" + m); stateByID[(i << 4) + m] = bs; - IBlockState blkstate = b.getStateFromMeta(m); - Material mat = blkstate.getMaterial(); - if (mat.isSolid()) { - bs.setSolid(); + IBlockState blkstate = null; + try { + blkstate = b.getStateFromMeta(m); + } catch (Exception x) { + // Invalid meta } - if (mat == Material.AIR) { - bs.setAir(); - } - if (mat == Material.WOOD) { - bs.setLog(); - } - if (mat == Material.LEAVES) { - bs.setLeaves(); + if (blkstate != null) { + Material mat = blkstate.getMaterial(); + if (mat.isSolid()) { + bs.setSolid(); + } + if (mat == Material.AIR) { + bs.setAir(); + } + if (mat == Material.WOOD) { + bs.setLog(); + } + if (mat == Material.LEAVES) { + bs.setLeaves(); + } } } } } } - for (int gidx = 0; gidx < DynmapBlockState.getGlobalIndexMax(); gidx++) { - DynmapBlockState bs = DynmapBlockState.getStateByGlobalIndex(gidx); - Log.info(gidx + ":" + bs.toString() + ", gidx=" + bs.globalStateIndex + ", sidx=" + bs.stateIndex); - } + //for (int gidx = 0; gidx < DynmapBlockState.getGlobalIndexMax(); gidx++) { + // DynmapBlockState bs = DynmapBlockState.getStateByGlobalIndex(gidx); + // Log.verboseinfo(gidx + ":" + bs.toString() + ", gidx=" + bs.globalStateIndex + ", sidx=" + bs.stateIndex); + //} } public static final int getBlockID(World w, int x, int y, int z) {