From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: jellysquid3 Date: Wed, 15 Dec 2021 11:30:23 -0500 Subject: [PATCH] lithium: cached hashcode Original code by CaffeineMC, licensed under GNU Lesser General Public License v3.0 You can find the original code on https://github.com/CaffeineMC/lithium-fabric (Yarn mappings) diff --git a/src/main/java/net/minecraft/world/level/block/Block.java b/src/main/java/net/minecraft/world/level/block/Block.java index 2e65b44f10aeb44fd524a58e7eb815a566c1ad61..dfe1e522a747b894d43124b97eaceb0ab196ac44 100644 --- a/src/main/java/net/minecraft/world/level/block/Block.java +++ b/src/main/java/net/minecraft/world/level/block/Block.java @@ -612,11 +612,18 @@ public class Block extends BlockBehaviour implements ItemLike { private final BlockState first; private final BlockState second; private final Direction direction; + private int hash; // JettPack public BlockStatePairKey(BlockState self, BlockState other, Direction facing) { this.first = self; this.second = other; this.direction = facing; + // JettPack start - lithium: cached_hashcode + int hash = this.first.hashCode(); + hash = 31 * hash + this.second.hashCode(); + hash = 31 * hash + this.direction.hashCode(); + this.hash = hash; + // JettPack end } public boolean equals(Object object) { @@ -632,11 +639,7 @@ public class Block extends BlockBehaviour implements ItemLike { } public int hashCode() { - int i = this.first.hashCode(); - - i = 31 * i + this.second.hashCode(); - i = 31 * i + this.direction.hashCode(); - return i; + return this.hash; // JettPack } } }