diff --git a/patches/server/0076-Fix-MC-65198.patch b/patches/server/0076-Fix-MC-65198.patch new file mode 100644 index 00000000..f353e9fe --- /dev/null +++ b/patches/server/0076-Fix-MC-65198.patch @@ -0,0 +1,61 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: HaHaWTH +Date: Wed, 13 Mar 2024 03:33:08 +0800 +Subject: [PATCH] Fix-MC-65198 + + +diff --git a/src/main/java/net/minecraft/world/inventory/ItemCombinerMenu.java b/src/main/java/net/minecraft/world/inventory/ItemCombinerMenu.java +index 3756de835ea87e3a4fb87cbf77365ffd87957ea9..66e149fe132191293b6075f3368192f7007b143d 100644 +--- a/src/main/java/net/minecraft/world/inventory/ItemCombinerMenu.java ++++ b/src/main/java/net/minecraft/world/inventory/ItemCombinerMenu.java +@@ -141,6 +141,7 @@ public abstract class ItemCombinerMenu extends AbstractContainerMenu { + ItemStack itemstack1 = slot1.getItem(); + + itemstack = itemstack1.copy(); ++ ItemStack itemStack2 = itemstack.copy(); // Leaf - Fix MC-65198 + int j = this.getInventorySlotStart(); + int k = this.getUseRowEnd(); + +@@ -179,7 +180,7 @@ public abstract class ItemCombinerMenu extends AbstractContainerMenu { + } + + this.activeQuickItem = itemstack; // Purpur +- slot1.onTake(player, itemstack1); ++ slot1.onTake(player, itemStack2); // Leaf - Fix MC-65198 + this.activeQuickItem = null; // Purpur + } + +diff --git a/src/main/java/net/minecraft/world/inventory/ResultSlot.java b/src/main/java/net/minecraft/world/inventory/ResultSlot.java +index 245731757f2593c736916ac6ee59e2c91d179934..45995459a174bd62896fbd205a367a9945ec3bb2 100644 +--- a/src/main/java/net/minecraft/world/inventory/ResultSlot.java ++++ b/src/main/java/net/minecraft/world/inventory/ResultSlot.java +@@ -45,7 +45,7 @@ public class ResultSlot extends Slot { + @Override + protected void checkTakeAchievements(ItemStack stack) { + if (this.removeCount > 0) { +- stack.onCraftedBy(this.player.level(), this.player, this.removeCount); ++ stack.onCraftedBy(this.player.level(), this.player, stack.getCount()); // Leaf - Fix MC-65198 + } + + Container var3 = this.container; +diff --git a/src/main/java/net/minecraft/world/inventory/StonecutterMenu.java b/src/main/java/net/minecraft/world/inventory/StonecutterMenu.java +index eade15820dd9db38b6af2a5c4314acfb14ca03e9..5fef8a6bc746a34a0b742c51f169a502bc9b6ce6 100644 +--- a/src/main/java/net/minecraft/world/inventory/StonecutterMenu.java ++++ b/src/main/java/net/minecraft/world/inventory/StonecutterMenu.java +@@ -259,6 +259,7 @@ public class StonecutterMenu extends AbstractContainerMenu { + Item item = itemstack1.getItem(); + + itemstack = itemstack1.copy(); ++ ItemStack itemStack2 = itemstack.copy(); // Leaf - Fix MC-65198 + if (slot == 1) { + item.onCraftedBy(itemstack1, player.level(), player); + if (!this.moveItemStackTo(itemstack1, 2, 38, true)) { +@@ -291,7 +292,7 @@ public class StonecutterMenu extends AbstractContainerMenu { + return ItemStack.EMPTY; + } + +- slot1.onTake(player, itemstack1); ++ slot1.onTake(player, itemStack2); // Leaf - Fix MC-65198 + this.broadcastChanges(); + } +