geforkt von Mirrors/Paper
aa52bf9e33
Mojang made some changes to priorities in 1.17 and it seems that these changes conflict with the changes made in this patch, which in some cases appears to cause excessive rescheduling of tasks. This, however, is not confirmed as such but seems to be the behavior that we're seeing to cause this issue, if mojang has adopted the changes we suggested, then a good chunk of this patch may be unneeded, but, this needs a much better look than I'm currently able to do
27 Zeilen
1.4 KiB
Diff
27 Zeilen
1.4 KiB
Diff
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 dda6c4948b903221fa8020c76d109216d2dd82bf..51f3650bc19bddc71731c0cb36e600cc8d16a495 100644
|
|
--- a/src/main/java/net/minecraft/world/inventory/GrindstoneMenu.java
|
|
+++ b/src/main/java/net/minecraft/world/inventory/GrindstoneMenu.java
|
|
@@ -199,13 +199,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) { // Paper - add max stack size check
|
|
this.resultSlots.setItem(0, ItemStack.EMPTY);
|
|
this.broadcastChanges();
|
|
return;
|
|
}
|
|
|
|
- b0 = 2;
|
|
+ b0 = 2; // Paper - the problem line for above change, causing over-stacking
|
|
}
|
|
} else {
|
|
boolean flag3 = !itemstack.isEmpty();
|