diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Disassembler.java | 13 |
1 files changed, 10 insertions, 3 deletions
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<ItemStack[]> inputsStacks, ItemData data, ItemStack[] output, ItemStack input, int i) { AtomicReference<Materials> toRpl = new AtomicReference<>(); |