cut crafting tree earlier if ingredients are available

This commit is contained in:
PrototypeTrousers
2022-02-28 21:25:13 -03:00
parent 6b29288de6
commit a0f3ef9d86
3 changed files with 63 additions and 3 deletions
@@ -57,6 +57,8 @@ public class CraftingJob implements Runnable, ICraftingJob
private final World world;
private final IItemList<IAEItemStack> crafting = AEApi.instance().storage().getStorageChannel( IItemStorageChannel.class ).createList();
private final IItemList<IAEItemStack> missing = AEApi.instance().storage().getStorageChannel( IItemStorageChannel.class ).createList();
private final IItemList<IAEItemStack> usedWhileBuilding = AEApi.instance().storage().getStorageChannel( IItemStorageChannel.class ).createList();
private final HashMap<String, TwoIntegers> opsAndMultiplier = new HashMap<>();
private final Object monitor = new Object();
private final Stopwatch watch = Stopwatch.createUnstarted();
@@ -102,6 +104,16 @@ public class CraftingJob implements Runnable, ICraftingJob
this.availableCheck.injectItems( o, Actionable.MODULATE, this.actionSrc );
}
public IItemList<IAEItemStack> getUsedWhileBuilding()
{
return usedWhileBuilding;
}
public IAEItemStack getOriginal( IAEItemStack request )
{
return original.getItemList().findPrecise( request );
}
IAEItemStack checkUse( final IAEItemStack available )
{
return this.availableCheck.extractItems( available, Actionable.MODULATE, this.actionSrc );