From 94b89d172e5e6618a3c1b97d9e1b0ebaa4580ba8 Mon Sep 17 00:00:00 2001 From: Fff <141797114+WhereisFff@users.noreply.github.com> Date: Fri, 2 Oct 2026 02:57:18 -0700 Subject: [PATCH] =?UTF-8?q?fix(building):=20=E4=BF=AE=E5=A4=8D=E5=B9=BB?= =?UTF-8?q?=E7=81=B5=E9=93=81=E7=A0=A7=E8=99=9A=E5=BD=B1=E6=92=A4=E9=94=80?= =?UTF-8?q?=E6=97=B6=E9=87=8D=E5=A4=8D=E8=BF=94=E8=BF=98=E7=89=A9=E5=93=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 撤销无掉落幻灵铁砧虚影时不再结算基础物品 - 保留实体铁砧与其他下落方块的资源结算 fixed #5133 --- .../dubhe/anvilcraft/building/BuildingUndoResources.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/main/java/dev/dubhe/anvilcraft/building/BuildingUndoResources.java b/src/main/java/dev/dubhe/anvilcraft/building/BuildingUndoResources.java index dc6c38bff0..90d8c81da6 100644 --- a/src/main/java/dev/dubhe/anvilcraft/building/BuildingUndoResources.java +++ b/src/main/java/dev/dubhe/anvilcraft/building/BuildingUndoResources.java @@ -5,6 +5,8 @@ import dev.dubhe.anvilcraft.block.UseItemOnBlock; import dev.dubhe.anvilcraft.block.entity.storage.StorageBlockEntity; import dev.dubhe.anvilcraft.block.item.LargeCakeBlockItem; +import dev.dubhe.anvilcraft.entity.FallingSpectralBlockEntity; +import dev.dubhe.anvilcraft.init.block.ModBlocks; import net.minecraft.core.BlockPos; import net.minecraft.core.component.DataComponents; import net.minecraft.core.registries.Registries; @@ -150,6 +152,10 @@ void entity(ServerLevel level, CompoundTag data, ItemStack supplied) { if (plan.unsupported()) throw new IllegalArgumentException("Unknown entity resources"); if (probe instanceof Mob && plan.material().isEmpty()) throw new IllegalArgumentException("Missing creature material"); ItemStack material = supplied.isEmpty() ? plan.material().copy() : supplied.copyWithCount(1); + if (probe instanceof FallingSpectralBlockEntity falling && falling.getBlockState().is(ModBlocks.SPECTRAL_ANVIL) + && (!copy.contains("Ghost") || copy.getBoolean("Ghost")) && !falling.dropItem) { + material = ItemStack.EMPTY; + } if (!material.isEmpty() && !(probe instanceof ItemEntity)) { if (probe.getCustomName() == null) material.remove(DataComponents.CUSTOM_NAME); else material.set(DataComponents.CUSTOM_NAME, probe.getCustomName());