aboutsummaryrefslogtreecommitdiffhomepage
path: root/patches/server/0560-Prevent-grindstones-from-overstacking-items.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/server/0560-Prevent-grindstones-from-overstacking-items.patch')
-rw-r--r--patches/server/0560-Prevent-grindstones-from-overstacking-items.patch26
1 files changed, 26 insertions, 0 deletions
diff --git a/patches/server/0560-Prevent-grindstones-from-overstacking-items.patch b/patches/server/0560-Prevent-grindstones-from-overstacking-items.patch
new file mode 100644
index 0000000000..896e20afba
--- /dev/null
+++ b/patches/server/0560-Prevent-grindstones-from-overstacking-items.patch
@@ -0,0 +1,26 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: chickeneer <[email protected]>
+Date: Tue, 16 Feb 2021 21:37:51 -0600
+Subject: [PATCH] Prevent grindstones from overstacking items
+
+
+diff --git a/src/main/java/net/minecraft/world/inventory/GrindstoneMenu.java b/src/main/java/net/minecraft/world/inventory/GrindstoneMenu.java
+index 811d7415ae843347da374d73b4edfe89642d518a..24187a7ce812cb83a9a736bec8dce9e68ccc0798 100644
+--- a/src/main/java/net/minecraft/world/inventory/GrindstoneMenu.java
++++ b/src/main/java/net/minecraft/world/inventory/GrindstoneMenu.java
+@@ -198,13 +198,13 @@ public class GrindstoneMenu extends AbstractContainerMenu {
+ i = Math.max(item.getMaxDamage() - l, 0);
+ itemstack2 = this.mergeEnchants(itemstack, itemstack1);
+ if (!itemstack2.isDamageableItem()) {
+- if (!ItemStack.matches(itemstack, itemstack1)) {
++ if (!ItemStack.matches(itemstack, itemstack1) || (itemstack2.getMaxStackSize() == 1 && !io.papermc.paper.configuration.GlobalConfiguration.get().unsupportedSettings.allowGrindstoneOverstacking)) { // Paper - add max stack size check & config value
+ org.bukkit.craftbukkit.event.CraftEventFactory.callPrepareGrindstoneEvent(this.getBukkitView(), ItemStack.EMPTY); // CraftBukkit
+ this.broadcastChanges();
+ return;
+ }
+
+- b0 = 2;
++ b0 = 2; // Paper - the problem line for above change, causing over-stacking
+ }
+ } else {
+ boolean flag3 = !itemstack.isEmpty();