3131import wayoftime .bloodmagic .api .compat .EnumDemonWillType ;
3232import wayoftime .bloodmagic .common .block .BlockAlchemicalReactionChamber ;
3333import wayoftime .bloodmagic .common .container .tile .ContainerAlchemicalReactionChamber ;
34+ import wayoftime .bloodmagic .common .item .ItemLavaCrystal ;
3435import wayoftime .bloodmagic .common .item .arc .IARCTool ;
3536import wayoftime .bloodmagic .common .item .inventory .InventoryWrapper ;
3637import wayoftime .bloodmagic .common .tags .BloodMagicTags ;
3738import wayoftime .bloodmagic .impl .BloodMagicAPI ;
3839import wayoftime .bloodmagic .network .ARCTanksPacket ;
3940import wayoftime .bloodmagic .recipe .RecipeARC ;
4041import wayoftime .bloodmagic .recipe .helper .FluidStackIngredient ;
42+ import wayoftime .bloodmagic .util .BMLog ;
4143import wayoftime .bloodmagic .util .Constants ;
4244import wayoftime .bloodmagic .util .MultiSlotItemHandler ;
4345
@@ -347,6 +349,12 @@ private void craftItem(RecipeARC recipe, ItemStack inputStack, ItemStack toolSta
347349
348350 private boolean canCraftFurnace (ItemStack outputStack , MultiSlotItemHandler outputSlotHandler )
349351 {
352+ ItemStack toolStack = this .getItem (ARC_TOOL_SLOT );
353+ if (toolStack .getItem () instanceof ItemLavaCrystal )
354+ {
355+ if (((ItemLavaCrystal ) toolStack .getItem ()).getBurnTime (toolStack ) <= 0 )
356+ return false ;
357+ }
350358 List <ItemStack > outputList = new ArrayList <>();
351359 outputList .add (outputStack );
352360 return outputSlotHandler .canTransferAllItemsToSlots (outputList , true );
@@ -357,7 +365,7 @@ private void craftFurnace(ItemStack outputStack, MultiSlotItemHandler outputSlot
357365 List <ItemStack > outputList = new ArrayList <>();
358366 outputList .add (outputStack );
359367 outputSlotHandler .canTransferAllItemsToSlots (outputList , false );
360- consumeInventory (1 , false , false );
368+ consumeInventory (1 , false , true );
361369 }
362370
363371 public void consumeInventory (int inputCount , boolean consumeInput , boolean breakTool )
@@ -394,7 +402,7 @@ public void consumeInventory(int inputCount, boolean consumeInput, boolean break
394402 }
395403 } else if (toolStack .getItem ().hasCraftingRemainingItem (toolStack ))
396404 {
397- setItem (ARC_TOOL_SLOT , toolStack .getItem ().getCraftingRemainingItem (inputStack ));
405+ setItem (ARC_TOOL_SLOT , toolStack .getItem ().getCraftingRemainingItem (toolStack ));
398406 } else
399407 {
400408 toolStack .shrink (1 );
@@ -572,4 +580,4 @@ public FluidStack drain(int maxDrain, FluidAction action)
572580 }
573581 return drainedStack ;
574582 }
575- }
583+ }
0 commit comments