diff --git a/platforms/minestom/src/main/java/com/dfsek/terra/minestom/block/MinestomBlockState.java b/platforms/minestom/src/main/java/com/dfsek/terra/minestom/block/MinestomBlockState.java index f0a97590d..1c7e7a841 100644 --- a/platforms/minestom/src/main/java/com/dfsek/terra/minestom/block/MinestomBlockState.java +++ b/platforms/minestom/src/main/java/com/dfsek/terra/minestom/block/MinestomBlockState.java @@ -13,6 +13,7 @@ import com.dfsek.terra.api.block.state.properties.Property; public class MinestomBlockState implements BlockState { private final Block block; + public static final MinestomBlockState AIR = new MinestomBlockState(Block.AIR); public MinestomBlockState(Block block) { if(block == null) { diff --git a/platforms/minestom/src/main/java/com/dfsek/terra/minestom/chunk/CachedChunk.java b/platforms/minestom/src/main/java/com/dfsek/terra/minestom/chunk/CachedChunk.java index 5c0f030e4..4c9ebcfd6 100644 --- a/platforms/minestom/src/main/java/com/dfsek/terra/minestom/chunk/CachedChunk.java +++ b/platforms/minestom/src/main/java/com/dfsek/terra/minestom/chunk/CachedChunk.java @@ -32,7 +32,9 @@ public class CachedChunk implements ProtoChunk { public void setBlock(int x, int y, int z, @NotNull BlockState blockState) { Block block = (Block) blockState.getHandle(); if(block == null) return; - blocks[getIndex(x, y, z)] = block; + int index = getIndex(x, y, z); + if (index > blocks.length || index < 0) return; + blocks[index] = block; } private int getIndex(int x, int y, int z) { @@ -42,7 +44,9 @@ public class CachedChunk implements ProtoChunk { @Override public @NotNull BlockState getBlock(int x, int y, int z) { - return new MinestomBlockState(blocks[getIndex(x, y, z)]); + int index = getIndex(x, y, z); + if (index > blocks.length || index < 0) return MinestomBlockState.AIR; + return new MinestomBlockState(blocks[index]); } @Override diff --git a/platforms/minestom/src/main/java/com/dfsek/terra/minestom/config/BiomeParticleConfigTemplate.java b/platforms/minestom/src/main/java/com/dfsek/terra/minestom/config/BiomeParticleConfigTemplate.java index 52a16c5ba..6741d8185 100644 --- a/platforms/minestom/src/main/java/com/dfsek/terra/minestom/config/BiomeParticleConfigTemplate.java +++ b/platforms/minestom/src/main/java/com/dfsek/terra/minestom/config/BiomeParticleConfigTemplate.java @@ -35,7 +35,8 @@ public class BiomeParticleConfigTemplate implements ObjectTemplate 1) { - LoggerFactory.getLogger(BiomeParticleConfigTemplate.class).warn("Particle {} has additional data, which will be ignored.", particle); + LoggerFactory.getLogger(BiomeParticleConfigTemplate.class).warn("Particle {} has additional data, particle will be ignored.", particle); + return null; } return new BiomeEffects.Particle(