From 2339fe1c0749db4ad199ae8275fb2d41488e9a2f Mon Sep 17 00:00:00 2001 From: TheMode Date: Mon, 16 Aug 2021 20:07:57 +0200 Subject: [PATCH] Cache BlockImpl hashcode --- .../net/minestom/server/instance/block/BlockImpl.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/main/java/net/minestom/server/instance/block/BlockImpl.java b/src/main/java/net/minestom/server/instance/block/BlockImpl.java index d9be4d089..df311d2f4 100644 --- a/src/main/java/net/minestom/server/instance/block/BlockImpl.java +++ b/src/main/java/net/minestom/server/instance/block/BlockImpl.java @@ -69,6 +69,8 @@ final class BlockImpl implements Block { private final NBTCompound nbt; private final BlockHandler handler; + private int hashCode; // Cache + BlockImpl(@NotNull Registry.BlockEntry registry, @NotNull Map, Block> propertyEntry, @NotNull Map properties, @@ -151,7 +153,12 @@ final class BlockImpl implements Block { @Override public int hashCode() { - return Objects.hash(stateId(), nbt, handler); + int result = hashCode; + if (result == 0) { + result = Objects.hash(stateId(), nbt, handler); + this.hashCode = result; + } + return result; } @Override