reworked how fluids are registered

Made the fluids check for existing fluids, and existing fluid blocks.
This might improve how well the mod works with other mods.
This commit is contained in:
DarkGuardsman 2013-09-04 21:38:09 -04:00
parent b3cfee0d0c
commit be435e432a
2 changed files with 34 additions and 10 deletions

View file

@ -28,9 +28,9 @@ public class FMRecipeLoader extends RecipeLoader
public static Block blockPiston; public static Block blockPiston;
public static Block blockBoiler; public static Block blockBoiler;
public static BlockFluid blockWasteLiquid; public static Block blockWasteLiquid;
public static BlockFluid blockOilLiquid; public static Block blockOilLiquid;
public static BlockFluid blockFuelLiquid; public static Block blockFuelLiquid;
/* ITEMS */ /* ITEMS */

View file

@ -6,6 +6,7 @@ import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.logging.Logger; import java.util.logging.Logger;
import net.minecraft.block.Block;
import net.minecraft.creativetab.CreativeTabs; import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraftforge.common.Configuration; import net.minecraftforge.common.Configuration;
@ -27,8 +28,8 @@ import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPostInitializationEvent; import cpw.mods.fml.common.event.FMLPostInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.network.NetworkMod; import cpw.mods.fml.common.network.NetworkMod;
import dark.core.common.DarkMain;
import dark.core.common.BlockRegistry.BlockData; import dark.core.common.BlockRegistry.BlockData;
import dark.core.common.DarkMain;
import dark.core.prefab.ModPrefab; import dark.core.prefab.ModPrefab;
import dark.core.prefab.items.ItemBlockHolder; import dark.core.prefab.items.ItemBlockHolder;
import dark.fluid.common.machines.BlockBoiler; import dark.fluid.common.machines.BlockBoiler;
@ -70,6 +71,9 @@ public class FluidMech extends ModPrefab
public static final String FUEL_FLUID_NAME = "fuel"; public static final String FUEL_FLUID_NAME = "fuel";
public static final String BIO_FUEL_Name = ""; public static final String BIO_FUEL_Name = "";
public static Fluid fmWaste, fmOil, fmFuel, fmBio;
public static Fluid waste, oil, fuel, bio;
// @NetworkMod // @NetworkMod
public static final String CHANNEL = "FluidMech"; public static final String CHANNEL = "FluidMech";
@ -103,7 +107,6 @@ public class FluidMech extends ModPrefab
/* BLOCK REGISTER CALLS */ /* BLOCK REGISTER CALLS */
proxy.preInit(); proxy.preInit();
} }
@ -142,17 +145,38 @@ public class FluidMech extends ModPrefab
CONFIGURATION.load(); CONFIGURATION.load();
if (FluidMech.CONFIGURATION.get("general", "EnableWasteFluid", true).getBoolean(true)) if (FluidMech.CONFIGURATION.get("general", "EnableWasteFluid", true).getBoolean(true))
{ {
Fluid waste = new Fluid("mixedWaste").setUnlocalizedName("fluid.mixedWaste.name").setDensity(5000).setViscosity(1800); fmWaste = new Fluid("mixedWaste").setUnlocalizedName("fluid.waste.name").setDensity(1300).setViscosity(1800);
FluidRegistry.registerFluid(waste); FluidRegistry.registerFluid(waste);
FMRecipeLoader.blockWasteLiquid = new BlockFluid(waste, getNextID()); waste = FluidRegistry.getFluid("mixedWaste");
if (waste.getBlockID() == -1)
{
FMRecipeLoader.blockWasteLiquid = new BlockFluid(waste, getNextID());
FMRecipeLoader.blockWasteLiquid.setUnlocalizedName("FluidWaste");
dataList.add(new BlockData(FMRecipeLoader.blockWasteLiquid, "lmWaste"));
}
else
{
FMRecipeLoader.blockWasteLiquid = Block.blocksList[waste.getBlockID()];
}
} }
if (FluidMech.CONFIGURATION.get("general", "EnableOilFluid", true).getBoolean(true) && FluidRegistry.getFluid("oil") == null) if (FluidMech.CONFIGURATION.get("general", "EnableOilFluid", true).getBoolean(true) && FluidRegistry.getFluid("oil") == null)
{ {
Fluid oil = new Fluid("oil").setUnlocalizedName("fluid.oil.name").setDensity(4000).setViscosity(4700); fmOil = new Fluid("oil").setUnlocalizedName("fluid.oil.name").setDensity(1500).setViscosity(4700);
FluidRegistry.registerFluid(oil); FluidRegistry.registerFluid(fmOil);
FMRecipeLoader.blockWasteLiquid = new BlockFluid(oil, getNextID()); oil = FluidRegistry.getFluid("oil");
if (oil.getBlockID() == -1)
{
FMRecipeLoader.blockOilLiquid = new BlockFluid(oil, getNextID());
FMRecipeLoader.blockOilLiquid.setUnlocalizedName("FluidOil");
dataList.add(new BlockData(FMRecipeLoader.blockOilLiquid, "lmOil"));
}
else
{
FMRecipeLoader.blockOilLiquid = Block.blocksList[oil.getBlockID()];
}
} }
/* BLOCK DECLARATION -- CONFIG LOADER */ /* BLOCK DECLARATION -- CONFIG LOADER */
FMRecipeLoader.blockGenPipe = new BlockPipe(getNextID(), "GenericPipe"); FMRecipeLoader.blockGenPipe = new BlockPipe(getNextID(), "GenericPipe");