9
0
mirror of https://github.com/LeavesMC/Leaves.git synced 2026-01-04 15:41:31 +00:00

Update Paper

This commit is contained in:
violetc
2024-01-19 11:09:19 +08:00
parent 25f3bfe8c6
commit bb617373a6
51 changed files with 303 additions and 312 deletions

View File

@@ -6,7 +6,7 @@ Subject: [PATCH] Stackable ShulkerBoxes
This patch is Powered by fabric-carpet(https://github.com/gnembon/fabric-carpet) and plusls-carpet-addition(https://github.com/plusls/plusls-carpet-addition)
diff --git a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java
index a39db702063887cf530f272deaf4f334047cc7d4..1b6cd8276c6bda2832f6447a2cceb75f11e6811a 100644
index 491a521f0e5e272fbad7870fa3adefdea22e179f..5dacb8896d8b78b0c467aa156c497a3eb35df26c 100644
--- a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java
+++ b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java
@@ -14,10 +14,12 @@ import net.minecraft.world.entity.Entity;
@@ -33,7 +33,7 @@ index a39db702063887cf530f272deaf4f334047cc7d4..1b6cd8276c6bda2832f6447a2cceb75f
@@ -73,6 +76,13 @@ public class ItemEntity extends Entity implements TraceableEntity {
this.setDeltaMovement(this.random.nextDouble() * 0.2D - 0.1D, 0.2D, this.random.nextDouble() * 0.2D - 0.1D);
this.setItem(stack);
// Paper end
// Paper end - Don't use level random in entity constructors
+ // Leaves start - stackable shulker boxes
+ if (top.leavesmc.leaves.LeavesConfig.shulkerBoxStackSize > 1) {
+ if (stack.getItem() instanceof BlockItem bi && bi.getBlock() instanceof ShulkerBoxBlock) {
@@ -96,7 +96,7 @@ index a39db702063887cf530f272deaf4f334047cc7d4..1b6cd8276c6bda2832f6447a2cceb75f
ItemStack itemstack1 = other.getItem();
diff --git a/src/main/java/net/minecraft/world/entity/player/Inventory.java b/src/main/java/net/minecraft/world/entity/player/Inventory.java
index 41cb0d1efd81b7754b68c89af289c1260779c08b..75a26684dc892f96e9209ef77709d1b445bef636 100644
index d2f6027056af9d2816542f4e3d9e278d9ec2c9b4..10db6853dafd8f757499992af84c6b618caf2eeb 100644
--- a/src/main/java/net/minecraft/world/entity/player/Inventory.java
+++ b/src/main/java/net/minecraft/world/entity/player/Inventory.java
@@ -114,7 +114,7 @@ public class Inventory implements Container, Nameable {
@@ -132,7 +132,7 @@ index 41cb0d1efd81b7754b68c89af289c1260779c08b..75a26684dc892f96e9209ef77709d1b4
if (this.add(i, stack.split(j)) && notifiesClient && this.player instanceof ServerPlayer) {
((ServerPlayer) this.player).connection.send(new ClientboundContainerSetSlotPacket(-2, 0, i, this.getItem(i)));
diff --git a/src/main/java/net/minecraft/world/inventory/AbstractContainerMenu.java b/src/main/java/net/minecraft/world/inventory/AbstractContainerMenu.java
index 1a1736fe28014aca767aa9efdcba378be3adc8ea..62586df674570a7762e8a2118a16918643c7dd59 100644
index 067f44d1fb245a315ec1c0fbccfef9b169c02d02..ef00f65f4096436451deeefe9153b86886b1e931 100644
--- a/src/main/java/net/minecraft/world/inventory/AbstractContainerMenu.java
+++ b/src/main/java/net/minecraft/world/inventory/AbstractContainerMenu.java
@@ -456,7 +456,7 @@ public abstract class AbstractContainerMenu {
@@ -257,7 +257,7 @@ index 5780d349f968ea3d05cf569b63531f8e76884827..d30af75de7d146b6bf49814b0eabae94
public VoxelShape getShape(BlockState state, BlockGetter world, BlockPos pos, CollisionContext context) {
return SHAPE;
diff --git a/src/main/java/net/minecraft/world/level/block/entity/HopperBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/HopperBlockEntity.java
index 8e1201d91bac88c043de5dfdc003d20b2647af9a..5fabdda079ebcb0e5d119f3e60f7447d88dd2707 100644
index b17b8f2a773fcdd20d26dcdb083d59f6b89af37f..62d1c35e78f84f561deea990b4938258a482fe39 100644
--- a/src/main/java/net/minecraft/world/level/block/entity/HopperBlockEntity.java
+++ b/src/main/java/net/minecraft/world/level/block/entity/HopperBlockEntity.java
@@ -733,9 +733,9 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen
@@ -271,7 +271,7 @@ index 8e1201d91bac88c043de5dfdc003d20b2647af9a..5fabdda079ebcb0e5d119f3e60f7447d
+ stack = stack.split(Math.min(to.getMaxStackSize(), stack.getMaxStackSize())); // Leaves - stackable shulker boxes
}
// Spigot end
ignoreTileUpdates = true; // Paper
ignoreTileUpdates = true; // Paper - Perf: Optimize Hoppers
diff --git a/src/main/java/top/leavesmc/leaves/util/ShulkerBoxUtils.java b/src/main/java/top/leavesmc/leaves/util/ShulkerBoxUtils.java
new file mode 100644
index 0000000000000000000000000000000000000000..82b4337965663ec8eccbc8c77892e3c49bff87cf