Improved the way we handle other mods

This commit is contained in:
modmuss50 2015-06-12 18:40:08 +01:00
parent 0d20ba6d55
commit 6deb0b1d32
27 changed files with 2074 additions and 1969 deletions

View file

@ -9,7 +9,7 @@ import techreborn.api.recipe.RecipeHandler;
import techreborn.client.GuiHandler;
import techreborn.command.TechRebornDevCommand;
import techreborn.compat.CompatManager;
import techreborn.compat.recipes.RecipeManager;
import techreborn.compat.ICompatModule;
import techreborn.config.ConfigTechReborn;
import techreborn.init.ModBlocks;
import techreborn.init.ModFluids;
@ -52,6 +52,9 @@ public class Core {
config = ConfigTechReborn.initialize(new File(path));
LogHelper.info("PreInitialization Complete");
for(ICompatModule compatModule : CompatManager.INSTANCE.compatModules){
compatModule.preInit(event);
}
}
@Mod.EventHandler
@ -71,7 +74,9 @@ public class Core {
//Client only init, needs to be done before parts system
proxy.init();
// Compat
CompatManager.init(event);
for(ICompatModule compatModule : CompatManager.INSTANCE.compatModules){
compatModule.init(event);
}
// WorldGen
GameRegistry.registerWorldGenerator(new TROreGen(), 0);
// Register Gui Handler
@ -93,18 +98,20 @@ public class Core {
// Has to be done here as Buildcraft registers there recipes late
StopWatch watch = new StopWatch();
watch.start();
RecipeManager.init();
LogHelper.all(watch + " : main recipes");
watch.stop();
//Has to be done after the recipes have been added
CompatManager.postInit(event);
for(ICompatModule compatModule : CompatManager.INSTANCE.compatModules){
compatModule.postInit(event);
}
LogHelper.info(RecipeHandler.recipeList.size() + " recipes loaded");
}
@Mod.EventHandler
public void serverStarting(FMLServerStartingEvent event){
event.registerServerCommand(new TechRebornDevCommand());
for(ICompatModule compatModule : CompatManager.INSTANCE.compatModules){
compatModule.serverStarting(event);
}
}
@SubscribeEvent

View file

@ -1,34 +1,40 @@
package techreborn.compat;
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
import techreborn.compat.ee3.EmcValues;
import techreborn.compat.waila.CompatModuleWaila;
import techreborn.init.ModParts;
import techreborn.util.LogHelper;
import cpw.mods.fml.common.Loader;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import techreborn.compat.ee3.EmcValues;
import techreborn.compat.qLib.QLib;
import techreborn.compat.recipes.RecipesBuildcraft;
import techreborn.compat.recipes.RecipesIC2;
import techreborn.compat.recipes.RecipesThermalExpansion;
import techreborn.compat.waila.CompatModuleWaila;
import java.util.ArrayList;
public class CompatManager {
public static void init(FMLInitializationEvent event)
{
if (Loader.isModLoaded("Waila"))
{
new CompatModuleWaila().init(event);
LogHelper.info("Waila Compat Loaded");
}
if(Loader.isModLoaded("qmunitylib"))
{
// Register Multiparts
ModParts.init();
}
public ArrayList<ICompatModule> compatModules = new ArrayList<ICompatModule>();
public static CompatManager INSTANCE = new CompatManager();
public CompatManager() {
registerCompact(CompatModuleWaila.class, "Waila");
registerCompact(RecipesIC2.class, "IC2");
registerCompact(RecipesBuildcraft.class, "BuildCraft");
registerCompact(RecipesThermalExpansion.class, "ThermalExpansion");
registerCompact(EmcValues.class, "EE3");
registerCompact(QLib.class, "qmunitylib");
}
public static void postInit(FMLPostInitializationEvent event){
if(Loader.isModLoaded("EE3"))
{
// Register Emc Values and machine crafting handlers
EmcValues.init();
public void registerCompact(Class<?> moduleClass, String modid) {
if (Loader.isModLoaded(modid)) {
try {
compatModules.add((ICompatModule) moduleClass.newInstance());
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
}
}

View file

@ -0,0 +1,17 @@
package techreborn.compat;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.event.FMLServerStartingEvent;
public interface ICompatModule {
public void preInit(FMLPreInitializationEvent event);
public void init(FMLInitializationEvent event);
public void postInit(FMLPostInitializationEvent event);
public void serverStarting(FMLServerStartingEvent event);
}

View file

@ -1,13 +1,23 @@
package techreborn.compat.ee3;
import com.pahimar.ee3.api.exchange.RecipeRegistryProxy;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.event.FMLServerStartingEvent;
import techreborn.api.recipe.IBaseRecipeType;
import techreborn.api.recipe.RecipeHandler;
import techreborn.compat.ICompatModule;
public class EmcValues {
public class EmcValues implements ICompatModule {
public static void init()
{
@Override
public void preInit(FMLPreInitializationEvent event) {
}
@Override
public void init(FMLInitializationEvent event) {
for (IBaseRecipeType recipeType : RecipeHandler.recipeList) {
if (recipeType.getOutputsSize() == 1) {
RecipeRegistryProxy.addRecipe(recipeType.getOutput(0), recipeType.getInputs());
@ -15,4 +25,13 @@ public class EmcValues {
}
}
@Override
public void postInit(FMLPostInitializationEvent event) {
}
@Override
public void serverStarting(FMLServerStartingEvent event) {
}
}

View file

@ -2,8 +2,15 @@ package techreborn.compat.nei;
import codechicken.nei.api.API;
import codechicken.nei.api.IConfigureNEI;
import techreborn.api.recipe.machines.GrinderRecipe;
import techreborn.compat.nei.recipes.*;
import techreborn.compat.nei.recipes.AlloySmelterRecipeHandler;
import techreborn.compat.nei.recipes.AssemblingMachineRecipeHandler;
import techreborn.compat.nei.recipes.CentrifugeRecipeHandler;
import techreborn.compat.nei.recipes.ChemicalReactorRecipeHandler;
import techreborn.compat.nei.recipes.GrinderRecipeHandler;
import techreborn.compat.nei.recipes.ImplosionCompressorRecipeHandler;
import techreborn.compat.nei.recipes.IndustrialSawmillRecipeHandler;
import techreborn.compat.nei.recipes.LatheRecipeHandler;
import techreborn.compat.nei.recipes.PlateCuttingMachineRecipeHandler;
import techreborn.lib.ModInfo;
public class NEIConfig implements IConfigureNEI {

View file

@ -4,7 +4,6 @@ import codechicken.nei.PositionedStack;
import net.minecraft.client.gui.inventory.GuiContainer;
import techreborn.api.recipe.IBaseRecipeType;
import techreborn.client.gui.GuiIndustrialSawmill;
import techreborn.util.ItemUtils;
import java.util.List;

View file

@ -0,0 +1,30 @@
package techreborn.compat.qLib;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.event.FMLServerStartingEvent;
import techreborn.compat.ICompatModule;
import techreborn.init.ModParts;
public class QLib implements ICompatModule {
@Override
public void preInit(FMLPreInitializationEvent event) {
}
@Override
public void init(FMLInitializationEvent event) {
ModParts.init();
}
@Override
public void postInit(FMLPostInitializationEvent event) {
}
@Override
public void serverStarting(FMLServerStartingEvent event) {
}
}

View file

@ -1,31 +0,0 @@
package techreborn.compat.recipes;
import techreborn.util.LogHelper;
import cpw.mods.fml.common.Loader;
public class RecipeManager {
public static void init()
{
if (Loader.isModLoaded("IC2"))
{
RecipesIC2.init();
LogHelper.info("IC2 Compat Loaded");
}
if (Loader.isModLoaded("BuildCraft"))
{
RecipesBuildcraft.init();
LogHelper.info("Buildcraft Compat Loaded");
}
if (Loader.isModLoaded("ThermalExpansion"))
{
RecipesThermalExpansion.init();
LogHelper.info("ThermalExpansion Compat Loaded");
}
}
}

View file

@ -3,38 +3,21 @@ package techreborn.compat.recipes;
import buildcraft.builders.BlockQuarry;
import buildcraft.core.Version;
import cpw.mods.fml.common.Loader;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.event.FMLServerStartingEvent;
import ic2.api.item.IC2Items;
import net.minecraft.item.ItemStack;
import techreborn.compat.ICompatModule;
import techreborn.util.CraftingHelper;
import techreborn.util.LogHelper;
import techreborn.util.RecipeRemover;
public class RecipesBuildcraft {
public class RecipesBuildcraft implements ICompatModule {
public static BlockQuarry quarryBlock;
public static void init() {
try {
String itemClass = "buildcraft.BuildCraftBuilders";
if (!Version.getVersion().startsWith("7")) {//Buildcraft 6
if (Loader.isModLoaded("BuildCraft|Factory")) {
itemClass = "buildcraft.BuildCraftFactory";
}
} else if (!Loader.isModLoaded("Buildcraft|Builders")) { //Buildcraft 7
return;
}
Object obj = Class.forName(itemClass).getField("quarryBlock").get(null);
if (obj instanceof BlockQuarry) {
quarryBlock = (BlockQuarry) obj;
}
} catch (Exception ex) {
LogHelper.fatal("Could not retrieve quarry block from Buildcraft! This is a fatal error!");
ex.printStackTrace();
}
removeRecipes();
addRecipies();
}
public static void removeRecipes() {
RecipeRemover.removeAnyRecipe(new ItemStack(
quarryBlock));
@ -56,4 +39,41 @@ public class RecipesBuildcraft {
);
}
@Override
public void preInit(FMLPreInitializationEvent event) {
}
@Override
public void init(FMLInitializationEvent event) {
try {
String itemClass = "buildcraft.BuildCraftBuilders";
if (!Version.getVersion().startsWith("7")) {//Buildcraft 6
if (Loader.isModLoaded("BuildCraft|Factory")) {
itemClass = "buildcraft.BuildCraftFactory";
}
} else if (!Loader.isModLoaded("Buildcraft|Builders")) { //Buildcraft 7
return;
}
Object obj = Class.forName(itemClass).getField("quarryBlock").get(null);
if (obj instanceof BlockQuarry) {
quarryBlock = (BlockQuarry) obj;
}
} catch (Exception ex) {
LogHelper.fatal("Could not retrieve quarry block from Buildcraft! This is a fatal error!");
ex.printStackTrace();
}
removeRecipes();
addRecipies();
}
@Override
public void postInit(FMLPostInitializationEvent event) {
}
@Override
public void serverStarting(FMLServerStartingEvent event) {
}
}

View file

@ -1,33 +1,54 @@
package techreborn.compat.recipes;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.event.FMLServerStartingEvent;
import ic2.api.item.IC2Items;
import ic2.api.recipe.RecipeInputOreDict;
import ic2.api.recipe.Recipes;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraftforge.fluids.FluidRegistry;
import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.oredict.OreDictionary;
import techreborn.api.recipe.RecipeHandler;
import techreborn.api.recipe.machines.*;
import techreborn.api.recipe.machines.AssemblingMachineRecipe;
import techreborn.api.recipe.machines.CentrifugeRecipe;
import techreborn.api.recipe.machines.ChemicalReactorRecipe;
import techreborn.api.recipe.machines.GrinderRecipe;
import techreborn.api.recipe.machines.ImplosionCompressorRecipe;
import techreborn.compat.ICompatModule;
import techreborn.config.ConfigTechReborn;
import techreborn.init.ModBlocks;
import techreborn.init.ModFluids;
import techreborn.init.ModItems;
import techreborn.items.*;
import techreborn.items.ItemCells;
import techreborn.items.ItemCrushedOre;
import techreborn.items.ItemDustTiny;
import techreborn.items.ItemDusts;
import techreborn.items.ItemDustsSmall;
import techreborn.items.ItemGems;
import techreborn.items.ItemIngots;
import techreborn.items.ItemNuggets;
import techreborn.items.ItemParts;
import techreborn.items.ItemPlates;
import techreborn.items.ItemPurifiedCrushedOre;
import techreborn.util.CraftingHelper;
import techreborn.util.LogHelper;
import techreborn.util.RecipeRemover;
import techreborn.items.ItemParts;
import techreborn.items.ItemIngots;
import techreborn.items.ItemDusts;
public class RecipesIC2 {
public class RecipesIC2 implements ICompatModule {
public static void init() {
@Override
public void preInit(FMLPreInitializationEvent event) {
}
@Override
public void init(FMLInitializationEvent event) {
removeIc2Recipes();
addShappedIc2Recipes();
addShapedTrRecipes();
@ -42,6 +63,16 @@ public class RecipesIC2 {
addChemicalReactorRecipes();
}
@Override
public void postInit(FMLPostInitializationEvent event) {
}
@Override
public void serverStarting(FMLServerStartingEvent event) {
}
public static void removeIc2Recipes() {
if (ConfigTechReborn.ExpensiveMacerator)
RecipeRemover.removeAnyRecipe(IC2Items.getItem("macerator"));
@ -415,8 +446,7 @@ public class RecipesIC2 {
LogHelper.info("Added Expensive IC2 Recipes");
}
public static void addShapedTrRecipes()
{
public static void addShapedTrRecipes() {
CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.quantumTank),
"EPE", "PCP", "EPE",
'P', "platePlatinum",
@ -985,8 +1015,7 @@ public class RecipesIC2 {
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, null, new FluidStack(ModFluids.fluidMercury, 1000), ItemDusts.getDustByName("copper", 2), ItemDustsSmall.getSmallDustByName("Gold", 1), ItemDusts.getDustByName("nickel", 1), null, 100, 120));
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, ItemCells.getCellByName("mercury", 1), null, ItemDusts.getDustByName("copper", 2), ItemDustsSmall.getSmallDustByName("Gold", 1), ItemDusts.getDustByName("nickel", 1), IC2Items.getItem("cell"), 100, 120));
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, ItemCells.getCellByName("mercury", 1), null, ItemDusts.getDustByName("copper", 2), ItemDustsSmall.getSmallDustByName("Gold", 1), ItemDusts.getDustByName("nickel", 1), new ItemStack(Items.bucket), 100, 120));
}
catch (Exception e) {
} catch (Exception e) {
LogHelper.info("Failed to Load Grinder Recipe for Copper Ore");
}
}
@ -1002,8 +1031,7 @@ public class RecipesIC2 {
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, null, new FluidStack(ModFluids.fluidSodiumpersulfate, 1000), ItemDusts.getDustByName("tin", 2), ItemDustsSmall.getSmallDustByName("Iron", 1), ItemDusts.getDustByName("zinc", 1), null, 100, 120));
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, ItemCells.getCellByName("sodiumPersulfate", 1), null, ItemDusts.getDustByName("tin", 2), ItemDustsSmall.getSmallDustByName("Iron", 1), ItemDusts.getDustByName("zinc", 1), IC2Items.getItem("cell"), 100, 120));
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, new ItemStack(ModItems.bucketSodiumpersulfate), null, ItemDusts.getDustByName("tin", 2), ItemDustsSmall.getSmallDustByName("Iron", 1), ItemDusts.getDustByName("zinc", 1), new ItemStack(Items.bucket), 100, 120));
}
catch (Exception e) {
} catch (Exception e) {
LogHelper.info("Failed to Load Grinder Recipe for Tin Ore");
}
}
@ -1023,8 +1051,7 @@ public class RecipesIC2 {
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, null, new FluidStack(ModFluids.fluidMercury, 1000), ItemDusts.getDustByName("nickel", 2), ItemDustsSmall.getSmallDustByName("Iron", 1), ItemDusts.getDustByName("platinum", 1), null, 100, 120));
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, ItemCells.getCellByName("mercury", 1), null, ItemDusts.getDustByName("nickel", 2), ItemDustsSmall.getSmallDustByName("Iron", 1), ItemDusts.getDustByName("platinum", 1), IC2Items.getItem("cell"), 100, 120));
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, new ItemStack(ModItems.bucketMercury), null, ItemDusts.getDustByName("nickel", 2), ItemDustsSmall.getSmallDustByName("Iron", 1), ItemDusts.getDustByName("platinum", 1), new ItemStack(Items.bucket), 100, 120));
}
catch (Exception e) {
} catch (Exception e) {
LogHelper.info("Failed to Load Grinder Recipe for Nickel Ore");
}
}
@ -1040,8 +1067,7 @@ public class RecipesIC2 {
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, null, new FluidStack(ModFluids.fluidSodiumpersulfate, 1000), ItemDusts.getDustByName("zinc", 2), ItemDustsSmall.getSmallDustByName("Iron", 1), ItemDusts.getDustByName("iron", 1), null, 100, 120));
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, ItemCells.getCellByName("sodiumPersulfate", 1), null, ItemDusts.getDustByName("zinc", 2), ItemDustsSmall.getSmallDustByName("Iron", 1), ItemDusts.getDustByName("iron", 1), IC2Items.getItem("cell"), 100, 120));
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, new ItemStack(ModItems.bucketSodiumpersulfate), null, ItemDusts.getDustByName("zinc", 2), ItemDustsSmall.getSmallDustByName("Iron", 1), ItemDusts.getDustByName("iron", 1), new ItemStack(Items.bucket), 100, 120));
}
catch (Exception e) {
} catch (Exception e) {
LogHelper.info("Failed to Load Grinder Recipe for Zinc Ore");
}
}
@ -1057,8 +1083,7 @@ public class RecipesIC2 {
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, null, new FluidStack(ModFluids.fluidMercury, 1000), ItemDusts.getDustByName("silver", 3), ItemDustsSmall.getSmallDustByName("Lead", 1), ItemDustsSmall.getSmallDustByName("Sulfur", 1), null, 100, 120));
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, ItemCells.getCellByName("mercury", 1), null, ItemDusts.getDustByName("silver", 3), ItemDustsSmall.getSmallDustByName("Lead", 1), ItemDustsSmall.getSmallDustByName("Sulfur", 1), IC2Items.getItem("cell"), 100, 120));
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, new ItemStack(ModItems.bucketMercury), null, ItemDusts.getDustByName("silver", 3), ItemDustsSmall.getSmallDustByName("Lead", 1), ItemDustsSmall.getSmallDustByName("Sulfur", 1), new ItemStack(Items.bucket), 100, 120));
}
catch (Exception e) {
} catch (Exception e) {
LogHelper.info("Failed to Load Grinder Recipe for Silver Ore");
}
}
@ -1074,8 +1099,7 @@ public class RecipesIC2 {
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, null, new FluidStack(ModFluids.fluidMercury, 1000), ItemDusts.getDustByName("lead", 2), ItemDusts.getDustByName("silver", 1), ItemDustsSmall.getSmallDustByName("Sulfur", 1), null, 100, 120));
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, ItemCells.getCellByName("mercury", 1), null, ItemDusts.getDustByName("lead", 2), ItemDusts.getDustByName("silver", 1), ItemDustsSmall.getSmallDustByName("Sulfur", 1), IC2Items.getItem("cell"), 100, 120));
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, new ItemStack(ModItems.bucketMercury), null, ItemDusts.getDustByName("lead", 2), ItemDusts.getDustByName("silver", 1), ItemDustsSmall.getSmallDustByName("Sulfur", 1), new ItemStack(Items.bucket), 100, 120));
}
catch (Exception e) {
} catch (Exception e) {
LogHelper.info("Failed to Load Grinder Recipe for Lead Ore");
}
}
@ -1091,8 +1115,7 @@ public class RecipesIC2 {
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, null, new FluidStack(FluidRegistry.WATER, 1000), uranium238Stack, uranium235Stack, null, null, 100, 120));
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, IC2Items.getItem("waterCell"), null, uranium238Stack, uranium235Stack, null, IC2Items.getItem("cell"), 100, 120));
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, new ItemStack(Items.water_bucket), null, uranium238Stack, uranium235Stack, null, new ItemStack(Items.bucket), 100, 120));
}
catch (Exception e) {
} catch (Exception e) {
LogHelper.info("Failed to Load Grinder Recipe for Uranium Ore");
}
}
@ -1108,8 +1131,7 @@ public class RecipesIC2 {
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, null, new FluidStack(FluidRegistry.WATER, 1000), uranium238Stack, uranium235Stack, null, null, 100, 120));
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, IC2Items.getItem("waterCell"), null, uranium238Stack, uranium235Stack, null, IC2Items.getItem("cell"), 100, 120));
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, new ItemStack(Items.water_bucket), null, uranium238Stack, uranium235Stack, null, new ItemStack(Items.bucket), 100, 120));
}
catch (Exception e) {
} catch (Exception e) {
LogHelper.info("Failed to Load Grinder Recipe for Uranium Ore");
}
}
@ -1121,8 +1143,7 @@ public class RecipesIC2 {
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, null, new FluidStack(FluidRegistry.WATER, 1000), ItemDusts.getDustByName("aluminum", 2), ItemDustsSmall.getSmallDustByName("Bauxite", 1), ItemDustsSmall.getSmallDustByName("Bauxite", 1), null, 100, 120));
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, IC2Items.getItem("waterCell"), null, ItemDusts.getDustByName("aluminum", 2), ItemDustsSmall.getSmallDustByName("Bauxite", 1), ItemDustsSmall.getSmallDustByName("Bauxite", 1), IC2Items.getItem("cell"), 100, 120));
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, new ItemStack(Items.water_bucket), null, ItemDusts.getDustByName("aluminum", 2), ItemDustsSmall.getSmallDustByName("Bauxite", 1), ItemDustsSmall.getSmallDustByName("Bauxite", 1), new ItemStack(Items.bucket), 100, 120));
}
catch (Exception e) {
} catch (Exception e) {
LogHelper.info("Failed to Load Grinder Recipe for Lead Ore");
}
}
@ -1134,8 +1155,7 @@ public class RecipesIC2 {
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, null, new FluidStack(FluidRegistry.WATER, 1000), ItemDusts.getDustByName("ardite", 2), ItemDustsSmall.getSmallDustByName("Ardite", 1), ItemDustsSmall.getSmallDustByName("Ardite", 1), null, 100, 120));
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, IC2Items.getItem("waterCell"), null, ItemDusts.getDustByName("ardite", 2), ItemDustsSmall.getSmallDustByName("Ardite", 1), ItemDustsSmall.getSmallDustByName("Ardite", 1), IC2Items.getItem("cell"), 100, 120));
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, new ItemStack(Items.water_bucket), null, ItemDusts.getDustByName("ardite", 2), ItemDustsSmall.getSmallDustByName("Ardite", 1), ItemDustsSmall.getSmallDustByName("Ardite", 1), new ItemStack(Items.bucket), 100, 120));
}
catch (Exception e) {
} catch (Exception e) {
LogHelper.info("Failed to Load Grinder Recipe for Ardite Ore");
}
}
@ -1147,8 +1167,7 @@ public class RecipesIC2 {
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, null, new FluidStack(FluidRegistry.WATER, 1000), ItemDusts.getDustByName("cobalt", 2), ItemDustsSmall.getSmallDustByName("Cobalt", 1), ItemDustsSmall.getSmallDustByName("Cobalt", 1), null, 100, 120));
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, IC2Items.getItem("waterCell"), null, ItemDusts.getDustByName("cobalt", 2), ItemDustsSmall.getSmallDustByName("Cobalt", 1), ItemDustsSmall.getSmallDustByName("Cobalt", 1), IC2Items.getItem("cell"), 100, 120));
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, new ItemStack(Items.water_bucket), null, ItemDusts.getDustByName("cobalt", 2), ItemDustsSmall.getSmallDustByName("Cobalt", 1), ItemDustsSmall.getSmallDustByName("Cobalt", 1), new ItemStack(Items.bucket), 100, 120));
}
catch (Exception e) {
} catch (Exception e) {
LogHelper.info("Failed to Load Grinder Recipe for Cobalt Ore");
}
}
@ -1160,8 +1179,7 @@ public class RecipesIC2 {
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, null, new FluidStack(FluidRegistry.WATER, 1000), ItemDusts.getDustByName("darkIron", 2), ItemDustsSmall.getSmallDustByName("DarkIron", 1), ItemDustsSmall.getSmallDustByName("Iron", 1), null, 100, 120));
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, IC2Items.getItem("waterCell"), null, ItemDusts.getDustByName("darkIron", 2), ItemDustsSmall.getSmallDustByName("DarkIron", 1), ItemDustsSmall.getSmallDustByName("Iron", 1), IC2Items.getItem("cell"), 100, 120));
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, new ItemStack(Items.water_bucket), null, ItemDusts.getDustByName("darkIron", 2), ItemDustsSmall.getSmallDustByName("DarkIron", 1), ItemDustsSmall.getSmallDustByName("Iron", 1), new ItemStack(Items.bucket), 100, 120));
}
catch (Exception e) {
} catch (Exception e) {
LogHelper.info("Failed to Load Grinder Recipe for Dark Iron Ore");
}
}
@ -1173,8 +1191,7 @@ public class RecipesIC2 {
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, null, new FluidStack(FluidRegistry.WATER, 1000), ItemDusts.getDustByName("cadmium", 2), ItemDustsSmall.getSmallDustByName("Cadmium", 1), ItemDustsSmall.getSmallDustByName("Cadmium", 1), null, 100, 120));
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, IC2Items.getItem("waterCell"), null, ItemDusts.getDustByName("cadmium", 2), ItemDustsSmall.getSmallDustByName("Cadmium", 1), ItemDustsSmall.getSmallDustByName("Cadmium", 1), IC2Items.getItem("cell"), 100, 120));
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, new ItemStack(Items.water_bucket), null, ItemDusts.getDustByName("cadmium", 2), ItemDustsSmall.getSmallDustByName("Cadmium", 1), ItemDustsSmall.getSmallDustByName("Cadmium", 1), new ItemStack(Items.bucket), 100, 120));
}
catch (Exception e) {
} catch (Exception e) {
LogHelper.info("Failed to Load Grinder Recipe for Cadmium Ore");
}
}
@ -1199,8 +1216,7 @@ public class RecipesIC2 {
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, null, new FluidStack(FluidRegistry.WATER, 1000), gemStack, ItemDustsSmall.getSmallDustByName("Calcite", 6), null, null, 100, 120));
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, IC2Items.getItem("waterCell"), null, gemStack, ItemDustsSmall.getSmallDustByName("Calcite", 6), null, IC2Items.getItem("cell"), 100, 120));
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, new ItemStack(Items.water_bucket), null, gemStack, ItemDustsSmall.getSmallDustByName("Calcite", 6), null, new ItemStack(Items.bucket), 100, 120));
}
catch (Exception e) {
} catch (Exception e) {
LogHelper.info("Failed to Load Grinder Recipe for Calcite Ore");
}
}
@ -1213,8 +1229,7 @@ public class RecipesIC2 {
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, null, new FluidStack(FluidRegistry.WATER, 1000), chunkStack, ItemDustsSmall.getSmallDustByName("Magnetite", 6), null, null, 100, 120));
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, IC2Items.getItem("waterCell"), null, chunkStack, ItemDustsSmall.getSmallDustByName("Magnetite", 6), null, IC2Items.getItem("cell"), 100, 120));
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, new ItemStack(Items.water_bucket), null, chunkStack, ItemDustsSmall.getSmallDustByName("Magnetite", 6), null, new ItemStack(Items.bucket), 100, 120));
}
catch (Exception e) {
} catch (Exception e) {
LogHelper.info("Failed to Load Grinder Recipe for Magnetite Ore");
}
}
@ -1227,8 +1242,7 @@ public class RecipesIC2 {
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, null, new FluidStack(FluidRegistry.WATER, 1000), chunkStack, ItemDustsSmall.getSmallDustByName("Graphite", 6), null, null, 100, 120));
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, IC2Items.getItem("waterCell"), null, chunkStack, ItemDustsSmall.getSmallDustByName("Graphite", 6), null, IC2Items.getItem("cell"), 100, 120));
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, new ItemStack(Items.water_bucket), null, chunkStack, ItemDustsSmall.getSmallDustByName("Graphite", 6), null, new ItemStack(Items.bucket), 100, 120));
}
catch (Exception e) {
} catch (Exception e) {
LogHelper.info("Failed to Load Grinder Recipe for Graphite Ore");
}
}
@ -1240,8 +1254,7 @@ public class RecipesIC2 {
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, null, new FluidStack(FluidRegistry.WATER, 1000), ItemDusts.getDustByName("osmium", 2), ItemDustsSmall.getSmallDustByName("Osmium", 1), ItemDustsSmall.getSmallDustByName("Osmium", 1), null, 100, 120));
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, IC2Items.getItem("waterCell"), null, ItemDusts.getDustByName("osmium", 2), ItemDustsSmall.getSmallDustByName("Osmium", 1), ItemDustsSmall.getSmallDustByName("Osmium", 1), IC2Items.getItem("cell"), 100, 120));
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, new ItemStack(Items.water_bucket), null, ItemDusts.getDustByName("osmium", 2), ItemDustsSmall.getSmallDustByName("Osmium", 1), ItemDustsSmall.getSmallDustByName("Osmium", 1), new ItemStack(Items.bucket), 100, 120));
}
catch (Exception e) {
} catch (Exception e) {
LogHelper.info("Failed to Load Grinder Recipe for Osmium Ore");
}
}
@ -1255,8 +1268,7 @@ public class RecipesIC2 {
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, null, new FluidStack(FluidRegistry.WATER, 1000), dustStack, ItemDustsSmall.getSmallDustByName("Sodalite", 1), ItemDustsSmall.getSmallDustByName("Glowstone", 1), null, 100, 120));
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, IC2Items.getItem("waterCell"), null, dustStack, ItemDustsSmall.getSmallDustByName("Sodalite", 1), ItemDustsSmall.getSmallDustByName("Glowstone", 1), IC2Items.getItem("cell"), 100, 120));
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, new ItemStack(Items.water_bucket), null, dustStack, ItemDustsSmall.getSmallDustByName("Sodalite", 1), ItemDustsSmall.getSmallDustByName("Glowstone", 1), new ItemStack(Items.bucket), 100, 120));
}
catch (Exception e) {
} catch (Exception e) {
LogHelper.info("Failed to Load Grinder Recipe for Teslatite Ore");
}
}
@ -1268,8 +1280,7 @@ public class RecipesIC2 {
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, null, new FluidStack(FluidRegistry.WATER, 1000), ItemDusts.getDustByName("sulfur", 2), ItemDustsSmall.getSmallDustByName("Sulfur", 1), ItemDustsSmall.getSmallDustByName("Sulfur", 1), null, 100, 120));
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, IC2Items.getItem("waterCell"), null, ItemDusts.getDustByName("sulfur", 2), ItemDustsSmall.getSmallDustByName("Sulfur", 1), ItemDustsSmall.getSmallDustByName("Sulfur", 1), IC2Items.getItem("cell"), 100, 120));
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, new ItemStack(Items.water_bucket), null, ItemDusts.getDustByName("sulfur", 2), ItemDustsSmall.getSmallDustByName("Sulfur", 1), ItemDustsSmall.getSmallDustByName("Sulfur", 1), new ItemStack(Items.bucket), 100, 120));
}
catch (Exception e) {
} catch (Exception e) {
LogHelper.info("Failed to Load Grinder Recipe for Sulfur Ore");
}
}
@ -1281,8 +1292,7 @@ public class RecipesIC2 {
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, null, new FluidStack(FluidRegistry.WATER, 1000), ItemDusts.getDustByName("saltpeter", 2), ItemDustsSmall.getSmallDustByName("Saltpeter", 1), ItemDustsSmall.getSmallDustByName("Saltpeter", 1), null, 100, 120));
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, IC2Items.getItem("waterCell"), null, ItemDusts.getDustByName("saltpeter", 2), ItemDustsSmall.getSmallDustByName("Saltpeter", 1), ItemDustsSmall.getSmallDustByName("Saltpeter", 1), IC2Items.getItem("cell"), 100, 120));
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, new ItemStack(Items.water_bucket), null, ItemDusts.getDustByName("saltpeter", 2), ItemDustsSmall.getSmallDustByName("Saltpeter", 1), ItemDustsSmall.getSmallDustByName("Saltpeter", 1), new ItemStack(Items.bucket), 100, 120));
}
catch (Exception e) {
} catch (Exception e) {
LogHelper.info("Failed to Load Grinder Recipe for Saltpeter Ore");
}
}
@ -1296,8 +1306,7 @@ public class RecipesIC2 {
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, null, new FluidStack(FluidRegistry.WATER, 1000), gemStack, gemStack, ItemDustsSmall.getSmallDustByName("Phosphorous", 4), null, 100, 120));
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, IC2Items.getItem("waterCell"), null, gemStack, gemStack, ItemDustsSmall.getSmallDustByName("Phosphorous", 4), IC2Items.getItem("cell"), 100, 120));
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, new ItemStack(Items.water_bucket), null, gemStack, gemStack, ItemDustsSmall.getSmallDustByName("Phosphorous", 4), new ItemStack(Items.bucket), 100, 120));
}
catch (Exception e) {
} catch (Exception e) {
LogHelper.info("Failed to Load Grinder Recipe for Apatite Ore");
}
}
@ -1310,8 +1319,7 @@ public class RecipesIC2 {
RecipeHandler.addRecipe(new GrinderRecipe(new ItemStack(Blocks.quartz_ore, 1), null, new FluidStack(FluidRegistry.WATER, 1000), new ItemStack(Items.quartz, 2), dustStack, ItemDustsSmall.getSmallDustByName("Netherrack", 2), null, 100, 120));
RecipeHandler.addRecipe(new GrinderRecipe(new ItemStack(Blocks.quartz_ore, 1), IC2Items.getItem("waterCell"), null, new ItemStack(Items.quartz, 2), dustStack, ItemDustsSmall.getSmallDustByName("Netherrack", 2), IC2Items.getItem("cell"), 100, 120));
RecipeHandler.addRecipe(new GrinderRecipe(new ItemStack(Blocks.quartz_ore, 1), new ItemStack(Items.water_bucket), null, new ItemStack(Items.quartz, 2), dustStack, ItemDustsSmall.getSmallDustByName("Netherrack", 2), new ItemStack(Items.bucket), 100, 120));
}
catch (Exception e) {
} catch (Exception e) {
LogHelper.info("Failed to Load Grinder Recipe for Nether Quartz Ore");
}
}
@ -1326,8 +1334,7 @@ public class RecipesIC2 {
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, null, new FluidStack(FluidRegistry.WATER, 1000), gemStack, dustStack, null, null, 100, 120));
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, IC2Items.getItem("waterCell"), null, gemStack, dustStack, null, IC2Items.getItem("cell"), 100, 120));
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, new ItemStack(Items.water_bucket), null, gemStack, dustStack, null, new ItemStack(Items.bucket), 100, 120));
}
catch (Exception e) {
} catch (Exception e) {
LogHelper.info("Failed to Load Grinder Recipe for Certus Quartz Ore");
}
}
@ -1342,8 +1349,7 @@ public class RecipesIC2 {
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, null, new FluidStack(FluidRegistry.WATER, 1000), gemStack, dustStack, null, null, 100, 120));
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, IC2Items.getItem("waterCell"), null, gemStack, dustStack, null, IC2Items.getItem("cell"), 100, 120));
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, new ItemStack(Items.water_bucket), null, gemStack, dustStack, null, new ItemStack(Items.bucket), 100, 120));
}
catch (Exception e) {
} catch (Exception e) {
LogHelper.info("Failed to Load Grinder Recipe for Charged Certus Quartz Ore");
}
}
@ -1359,8 +1365,7 @@ public class RecipesIC2 {
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, null, new FluidStack(FluidRegistry.WATER, 1000), gemStack, dustStack, null, null, 100, 120));
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, IC2Items.getItem("waterCell"), null, gemStack, dustStack, null, IC2Items.getItem("cell"), 100, 120));
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, new ItemStack(Items.water_bucket), null, gemStack, dustStack, null, new ItemStack(Items.bucket), 100, 120));
}
catch (Exception e) {
} catch (Exception e) {
LogHelper.info("Failed to Load Grinder Recipe for Certus Quartz Ore");
}
}
@ -1376,8 +1381,7 @@ public class RecipesIC2 {
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, null, new FluidStack(FluidRegistry.WATER, 1000), gemStack, dustStack, null, null, 100, 120));
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, IC2Items.getItem("waterCell"), null, gemStack, dustStack, null, IC2Items.getItem("cell"), 100, 120));
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, new ItemStack(Items.water_bucket), null, gemStack, dustStack, null, new ItemStack(Items.bucket), 100, 120));
}
catch (Exception e) {
} catch (Exception e) {
LogHelper.info("Failed to Load Grinder Recipe for Topaz Ore");
}
}
@ -1393,8 +1397,7 @@ public class RecipesIC2 {
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, null, new FluidStack(FluidRegistry.WATER, 1000), gemStack, dustStack, null, null, 100, 120));
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, IC2Items.getItem("waterCell"), null, gemStack, dustStack, null, IC2Items.getItem("cell"), 100, 120));
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, new ItemStack(Items.water_bucket), null, gemStack, dustStack, null, new ItemStack(Items.bucket), 100, 120));
}
catch (Exception e) {
} catch (Exception e) {
LogHelper.info("Failed to Load Grinder Recipe for Tanzanite Ore");
}
}
@ -1410,8 +1413,7 @@ public class RecipesIC2 {
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, null, new FluidStack(FluidRegistry.WATER, 1000), gemStack, dustStack, null, null, 100, 120));
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, IC2Items.getItem("waterCell"), null, gemStack, dustStack, null, IC2Items.getItem("cell"), 100, 120));
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, new ItemStack(Items.water_bucket), null, gemStack, dustStack, null, new ItemStack(Items.bucket), 100, 120));
}
catch (Exception e) {
} catch (Exception e) {
LogHelper.info("Failed to Load Grinder Recipe for Malachite Ore");
}
}

View file

@ -1,10 +1,31 @@
package techreborn.compat.recipes;
public class RecipesThermalExpansion {
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.event.FMLServerStartingEvent;
import techreborn.compat.ICompatModule;
public static void init()
{
public class RecipesThermalExpansion implements ICompatModule {
@Override
public void preInit(FMLPreInitializationEvent event) {
}
@Override
public void init(FMLInitializationEvent event) {
// TODO remove basic machine frame recipe
// TODO replace iron in recipe to steel
}
@Override
public void postInit(FMLPostInitializationEvent event) {
}
@Override
public void serverStarting(FMLServerStartingEvent event) {
}
}

View file

@ -1,20 +1,37 @@
package techreborn.compat.waila;
import mcp.mobius.waila.api.IWailaRegistrar;
import techreborn.tiles.TileMachineBase;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLInterModComms;
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.event.FMLServerStartingEvent;
import mcp.mobius.waila.api.IWailaRegistrar;
import techreborn.compat.ICompatModule;
import techreborn.tiles.TileMachineBase;
public class CompatModuleWaila {
public class CompatModuleWaila implements ICompatModule {
public void init(FMLInitializationEvent event)
{
@Override
public void preInit(FMLPreInitializationEvent event) {
}
public void init(FMLInitializationEvent event) {
FMLInterModComms.sendMessage("Waila", "register", getClass().getName()
+ ".callbackRegister");
}
public static void callbackRegister(IWailaRegistrar registrar)
{
@Override
public void postInit(FMLPostInitializationEvent event) {
}
@Override
public void serverStarting(FMLServerStartingEvent event) {
}
public static void callbackRegister(IWailaRegistrar registrar) {
registrar.registerBodyProvider(new WailaProviderMachines(),
TileMachineBase.class);
}

View file

@ -1,8 +1,5 @@
package techreborn.compat.waila;
import java.util.ArrayList;
import java.util.List;
import mcp.mobius.waila.api.IWailaConfigHandler;
import mcp.mobius.waila.api.IWailaDataAccessor;
import mcp.mobius.waila.api.IWailaDataProvider;
@ -13,14 +10,16 @@ import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
import techreborn.tiles.TileMachineBase;
import java.util.ArrayList;
import java.util.List;
public class WailaProviderMachines implements IWailaDataProvider {
private List<String> info = new ArrayList<String>();
@Override
public List<String> getWailaBody(ItemStack item, List<String> tip,
IWailaDataAccessor accessor, IWailaConfigHandler config)
{
IWailaDataAccessor accessor, IWailaConfigHandler config) {
TileMachineBase machine = (TileMachineBase) accessor.getTileEntity();
@ -33,32 +32,28 @@ public class WailaProviderMachines implements IWailaDataProvider {
@Override
public List<String> getWailaHead(ItemStack item, List<String> tip,
IWailaDataAccessor accessor, IWailaConfigHandler config)
{
IWailaDataAccessor accessor, IWailaConfigHandler config) {
return tip;
}
@Override
public List<String> getWailaTail(ItemStack item, List<String> tip,
IWailaDataAccessor accessor, IWailaConfigHandler config)
{
IWailaDataAccessor accessor, IWailaConfigHandler config) {
return tip;
}
@Override
public ItemStack getWailaStack(IWailaDataAccessor accessor,
IWailaConfigHandler config)
{
IWailaConfigHandler config) {
return null;
}
@Override
public NBTTagCompound getNBTData(EntityPlayerMP player, TileEntity te,
NBTTagCompound tag, World w, int x, int y, int z)
{
NBTTagCompound tag, World w, int x, int y, int z) {
return tag;
}

View file

@ -13,10 +13,6 @@ import java.util.List;
public abstract class TileMachineBase extends TileEntity {
@Deprecated
/**
* Try not to use this
*/
public void syncWithAll() {
if (!worldObj.isRemote) {
PacketHandler.sendPacketToAllPlayers(getDescriptionPacket(),