diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/world/block/BlockState.java b/worldedit-core/src/main/java/com/sk89q/worldedit/world/block/BlockState.java index a67235d0c..6e4c5e721 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/world/block/BlockState.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/world/block/BlockState.java @@ -146,7 +146,7 @@ public class BlockState implements BlockStateHolder { @Override public boolean equalsFuzzy(BlockStateHolder o) { if (this == o) { - // Added a reference equality check for + // Added a reference equality check for speediness return true; } if (!getBlockType().equals(o.getBlockType())) { @@ -223,8 +223,13 @@ public class BlockState implements BlockStateHolder { return equalsFuzzy((BlockState) obj); } + private Integer hashCodeCache = null; + @Override public int hashCode() { - return Objects.hash(blockType, values); + if (hashCodeCache == null) { + hashCodeCache = Objects.hash(blockType, values); + } + return hashCodeCache; } }