Skip to content
Permalink
Browse files

Fixes #4005: Persist cell after cleanup. (#4009)

  • Loading branch information...
yueh committed Apr 21, 2019
1 parent 8764309 commit 41a4518c5b69c87222790e59a78c97e8e9a2452a
@@ -192,16 +192,29 @@ private void loadCellItems()
this.cellItems.resetStatus(); // clears totals and stuff.

final int types = (int) this.getStoredItemTypes();
boolean needsUpdate = false;

for( int slot = 0; slot < types; slot++ )
{
NBTTagCompound compoundTag = this.tagCompound.getCompoundTag( ITEM_SLOT_KEYS[slot] );
int stackSize = this.tagCompound.getInteger( ITEM_SLOT_COUNT_KEYS[slot] );
this.loadCellItem( compoundTag, stackSize );
needsUpdate |= !this.loadCellItem( compoundTag, stackSize );
}

if( needsUpdate )
{
this.saveChanges();
}
}

protected abstract void loadCellItem( NBTTagCompound compoundTag, int stackSize );
/**
* Load a single item.
*
* @param compoundTag
* @param stackSize
* @return true when successfully loaded
*/
protected abstract boolean loadCellItem( NBTTagCompound compoundTag, int stackSize );

@Override
public IItemList<T> getAvailableItems( final IItemList<T> out )
@@ -253,7 +253,7 @@ public T extractItems( T request, Actionable mode, IActionSource src )
}

@Override
protected void loadCellItem( NBTTagCompound compoundTag, int stackSize )
protected boolean loadCellItem( NBTTagCompound compoundTag, int stackSize )
{
// Now load the item stack
final T t;
@@ -263,15 +263,15 @@ protected void loadCellItem( NBTTagCompound compoundTag, int stackSize )
if( t == null )
{
AELog.warn( "Removing item " + compoundTag + " from storage cell because the associated item type couldn't be found." );
return;
return false;
}
}
catch( Throwable ex )
{
if( AEConfig.instance().isRemoveCrashingItemsOnLoad() )
{
AELog.warn( ex, "Removing item " + compoundTag + " from storage cell because loading the ItemStack crashed." );
return;
return false;
}
throw ex;
}
@@ -282,5 +282,7 @@ protected void loadCellItem( NBTTagCompound compoundTag, int stackSize )
{
this.cellItems.add( t );
}

return true;
}
}

0 comments on commit 41a4518

Please sign in to comment.
You can’t perform that action at this time.