diff --git a/CHANGELOG.md b/CHANGELOG.md index 75b8b4d65..ebed1de24 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -39,6 +39,7 @@ - Fixed Destructor being able to break bedrock (InusualZ) - Fixed External Storage thinking that items are inserted in Extra Utilities Trash Cans (InusualZ) - Fixed Grid quantities being unreadable when using unicode font (raoulvdberge) +- Fixed disconnecting when Storage Disk or Storage Block is too big (raoulvdberge) - Updated Storage Drawers API (raoulvdberge) ### 1.1.3 diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/storage/fluid/FluidStorageNBT.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/storage/fluid/FluidStorageNBT.java index 1c0e66318..824a605b5 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/storage/fluid/FluidStorageNBT.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/storage/fluid/FluidStorageNBT.java @@ -193,6 +193,14 @@ public abstract class FluidStorageNBT implements IFluidStorage { return tag.getInteger(NBT_STORED); } + public static NBTTagCompound getNBTShareTag(NBTTagCompound tag) { + NBTTagCompound otherTag = new NBTTagCompound(); + + otherTag.setInteger(NBT_STORED, getStoredFromNBT(tag)); + + return otherTag; + } + /* * @return A NBT tag initialized with the fields that {@link NBTStorage} uses */ diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/storage/item/ItemStorageNBT.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/storage/item/ItemStorageNBT.java index be1b360a9..63ace56b5 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/storage/item/ItemStorageNBT.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/storage/item/ItemStorageNBT.java @@ -236,6 +236,14 @@ public abstract class ItemStorageNBT implements IItemStorage { return tag.getInteger(NBT_STORED); } + public static NBTTagCompound getNBTShareTag(NBTTagCompound tag) { + NBTTagCompound otherTag = new NBTTagCompound(); + + otherTag.setInteger(NBT_STORED, getStoredFromNBT(tag)); + + return otherTag; + } + /* * @return A NBT tag initialized with the fields that {@link NBTStorage} uses */ diff --git a/src/main/java/com/raoulvdberge/refinedstorage/item/ItemBlockFluidStorage.java b/src/main/java/com/raoulvdberge/refinedstorage/item/ItemBlockFluidStorage.java index 447cec7ec..821a5eb95 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/item/ItemBlockFluidStorage.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/item/ItemBlockFluidStorage.java @@ -86,6 +86,11 @@ public class ItemBlockFluidStorage extends ItemBlockBase { return Integer.MAX_VALUE; } + @Override + public NBTTagCompound getNBTShareTag(ItemStack stack) { + return !isValid(stack) ? super.getNBTShareTag(stack) : FluidStorageNBT.getNBTShareTag(stack.getTagCompound().getCompoundTag(TileFluidStorage.NBT_STORAGE)); + } + public static ItemStack initNBT(ItemStack stack) { NBTTagCompound tag = new NBTTagCompound(); tag.setTag(TileFluidStorage.NBT_STORAGE, FluidStorageNBT.createNBT()); diff --git a/src/main/java/com/raoulvdberge/refinedstorage/item/ItemBlockStorage.java b/src/main/java/com/raoulvdberge/refinedstorage/item/ItemBlockStorage.java index fd6761f53..302b55d6b 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/item/ItemBlockStorage.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/item/ItemBlockStorage.java @@ -86,6 +86,11 @@ public class ItemBlockStorage extends ItemBlockBase { return Integer.MAX_VALUE; } + @Override + public NBTTagCompound getNBTShareTag(ItemStack stack) { + return !isValid(stack) ? super.getNBTShareTag(stack) : ItemStorageNBT.getNBTShareTag(stack.getTagCompound().getCompoundTag(TileStorage.NBT_STORAGE)); + } + public static ItemStack initNBT(ItemStack stack) { NBTTagCompound tag = new NBTTagCompound(); tag.setTag(TileStorage.NBT_STORAGE, ItemStorageNBT.createNBT()); diff --git a/src/main/java/com/raoulvdberge/refinedstorage/item/ItemFluidStorageDisk.java b/src/main/java/com/raoulvdberge/refinedstorage/item/ItemFluidStorageDisk.java index 8ce9cd0bc..f88b9cf18 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/item/ItemFluidStorageDisk.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/item/ItemFluidStorageDisk.java @@ -119,4 +119,9 @@ public class ItemFluidStorageDisk extends ItemBase { public int getEntityLifespan(ItemStack stack, World world) { return Integer.MAX_VALUE; } + + @Override + public NBTTagCompound getNBTShareTag(ItemStack stack) { + return FluidStorageNBT.getNBTShareTag(stack.getTagCompound()); + } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/item/ItemStorageDisk.java b/src/main/java/com/raoulvdberge/refinedstorage/item/ItemStorageDisk.java index cd2b0a81e..54b4ade4d 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/item/ItemStorageDisk.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/item/ItemStorageDisk.java @@ -130,4 +130,9 @@ public class ItemStorageDisk extends ItemBase { public int getEntityLifespan(ItemStack stack, World world) { return Integer.MAX_VALUE; } + + @Override + public NBTTagCompound getNBTShareTag(ItemStack stack) { + return ItemStorageNBT.getNBTShareTag(stack.getTagCompound()); + } }