/*
* Copyright (c) CovertJaguar, 2014 http://railcraft.info
*
* This code is the property of CovertJaguar
* and may only be used with explicit written
* permission unless otherwise specified on the
* license page at http://railcraft.info/wiki/info:license.
*/
package mods.railcraft.common.util.steam;
import mods.railcraft.api.fuel.FuelManager;
import mods.railcraft.common.fluids.FluidHelper;
import mods.railcraft.common.fluids.tanks.StandardTank;
import net.minecraftforge.fluids.FluidStack;
/**
*
* @author CovertJaguar <http://www.railcraft.info/>
*/
public class FluidFuelProvider implements IFuelProvider {
private final StandardTank fuelTank;
public FluidFuelProvider(StandardTank fuelTank) {
this.fuelTank = fuelTank;
}
@Override
public double getHeatStep() {
return Steam.HEAT_STEP;
}
@Override
public double getMoreFuel() {
FluidStack fuel = fuelTank.drain(FluidHelper.BUCKET_VOLUME, false);
if (fuel == null)
return 0;
double heatValue = FuelManager.getBoilerFuelValue(fuel.getFluid());
if (heatValue > 0) {
fuelTank.drain(FluidHelper.BUCKET_VOLUME, true);
if (fuel.amount < FluidHelper.BUCKET_VOLUME)
heatValue *= (double) fuel.amount / (double) FluidHelper.BUCKET_VOLUME;
}
return heatValue;
}
}