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: GPL-3.0 (https://www.gnu.org/licenses/gpl-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 21d8666ed24dae109792c094b9ce7eeb9100b4d9..e46e7c3e919a7f12ccf135dceec911b1fec9e0f2 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java @@ -849,7 +849,7 @@ public final class ItemStack implements DataComponentHolder { } public static boolean matches(ItemStack left, ItemStack right) { - return left == right ? true : (left.getCount() != right.getCount() ? false : ItemStack.isSameItemSameComponents(left, right)); + return left == right || (left.getCount() == right.getCount() && ItemStack.isSameItemSameComponents(left, right)); // Gale - optimize identical item checks } /** @deprecated */ @@ -869,11 +869,11 @@ public final class ItemStack implements DataComponentHolder { } 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 isSameItemSameComponents(ItemStack stack, ItemStack otherStack) { - return !stack.is(otherStack.getItem()) ? false : (stack.isEmpty() && otherStack.isEmpty() ? true : Objects.equals(stack.components, otherStack.components)); + return stack == otherStack || (stack.is(otherStack.getItem()) && (stack.isEmpty() && otherStack.isEmpty() || Objects.equals(stack.components, otherStack.components))); // Gale - optimize identical item checks } public static MapCodec lenientOptionalFieldOf(String fieldName) {