cache fixes
This commit is contained in:
@@ -304,6 +304,8 @@ class ItemHandlerAdapter implements IMEInventory<IAEItemStack>, IBaseMonitor<IAE
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
IItemList<IAEItemStack> newCachedAeStacks = AEApi.instance().storage().getStorageChannel( IItemStorageChannel.class ).createList();
|
||||||
|
|
||||||
Iterator<IAEItemStack> cachedAeStacksIterator = cachedAeStacks.iterator();
|
Iterator<IAEItemStack> cachedAeStacksIterator = cachedAeStacks.iterator();
|
||||||
while ( cachedAeStacksIterator.hasNext() )
|
while ( cachedAeStacksIterator.hasNext() )
|
||||||
{
|
{
|
||||||
@@ -313,9 +315,13 @@ class ItemHandlerAdapter implements IMEInventory<IAEItemStack>, IBaseMonitor<IAE
|
|||||||
{
|
{
|
||||||
changes.add( cachedStack.setStackSize( -cachedStack.getStackSize() ) );
|
changes.add( cachedStack.setStackSize( -cachedStack.getStackSize() ) );
|
||||||
}
|
}
|
||||||
else if( cachedStack.getStackSize() != storedStack.getStackSize() )
|
else
|
||||||
{
|
{
|
||||||
handleStackSizeChanged( cachedStack, storedStack, changes );
|
newCachedAeStacks.add( storedStack );
|
||||||
|
if( cachedStack.getStackSize() != storedStack.getStackSize() )
|
||||||
|
{
|
||||||
|
handleStackSizeChanged( cachedStack, storedStack, changes );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -323,11 +329,13 @@ class ItemHandlerAdapter implements IMEInventory<IAEItemStack>, IBaseMonitor<IAE
|
|||||||
{
|
{
|
||||||
if( cachedAeStacks.findPrecise( storedStack ) == null )
|
if( cachedAeStacks.findPrecise( storedStack ) == null )
|
||||||
{
|
{
|
||||||
cachedAeStacks.add( storedStack );
|
newCachedAeStacks.add( storedStack );
|
||||||
changes.add( storedStack.copy() );
|
changes.add( storedStack.copy() );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
this.cachedAeStacks = newCachedAeStacks;
|
||||||
|
|
||||||
return changes;
|
return changes;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -338,8 +346,6 @@ class ItemHandlerAdapter implements IMEInventory<IAEItemStack>, IBaseMonitor<IAE
|
|||||||
|
|
||||||
if( diff != 0 )
|
if( diff != 0 )
|
||||||
{
|
{
|
||||||
cachedStack.setStackSize( storedStack.getStackSize() );
|
|
||||||
|
|
||||||
final IAEItemStack diffStack = cachedStack.copy();
|
final IAEItemStack diffStack = cachedStack.copy();
|
||||||
diffStack.setStackSize( diff );
|
diffStack.setStackSize( diff );
|
||||||
changes.add( diffStack );
|
changes.add( diffStack );
|
||||||
|
|||||||
@@ -205,6 +205,8 @@ class ItemRepositoryAdapter implements IMEInventory<IAEItemStack>, IBaseMonitor<
|
|||||||
IItemList<IAEItemStack> storage = AEApi.instance().storage().getStorageChannel( IItemStorageChannel.class ).createList();
|
IItemList<IAEItemStack> storage = AEApi.instance().storage().getStorageChannel( IItemStorageChannel.class ).createList();
|
||||||
this.iItemRepository.getAllItems().stream().map( s -> AEItemStack.fromItemStack( s.itemPrototype ).setStackSize( s.count ) ).forEach( storage::add );
|
this.iItemRepository.getAllItems().stream().map( s -> AEItemStack.fromItemStack( s.itemPrototype ).setStackSize( s.count ) ).forEach( storage::add );
|
||||||
|
|
||||||
|
IItemList<IAEItemStack> newCachedAeStacks = AEApi.instance().storage().getStorageChannel( IItemStorageChannel.class ).createList();
|
||||||
|
|
||||||
Iterator<IAEItemStack> cachedAeStacksIterator = cachedAeStacks.iterator();
|
Iterator<IAEItemStack> cachedAeStacksIterator = cachedAeStacks.iterator();
|
||||||
while ( cachedAeStacksIterator.hasNext() )
|
while ( cachedAeStacksIterator.hasNext() )
|
||||||
{
|
{
|
||||||
@@ -213,11 +215,14 @@ class ItemRepositoryAdapter implements IMEInventory<IAEItemStack>, IBaseMonitor<
|
|||||||
if( storedStack == null )
|
if( storedStack == null )
|
||||||
{
|
{
|
||||||
changes.add( cachedStack.setStackSize( -cachedStack.getStackSize() ) );
|
changes.add( cachedStack.setStackSize( -cachedStack.getStackSize() ) );
|
||||||
cachedAeStacksIterator.remove();
|
|
||||||
}
|
}
|
||||||
else if( cachedStack.getStackSize() != storedStack.getStackSize() )
|
else
|
||||||
{
|
{
|
||||||
handleStackSizeChanged( cachedStack, storedStack, changes );
|
newCachedAeStacks.add( storedStack );
|
||||||
|
if( cachedStack.getStackSize() != storedStack.getStackSize() )
|
||||||
|
{
|
||||||
|
handleStackSizeChanged( cachedStack, storedStack, changes );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -225,11 +230,13 @@ class ItemRepositoryAdapter implements IMEInventory<IAEItemStack>, IBaseMonitor<
|
|||||||
{
|
{
|
||||||
if( cachedAeStacks.findPrecise( storedStack ) == null )
|
if( cachedAeStacks.findPrecise( storedStack ) == null )
|
||||||
{
|
{
|
||||||
cachedAeStacks.add( storedStack );
|
newCachedAeStacks.add( storedStack );
|
||||||
changes.add( storedStack.copy() );
|
changes.add( storedStack.copy() );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
this.cachedAeStacks = newCachedAeStacks;
|
||||||
|
|
||||||
return changes;
|
return changes;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -240,8 +247,6 @@ class ItemRepositoryAdapter implements IMEInventory<IAEItemStack>, IBaseMonitor<
|
|||||||
|
|
||||||
if( diff != 0 )
|
if( diff != 0 )
|
||||||
{
|
{
|
||||||
cachedStack.setStackSize( storedStack.getStackSize() );
|
|
||||||
|
|
||||||
final IAEItemStack diffStack = cachedStack.copy();
|
final IAEItemStack diffStack = cachedStack.copy();
|
||||||
diffStack.setStackSize( diff );
|
diffStack.setStackSize( diff );
|
||||||
changes.add( diffStack );
|
changes.add( diffStack );
|
||||||
|
|||||||
Reference in New Issue
Block a user