package mekanism.api.gas; import java.util.HashMap; import mekanism.common.Mekanism; import net.minecraftforge.fluids.FluidContainerRegistry; import buildcraft.api.fuels.IronEngineFuel; import buildcraft.api.fuels.IronEngineFuel.Fuel; public class FuelHandler { public static HashMap fuels = new HashMap(); public static void addGas(Gas gas, int burnTicks, double energyPerMilliBucket) { fuels.put(gas.getName(), new FuelGas(burnTicks, energyPerMilliBucket)); } public static FuelGas getFuel(Gas gas) { if(fuels.containsKey(gas.getName())) { return fuels.get(gas.getName()); } if(gas.hasFluid()) { Fuel bcFuel = IronEngineFuel.getFuelForFluid(gas.getFluid()); if(bcFuel != null) { FuelGas fuel = new FuelGas(bcFuel); fuels.put(gas.getName(), fuel); return fuel; } } return null; } public static class FuelGas { public int burnTicks; public double energyPerTick; public FuelGas(int duration, double energyDensity) { burnTicks = duration; energyPerTick = energyDensity / duration; } public FuelGas(Fuel bcFuel) { burnTicks = bcFuel.totalBurningTime / FluidContainerRegistry.BUCKET_VOLUME; energyPerTick = bcFuel.powerPerCycle * Mekanism.FROM_BC; } } }