From eea5bc7c6bfd2c393126a331292b8680d72327f7 Mon Sep 17 00:00:00 2001 From: PrototypeTrousers Date: Thu, 3 Mar 2022 14:06:11 -0300 Subject: [PATCH] 1 --- src/main/java/appeng/crafting/CraftingJob.java | 5 +++-- src/main/java/appeng/crafting/CraftingTreeNode.java | 5 +++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/main/java/appeng/crafting/CraftingJob.java b/src/main/java/appeng/crafting/CraftingJob.java index 1fc555aef..8618bd752 100644 --- a/src/main/java/appeng/crafting/CraftingJob.java +++ b/src/main/java/appeng/crafting/CraftingJob.java @@ -58,6 +58,7 @@ public class CraftingJob implements Runnable, ICraftingJob private final IItemList crafting = AEApi.instance().storage().getStorageChannel( IItemStorageChannel.class ).createList(); private final IItemList missing = AEApi.instance().storage().getStorageChannel( IItemStorageChannel.class ).createList(); private final IItemList usedWhileBuilding = AEApi.instance().storage().getStorageChannel( IItemStorageChannel.class ).createList(); + private final IItemList uniques = AEApi.instance().storage().getStorageChannel( IItemStorageChannel.class ).createList(); private final HashMap opsAndMultiplier = new HashMap<>(); private final Object monitor = new Object(); @@ -110,9 +111,9 @@ public class CraftingJob implements Runnable, ICraftingJob return usedWhileBuilding; } - public IAEItemStack getOriginal( IAEItemStack request ) + public IItemList getUniques() { - return original.getItemList().findPrecise( request ); + return uniques; } IAEItemStack checkUse( final IAEItemStack available ) diff --git a/src/main/java/appeng/crafting/CraftingTreeNode.java b/src/main/java/appeng/crafting/CraftingTreeNode.java index adbdf36f8..1bdfa03a9 100644 --- a/src/main/java/appeng/crafting/CraftingTreeNode.java +++ b/src/main/java/appeng/crafting/CraftingTreeNode.java @@ -345,6 +345,11 @@ public class CraftingTreeNode throw new CraftBranchFailure( this.what, l ); } + boolean notRecursive() + { + return job.getUniques().findPrecise( this.what ) == null || this.parent == null; + } + void dive( final CraftingJob job ) { if( this.missing > 0 )