diff --git a/common/src/main/java/com/seibel/lod/common/wrappers/block/BlockStateWrapper.java b/common/src/main/java/com/seibel/lod/common/wrappers/block/BlockStateWrapper.java index ee979d77b..083aac22e 100644 --- a/common/src/main/java/com/seibel/lod/common/wrappers/block/BlockStateWrapper.java +++ b/common/src/main/java/com/seibel/lod/common/wrappers/block/BlockStateWrapper.java @@ -19,8 +19,11 @@ public class BlockStateWrapper implements IBlockStateWrapper public static ConcurrentHashMap cache = new ConcurrentHashMap<>(); - public static BlockStateWrapper fromBlockState(BlockState blockState) { - if (blockState == null || blockState.isAir()) return AIR; + public static BlockStateWrapper fromBlockState(BlockState blockState) + { + if (blockState == null || blockState.isAir()) + return AIR; + if (blockState.getFluidState().isEmpty()) return cache.computeIfAbsent(blockState, BlockStateWrapper::new); else @@ -71,6 +74,10 @@ public class BlockStateWrapper implements IBlockStateWrapper @Override public Object getWrappedMcObject_UNSAFE() { return this.blockState; } + @Override + public boolean isAir() { return this.isAir(this.blockState); } + public boolean isAir(BlockState blockState) { return blockState == null || blockState.isAir(); } + diff --git a/coreSubProjects b/coreSubProjects index cd1c12be1..024989438 160000 --- a/coreSubProjects +++ b/coreSubProjects @@ -1 +1 @@ -Subproject commit cd1c12be12e86c4bc79674c60864654747933878 +Subproject commit 02498943866ba91472b65fc9cbef470cfc698c39