@@ -60,7 +60,7 @@ index cc2d442682496197d29ace79b22e6cf6fb7edf5e..ae220a732c78ab076261f20b5a54c71d
60
60
/* Drop global time updates
61
61
if (this.tickCount % 20 == 0) {
62
62
diff --git a/net/minecraft/world/item/ItemStack.java b/net/minecraft/world/item/ItemStack.java
63
- index 47bf8051da9a04ab333bb2bf6421d6253556b71c..ba31bbdac96e58d299dc260b47aaedf767735a42 100644
63
+ index 0eb9811e573f0c38de3eeb17099872efcbb4c2dd..b511fe8295369ac4014beb351cd2e3f770c10170 100644
64
64
--- a/net/minecraft/world/item/ItemStack.java
65
65
+++ b/net/minecraft/world/item/ItemStack.java
66
66
@@ -808,10 +808,16 @@ public final class ItemStack implements DataComponentHolder {
@@ -103,7 +103,7 @@ index 2ebdf1ad323bb53dfe9eed319e25856b35a1443c..77618757c0e678532dbab814aceed83f
103
103
}
104
104
}
105
105
diff --git a/net/minecraft/world/level/block/entity/HopperBlockEntity.java b/net/minecraft/world/level/block/entity/HopperBlockEntity.java
106
- index e58a32593e8b42bfc534d13457240860293dd3f4..5cd1326ad5d046c88b2b3449d610a78fa880b4cd 100644
106
+ index e58a32593e8b42bfc534d13457240860293dd3f4..59c067e083bc059060ccd4563f2ba7f521f336f3 100644
107
107
--- a/net/minecraft/world/level/block/entity/HopperBlockEntity.java
108
108
+++ b/net/minecraft/world/level/block/entity/HopperBlockEntity.java
109
109
@@ -139,18 +139,56 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen
@@ -618,7 +618,15 @@ index e58a32593e8b42bfc534d13457240860293dd3f4..5cd1326ad5d046c88b2b3449d610a78f
618
618
ItemStack itemStack = item.getItem().copy();
619
619
ItemStack itemStack1 = addItem(null, container, itemStack, null);
620
620
if (itemStack1.isEmpty()) {
621
- @@ -431,7 +678,9 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen
621
+ @@ -419,6 +666,7 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen
622
+ }
623
+
624
+ private static ItemStack tryMoveInItem(@Nullable Container source, Container destination, ItemStack stack, int slot, @Nullable Direction direction) {
625
+ + stack = stack.copy(); // Paper - Perf: Optimize Hoppers
626
+ ItemStack item = destination.getItem(slot);
627
+ if (canPlaceItemInContainer(destination, stack, slot, direction)) {
628
+ boolean flag = false;
629
+ @@ -431,7 +679,9 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen
622
630
stack = stack.split(destination.getMaxStackSize());
623
631
}
624
632
// Spigot end
@@ -628,7 +636,7 @@ index e58a32593e8b42bfc534d13457240860293dd3f4..5cd1326ad5d046c88b2b3449d610a78f
628
636
stack = leftover; // Paper - Make hoppers respect inventory max stack size
629
637
flag = true;
630
638
} else if (canMergeItems(item, stack)) {
631
- @@ -519,13 +768 ,19 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen
639
+ @@ -519,13 +769 ,19 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen
632
640
633
641
@Nullable
634
642
public static Container getContainerAt(Level level, BlockPos pos) {
@@ -650,7 +658,7 @@ index e58a32593e8b42bfc534d13457240860293dd3f4..5cd1326ad5d046c88b2b3449d610a78f
650
658
blockContainer = getEntityContainer(level, x, y, z);
651
659
}
652
660
653
- @@ -551,14 +806 ,14 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen
661
+ @@ -551,14 +807 ,14 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen
654
662
655
663
@Nullable
656
664
private static Container getEntityContainer(Level level, double x, double y, double z) {
0 commit comments