Fixed Bug: #1091 - Crash with Interface

- Also formatted Changes.
This commit is contained in:
AlgorithmX2
2014-09-16 19:11:52 -05:00
parent e13d5097b3
commit 3c8c773e2f
+17 -12
View File
@@ -3,8 +3,8 @@ package appeng.me.storage;
import java.util.HashMap; import java.util.HashMap;
import java.util.Iterator; import java.util.Iterator;
import java.util.LinkedList; import java.util.LinkedList;
import java.util.NavigableMap;
import java.util.Map.Entry; import java.util.Map.Entry;
import java.util.NavigableMap;
import java.util.TreeMap; import java.util.TreeMap;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
@@ -30,7 +30,8 @@ public class MEMonitorIInventory implements IMEInventory<IAEItemStack>, IMEMonit
class CachedItemStack class CachedItemStack
{ {
public CachedItemStack(ItemStack is) { public CachedItemStack(ItemStack is)
{
if ( is == null ) if ( is == null )
{ {
itemStack = null; itemStack = null;
@@ -68,7 +69,8 @@ public class MEMonitorIInventory implements IMEInventory<IAEItemStack>, IMEMonit
listeners.remove( l ); listeners.remove( l );
} }
public MEMonitorIInventory(InventoryAdaptor adaptor) { public MEMonitorIInventory(InventoryAdaptor adaptor)
{
this.adaptor = adaptor; this.adaptor = adaptor;
memory = new TreeMap(); memory = new TreeMap();
} }
@@ -222,18 +224,21 @@ public class MEMonitorIInventory implements IMEInventory<IAEItemStack>, IMEMonit
} }
// detect dropped items; should fix non IISided Inventory Changes. // detect dropped items; should fix non IISided Inventory Changes.
NavigableMap<Integer,CachedItemStack> end = memory.tailMap( high, false ); NavigableMap<Integer, CachedItemStack> end = memory.tailMap( high, false );
if ( ! end.isEmpty() ) if ( !end.isEmpty() )
{ {
for ( CachedItemStack cis : end.values() ) for (CachedItemStack cis : end.values())
{ {
IAEItemStack a = cis.aeStack.copy(); if ( cis != null )
a.setStackSize( - a.getStackSize() ); {
changes.add( a ); IAEItemStack a = cis.aeStack.copy();
changed = true; a.setStackSize( -a.getStackSize() );
changes.add( a );
changed = true;
}
} }
end.clear(); end.clear();
} }
if ( !changes.isEmpty() ) if ( !changes.isEmpty() )
postDiffrence( changes ); postDiffrence( changes );