diff --git a/DynmapCore/src/main/java/org/dynmap/hdmap/HDBlockStateTextureMap.java b/DynmapCore/src/main/java/org/dynmap/hdmap/HDBlockStateTextureMap.java index 2b6d98b6..9617de69 100644 --- a/DynmapCore/src/main/java/org/dynmap/hdmap/HDBlockStateTextureMap.java +++ b/DynmapCore/src/main/java/org/dynmap/hdmap/HDBlockStateTextureMap.java @@ -97,7 +97,7 @@ public class HDBlockStateTextureMap { if ((this.blockset != null) && (this.blockset.equals("core") == false)) { HDBlockModels.resetIfNotBlockSet(bs, this.blockset); } - copyToStateIndex(bs, this); + copyToStateIndex(bs, this, null); } } else { // Else, loop over all state IDs for given block @@ -110,7 +110,7 @@ public class HDBlockStateTextureMap { if ((this.blockset != null) && (this.blockset.equals("core") == false)) { HDBlockModels.resetIfNotBlockSet(bs, this.blockset); } - copyToStateIndex(bs, this); + copyToStateIndex(bs, this, null); } } } @@ -144,9 +144,11 @@ public class HDBlockStateTextureMap { return m; } // Copy given block state to given state index - public static void copyToStateIndex(DynmapBlockState blk, HDBlockStateTextureMap map) { + public static void copyToStateIndex(DynmapBlockState blk, HDBlockStateTextureMap map, TexturePack.BlockTransparency trans) { resize(blk.globalStateIndex); - TexturePack.BlockTransparency trans = map.trans; + if (trans == null) { + trans = map.trans; + } // Force waterloogged blocks to use SEMITRANSPARENT (same as water) if ((trans == TexturePack.BlockTransparency.TRANSPARENT) && blk.isWaterlogged()) { trans = TexturePack.BlockTransparency.SEMITRANSPARENT; diff --git a/DynmapCore/src/main/java/org/dynmap/hdmap/TexturePack.java b/DynmapCore/src/main/java/org/dynmap/hdmap/TexturePack.java index bb9759e2..b37d4fc1 100644 --- a/DynmapCore/src/main/java/org/dynmap/hdmap/TexturePack.java +++ b/DynmapCore/src/main/java/org/dynmap/hdmap/TexturePack.java @@ -2222,13 +2222,13 @@ public class TexturePack { if (stateids == null) { for (int sid = 0; sid < dblk.getStateCount(); sid++) { DynmapBlockState dblk2 = dblk.getState(sid); - HDBlockStateTextureMap.copyToStateIndex(dblk2, map); + HDBlockStateTextureMap.copyToStateIndex(dblk2, map, trans); } } else { for (int stateid = stateids.nextSetBit(0); stateid >= 0; stateid = stateids.nextSetBit(stateid+1)) { DynmapBlockState dblk2 = dblk.getState(stateid); - HDBlockStateTextureMap.copyToStateIndex(dblk2, map); + HDBlockStateTextureMap.copyToStateIndex(dblk2, map, trans); } } }