diff --git a/common/src/main/java/com/seibel/lod/common/wrappers/WrapperFactory.java b/common/src/main/java/com/seibel/lod/common/wrappers/WrapperFactory.java index e5a7df83d..c3264f195 100644 --- a/common/src/main/java/com/seibel/lod/common/wrappers/WrapperFactory.java +++ b/common/src/main/java/com/seibel/lod/common/wrappers/WrapperFactory.java @@ -61,4 +61,9 @@ public class WrapperFactory implements IWrapperFactory public IBlockStateWrapper deserializeBlockStateWrapper(String str) { return BlockStateWrapper.deserialize(str); } + + @Override + public IBlockStateWrapper getAirBlockStateWrapper() { + return BlockStateWrapper.AIR; + } } 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 8541ea4e9..b3e5c50a0 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 @@ -8,6 +8,7 @@ import net.minecraft.world.level.block.state.BlockState; import java.util.Objects; public class BlockStateWrapper implements IBlockStateWrapper { + public static final BlockStateWrapper AIR = new BlockStateWrapper(null); public final BlockState blockState; public BlockStateWrapper(BlockState blockState) { this.blockState = blockState; @@ -15,10 +16,16 @@ public class BlockStateWrapper implements IBlockStateWrapper { @Override public String serialize() { + if (blockState == null) { + return "AIR"; + } return BlockState.CODEC.encodeStart(JsonOps.COMPRESSED, blockState).get().orThrow().toString(); } public static BlockStateWrapper deserialize(String str) { + if (str.equals("AIR")) { + return AIR; + } return new BlockStateWrapper( BlockState.CODEC.decode(JsonOps.COMPRESSED, JsonParser.parseString(str)).get().orThrow().getFirst() ); diff --git a/core b/core index 50c5d044f..a4546c63e 160000 --- a/core +++ b/core @@ -1 +1 @@ -Subproject commit 50c5d044f1adf64de825464f6c01c1bf72a39728 +Subproject commit a4546c63e3fbeee05d2789aee45e6f90a95eb1a7