9
0
mirror of https://github.com/Dreeam-qwq/Gale.git synced 2025-12-22 16:29:26 +00:00
Files
Gale/patches/server/0115-Optimize-matching-item-checks.patch
2024-08-11 17:01:45 +08:00

36 lines
2.0 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Martijn Muijsers <martijnmuijsers@live.nl>
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 ca98310b745819e4dd56f226dcd0f9dfb35dab6e..804297a04988b3e21092a42df6584b7fc3cff1bb 100644
--- a/src/main/java/net/minecraft/world/item/ItemStack.java
+++ b/src/main/java/net/minecraft/world/item/ItemStack.java
@@ -851,7 +851,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 */
@@ -871,11 +871,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<ItemStack> lenientOptionalFieldOf(String fieldName) {