diff --git a/CHANGELOG.md b/CHANGELOG.md index f2f0b8a59..82b040b11 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ - Added Disk Manipulator (way2muchnoise) - Added ingame config (way2muchnoise) - When a machine is in use by a crafting pattern, inserting of items from other patterns will be avoided (raoulvdberge) +- Exporter in fluid mode no longer duplicates fluids that are less than 1 bucket (raoulvdberge) - Updated Dutch translation (raoulvdberge) ### 1.0.4 diff --git a/src/main/java/refinedstorage/tile/TileExporter.java b/src/main/java/refinedstorage/tile/TileExporter.java index ae4a5bf37..b6503b213 100755 --- a/src/main/java/refinedstorage/tile/TileExporter.java +++ b/src/main/java/refinedstorage/tile/TileExporter.java @@ -84,13 +84,19 @@ public class TileExporter extends TileMultipartNode implements IComparable, ITyp if (handler != null) { for (FluidStack stack : fluidFilters.getFluids()) { if (stack != null) { - FluidStack took = network.extractFluid(stack, Fluid.BUCKET_VOLUME, compare); + FluidStack stackInStorage = network.getFluidStorage().get(stack, compare); - if (took != null) { - int remainder = Fluid.BUCKET_VOLUME - handler.fill(took, true); + if (stackInStorage != null) { + int toExtract = Math.min(Fluid.BUCKET_VOLUME, stackInStorage.amount); - if (remainder > 0) { - network.insertFluid(took, remainder, false); + FluidStack took = network.extractFluid(stack, toExtract, compare); + + if (took != null) { + int remainder = toExtract - handler.fill(took, true); + + if (remainder > 0) { + network.insertFluid(took, remainder, false); + } } } } diff --git a/src/main/java/refinedstorage/tile/config/RedstoneMode.java b/src/main/java/refinedstorage/tile/config/RedstoneMode.java index bf41509d5..1307b8497 100755 --- a/src/main/java/refinedstorage/tile/config/RedstoneMode.java +++ b/src/main/java/refinedstorage/tile/config/RedstoneMode.java @@ -22,9 +22,9 @@ public enum RedstoneMode { return world.isBlockPowered(pos); case LOW: return !world.isBlockPowered(pos); + default: + return false; } - - return false; } public void write(NBTTagCompound tag) {