From 36d43bc8fb7210229df44f5d247c42b584730a67 Mon Sep 17 00:00:00 2001 From: Moritz Zwerger Date: Fri, 8 Dec 2023 20:59:37 +0100 Subject: [PATCH] block property: cache hashCode That makes checking if a block is waterlogged WAY faster --- .../data/registries/blocks/properties/BlockProperty.kt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/de/bixilon/minosoft/data/registries/blocks/properties/BlockProperty.kt b/src/main/java/de/bixilon/minosoft/data/registries/blocks/properties/BlockProperty.kt index 4317a52ae..715a9e2ea 100644 --- a/src/main/java/de/bixilon/minosoft/data/registries/blocks/properties/BlockProperty.kt +++ b/src/main/java/de/bixilon/minosoft/data/registries/blocks/properties/BlockProperty.kt @@ -17,6 +17,7 @@ package de.bixilon.minosoft.data.registries.blocks.properties abstract class BlockProperty( val name: String, ) : Iterable { + private val hashCode = name.hashCode() override fun toString(): String { return name @@ -25,11 +26,12 @@ abstract class BlockProperty( abstract fun parse(value: Any): T override fun hashCode(): Int { - return name.hashCode() + return hashCode } override fun equals(other: Any?): Boolean { if (other !is BlockProperty<*>) return false + if (hashCode != other.hashCode) return false return other.name == name } }