push down some buttons so the JEI doesnt get cutoff vertically.

ME autocrafting now uses the cached storage list instead of a full simulated network extraction
This commit is contained in:
PrototypeTrousers
2022-08-26 17:28:00 -03:00
parent f8bac0475a
commit 027e8477c2
4 changed files with 21 additions and 13 deletions
@@ -88,7 +88,7 @@ public class CraftingJob implements Runnable, ICraftingJob
this.cc = grid.getCache( ICraftingGrid.class );
final GridStorageCache sg = grid.getCache( IStorageGrid.class );
this.original = sg.getExtractableList( actionSrc );
this.original = new MECraftingInventory( sg.getInventory( AEApi.instance().storage().getStorageChannel( IItemStorageChannel.class ) ).getStorageList() );
this.setTree( this.getCraftingTree( cc, what ) );
this.availableCheck = null;
@@ -187,6 +187,25 @@ public class MECraftingInventory implements IMEInventory<IAEItemStack>
this.par = null;
}
public MECraftingInventory( final IItemList<IAEItemStack> itemList )
{
this.localCache = new ItemListIgnoreCrafting<>( AEApi.instance().storage().getStorageChannel( IItemStorageChannel.class ).createList() );
this.target = null;
this.logExtracted = false;
this.logInjections = false;
this.logMissing = false;
this.missingCache = null;
this.extractedCache = null;
this.injectedCache = null;
for( IAEItemStack iaeItemStack : itemList )
{
this.localCache.add( iaeItemStack );
}
this.par = null;
}
@Override
public IAEItemStack injectItems( final IAEItemStack input, final Actionable mode, final IActionSource src )
{
-11
View File
@@ -69,7 +69,6 @@ public class GridStorageCache implements IStorageGrid
private final HashMap<IGridNode, IStackWatcher> watchers = new HashMap<>();
private final Map<IStorageChannel<? extends IAEStack>, NetworkInventoryHandler<?>> storageNetworks;
private final Map<IStorageChannel<? extends IAEStack>, NetworkMonitor<?>> storageMonitors;
private MECraftingInventory localCache = null;
private int localDepth;
public GridStorageCache( final IGrid g )
@@ -84,7 +83,6 @@ public class GridStorageCache implements IStorageGrid
@Override
public void onUpdateTick()
{
this.localCache = null;
this.storageMonitors.forEach( ( channel, monitor ) -> monitor.onTick() );
}
@@ -172,15 +170,6 @@ public class GridStorageCache implements IStorageGrid
return (IMEMonitor<T>) this.storageMonitors.get( channel );
}
public MECraftingInventory getExtractableList( IActionSource src )
{
if( localCache == null )
{
localCache = new MECraftingInventory( getInventory( AEApi.instance().storage().getStorageChannel( IItemStorageChannel.class ) ), src, false, false, false );
}
return localCache;
}
private CellChangeTracker addCellProvider( final ICellProvider cc, final CellChangeTracker tracker )
{
if( this.inactiveCellProviders.contains( cc ) )