Your GTNH Discord Username
No response
Mod Version
1.4.4
Bug Report
I have B:sinkRequiresWater=false, and cannot pipe water out of the sink using MFR's Plastic Pipes. I've also tried Thermal's Fluiducts and AE2's Storage Bus, and those do work.
I compared the Thermal and MFR pipes to see what they do differently, and found that MFR's pipes call canDrain followed by drain (the one that takes an int), whereas Thermal skips the canDrain call and goes directly to drain (the one that takes an int). I then investigated TileSink.canDrain and found several issues with it.
TileSink.canDrain always returns false when sinkRequiresWater is disabled.
- Plastic Pipes also pass
fluid = null into canDrain, which would also be rejected by TileSink.canDrain's fluid == FluidRegistry.WATER check.
If you want piping infinite water out of the sink to be possible, you should change canDrain to not check sinkRequiresWater.
If you do not want that to be possible, you should add a sinkRequiresWater check (or a canDrain check) to the start of drain (the one that takes an int).
Either way, I think you should change canDrain to allow fluid == null.
Java Version
Java 8
Mod List or GTNH Pack Version
+unimixins-all-1.7.10-0.1.23.jar
AppleCore-3.3.7.jar
CoFHCore-[1.7.10]3.1.4-329.jar
CookingForBlockheads-1.4.4-GTNH.jar
MineFactoryReloaded-[1.7.10]2.8.1-174.jar
Final Checklist
Your GTNH Discord Username
No response
Mod Version
1.4.4
Bug Report
I have
B:sinkRequiresWater=false, and cannot pipe water out of the sink using MFR's Plastic Pipes. I've also tried Thermal's Fluiducts and AE2's Storage Bus, and those do work.I compared the Thermal and MFR pipes to see what they do differently, and found that MFR's pipes call
canDrainfollowed bydrain(the one that takes an int), whereas Thermal skips thecanDraincall and goes directly todrain(the one that takes an int). I then investigatedTileSink.canDrainand found several issues with it.TileSink.canDrainalways returns false when sinkRequiresWater is disabled.fluid = nullintocanDrain, which would also be rejected byTileSink.canDrain'sfluid == FluidRegistry.WATERcheck.If you want piping infinite water out of the sink to be possible, you should change
canDrainto not checksinkRequiresWater.If you do not want that to be possible, you should add a
sinkRequiresWatercheck (or acanDraincheck) to the start ofdrain(the one that takes an int).Either way, I think you should change
canDrainto allowfluid == null.Java Version
Java 8
Mod List or GTNH Pack Version
+unimixins-all-1.7.10-0.1.23.jar
AppleCore-3.3.7.jar
CoFHCore-[1.7.10]3.1.4-329.jar
CookingForBlockheads-1.4.4-GTNH.jar
MineFactoryReloaded-[1.7.10]2.8.1-174.jar
Final Checklist