From c4c54d66481ac63546adf166528b6084f127e008 Mon Sep 17 00:00:00 2001 From: Raoul Van den Berge Date: Tue, 30 Aug 2016 02:30:39 +0200 Subject: [PATCH] Fixed item and fluid storage stored count having incorrect values, fixes #283 --- CHANGELOG.md | 1 + .../refinedstorage/apiimpl/storage/fluid/FluidStorageNBT.java | 4 ++-- .../refinedstorage/apiimpl/storage/item/ItemStorageNBT.java | 4 ++-- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d1fd45a29..17c4802ae 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ ### 1.0 - Implemented multithreaded autocrafting (raoulvdberge) - Processing patterns now hold their items back for pushing until all the required items are gathered from the system (raoulvdberge) +- Fixed item and fluid storage stored count having incorrect values (raoulvdberge) ### 0.9.4 - Little fixes in German translation (ThexXTURBOXx) diff --git a/src/main/java/refinedstorage/apiimpl/storage/fluid/FluidStorageNBT.java b/src/main/java/refinedstorage/apiimpl/storage/fluid/FluidStorageNBT.java index 8760ef1e8..359351c63 100755 --- a/src/main/java/refinedstorage/apiimpl/storage/fluid/FluidStorageNBT.java +++ b/src/main/java/refinedstorage/apiimpl/storage/fluid/FluidStorageNBT.java @@ -78,7 +78,7 @@ public abstract class FluidStorageNBT implements IFluidStorage { } @Override - public FluidStack insertFluid(FluidStack stack, int size, boolean simulate) { + public synchronized FluidStack insertFluid(FluidStack stack, int size, boolean simulate) { for (FluidStack otherStack : stacks) { if (otherStack.isFluidEqual(stack)) { if (getCapacity() != -1 && getStored() + size > getCapacity()) { @@ -141,7 +141,7 @@ public abstract class FluidStorageNBT implements IFluidStorage { } @Override - public FluidStack extractFluid(FluidStack stack, int size, int flags) { + public synchronized FluidStack extractFluid(FluidStack stack, int size, int flags) { for (FluidStack otherStack : stacks) { if (CompareUtils.compareStack(otherStack, stack, flags)) { if (size > otherStack.amount) { diff --git a/src/main/java/refinedstorage/apiimpl/storage/item/ItemStorageNBT.java b/src/main/java/refinedstorage/apiimpl/storage/item/ItemStorageNBT.java index 7ce4ee943..c2f515252 100755 --- a/src/main/java/refinedstorage/apiimpl/storage/item/ItemStorageNBT.java +++ b/src/main/java/refinedstorage/apiimpl/storage/item/ItemStorageNBT.java @@ -115,7 +115,7 @@ public abstract class ItemStorageNBT implements IItemStorage { } @Override - public ItemStack insertItem(ItemStack stack, int size, boolean simulate) { + public synchronized ItemStack insertItem(ItemStack stack, int size, boolean simulate) { for (ItemStack otherStack : stacks) { if (CompareUtils.compareStackNoQuantity(otherStack, stack)) { if (getCapacity() != -1 && getStored() + size > getCapacity()) { @@ -178,7 +178,7 @@ public abstract class ItemStorageNBT implements IItemStorage { } @Override - public ItemStack extractItem(ItemStack stack, int size, int flags) { + public synchronized ItemStack extractItem(ItemStack stack, int size, int flags) { for (ItemStack otherStack : stacks) { if (CompareUtils.compareStack(otherStack, stack, flags)) { if (size > otherStack.stackSize) {