mirror of
https://github.com/Thorfusion/Mekanism-Community-Edition.git
synced 2026-11-13 16:54:16 +00:00
60 lines
1.0 KiB
Java
60 lines
1.0 KiB
Java
package mekanism.common.recipe.inputs;
|
|
|
|
import net.minecraftforge.fluids.FluidStack;
|
|
import net.minecraftforge.fluids.FluidTank;
|
|
|
|
public class FluidInput extends MachineInput<FluidInput>
|
|
{
|
|
public FluidStack ingredient;
|
|
|
|
public FluidInput(FluidStack stack)
|
|
{
|
|
ingredient = stack;
|
|
}
|
|
|
|
@Override
|
|
public FluidInput copy()
|
|
{
|
|
return new FluidInput(ingredient.copy());
|
|
}
|
|
|
|
@Override
|
|
public boolean isValid()
|
|
{
|
|
return ingredient != null;
|
|
}
|
|
|
|
public boolean useFluid(FluidTank fluidTank, boolean deplete, int scale)
|
|
{
|
|
if(fluidTank.getFluid() != null && fluidTank.getFluid().containsFluid(ingredient))
|
|
{
|
|
fluidTank.drain(ingredient.amount*scale, deplete);
|
|
return true;
|
|
}
|
|
|
|
return false;
|
|
}
|
|
|
|
@Override
|
|
public int hashIngredients()
|
|
{
|
|
return ingredient.hashCode();
|
|
}
|
|
|
|
@Override
|
|
public boolean testEquality(FluidInput other)
|
|
{
|
|
if(!isValid())
|
|
{
|
|
return !other.isValid();
|
|
}
|
|
return ingredient.equals(other.ingredient);
|
|
}
|
|
|
|
@Override
|
|
public boolean isInstance(Object other)
|
|
{
|
|
return other instanceof FluidInput;
|
|
}
|
|
}
|