package mekanism.common.recipe.machines; import mekanism.api.gas.GasStack; import mekanism.api.gas.GasTank; import mekanism.common.recipe.inputs.FluidInput; import mekanism.common.recipe.outputs.ChemicalPairOutput; import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.FluidTank; public class SeparatorRecipe extends MachineRecipe<FluidInput, ChemicalPairOutput, SeparatorRecipe> { public double energyUsage; public SeparatorRecipe(FluidInput input, double energy, ChemicalPairOutput output) { super(input, output); energyUsage = energy; } public SeparatorRecipe(FluidStack input, double energy, GasStack left, GasStack right) { this(new FluidInput(input), energy, new ChemicalPairOutput(left, right)); } @Override public SeparatorRecipe copy() { return new SeparatorRecipe(getInput().copy(), energyUsage, getOutput().copy()); } public boolean canOperate(FluidTank fluidTank, GasTank leftTank, GasTank rightTank) { return getInput().useFluid(fluidTank, false, 1) && getOutput().applyOutputs(leftTank, rightTank, false, 1); } public void operate(FluidTank fluidTank, GasTank leftTank, GasTank rightTank, int scale) { if(getInput().useFluid(fluidTank, true, scale)) { getOutput().applyOutputs(leftTank, rightTank, true, scale); } } }