From 690b5bff571ef8913a0a698c9ee347767d550c85 Mon Sep 17 00:00:00 2001 From: TheMode Date: Mon, 12 Jul 2021 21:30:32 +0200 Subject: [PATCH] Nitpicking --- .../net/minestom/server/instance/DynamicChunk.java | 11 +++-------- .../minestom/server/instance/block/BlockGetter.java | 3 +++ 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/src/main/java/net/minestom/server/instance/DynamicChunk.java b/src/main/java/net/minestom/server/instance/DynamicChunk.java index 1a50c5362..bc5f291df 100644 --- a/src/main/java/net/minestom/server/instance/DynamicChunk.java +++ b/src/main/java/net/minestom/server/instance/DynamicChunk.java @@ -100,19 +100,14 @@ public class DynamicChunk extends Chunk { // Verify if the block object is present final var entry = !entries.isEmpty() ? entries.get(ChunkUtils.getBlockIndex(x, y, z)) : null; - if (entry != null) { + if (entry != null || condition == Condition.CACHED) { return entry; } - if (condition != Condition.NONE) { - return null; - } // Retrieve the block from state id final Section section = retrieveSection(y); final short blockStateId = section.getBlockAt(x, y, z); - if (blockStateId == -1) { - return Block.AIR; - } - return Objects.requireNonNullElse(Block.fromStateId(blockStateId), Block.AIR); + return blockStateId > 0 ? + Objects.requireNonNullElse(Block.fromStateId(blockStateId), Block.AIR) : Block.AIR; } @Override diff --git a/src/main/java/net/minestom/server/instance/block/BlockGetter.java b/src/main/java/net/minestom/server/instance/block/BlockGetter.java index 6b7a1efb4..766d02a42 100644 --- a/src/main/java/net/minestom/server/instance/block/BlockGetter.java +++ b/src/main/java/net/minestom/server/instance/block/BlockGetter.java @@ -24,10 +24,13 @@ public interface BlockGetter { enum Condition { /** * Returns a block no matter what. + * {@link Block#AIR} being the default result. */ NONE, /** * Returns a block only if it has a handler or nbt. + *

+ * Should be more performant than {@link #NONE}. */ CACHED }