diff --git a/CHANGELOG.md b/CHANGELOG.md index e7ceb7c86..5aaae14e1 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -31,6 +31,7 @@ NOTE: Worlds that used Refined Storage 1.5.x are fully compatible with Refined S - Fixed bug where External Storage could only handle 1 fluid inventory per block (raoulvdberge) - Fixed shift clicking a created pattern going into Grid inventory (raoulvdberge) - Fixed crash when moving a wireless item with the number keys (raoulvdberge) +- Fixed bug where item storage tracker didn't save sometimes (raoulvdberge) - Prevent accidental Grid scrollbar click after clicking JEI recipe transfer button (raoulvdberge) - Added a missing config option for Crafter Manager energy usage (raoulvdberge) - Added support for Disk Drive / Storage Block storage and capacity to OC integration (zangai) diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/storage/StorageTrackerFluid.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/storage/StorageTrackerFluid.java index 6a648edc4..8c05d533e 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/storage/StorageTrackerFluid.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/storage/StorageTrackerFluid.java @@ -48,7 +48,7 @@ public class StorageTrackerFluid implements IStorageTracker { return changes.get(stack); } - public void readFromNBT(NBTTagList list) { + public void readFromNbt(NBTTagList list) { for (int i = 0; i < list.tagCount(); ++i) { NBTTagCompound tag = list.getCompoundTagAt(i); @@ -63,7 +63,7 @@ public class StorageTrackerFluid implements IStorageTracker { } } - public NBTTagList serializeNBT() { + public NBTTagList serializeNbt() { NBTTagList list = new NBTTagList(); for (Map.Entry entry : changes.entrySet()) { diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/storage/StorageTrackerItem.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/storage/StorageTrackerItem.java index 7e514efae..d22d8bb80 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/storage/StorageTrackerItem.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/storage/StorageTrackerItem.java @@ -2,6 +2,7 @@ package com.raoulvdberge.refinedstorage.apiimpl.storage; import com.raoulvdberge.refinedstorage.api.storage.IStorageTracker; import com.raoulvdberge.refinedstorage.apiimpl.API; +import com.raoulvdberge.refinedstorage.util.StackUtils; import gnu.trove.map.hash.TCustomHashMap; import gnu.trove.strategy.HashingStrategy; import net.minecraft.entity.player.EntityPlayer; @@ -47,11 +48,11 @@ public class StorageTrackerItem implements IStorageTracker { return changes.get(stack); } - public void readFromNBT(NBTTagList list) { + public void readFromNbt(NBTTagList list) { for (int i = 0; i < list.tagCount(); ++i) { NBTTagCompound tag = list.getCompoundTagAt(i); - ItemStack stack = new ItemStack(tag.getCompoundTag(NBT_STACK)); + ItemStack stack = StackUtils.deserializeStackFromNbt(tag.getCompoundTag(NBT_STACK)); if (!stack.isEmpty()) { changes.put( @@ -62,7 +63,7 @@ public class StorageTrackerItem implements IStorageTracker { } } - public NBTTagList serializeNBT() { + public NBTTagList serializeNbt() { NBTTagList list = new NBTTagList(); for (Map.Entry entry : changes.entrySet()) { @@ -70,7 +71,7 @@ public class StorageTrackerItem implements IStorageTracker { tag.setLong(NBT_TIME, entry.getValue().getTime()); tag.setString(NBT_NAME, entry.getValue().getName()); - tag.setTag(NBT_STACK, entry.getKey().serializeNBT()); + tag.setTag(NBT_STACK, StackUtils.serializeStackToNbt(entry.getKey())); list.appendTag(tag); } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/tile/TileController.java b/src/main/java/com/raoulvdberge/refinedstorage/tile/TileController.java index 6045ccba7..1b498f861 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/tile/TileController.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/tile/TileController.java @@ -516,11 +516,11 @@ public class TileController extends TileBase implements ITickable, INetwork, IRe readerWriterManager.readFromNbt(tag); if (tag.hasKey(NBT_ITEM_STORAGE_TRACKER)) { - itemStorageTracker.readFromNBT(tag.getTagList(NBT_ITEM_STORAGE_TRACKER, Constants.NBT.TAG_COMPOUND)); + itemStorageTracker.readFromNbt(tag.getTagList(NBT_ITEM_STORAGE_TRACKER, Constants.NBT.TAG_COMPOUND)); } if (tag.hasKey(NBT_FLUID_STORAGE_TRACKER)) { - fluidStorageTracker.readFromNBT(tag.getTagList(NBT_FLUID_STORAGE_TRACKER, Constants.NBT.TAG_COMPOUND)); + fluidStorageTracker.readFromNbt(tag.getTagList(NBT_FLUID_STORAGE_TRACKER, Constants.NBT.TAG_COMPOUND)); } } @@ -536,8 +536,8 @@ public class TileController extends TileBase implements ITickable, INetwork, IRe readerWriterManager.writeToNbt(tag); - tag.setTag(NBT_ITEM_STORAGE_TRACKER, itemStorageTracker.serializeNBT()); - tag.setTag(NBT_FLUID_STORAGE_TRACKER, fluidStorageTracker.serializeNBT()); + tag.setTag(NBT_ITEM_STORAGE_TRACKER, itemStorageTracker.serializeNbt()); + tag.setTag(NBT_FLUID_STORAGE_TRACKER, fluidStorageTracker.serializeNbt()); return tag; } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/tile/grid/portable/PortableGrid.java b/src/main/java/com/raoulvdberge/refinedstorage/tile/grid/portable/PortableGrid.java index a2b3bd229..1178ef6c2 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/tile/grid/portable/PortableGrid.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/tile/grid/portable/PortableGrid.java @@ -64,7 +64,7 @@ public class PortableGrid implements IGrid, IPortableGrid, IStorageDiskContainer private int tabPage; private int size; - private StorageTrackerItem storageTracker = new StorageTrackerItem(() -> stack.getTagCompound().setTag(NBT_STORAGE_TRACKER, getStorageTracker().serializeNBT())); + private StorageTrackerItem storageTracker = new StorageTrackerItem(() -> stack.getTagCompound().setTag(NBT_STORAGE_TRACKER, getStorageTracker().serializeNbt())); private List filters = new ArrayList<>(); private List tabs = new ArrayList<>(); @@ -126,7 +126,7 @@ public class PortableGrid implements IGrid, IPortableGrid, IStorageDiskContainer } if (stack.getTagCompound().hasKey(NBT_STORAGE_TRACKER)) { - storageTracker.readFromNBT(stack.getTagCompound().getTagList(NBT_STORAGE_TRACKER, Constants.NBT.TAG_COMPOUND)); + storageTracker.readFromNbt(stack.getTagCompound().getTagList(NBT_STORAGE_TRACKER, Constants.NBT.TAG_COMPOUND)); } StackUtils.readItems(disk, 4, stack.getTagCompound()); diff --git a/src/main/java/com/raoulvdberge/refinedstorage/tile/grid/portable/TilePortableGrid.java b/src/main/java/com/raoulvdberge/refinedstorage/tile/grid/portable/TilePortableGrid.java index feb98a778..1872fcca9 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/tile/grid/portable/TilePortableGrid.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/tile/grid/portable/TilePortableGrid.java @@ -215,7 +215,7 @@ public class TilePortableGrid extends TileBase implements IGrid, IPortableGrid, this.redstoneMode = RedstoneMode.read(stack.getTagCompound()); if (stack.getTagCompound().hasKey(PortableGrid.NBT_STORAGE_TRACKER)) { - storageTracker.readFromNBT(stack.getTagCompound().getTagList(PortableGrid.NBT_STORAGE_TRACKER, Constants.NBT.TAG_COMPOUND)); + storageTracker.readFromNbt(stack.getTagCompound().getTagList(PortableGrid.NBT_STORAGE_TRACKER, Constants.NBT.TAG_COMPOUND)); } } @@ -240,7 +240,7 @@ public class TilePortableGrid extends TileBase implements IGrid, IPortableGrid, stack.getTagCompound().setInteger(NetworkNodeGrid.NBT_TAB_SELECTED, tabSelected); stack.getTagCompound().setInteger(NetworkNodeGrid.NBT_TAB_PAGE, tabPage); - stack.getTagCompound().setTag(PortableGrid.NBT_STORAGE_TRACKER, storageTracker.serializeNBT()); + stack.getTagCompound().setTag(PortableGrid.NBT_STORAGE_TRACKER, storageTracker.serializeNbt()); stack.getCapability(CapabilityEnergy.ENERGY, null).receiveEnergy(energyStorage.getEnergyStored(), false); @@ -550,7 +550,7 @@ public class TilePortableGrid extends TileBase implements IGrid, IPortableGrid, redstoneMode.write(tag); - tag.setTag(NBT_STORAGE_TRACKER, storageTracker.serializeNBT()); + tag.setTag(NBT_STORAGE_TRACKER, storageTracker.serializeNbt()); return tag; } @@ -593,7 +593,7 @@ public class TilePortableGrid extends TileBase implements IGrid, IPortableGrid, redstoneMode = RedstoneMode.read(tag); if (tag.hasKey(NBT_STORAGE_TRACKER)) { - storageTracker.readFromNBT(tag.getTagList(NBT_STORAGE_TRACKER, Constants.NBT.TAG_COMPOUND)); + storageTracker.readFromNbt(tag.getTagList(NBT_STORAGE_TRACKER, Constants.NBT.TAG_COMPOUND)); } }