From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Martijn Muijsers Date: Sun, 25 Dec 2022 20:51:32 +0100 Subject: [PATCH] Optimize matching item checks License: AGPL-3.0 (https://www.gnu.org/licenses/agpl-3.0.html) Gale - https://galemc.org diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java index d0e2304cd9096c7f1ca4843bb365303f555c1f19..b681ed94170d1d8bc7904b050cb20a609d266a3b 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java @@ -750,15 +750,15 @@ public final class ItemStack { } public static boolean matches(ItemStack left, ItemStack right) { - return left == right ? true : (left.getCount() != right.getCount() ? false : ItemStack.isSameItemSameTags(left, right)); + return left == right || (left.getCount() == right.getCount() && ItemStack.isSameItemSameTags(left, right)); // Gale - optimize identical item checks } public static boolean isSameItem(ItemStack left, ItemStack right) { - return left.is(right.getItem()); + return left == right || left.is(right.getItem()); // Gale - optimize identical item checks } public static boolean isSameItemSameTags(ItemStack stack, ItemStack otherStack) { - return !stack.is(otherStack.getItem()) ? false : (stack.isEmpty() && otherStack.isEmpty() ? true : Objects.equals(stack.tag, otherStack.tag)); + return stack == otherStack || (stack.is(otherStack.getItem()) && (stack.isEmpty() && otherStack.isEmpty() || Objects.equals(stack.tag, otherStack.tag))); // Gale - optimize identical item checks } public String getDescriptionId() {