generated from tilera/1710mod
800 lines
34 KiB
Java
800 lines
34 KiB
Java
package com.eloraam.redpower;
|
|
|
|
import com.eloraam.redpower.base.BlockAppliance;
|
|
import com.eloraam.redpower.base.BlockMicro;
|
|
import com.eloraam.redpower.base.ContainerAdvBench;
|
|
import com.eloraam.redpower.base.ContainerAlloyFurnace;
|
|
import com.eloraam.redpower.base.ContainerBag;
|
|
import com.eloraam.redpower.base.ContainerBusId;
|
|
import com.eloraam.redpower.base.GuiAdvBench;
|
|
import com.eloraam.redpower.base.GuiAlloyFurnace;
|
|
import com.eloraam.redpower.base.GuiBag;
|
|
import com.eloraam.redpower.base.GuiBusId;
|
|
import com.eloraam.redpower.base.ItemBag;
|
|
import com.eloraam.redpower.base.ItemDrawplate;
|
|
import com.eloraam.redpower.base.ItemDyeIndigo;
|
|
import com.eloraam.redpower.base.ItemHandsaw;
|
|
import com.eloraam.redpower.base.ItemMicro;
|
|
import com.eloraam.redpower.base.ItemPlan;
|
|
import com.eloraam.redpower.base.ItemScrewdriver;
|
|
import com.eloraam.redpower.base.RecipeBag;
|
|
import com.eloraam.redpower.base.RenderAdvBench;
|
|
import com.eloraam.redpower.base.RenderAlloyFurnace;
|
|
import com.eloraam.redpower.base.TileAdvBench;
|
|
import com.eloraam.redpower.base.TileAlloyFurnace;
|
|
import com.eloraam.redpower.core.AchieveLib;
|
|
import com.eloraam.redpower.core.BlockMultiblock;
|
|
import com.eloraam.redpower.core.CoreLib;
|
|
import com.eloraam.redpower.core.CoverLib;
|
|
import com.eloraam.redpower.core.CraftLib;
|
|
import com.eloraam.redpower.core.IRedbusConnectable;
|
|
import com.eloraam.redpower.core.ItemExtended;
|
|
import com.eloraam.redpower.core.ItemParts;
|
|
import com.eloraam.redpower.core.OreStack;
|
|
import com.eloraam.redpower.core.RenderLib;
|
|
import com.eloraam.redpower.core.TileCovered;
|
|
import com.eloraam.redpower.core.TileMultiblock;
|
|
import cpw.mods.fml.client.registry.ClientRegistry;
|
|
import cpw.mods.fml.common.FMLCommonHandler;
|
|
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.event.FMLInitializationEvent;
|
|
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
|
|
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
|
|
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
|
|
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 net.minecraft.client.renderer.texture.TextureMap;
|
|
import net.minecraft.creativetab.CreativeTabs;
|
|
import net.minecraft.entity.player.EntityPlayer;
|
|
import net.minecraft.init.Blocks;
|
|
import net.minecraft.init.Items;
|
|
import net.minecraft.inventory.InventoryBasic;
|
|
import net.minecraft.item.Item;
|
|
import net.minecraft.item.ItemStack;
|
|
import net.minecraft.item.crafting.CraftingManager;
|
|
import net.minecraft.stats.AchievementList;
|
|
import net.minecraft.tileentity.TileEntity;
|
|
import net.minecraft.util.IIcon;
|
|
import net.minecraft.world.World;
|
|
import net.minecraftforge.client.event.TextureStitchEvent.Pre;
|
|
import net.minecraftforge.common.AchievementPage;
|
|
import net.minecraftforge.common.MinecraftForge;
|
|
import net.minecraftforge.oredict.OreDictionary;
|
|
|
|
@Mod(
|
|
modid = "RedPowerBase",
|
|
name = "RedPower Base",
|
|
version = RedPowerBase.VERSION,
|
|
dependencies = "required-after:RedPowerCore"
|
|
)
|
|
public class RedPowerBase implements IGuiHandler {
|
|
public static final String VERSION = "{VERSION}";
|
|
@Instance("RedPowerBase")
|
|
public static RedPowerBase instance;
|
|
public static BlockAppliance blockAppliance;
|
|
public static Item itemHandsawIron;
|
|
public static Item itemHandsawDiamond;
|
|
public static ItemParts itemLumar;
|
|
public static ItemParts itemResource;
|
|
public static ItemStack itemRuby;
|
|
public static ItemStack itemGreenSapphire;
|
|
public static ItemStack itemSapphire;
|
|
public static ItemStack itemIngotSilver;
|
|
public static ItemStack itemIngotTin;
|
|
public static ItemStack itemIngotCopper;
|
|
public static ItemStack itemIngotTungsten;
|
|
public static ItemStack itemDustTungsten;
|
|
public static ItemStack itemDustSilver;
|
|
public static ItemStack itemNikolite;
|
|
public static ItemParts itemAlloy;
|
|
public static ItemStack itemIngotRed;
|
|
public static ItemStack itemIngotBlue;
|
|
public static ItemStack itemIngotBrass;
|
|
public static ItemStack itemBouleSilicon;
|
|
public static ItemStack itemWaferSilicon;
|
|
public static ItemStack itemWaferBlue;
|
|
public static ItemStack itemWaferRed;
|
|
public static ItemStack itemTinplate;
|
|
public static ItemStack itemFineCopper;
|
|
public static ItemStack itemFineIron;
|
|
public static ItemStack itemCopperCoil;
|
|
public static ItemStack itemMotor;
|
|
public static ItemStack itemCanvas;
|
|
public static ItemParts itemNugget;
|
|
public static ItemStack itemNuggetIron;
|
|
public static ItemStack itemNuggetSilver;
|
|
public static ItemStack itemNuggetTin;
|
|
public static ItemStack itemNuggetCopper;
|
|
public static ItemStack itemNuggetTungsten;
|
|
public static Item itemDyeIndigo;
|
|
public static BlockMicro blockMicro;
|
|
public static BlockMultiblock blockMultiblock;
|
|
public static ItemScrewdriver itemScrewdriver;
|
|
public static Item itemDrawplateDiamond;
|
|
public static Item itemPlanBlank;
|
|
public static Item itemPlanFull;
|
|
public static Item itemBag;
|
|
@SideOnly(Side.CLIENT)
|
|
public static IIcon projectTableTop;
|
|
@SideOnly(Side.CLIENT)
|
|
public static IIcon projectTableBottom;
|
|
@SideOnly(Side.CLIENT)
|
|
public static IIcon projectTableFront;
|
|
@SideOnly(Side.CLIENT)
|
|
public static IIcon projectTableSide;
|
|
@SideOnly(Side.CLIENT)
|
|
public static IIcon alloyFurnaceVert;
|
|
@SideOnly(Side.CLIENT)
|
|
public static IIcon alloyFurnaceSide;
|
|
@SideOnly(Side.CLIENT)
|
|
public static IIcon alloyFurnaceFront;
|
|
@SideOnly(Side.CLIENT)
|
|
public static IIcon alloyFurnaceFrontOn;
|
|
|
|
public static void initBaseItems() {
|
|
itemLumar = new ItemParts();
|
|
itemLumar.setCreativeTab(CreativeTabs.tabMaterials);
|
|
|
|
for (int color = 0; color < 16; ++color) {
|
|
itemLumar.addItem(
|
|
color,
|
|
"rpbase:lumar/" + color,
|
|
"item.rplumar." + CoreLib.rawColorNames[color]
|
|
);
|
|
ItemStack dye = new ItemStack(Items.dye, 1, 15 - color);
|
|
GameRegistry.addShapelessRecipe(
|
|
new ItemStack(itemLumar, 2, color),
|
|
new Object[] { Items.redstone, dye, dye, Items.glowstone_dust }
|
|
);
|
|
}
|
|
|
|
itemResource = new ItemParts();
|
|
itemAlloy = new ItemParts();
|
|
itemResource.setCreativeTab(CreativeTabs.tabMaterials);
|
|
itemAlloy.setCreativeTab(CreativeTabs.tabMaterials);
|
|
itemResource.addItem(0, "rpbase:ruby", "item.ruby");
|
|
itemResource.addItem(1, "rpbase:greenSapphire", "item.greenSapphire");
|
|
itemResource.addItem(2, "rpbase:sapphire", "item.sapphire");
|
|
itemResource.addItem(3, "rpbase:silverIngot", "item.ingotSilver");
|
|
itemResource.addItem(4, "rpbase:tinIngot", "item.ingotTin");
|
|
itemResource.addItem(5, "rpbase:copperIngot", "item.ingotCopper");
|
|
itemResource.addItem(6, "rpbase:nikolite", "item.nikolite");
|
|
itemResource.addItem(7, "rpbase:ingotTungsten", "item.ingotTungsten");
|
|
itemResource.addItem(8, "rpbase:dustTungsten", "item.dustTungsten");
|
|
itemResource.addItem(9, "rpbase:dustSilver", "item.dustSilver");
|
|
itemAlloy.addItem(0, "rpbase:ingotRed", "item.ingotRed");
|
|
itemAlloy.addItem(1, "rpbase:ingotBlue", "item.ingotBlue");
|
|
itemAlloy.addItem(2, "rpbase:ingotBrass", "item.ingotBrass");
|
|
itemAlloy.addItem(3, "rpbase:bouleSilicon", "item.bouleSilicon");
|
|
itemAlloy.addItem(4, "rpbase:waferSilicon", "item.waferSilicon");
|
|
itemAlloy.addItem(5, "rpbase:waferBlue", "item.waferBlue");
|
|
itemAlloy.addItem(6, "rpbase:waferRed", "item.waferRed");
|
|
itemAlloy.addItem(7, "rpbase:tinPlate", "item.tinplate");
|
|
itemAlloy.addItem(8, "rpbase:fineCopper", "item.finecopper");
|
|
itemAlloy.addItem(9, "rpbase:fineIron", "item.fineiron");
|
|
itemAlloy.addItem(10, "rpbase:copperCoil", "item.coppercoil");
|
|
itemAlloy.addItem(11, "rpbase:btMotor", "item.btmotor");
|
|
itemAlloy.addItem(12, "rpbase:canvas", "item.rpcanvas");
|
|
itemRuby = new ItemStack(itemResource, 1, 0);
|
|
itemGreenSapphire = new ItemStack(itemResource, 1, 1);
|
|
itemSapphire = new ItemStack(itemResource, 1, 2);
|
|
itemIngotSilver = new ItemStack(itemResource, 1, 3);
|
|
itemIngotTin = new ItemStack(itemResource, 1, 4);
|
|
itemIngotCopper = new ItemStack(itemResource, 1, 5);
|
|
itemNikolite = new ItemStack(itemResource, 1, 6);
|
|
itemIngotTungsten = new ItemStack(itemResource, 1, 7);
|
|
itemDustTungsten = new ItemStack(itemResource, 1, 8);
|
|
itemDustSilver = new ItemStack(itemResource, 1, 9);
|
|
itemIngotRed = new ItemStack(itemAlloy, 1, 0);
|
|
itemIngotBlue = new ItemStack(itemAlloy, 1, 1);
|
|
itemIngotBrass = new ItemStack(itemAlloy, 1, 2);
|
|
itemBouleSilicon = new ItemStack(itemAlloy, 1, 3);
|
|
itemWaferSilicon = new ItemStack(itemAlloy, 1, 4);
|
|
itemWaferBlue = new ItemStack(itemAlloy, 1, 5);
|
|
itemWaferRed = new ItemStack(itemAlloy, 1, 6);
|
|
itemTinplate = new ItemStack(itemAlloy, 1, 7);
|
|
itemFineCopper = new ItemStack(itemAlloy, 1, 8);
|
|
itemFineIron = new ItemStack(itemAlloy, 1, 9);
|
|
itemCopperCoil = new ItemStack(itemAlloy, 1, 10);
|
|
itemMotor = new ItemStack(itemAlloy, 1, 11);
|
|
itemCanvas = new ItemStack(itemAlloy, 1, 12);
|
|
itemNugget = new ItemParts();
|
|
itemNugget.setCreativeTab(CreativeTabs.tabMaterials);
|
|
itemNugget.addItem(0, "rpbase:nuggetIron", "item.nuggetIron");
|
|
itemNugget.addItem(1, "rpbase:nuggetSilver", "item.nuggetSilver");
|
|
itemNugget.addItem(2, "rpbase:nuggetTin", "item.nuggetTin");
|
|
itemNugget.addItem(3, "rpbase:nuggetCopper", "item.nuggetCopper");
|
|
itemNugget.addItem(4, "rpbase:nuggetTungsten", "item.nuggetTungsten");
|
|
itemNuggetIron = new ItemStack(itemNugget, 1, 0);
|
|
itemNuggetSilver = new ItemStack(itemNugget, 1, 1);
|
|
itemNuggetTin = new ItemStack(itemNugget, 1, 2);
|
|
itemNuggetCopper = new ItemStack(itemNugget, 1, 3);
|
|
itemNuggetTungsten = new ItemStack(itemNugget, 1, 4);
|
|
itemDrawplateDiamond = new ItemDrawplate();
|
|
itemDrawplateDiamond.setUnlocalizedName("drawplateDiamond")
|
|
.setMaxDamage(255)
|
|
.setTextureName("rpbase:diamondDrawplate");
|
|
GameRegistry.registerItem(itemDrawplateDiamond, "drawplateDiamond");
|
|
itemBag = new ItemBag();
|
|
GameRegistry.addRecipe(
|
|
new ItemStack(itemBag, 1, 0),
|
|
new Object[] { "CCC", "C C", "CCC", 'C', itemCanvas }
|
|
);
|
|
|
|
for (int color = 1; color < 16; ++color) {
|
|
GameRegistry.addRecipe(
|
|
new ItemStack(itemBag, 1, color),
|
|
new Object[] { "CCC",
|
|
"CDC",
|
|
"CCC",
|
|
'C',
|
|
itemCanvas,
|
|
'D',
|
|
new ItemStack(Items.dye, 1, 15 - color) }
|
|
);
|
|
}
|
|
|
|
GameRegistry.registerItem(itemLumar, "lumar");
|
|
GameRegistry.registerItem(itemResource, "resource");
|
|
OreDictionary.registerOre("gemRuby", itemRuby);
|
|
OreDictionary.registerOre("gemGreenSapphire", itemGreenSapphire);
|
|
OreDictionary.registerOre("gemSapphire", itemSapphire);
|
|
OreDictionary.registerOre("ingotTin", itemIngotTin);
|
|
OreDictionary.registerOre("ingotCopper", itemIngotCopper);
|
|
OreDictionary.registerOre("ingotSilver", itemIngotSilver);
|
|
OreDictionary.registerOre("ingotTungsten", itemIngotTungsten);
|
|
OreDictionary.registerOre("dustNikolite", itemNikolite);
|
|
OreDictionary.registerOre("dustTungsten", itemDustTungsten);
|
|
GameRegistry.registerItem(itemAlloy, "alloy");
|
|
OreDictionary.registerOre("ingotBrass", itemIngotBrass);
|
|
GameRegistry.registerItem(itemNugget, "nugget");
|
|
OreDictionary.registerOre("nuggetIron", itemNuggetIron);
|
|
OreDictionary.registerOre("nuggetSilver", itemNuggetSilver);
|
|
OreDictionary.registerOre("nuggetTin", itemNuggetTin);
|
|
OreDictionary.registerOre("nuggetCopper", itemNuggetCopper);
|
|
OreDictionary.registerOre("nuggetTungsten", itemNuggetTungsten);
|
|
GameRegistry.registerItem(itemBag, "canvasBag");
|
|
}
|
|
|
|
public static void initIndigo() {
|
|
itemDyeIndigo = new ItemDyeIndigo();
|
|
GameRegistry.registerItem(itemDyeIndigo, "dyeIndigo");
|
|
OreDictionary.registerOre("dyeBlue", new ItemStack(itemDyeIndigo));
|
|
GameRegistry.addShapelessRecipe(
|
|
new ItemStack(Blocks.wool, 1, 11), new Object[] { itemDyeIndigo, Blocks.wool }
|
|
);
|
|
GameRegistry.addShapelessRecipe(
|
|
new ItemStack(Items.dye, 2, 12),
|
|
new Object[] { itemDyeIndigo, new ItemStack(Items.dye, 1, 15) }
|
|
);
|
|
GameRegistry.addShapelessRecipe(
|
|
new ItemStack(Items.dye, 2, 6),
|
|
new Object[] { itemDyeIndigo, new ItemStack(Items.dye, 1, 2) }
|
|
);
|
|
GameRegistry.addShapelessRecipe(
|
|
new ItemStack(Items.dye, 2, 5),
|
|
new Object[] { itemDyeIndigo, new ItemStack(Items.dye, 1, 1) }
|
|
);
|
|
GameRegistry.addShapelessRecipe(
|
|
new ItemStack(Items.dye, 3, 13),
|
|
new Object[] { itemDyeIndigo,
|
|
new ItemStack(Items.dye, 1, 1),
|
|
new ItemStack(Items.dye, 1, 9) }
|
|
);
|
|
GameRegistry.addShapelessRecipe(
|
|
new ItemStack(Items.dye, 4, 13),
|
|
new Object[] { itemDyeIndigo,
|
|
new ItemStack(Items.dye, 1, 1),
|
|
new ItemStack(Items.dye, 1, 1),
|
|
new ItemStack(Items.dye, 1, 15) }
|
|
);
|
|
CraftLib.addShapelessOreRecipe(
|
|
new ItemStack(itemLumar, 2, 11),
|
|
Items.redstone,
|
|
"dyeBlue",
|
|
"dyeBlue",
|
|
Items.glowstone_dust
|
|
);
|
|
CraftLib.addOreRecipe(
|
|
new ItemStack(itemBag, 1, 11),
|
|
"CCC",
|
|
"CDC",
|
|
"CCC",
|
|
'C',
|
|
itemCanvas,
|
|
'D',
|
|
"dyeBlue"
|
|
);
|
|
itemPlanBlank = new Item().setTextureName("rpbase:planBlank");
|
|
itemPlanBlank.setUnlocalizedName("planBlank");
|
|
itemPlanBlank.setCreativeTab(CreativeTabs.tabMisc);
|
|
GameRegistry.addShapelessRecipe(
|
|
new ItemStack(itemPlanBlank), new Object[] { Items.paper, itemDyeIndigo }
|
|
);
|
|
GameRegistry.registerItem(itemPlanBlank, "planBlank");
|
|
itemPlanFull = new ItemPlan();
|
|
GameRegistry.registerItem(itemPlanFull, "planFull");
|
|
}
|
|
|
|
public static void initAlloys() {
|
|
CraftLib.addAlloyResult(
|
|
itemIngotRed,
|
|
new ItemStack(Items.redstone, 4),
|
|
new ItemStack(Items.iron_ingot, 1)
|
|
);
|
|
CraftLib.addAlloyResult(
|
|
itemIngotRed, new ItemStack(Items.redstone, 4), new OreStack("ingotCopper")
|
|
);
|
|
CraftLib.addAlloyResult(
|
|
CoreLib.copyStack(itemIngotBrass, 4),
|
|
new OreStack("ingotTin"),
|
|
new OreStack("ingotCopper", 3)
|
|
);
|
|
CraftLib.addAlloyResult(
|
|
CoreLib.copyStack(itemTinplate, 4),
|
|
new OreStack("ingotTin"),
|
|
new ItemStack(Items.iron_ingot, 2)
|
|
);
|
|
CraftLib.addAlloyResult(
|
|
itemIngotBlue, new OreStack("ingotSilver"), new OreStack("dustNikolite", 4)
|
|
);
|
|
CraftLib.addAlloyResult(
|
|
new ItemStack(Items.iron_ingot, 3), new ItemStack(Blocks.rail, 8)
|
|
);
|
|
CraftLib.addAlloyResult(
|
|
new ItemStack(Items.iron_ingot, 3), new ItemStack(Items.bucket, 1)
|
|
);
|
|
CraftLib.addAlloyResult(
|
|
new ItemStack(Items.iron_ingot, 5), new ItemStack(Items.minecart, 1)
|
|
);
|
|
CraftLib.addAlloyResult(
|
|
new ItemStack(Items.iron_ingot, 6), new ItemStack(Items.iron_door, 1)
|
|
);
|
|
CraftLib.addAlloyResult(
|
|
new ItemStack(Items.iron_ingot, 3), new ItemStack(Blocks.iron_bars, 8)
|
|
);
|
|
CraftLib.addAlloyResult(
|
|
new ItemStack(Items.iron_ingot, 31), new ItemStack(Blocks.anvil, 1, 0)
|
|
);
|
|
CraftLib.addAlloyResult(
|
|
new ItemStack(Items.iron_ingot, 31), new ItemStack(Blocks.anvil, 1, 1)
|
|
);
|
|
CraftLib.addAlloyResult(
|
|
new ItemStack(Items.iron_ingot, 31), new ItemStack(Blocks.anvil, 1, 2)
|
|
);
|
|
CraftLib.addAlloyResult(
|
|
new ItemStack(Items.iron_ingot, 2), new ItemStack(Items.iron_sword, 1)
|
|
);
|
|
CraftLib.addAlloyResult(
|
|
new ItemStack(Items.iron_ingot, 3), new ItemStack(Items.iron_pickaxe, 1)
|
|
);
|
|
CraftLib.addAlloyResult(
|
|
new ItemStack(Items.iron_ingot, 3), new ItemStack(Items.iron_axe, 1)
|
|
);
|
|
CraftLib.addAlloyResult(
|
|
new ItemStack(Items.iron_ingot, 1), new ItemStack(Items.iron_shovel, 1)
|
|
);
|
|
CraftLib.addAlloyResult(
|
|
new ItemStack(Items.iron_ingot, 2), new ItemStack(Items.iron_hoe, 1)
|
|
);
|
|
CraftLib.addAlloyResult(
|
|
new ItemStack(Items.gold_ingot, 2), new ItemStack(Items.golden_sword, 1)
|
|
);
|
|
CraftLib.addAlloyResult(
|
|
new ItemStack(Items.gold_ingot, 3), new ItemStack(Items.golden_pickaxe, 1)
|
|
);
|
|
CraftLib.addAlloyResult(
|
|
new ItemStack(Items.gold_ingot, 3), new ItemStack(Items.golden_axe, 1)
|
|
);
|
|
CraftLib.addAlloyResult(
|
|
new ItemStack(Items.gold_ingot, 1), new ItemStack(Items.golden_shovel, 1)
|
|
);
|
|
CraftLib.addAlloyResult(
|
|
new ItemStack(Items.gold_ingot, 2), new ItemStack(Items.golden_hoe, 1)
|
|
);
|
|
CraftLib.addAlloyResult(
|
|
new ItemStack(Items.iron_ingot, 5), new ItemStack(Items.iron_helmet, 1)
|
|
);
|
|
CraftLib.addAlloyResult(
|
|
new ItemStack(Items.iron_ingot, 8), new ItemStack(Items.iron_chestplate, 1)
|
|
);
|
|
CraftLib.addAlloyResult(
|
|
new ItemStack(Items.iron_ingot, 7), new ItemStack(Items.iron_leggings, 1)
|
|
);
|
|
CraftLib.addAlloyResult(
|
|
new ItemStack(Items.iron_ingot, 4), new ItemStack(Items.iron_boots, 1)
|
|
);
|
|
CraftLib.addAlloyResult(
|
|
new ItemStack(Items.iron_ingot, 5), new ItemStack(Items.iron_horse_armor, 1)
|
|
);
|
|
CraftLib.addAlloyResult(
|
|
new ItemStack(Items.gold_ingot, 5), new ItemStack(Items.golden_helmet, 1)
|
|
);
|
|
CraftLib.addAlloyResult(
|
|
new ItemStack(Items.gold_ingot, 8), new ItemStack(Items.golden_chestplate, 1)
|
|
);
|
|
CraftLib.addAlloyResult(
|
|
new ItemStack(Items.gold_ingot, 7), new ItemStack(Items.golden_leggings, 1)
|
|
);
|
|
CraftLib.addAlloyResult(
|
|
new ItemStack(Items.gold_ingot, 4), new ItemStack(Items.golden_boots, 1)
|
|
);
|
|
CraftLib.addAlloyResult(
|
|
new ItemStack(Items.gold_ingot, 5), new ItemStack(Items.golden_horse_armor, 1)
|
|
);
|
|
CraftLib.addAlloyResult(
|
|
new ItemStack(Items.gold_ingot, 1), new ItemStack(Items.gold_nugget, 9)
|
|
);
|
|
CraftLib.addAlloyResult(
|
|
new ItemStack(Items.iron_ingot, 1), CoreLib.copyStack(itemNuggetIron, 9)
|
|
);
|
|
CraftLib.addAlloyResult(itemIngotSilver, CoreLib.copyStack(itemNuggetSilver, 9));
|
|
CraftLib.addAlloyResult(itemIngotCopper, CoreLib.copyStack(itemNuggetCopper, 9));
|
|
CraftLib.addAlloyResult(itemIngotTin, CoreLib.copyStack(itemNuggetTin, 9));
|
|
CraftLib.addAlloyResult(
|
|
itemIngotTungsten, CoreLib.copyStack(itemNuggetTungsten, 9)
|
|
);
|
|
CraftLib.addAlloyResult(itemIngotCopper, itemFineCopper);
|
|
CraftLib.addAlloyResult(new ItemStack(Items.iron_ingot, 1), itemFineIron);
|
|
CraftLib.addAlloyResult(
|
|
itemBouleSilicon,
|
|
new ItemStack(Items.coal, 8, 0),
|
|
new ItemStack(Blocks.sand, 8)
|
|
);
|
|
CraftLib.addAlloyResult(
|
|
itemBouleSilicon,
|
|
new ItemStack(Items.coal, 8, 1),
|
|
new ItemStack(Blocks.sand, 8)
|
|
);
|
|
CraftLib.addAlloyResult(
|
|
itemWaferBlue,
|
|
CoreLib.copyStack(itemWaferSilicon, 1),
|
|
new OreStack("dustNikolite", 4)
|
|
);
|
|
CraftLib.addAlloyResult(
|
|
itemWaferRed,
|
|
CoreLib.copyStack(itemWaferSilicon, 1),
|
|
new ItemStack(Items.redstone, 4)
|
|
);
|
|
}
|
|
|
|
public static void initMicroblocks() {
|
|
blockMicro = new BlockMicro();
|
|
blockMicro.setBlockName("rpwire");
|
|
GameRegistry.registerBlock(blockMicro, ItemMicro.class, "microblock");
|
|
blockMicro.addTileEntityMapping(0, TileCovered::new);
|
|
CoverLib.blockCoverPlate = blockMicro;
|
|
}
|
|
|
|
public static void initCoverMaterials() {
|
|
CoverLib.addMaterial(0, 1, Blocks.cobblestone, "cobble");
|
|
CoverLib.addMaterial(1, 1, Blocks.stone, "stone");
|
|
CoverLib.addMaterial(2, 0, Blocks.planks, "planks");
|
|
CoverLib.addMaterial(3, 1, Blocks.sandstone, "sandstone");
|
|
CoverLib.addMaterial(4, 1, Blocks.mossy_cobblestone, "moss");
|
|
CoverLib.addMaterial(5, 1, Blocks.brick_block, "brick");
|
|
CoverLib.addMaterial(6, 2, Blocks.obsidian, "obsidian");
|
|
CoverLib.addMaterial(7, 1, true, Blocks.glass, "glass");
|
|
CoverLib.addMaterial(8, 0, Blocks.dirt, "dirt");
|
|
CoverLib.addMaterial(9, 0, Blocks.clay, "clay");
|
|
CoverLib.addMaterial(10, 0, Blocks.bookshelf, "books");
|
|
CoverLib.addMaterial(11, 0, Blocks.netherrack, "netherrack");
|
|
CoverLib.addMaterial(12, 0, Blocks.log, 0, "wood");
|
|
CoverLib.addMaterial(13, 0, Blocks.log, 1, "wood1");
|
|
CoverLib.addMaterial(14, 0, Blocks.log, 2, "wood2");
|
|
CoverLib.addMaterial(15, 0, Blocks.soul_sand, "soul");
|
|
CoverLib.addMaterial(16, 1, Blocks.stone_slab, "slab");
|
|
CoverLib.addMaterial(17, 1, Blocks.iron_block, "iron");
|
|
CoverLib.addMaterial(18, 1, Blocks.gold_block, "gold");
|
|
CoverLib.addMaterial(19, 2, Blocks.diamond_block, "diamond");
|
|
CoverLib.addMaterial(20, 1, Blocks.lapis_block, "lapis");
|
|
CoverLib.addMaterial(21, 0, Blocks.snow, "snow");
|
|
CoverLib.addMaterial(22, 0, Blocks.pumpkin, "pumpkin");
|
|
CoverLib.addMaterial(23, 1, Blocks.stonebrick, 0, "stonebrick");
|
|
CoverLib.addMaterial(24, 1, Blocks.stonebrick, 1, "stonebrick1");
|
|
CoverLib.addMaterial(25, 1, Blocks.stonebrick, 2, "stonebrick2");
|
|
CoverLib.addMaterial(26, 1, Blocks.nether_brick, "netherbrick");
|
|
CoverLib.addMaterial(27, 1, Blocks.stonebrick, 3, "stonebrick3");
|
|
CoverLib.addMaterial(28, 0, Blocks.planks, 1, "planks1");
|
|
CoverLib.addMaterial(29, 0, Blocks.planks, 2, "planks2");
|
|
CoverLib.addMaterial(30, 0, Blocks.planks, 3, "planks3");
|
|
CoverLib.addMaterial(31, 1, Blocks.sandstone, 1, "sandstone1");
|
|
|
|
for (int color = 0; color < 16; ++color) {
|
|
CoverLib.addMaterial(
|
|
32 + color, 0, Blocks.wool, color, "wool." + CoreLib.rawColorNames[color]
|
|
);
|
|
}
|
|
|
|
CoverLib.addMaterial(64, 1, Blocks.sandstone, 2, "sandstone2");
|
|
CoverLib.addMaterial(65, 0, Blocks.log, 3, "wood3");
|
|
}
|
|
|
|
public static void initAchievements() {
|
|
AchieveLib.registerAchievement(
|
|
"rpMakeAlloy",
|
|
0,
|
|
0,
|
|
new ItemStack(blockAppliance, 1, 0),
|
|
AchievementList.buildFurnace
|
|
);
|
|
AchieveLib.registerAchievement(
|
|
"rpMakeSaw", 4, 0, new ItemStack(itemHandsawDiamond), AchievementList.diamonds
|
|
);
|
|
AchieveLib.registerAchievement("rpIngotRed", 2, 2, itemIngotRed, "rpMakeAlloy");
|
|
AchieveLib.registerAchievement("rpIngotBlue", 2, 4, itemIngotBlue, "rpMakeAlloy");
|
|
AchieveLib.registerAchievement(
|
|
"rpIngotBrass", 2, 6, itemIngotBrass, "rpMakeAlloy"
|
|
);
|
|
AchieveLib.registerAchievement(
|
|
"rpAdvBench",
|
|
-2,
|
|
0,
|
|
new ItemStack(blockAppliance, 1, 3),
|
|
AchievementList.buildWorkBench
|
|
);
|
|
AchieveLib.addCraftingAchievement(
|
|
new ItemStack(blockAppliance, 1, 0), "rpMakeAlloy"
|
|
);
|
|
AchieveLib.addCraftingAchievement(
|
|
new ItemStack(blockAppliance, 1, 3), "rpAdvBench"
|
|
);
|
|
AchieveLib.addCraftingAchievement(new ItemStack(itemHandsawDiamond), "rpMakeSaw");
|
|
AchieveLib.addAlloyAchievement(itemIngotRed, "rpIngotRed");
|
|
AchieveLib.addAlloyAchievement(itemIngotBlue, "rpIngotBlue");
|
|
AchieveLib.addAlloyAchievement(itemIngotBrass, "rpIngotBrass");
|
|
AchievementPage.registerAchievementPage(AchieveLib.achievepage);
|
|
}
|
|
|
|
public static void initBlocks() {
|
|
blockMultiblock = new BlockMultiblock();
|
|
GameRegistry.registerBlock(blockMultiblock, "multiblock");
|
|
GameRegistry.registerTileEntity(TileMultiblock.class, "RPMulti");
|
|
blockAppliance = new BlockAppliance();
|
|
GameRegistry.registerBlock(blockAppliance, ItemExtended.class, "appliance");
|
|
GameRegistry.registerTileEntity(TileAlloyFurnace.class, "RPAFurnace");
|
|
blockAppliance.addTileEntityMapping(0, TileAlloyFurnace::new);
|
|
blockAppliance.setBlockName(0, "rpafurnace");
|
|
GameRegistry.addRecipe(
|
|
new ItemStack(blockAppliance, 1, 0),
|
|
new Object[] { "BBB", "B B", "BBB", 'B', Blocks.brick_block }
|
|
);
|
|
GameRegistry.registerTileEntity(TileAdvBench.class, "RPAdvBench");
|
|
blockAppliance.addTileEntityMapping(3, TileAdvBench::new);
|
|
blockAppliance.setBlockName(3, "rpabench");
|
|
CraftLib.addOreRecipe(
|
|
new ItemStack(blockAppliance, 1, 3),
|
|
"SSS",
|
|
"WTW",
|
|
"WCW",
|
|
'S',
|
|
Blocks.stone,
|
|
'W',
|
|
"plankWood",
|
|
'T',
|
|
Blocks.crafting_table,
|
|
'C',
|
|
Blocks.chest
|
|
);
|
|
itemHandsawIron = new ItemHandsaw(0);
|
|
itemHandsawIron.setUnlocalizedName("handsawIron");
|
|
itemHandsawIron.setTextureName("rpworld:handsawIron");
|
|
itemHandsawIron.setMaxDamage(320);
|
|
GameRegistry.registerItem(itemHandsawIron, "ironHandshaw");
|
|
itemHandsawDiamond = new ItemHandsaw(2);
|
|
itemHandsawDiamond.setUnlocalizedName("handsawDiamond");
|
|
itemHandsawDiamond.setTextureName("rpworld:handsawDiamond");
|
|
itemHandsawDiamond.setMaxDamage(1280);
|
|
GameRegistry.registerItem(itemHandsawDiamond, "diamondHandshaw");
|
|
GameRegistry.addRecipe(
|
|
new ItemStack(itemHandsawIron, 1),
|
|
new Object[] { "WWW", " II", " II", 'I', Items.iron_ingot, 'W', Items.stick }
|
|
);
|
|
GameRegistry.addRecipe(
|
|
new ItemStack(itemHandsawDiamond, 1),
|
|
new Object[] { "WWW",
|
|
" II",
|
|
" DD",
|
|
'I',
|
|
Items.iron_ingot,
|
|
'D',
|
|
Items.diamond,
|
|
'W',
|
|
Items.stick }
|
|
);
|
|
GameRegistry.addShapelessRecipe(
|
|
CoreLib.copyStack(itemWaferSilicon, 16),
|
|
new Object[] { itemBouleSilicon, new ItemStack(itemHandsawDiamond, 1, 32767) }
|
|
);
|
|
itemScrewdriver = new ItemScrewdriver();
|
|
GameRegistry.addRecipe(
|
|
new ItemStack(itemScrewdriver, 1),
|
|
new Object[] { "I ", " W", 'I', Items.iron_ingot, 'W', Items.stick }
|
|
);
|
|
GameRegistry.registerItem(itemScrewdriver, "screwdriver");
|
|
GameRegistry.addRecipe(
|
|
new ItemStack(itemDrawplateDiamond, 1),
|
|
new Object[] { " I ",
|
|
"IDI",
|
|
" I ",
|
|
'I',
|
|
new ItemStack(blockMicro, 1, 5649),
|
|
'D',
|
|
new ItemStack(blockMicro, 1, 4115) }
|
|
);
|
|
GameRegistry.addShapelessRecipe(
|
|
itemFineIron,
|
|
new Object[] { Items.iron_ingot,
|
|
new ItemStack(itemDrawplateDiamond, 1, 32767) }
|
|
);
|
|
CraftLib.addShapelessOreRecipe(
|
|
itemFineCopper, "ingotCopper", new ItemStack(itemDrawplateDiamond, 1, 32767)
|
|
);
|
|
GameRegistry.addRecipe(
|
|
CoreLib.copyStack(itemNuggetIron, 9),
|
|
new Object[] { "I", 'I', Items.iron_ingot }
|
|
);
|
|
CraftLib.addOreRecipe(
|
|
CoreLib.copyStack(itemNuggetCopper, 9), "I", 'I', "ingotCopper"
|
|
);
|
|
CraftLib.addOreRecipe(CoreLib.copyStack(itemNuggetTin, 9), "I", 'I', "ingotTin");
|
|
CraftLib.addOreRecipe(
|
|
CoreLib.copyStack(itemNuggetSilver, 9), "I", 'I', "ingotSilver"
|
|
);
|
|
CraftLib.addOreRecipe(
|
|
CoreLib.copyStack(itemNuggetTungsten, 9), "I", 'I', "ingotTungsten"
|
|
);
|
|
GameRegistry.addRecipe(
|
|
new ItemStack(Items.iron_ingot, 1, 0),
|
|
new Object[] { "III", "III", "III", 'I', itemNuggetIron }
|
|
);
|
|
GameRegistry.addRecipe(
|
|
itemIngotSilver, new Object[] { "III", "III", "III", 'I', itemNuggetSilver }
|
|
);
|
|
GameRegistry.addRecipe(
|
|
itemIngotTin, new Object[] { "III", "III", "III", 'I', itemNuggetTin }
|
|
);
|
|
GameRegistry.addRecipe(
|
|
itemIngotCopper, new Object[] { "III", "III", "III", 'I', itemNuggetCopper }
|
|
);
|
|
GameRegistry.addRecipe(
|
|
itemIngotTungsten,
|
|
new Object[] { "III", "III", "III", 'I', itemNuggetTungsten }
|
|
);
|
|
GameRegistry.addRecipe(
|
|
itemCanvas,
|
|
new Object[] { "SSS", "SWS", "SSS", 'S', Items.string, 'W', Items.stick }
|
|
);
|
|
GameRegistry.addRecipe(
|
|
new ItemStack(Items.diamond, 2),
|
|
new Object[] { "D", 'D', new ItemStack(blockMicro, 1, 4115) }
|
|
);
|
|
GameRegistry.addRecipe(
|
|
new ItemStack(Items.diamond, 1),
|
|
new Object[] { "D", 'D', new ItemStack(blockMicro, 1, 19) }
|
|
);
|
|
GameRegistry.addRecipe(
|
|
new ItemStack(Items.iron_ingot, 2),
|
|
new Object[] { "I", 'I', new ItemStack(blockMicro, 1, 4113) }
|
|
);
|
|
GameRegistry.addRecipe(
|
|
new ItemStack(Items.iron_ingot, 1),
|
|
new Object[] { "I", 'I', new ItemStack(blockMicro, 1, 17) }
|
|
);
|
|
}
|
|
|
|
@EventHandler
|
|
public void preInit(FMLPreInitializationEvent event) {
|
|
if (FMLCommonHandler.instance().getSide().isClient()) {
|
|
MinecraftForge.EVENT_BUS.register(instance);
|
|
}
|
|
}
|
|
|
|
@EventHandler
|
|
public void load(FMLInitializationEvent event) {
|
|
initBaseItems();
|
|
initAlloys();
|
|
initIndigo();
|
|
initMicroblocks();
|
|
initCoverMaterials();
|
|
initBlocks();
|
|
initAchievements();
|
|
CraftingManager.getInstance().getRecipeList().add(new RecipeBag());
|
|
if (FMLCommonHandler.instance().getSide().isClient()) {
|
|
this.registerRenderers();
|
|
}
|
|
|
|
NetworkRegistry.INSTANCE.registerGuiHandler(instance, instance);
|
|
}
|
|
|
|
@EventHandler
|
|
public void postInit(FMLPostInitializationEvent event) {}
|
|
|
|
@SideOnly(Side.CLIENT)
|
|
public void registerRenderers() {
|
|
RenderLib.setRenderer(blockAppliance, 0, RenderAlloyFurnace::new);
|
|
RenderLib.setRenderer(blockAppliance, 3, RenderAdvBench::new);
|
|
ClientRegistry.bindTileEntitySpecialRenderer(
|
|
TileAlloyFurnace.class, new RenderAlloyFurnace(blockAppliance)
|
|
);
|
|
ClientRegistry.bindTileEntitySpecialRenderer(
|
|
TileAdvBench.class, new RenderAdvBench(blockAppliance)
|
|
);
|
|
}
|
|
|
|
@SideOnly(Side.CLIENT)
|
|
@SubscribeEvent
|
|
public void onTextureStitch(Pre evt) {
|
|
TextureMap map = evt.map;
|
|
if (map.getTextureType() == 0) {
|
|
projectTableTop = map.registerIcon("rpbase:projectTableTop");
|
|
projectTableBottom = map.registerIcon("rpbase:projectTableBottom");
|
|
projectTableFront = map.registerIcon("rpbase:projectTableFront");
|
|
projectTableSide = map.registerIcon("rpbase:projectTableSide");
|
|
alloyFurnaceVert = map.registerIcon("rpbase:alloyFurnaceVert");
|
|
alloyFurnaceSide = map.registerIcon("rpbase:alloyFurnaceSide");
|
|
alloyFurnaceFront = map.registerIcon("rpbase:alloyFurnaceFront");
|
|
alloyFurnaceFrontOn = map.registerIcon("rpbase:alloyFurnaceFrontOn");
|
|
}
|
|
}
|
|
|
|
public Object
|
|
getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) {
|
|
switch (ID) {
|
|
case 1:
|
|
return new GuiAlloyFurnace(
|
|
player.inventory,
|
|
CoreLib.getGuiTileEntity(world, x, y, z, TileAlloyFurnace.class)
|
|
);
|
|
case 2:
|
|
return new GuiAdvBench(
|
|
player.inventory,
|
|
CoreLib.getGuiTileEntity(world, x, y, z, TileAdvBench.class)
|
|
);
|
|
case 3:
|
|
return new GuiBusId(
|
|
player.inventory,
|
|
new IRedbusConnectable.Dummy(),
|
|
CoreLib.getGuiTileEntity(world, x, y, z, TileEntity.class)
|
|
);
|
|
case 4:
|
|
return new GuiBag(player.inventory, new InventoryBasic("", true, 27));
|
|
default:
|
|
return null;
|
|
}
|
|
}
|
|
|
|
public Object
|
|
getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) {
|
|
switch (ID) {
|
|
case 1:
|
|
return new ContainerAlloyFurnace(
|
|
player.inventory,
|
|
CoreLib.getTileEntity(world, x, y, z, TileAlloyFurnace.class)
|
|
);
|
|
case 2:
|
|
return new ContainerAdvBench(
|
|
player.inventory,
|
|
CoreLib.getTileEntity(world, x, y, z, TileAdvBench.class)
|
|
);
|
|
case 3:
|
|
return new ContainerBusId(
|
|
player.inventory,
|
|
CoreLib.getTileEntity(world, x, y, z, IRedbusConnectable.class)
|
|
);
|
|
case 4:
|
|
ItemStack heldItem = player.getHeldItem();
|
|
return new ContainerBag(
|
|
player.inventory, ItemBag.getBagInventory(heldItem, player), heldItem
|
|
);
|
|
default:
|
|
return null;
|
|
}
|
|
}
|
|
}
|