From b7252b0f8b219daf8f5732a453f2f863e0ede533 Mon Sep 17 00:00:00 2001 From: Ruben Taelman Date: Mon, 9 Sep 2024 17:30:56 +0200 Subject: [PATCH] Fix Spirit Furnace not resuming after drained by hopper Closes #1058 --- .../blockentity/BlockEntitySpiritFurnace.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/cyclops/evilcraft/blockentity/BlockEntitySpiritFurnace.java b/src/main/java/org/cyclops/evilcraft/blockentity/BlockEntitySpiritFurnace.java index bf2595f6a0..79eff818a6 100644 --- a/src/main/java/org/cyclops/evilcraft/blockentity/BlockEntitySpiritFurnace.java +++ b/src/main/java/org/cyclops/evilcraft/blockentity/BlockEntitySpiritFurnace.java @@ -169,7 +169,16 @@ public static CubeDetector getCubeDetector() { @Override protected void addItemHandlerCapabilities() { - LazyOptional itemHandlerBox = LazyOptional.of(() -> new ItemHandlerSlotMasked(getInventory(), SLOTS_DROP)); + LazyOptional itemHandlerBox = LazyOptional.of(() -> new ItemHandlerSlotMasked(getInventory(), SLOTS_DROP) { + @Override + public ItemStack extractItem(int slot, int amount, boolean simulate) { + ItemStack extracted = super.extractItem(slot, amount, simulate); + if (!extracted.isEmpty() && !simulate) { + resetWork(false); + } + return extracted; + } + }); LazyOptional itemHandlerContainer = LazyOptional.of(() -> new ItemHandlerSlotMasked(getInventory(), SLOT_BOX, SLOT_CONTAINER)); addCapabilitySided(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, Direction.UP, itemHandlerBox); addCapabilitySided(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, Direction.DOWN, itemHandlerBox);