From 1039b5285435b06e5905f700693e88e37e5759b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A2=85=E5=A4=A9=E4=BD=91?= <52530814+MeiTianyou@users.noreply.github.com> Date: Thu, 18 May 2023 04:17:37 +0800 Subject: [PATCH] Fixes a dupe with the crafting halos adds a check that will be redundant for 99% of items (#29) --- .../botania/common/item/ItemCraftingHalo.java | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/src/main/java/vazkii/botania/common/item/ItemCraftingHalo.java b/src/main/java/vazkii/botania/common/item/ItemCraftingHalo.java index d393f213a3..bad194d543 100644 --- a/src/main/java/vazkii/botania/common/item/ItemCraftingHalo.java +++ b/src/main/java/vazkii/botania/common/item/ItemCraftingHalo.java @@ -198,15 +198,17 @@ private static boolean consumeFromInventory(ItemStack stack, IInventory inv, Ent ItemStack stackAt = inv.getStackInSlot(i); if(stackAt != null && stack.isItemEqual(stackAt) && ItemStack.areItemStackTagsEqual(stack, stackAt)) { boolean consume = true; - - ItemStack container = stackAt.getItem().getContainerItem(stackAt); - if(container != null) { - if(container == stackAt) - consume = false; - else { - InventoryHelper.insertItemIntoInventory(inv, container); - if(container.stackSize != 0 && player != null) - player.dropPlayerItemWithRandomChoice(container, false); + if(stackAt.getItem().hasContainerItem()) { + //there are monsters in this world that will return false above but not null below + ItemStack container = stackAt.getItem().getContainerItem(stackAt); + if (container != null) { + if (container == stackAt) + consume = false; + else { + InventoryHelper.insertItemIntoInventory(inv, container); + if (container.stackSize != 0 && player != null) + player.dropPlayerItemWithRandomChoice(container, false); + } } }