From 2060eff7df71645a9e95a488bf6379a8392869a1 Mon Sep 17 00:00:00 2001 From: Fff <141797114+WhereisFff@users.noreply.github.com> Date: Fri, 2 Oct 2026 03:51:00 -0700 Subject: [PATCH] =?UTF-8?q?fix(item-splitter):=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E7=89=A9=E5=93=81=E5=88=86=E9=85=8D=E5=99=A8=E6=8E=89=E8=90=BD?= =?UTF-8?q?=E7=89=A9=E8=B6=85=E5=87=BA=E5=A0=86=E5=8F=A0=E4=B8=8A=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 按物品实际堆叠上限拆分每个目标位置的掉落物,保留均分份额、余数、零动量和拾取延迟。 修复 #5135 --- .../block/entity/ItemSplitterBlockEntity.java | 28 ++++++++++--------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/src/main/java/dev/dubhe/anvilcraft/block/entity/ItemSplitterBlockEntity.java b/src/main/java/dev/dubhe/anvilcraft/block/entity/ItemSplitterBlockEntity.java index ae288e6db7..08f1ffc44a 100644 --- a/src/main/java/dev/dubhe/anvilcraft/block/entity/ItemSplitterBlockEntity.java +++ b/src/main/java/dev/dubhe/anvilcraft/block/entity/ItemSplitterBlockEntity.java @@ -279,19 +279,21 @@ private void insertBack(ItemStack stack) { private void dropAt(BlockPos target, ItemStack stack) { if (this.level == null) return; Vec3 center = target.getCenter(); - // 显式传 0,0,0:5 参数构造器会自带随机动量与向上初速 - ItemEntity itemEntity = new ItemEntity( - this.level, - center.x, - center.y, - center.z, - stack, - 0, - 0, - 0 - ); - itemEntity.setDefaultPickUpDelay(); - this.level.addFreshEntity(itemEntity); + while (!stack.isEmpty()) { + // 显式传 0,0,0:5 参数构造器会自带随机动量与向上初速 + ItemEntity itemEntity = new ItemEntity( + this.level, + center.x, + center.y, + center.z, + stack.split(stack.getMaxStackSize()), + 0, + 0, + 0 + ); + itemEntity.setDefaultPickUpDelay(); + this.level.addFreshEntity(itemEntity); + } } /**