Fix casting Channels not respecting fluid-parameter when draining. #1517

You still shouldn't use them though.
This commit is contained in:
Bernhard Bonigl committed 2015-04-19 11:47:53 +02:00
1 parent 5cf22cbc10
commit 958f350464
1 file changed
+11
@@ -383,6 +383,17 @@ public class CastingChannelLogic extends TileEntity implements IFluidHandler
@Override
public FluidStack drain (ForgeDirection from, FluidStack resource, boolean doDrain)
{
FluidStack fluidStack = null;
if (from == ForgeDirection.DOWN)
if(this.internalTank.getFluid() != null)
fluidStack = this.internalTank.getFluid();
else if(validOutputs.contains(from))
fluidStack = this.subTanks.get(from).getFluid();
// wrong fluid
if(fluidStack != null && fluidStack.getFluid() != resource.getFluid())
return null;
return drain(from, resource.amount, doDrain);
}