aboutsummaryrefslogtreecommitdiffhomepage
path: root/patches/server/0522-Prevent-grindstones-from-overstacking-items.patch
blob: d98bb3f1c4f0ae4bd5d7623eabd91fc193300884 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: chickeneer <emcchickeneer@gmail.com>
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 1783661f38a6f5fb655ea83953b9467bd91a1302..95ac3446fba1f37637c9700080de2e1ce7a3550a 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 - add max stack size check & config value; the problem line for above change, causing over-stacking
                 }
             } else {
                 boolean flag3 = !itemstack.isEmpty();