package com.pahimar.ee.util;
import com.pahimar.ee.api.exchange.EnergyValueRegistryProxy;
import com.pahimar.ee.api.recipe.RecipeRegistryProxy;
import net.minecraft.init.Items;
import net.minecraftforge.fluids.Fluid;
import net.minecraftforge.fluids.FluidRegistry;
import net.minecraftforge.fluids.FluidStack;
public class FluidHelper {
public static void init() {
RecipeRegistryProxy.addRecipe(Items.WATER_BUCKET, Items.BUCKET, new FluidStack(FluidRegistry.WATER, Fluid.BUCKET_VOLUME));
RecipeRegistryProxy.addRecipe(Items.LAVA_BUCKET, Items.BUCKET, new FluidStack(FluidRegistry.LAVA, Fluid.BUCKET_VOLUME));
initMilk();
}
/**
* An awkward fix for the case where milk may not be registered as a liquid but we want to assign
* an energy value to milk (the liquid).
* <p>TL-DR; we substitute a dummy liquid and assign value/recipes to it
*/
private static void initMilk() {
if (!FluidRegistry.isFluidRegistered("milk")) {
if (FluidRegistry.registerFluid(new Fluid("ee_milk", ResourceLocationHelper.getResourceLocation("milk_still"), ResourceLocationHelper.getResourceLocation("milk_flow")))) {
RecipeRegistryProxy.addRecipe(Items.MILK_BUCKET, Items.BUCKET, new FluidStack(FluidRegistry.getFluid("ee_milk"), Fluid.BUCKET_VOLUME));
EnergyValueRegistryProxy.setEnergyValue(FluidRegistry.getFluid("ee_milk"), 0.064, EnergyValueRegistryProxy.Phase.PRE_CALCULATION);
}
}
else {
RecipeRegistryProxy.addRecipe(Items.MILK_BUCKET, Items.BUCKET, new FluidStack(FluidRegistry.getFluid("milk"), Fluid.BUCKET_VOLUME));
EnergyValueRegistryProxy.setEnergyValue(FluidRegistry.getFluid("milk"), 0.064, EnergyValueRegistryProxy.Phase.PRE_CALCULATION);
}
}
}