From 5ad4cc06101f47e2675a14b80ca00b8c335be490 Mon Sep 17 00:00:00 2001 From: Electroblob77 <35599699+Electroblob77@users.noreply.github.com> Date: Sun, 19 Apr 2020 17:41:12 +0100 Subject: [PATCH] Fix hoppers putting spell books in hidden slots --- .../tileentity/TileEntityArcaneWorkbench.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/main/java/electroblob/wizardry/tileentity/TileEntityArcaneWorkbench.java b/src/main/java/electroblob/wizardry/tileentity/TileEntityArcaneWorkbench.java index a93acf55..72daa018 100644 --- a/src/main/java/electroblob/wizardry/tileentity/TileEntityArcaneWorkbench.java +++ b/src/main/java/electroblob/wizardry/tileentity/TileEntityArcaneWorkbench.java @@ -168,7 +168,17 @@ public class TileEntityArcaneWorkbench extends TileEntity implements IInventory, if(itemstack == ItemStack.EMPTY) return true; if(slotNumber >= 0 && slotNumber < ContainerArcaneWorkbench.CRYSTAL_SLOT){ - return itemstack.getItem() instanceof ItemSpellBook; + + if(!(itemstack.getItem() instanceof ItemSpellBook)) return false; + + ItemStack centreStack = getStackInSlot(ContainerArcaneWorkbench.CENTRE_SLOT); + + if(centreStack.getItem() instanceof IWorkbenchItem){ + int spellSlots = ((IWorkbenchItem)centreStack.getItem()).getSpellSlotCount(centreStack); + return slotNumber < spellSlots; + } + + return false; }else if(slotNumber == ContainerArcaneWorkbench.CRYSTAL_SLOT){ return itemstack.getItem() instanceof ItemCrystal;