diff --git a/src/main/java/refinedstorage/storage/NBTStorage.java b/src/main/java/refinedstorage/storage/NBTStorage.java index 92c320f91..de523b19a 100755 --- a/src/main/java/refinedstorage/storage/NBTStorage.java +++ b/src/main/java/refinedstorage/storage/NBTStorage.java @@ -20,6 +20,7 @@ public class NBTStorage implements IStorage { private NBTTagCompound tag; private int capacity; private int priority; + private boolean dirty; private List groups = new ArrayList(); @@ -76,19 +77,21 @@ public class NBTStorage implements IStorage { @Override public void push(ItemStack stack) { - markDirty(); - tag.setInteger(NBT_STORED, getStored(tag) + stack.stackSize); for (ItemGroup group : groups) { if (group.compareNoQuantity(stack)) { group.setQuantity(group.getQuantity() + stack.stackSize); + markDirty(); + return; } } groups.add(new ItemGroup(stack)); + + markDirty(); } @Override @@ -167,6 +170,7 @@ public class NBTStorage implements IStorage { public static ItemStack createStackWithNBT(ItemStack stack) { stack.setTagCompound(createNBT()); + return stack; } }