From acfa3dfed94b0e8c69ab6439593197338701b1c4 Mon Sep 17 00:00:00 2001 From: miozune Date: Sat, 5 Nov 2022 19:40:40 +0900 Subject: Fix disassembler not handling container item (#1505) --- .../machines/basic/GT_MetaTileEntity_Disassembler.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Disassembler.java b/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Disassembler.java index 1f9b93a8d2..81e7ece86f 100644 --- a/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Disassembler.java +++ b/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Disassembler.java @@ -386,10 +386,9 @@ public class GT_MetaTileEntity_Disassembler extends GT_MetaTileEntity_BasicMachi } } - // Unification output[i] = handleUnification(output[i]); - // Wildcard output[i] = handleWildcard(output[i]); + output[i] = handleContainerItem(output[i]); } } @@ -406,13 +405,21 @@ public class GT_MetaTileEntity_Disassembler extends GT_MetaTileEntity_BasicMachi } private static ItemStack handleWildcard(ItemStack stack) { - if (stack.getItemDamage() == OreDictionary.WILDCARD_VALUE + if (stack != null + && stack.getItemDamage() == OreDictionary.WILDCARD_VALUE && !stack.getItem().isDamageable()) { stack.setItemDamage(0); } return stack; } + private static ItemStack handleContainerItem(ItemStack stack) { + if (stack != null && stack.getItem().hasContainerItem(stack)) { + return null; + } + return stack; + } + private static void handleReplacement( Set inputsStacks, ItemData data, ItemStack[] output, ItemStack input, int i) { AtomicReference toRpl = new AtomicReference<>(); -- cgit