diff --git a/CHANGELOG.md b/CHANGELOG.md index bb7bd235e..53c3cdf54 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ - Changed fluid stack amount to not display "0" anymore (ineternet) - Fixed NBT/metadata check on exporting in an Interface (ineternet) - Fixed Disk Manipulator being stuck on unemptiable, non-empty disks (ineternet) +- Disk Manipulator in fluid mode will now extract a bucket at a time instead of 1 mB (or 64 buckets at a time with a Stack Upgrade instead of 64 mB) (raoulvdberge) ### 1.5.31 - Improved the "cannot craft! loop in processing..." error message (raoulvdberge) diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/diskmanipulator/NetworkNodeDiskManipulator.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/diskmanipulator/NetworkNodeDiskManipulator.java index e82cb3038..fd06d8bf9 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/diskmanipulator/NetworkNodeDiskManipulator.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/diskmanipulator/NetworkNodeDiskManipulator.java @@ -17,6 +17,7 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; +import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fml.common.FMLCommonHandler; import net.minecraftforge.fml.relauncher.Side; @@ -46,7 +47,18 @@ public class NetworkNodeDiskManipulator extends NetworkNode implements IComparab private IStorageDisk[] itemStorages = new IStorageDisk[6]; private IStorageDisk[] fluidStorages = new IStorageDisk[6]; - private ItemHandlerUpgrade upgrades = new ItemHandlerUpgrade(4, new ItemHandlerListenerNetworkNode(this), ItemUpgrade.TYPE_SPEED, ItemUpgrade.TYPE_STACK); + private ItemHandlerUpgrade upgrades = new ItemHandlerUpgrade(4, new ItemHandlerListenerNetworkNode(this), ItemUpgrade.TYPE_SPEED, ItemUpgrade.TYPE_STACK) { + @Override + public int getItemInteractCount() { + int count = super.getItemInteractCount(); + + if (type == IType.FLUIDS) { + count *= Fluid.BUCKET_VOLUME; + } + + return count; + } + }; private ItemHandlerBase inputDisks = new ItemHandlerBase(3, new ItemHandlerListenerNetworkNode(this), NetworkNodeDiskDrive.VALIDATOR_STORAGE_DISK) { @Override