generated from tilera/1710mod
163 lines
6.5 KiB
Java
163 lines
6.5 KiB
Java
package com.eloraam.redpower;
|
|
|
|
import com.eloraam.redpower.compat.BlockMachineCompat;
|
|
import com.eloraam.redpower.compat.ItemMachineCompat;
|
|
import com.eloraam.redpower.compat.RenderBlueEngine;
|
|
import com.eloraam.redpower.compat.TileBlueEngine;
|
|
import com.eloraam.redpower.core.CoreLib;
|
|
import com.eloraam.redpower.core.CraftLib;
|
|
import com.eloraam.redpower.core.ItemParts;
|
|
import com.eloraam.redpower.core.RenderLib;
|
|
import cpw.mods.fml.client.registry.ClientRegistry;
|
|
import cpw.mods.fml.common.Loader;
|
|
import cpw.mods.fml.common.Mod;
|
|
import cpw.mods.fml.common.Mod.EventHandler;
|
|
import cpw.mods.fml.common.Mod.Instance;
|
|
import cpw.mods.fml.common.ModContainer;
|
|
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.network.IGuiHandler;
|
|
import cpw.mods.fml.common.network.NetworkRegistry;
|
|
import cpw.mods.fml.common.registry.GameRegistry;
|
|
import cpw.mods.fml.relauncher.Side;
|
|
import cpw.mods.fml.relauncher.SideOnly;
|
|
//import ic2.api.recipe.ICraftingRecipeManager;
|
|
//import ic2.api.recipe.Recipes;
|
|
//import ic2.core.Ic2Items;
|
|
//import ic2.core.block.machine.tileentity.TileEntityMacerator;
|
|
//import ic2.core.block.machine.tileentity.TileEntityRotary;
|
|
//import ic2.core.block.machine.tileentity.TileEntitySingularity;
|
|
import net.minecraft.creativetab.CreativeTabs;
|
|
import net.minecraft.entity.player.EntityPlayer;
|
|
import net.minecraft.init.Blocks;
|
|
import net.minecraft.init.Items;
|
|
import net.minecraft.item.ItemStack;
|
|
import net.minecraft.world.World;
|
|
|
|
@Mod(
|
|
modid = "RedPowerCompat",
|
|
name = "RedPower Compat",
|
|
version = "2.0pr7",
|
|
dependencies
|
|
= "required-after:RedPowerBase;required-after:RedPowerMachine;required-after:RedPowerWorld;after:IC2;after:Waila"
|
|
)
|
|
public class RedPowerCompat implements IGuiHandler {
|
|
@Instance("RedPowerCompat")
|
|
public static RedPowerCompat instance;
|
|
public static BlockMachineCompat blockMachineCompat;
|
|
public static ItemParts itemCompatParts;
|
|
public static ItemStack itemGearBrass;
|
|
public static ItemStack itemDenseTungstenPlate;
|
|
static boolean ic2reworked;
|
|
static boolean waila;
|
|
|
|
@EventHandler
|
|
public void preInit(FMLPreInitializationEvent event) {
|
|
for (ModContainer modContainer : Loader.instance().getActiveModList()) {
|
|
if (modContainer.getName().equalsIgnoreCase("Industrial Craft Reworked")) {
|
|
ic2reworked = true;
|
|
break;
|
|
}
|
|
}
|
|
|
|
waila = Loader.isModLoaded("Waila");
|
|
}
|
|
|
|
@EventHandler
|
|
public void load(FMLInitializationEvent event) {
|
|
this.setupBlocks();
|
|
if (event.getSide().isClient()) {
|
|
this.registerRenderers();
|
|
}
|
|
|
|
NetworkRegistry.INSTANCE.registerGuiHandler(instance, instance);
|
|
}
|
|
|
|
@EventHandler
|
|
public void postInit(FMLPostInitializationEvent event) {}
|
|
|
|
@SideOnly(Side.CLIENT)
|
|
public void registerRenderers() {
|
|
RenderLib.setRenderer(blockMachineCompat, 0, RenderBlueEngine::new);
|
|
ClientRegistry.bindTileEntitySpecialRenderer(
|
|
TileBlueEngine.class, new RenderBlueEngine(blockMachineCompat)
|
|
);
|
|
}
|
|
|
|
private void setupBlocks() {
|
|
GameRegistry.registerTileEntity(TileBlueEngine.class, "RPBTEngine");
|
|
blockMachineCompat = new BlockMachineCompat();
|
|
GameRegistry.registerBlock(blockMachineCompat, ItemMachineCompat.class, "compat");
|
|
blockMachineCompat.setBlockName(0, "rpbtengine");
|
|
blockMachineCompat.addTileEntityMapping(0, TileBlueEngine::new);
|
|
itemCompatParts = new ItemParts();
|
|
itemCompatParts.addItem(0, "rpcompat:gear", "item.rpbgear");
|
|
itemCompatParts.addItem(
|
|
1, "rpcompat:densePlateTungsten", "item.densePlateTungsten"
|
|
);
|
|
itemCompatParts.setCreativeTab(CreativeTabs.tabMaterials);
|
|
GameRegistry.registerItem(itemCompatParts, "parts");
|
|
itemGearBrass = new ItemStack(itemCompatParts, 1, 0);
|
|
itemDenseTungstenPlate = new ItemStack(itemCompatParts, 1, 1);
|
|
CraftLib.addOreRecipe(
|
|
new ItemStack(itemCompatParts, 1, 0),
|
|
" B ",
|
|
"BIB",
|
|
" B ",
|
|
'B',
|
|
"ingotBrass",
|
|
'I',
|
|
new ItemStack(RedPowerBase.blockMicro, 1, 5649)
|
|
);
|
|
CraftLib.addOreRecipe(
|
|
new ItemStack(blockMachineCompat, 1, 0),
|
|
"BBB",
|
|
" G ",
|
|
"ZMZ",
|
|
'B',
|
|
"ingotBrass",
|
|
'G',
|
|
Blocks.glass,
|
|
'Z',
|
|
itemGearBrass,
|
|
'M',
|
|
RedPowerBase.itemMotor
|
|
);
|
|
//TODO: IC2 Classic compat
|
|
/*if (ic2reworked) {
|
|
TileEntityRotary.addRecipe(new ItemStack(RedPowerWorld.blockOres, 1, 6), new
|
|
ItemStack(RedPowerBase.itemResource, 2, 8)); TileEntityMacerator.addRecipe(new
|
|
ItemStack(RedPowerWorld.blockOres, 1, 3), new ItemStack(RedPowerBase.itemResource,
|
|
2, 9)); TileEntityRotary.addRecipe(RedPowerBase.itemIngotTungsten, new
|
|
ItemStack(RedPowerBase.itemResource, 1, 8));
|
|
TileEntitySingularity.addRecipe(CoreLib.copyStack(RedPowerBase.itemIngotTungsten,
|
|
8), itemDenseTungstenPlate); ICraftingRecipeManager advRecipes =
|
|
Recipes.advRecipes; advRecipes.addRecipe(RedPowerBase.itemRuby, new Object[]{"
|
|
MM", "MMM", "MM ", 'M', Ic2Items.matter, true});
|
|
advRecipes.addRecipe(RedPowerBase.itemSapphire, new Object[]{"MM ", "MMM", "
|
|
MM", 'M', Ic2Items.matter, true});
|
|
advRecipes.addRecipe(RedPowerBase.itemGreenSapphire, new Object[]{" MM", "MMM",
|
|
" MM", 'M', Ic2Items.matter, true});
|
|
advRecipes.addRecipe(RedPowerBase.itemNikolite, new Object[]{"MMM", " M ", 'M',
|
|
Ic2Items.matter, true}); advRecipes.addRecipe(RedPowerBase.itemDustSilver, new
|
|
Object[]{" M", " MM", " M", 'M', Ic2Items.matter, true});
|
|
advRecipes.addRecipe(RedPowerBase.itemDustTungsten, new Object[]{"MMM", "MDM",
|
|
"MMM", 'M', Ic2Items.matter, 'D', Items.diamond, true});
|
|
advRecipes.addRecipe(RedPowerWorld.itemMarble, new Object[]{"M ", " ", " ",
|
|
'M', Ic2Items.matter, true}); advRecipes.addRecipe(RedPowerWorld.itemBasalt, new
|
|
Object[]{" M", " ", " ", 'M', Ic2Items.matter, true});
|
|
}*/
|
|
}
|
|
|
|
public Object
|
|
getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) {
|
|
return null;
|
|
}
|
|
|
|
public Object
|
|
getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) {
|
|
return null;
|
|
}
|
|
}
|