25 juil. 2015, 23:08
​package diabolicatrix.base;

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.SidedProxy;
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.NetworkRegistry;
import cpw.mods.fml.common.registry.GameRegistry;
import diabolicatrix.base.block.BlockAlloyFurnace;
import diabolicatrix.base.block.BlockMineral;
import diabolicatrix.base.block.BlockNetherTNT;
import diabolicatrix.base.block.BlockNormal;
import diabolicatrix.base.block.BlockTestChest;
import diabolicatrix.base.gui.GuiHandler;
import diabolicatrix.base.proxy.CommonProxy;
import diabolicatrix.base.tileentity.TileEntityAlloyFurnace;
import diabolicatrix.base.tileentity.TileEntityBlockChest;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.client.Minecraft;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraft.item.ItemArmor.ArmorMaterial;
import net.minecraft.item.ItemFood;
import net.minecraft.item.ItemStack;
import net.minecraftforge.common.util.EnumHelper;

@Mod(modid = Base.MODID, name = "T4 Bases", version = "1.0.1")
public class Base {

public static final String MODID = "t4";

@Instance(MODID)
public static Base instance;

@SidedProxy(clientSide = "diabolicatrix.base.proxy.ClientProxy", serverSide = "diabolicatrix.base.proxy.CommonProxy")
public static CommonProxy proxy;

public static Item itemPizza, itemTopaze, itemRuby, itemSaphir, itemTitane, itemCobalt, itemAdamantine, itemOrichalque;
public static Block blockTopaze, blockRuby, blockSaphir, blockTitane, blockCobalt, blockPlatine, blockAlloyFurnace, testChest, blockBrick, blockNTNT;

public static Item itemSaphirHelmet, itemSaphirChestPlate, itemSaphirPants, itemSaphirBoots;

public static ArmorMaterial saphir = EnumHelper.addArmorMaterial("saphir", 40, new int[] { 4, 9, 7, 4 }, 9);

@EventHandler
public void preInit(FMLPreInitializationEvent event) {

itemTopaze = new ItemMineral().setUnlocalizedName("ItemTopaze").setTextureName("t4:itemtopaze")
.setCreativeTab(tabTesseract4);
itemRuby = new ItemMineral().setUnlocalizedName("ItemRuby").setTextureName("t4:itemruby")
.setCreativeTab(tabTesseract4);
itemSaphir = new ItemMineral().setUnlocalizedName("ItemSaphir").setTextureName("t4:itemsaphir")
.setCreativeTab(tabTesseract4);
itemTitane = new ItemMineral().setUnlocalizedName("ItemTitane").setTextureName("t4:itemtitane")
.setCreativeTab(tabTesseract4);
itemCobalt = new ItemMineral().setUnlocalizedName("ItemCobalt").setTextureName("t4:itemcobalt")
.setCreativeTab(tabTesseract4);
itemAdamantine = new ItemMineral().setUnlocalizedName("ItemAdamantine").setTextureName("t4:itemadamantine")
.setCreativeTab(tabTesseract4);
itemOrichalque = new ItemMineral().setUnlocalizedName("ItemOri").setTextureName("t4:itemorichalque")
.setCreativeTab(tabTesseract4);
itemPizza = new ItemFood(10, 0.8F, false).setUnlocalizedName("ItemPizza").setTextureName("t4:itempizza")
.setCreativeTab(tabTesseract4);

blockTopaze = new BlockMineral(Material.rock, "Topaze").setBlockName("BlockTopaze")
.setBlockTextureName("t4:blocktopaze").setCreativeTab(tabTesseract4).setHardness(3.0F)
.setResistance(5.0F);
blockRuby = new BlockMineral(Material.rock, "Ruby").setBlockName("BlockRuby")
.setBlockTextureName("t4:blockruby").setCreativeTab(tabTesseract4).setHardness(3.0F)
.setResistance(5.0F);
blockSaphir = new BlockMineral(Material.rock, "Saphir").setBlockName("BlockSaphir")
.setBlockTextureName("t4:blocksaphir").setCreativeTab(tabTesseract4).setHardness(3.0F)
.setResistance(5.0F);
blockTitane = new BlockNormal(Material.rock).setBlockName("BlockTitane").setBlockTextureName("t4:blocktitane")
.setCreativeTab(tabTesseract4).setHardness(3.0F).setResistance(5.0F);
blockCobalt = new BlockNormal(Material.rock).setBlockName("BlockCobalt").setBlockTextureName("t4:blockcobalt")
.setCreativeTab(tabTesseract4).setHardness(3.0F).setResistance(5.0F);
blockBrick = new BlockNormal(Material.rock).setBlockName("BlockBrick").setBlockTextureName("t4:furnace_top")
.setCreativeTab(tabTesseract4).setHardness(4.0F);
blockNTNT = new BlockNetherTNT().setBlockName("BlockNTNT").setCreativeTab(tabTesseract4).setHardness(0.0F);
blockAlloyFurnace = new BlockAlloyFurnace(Material.rock).setBlockName("BlockAlloyFurnace")
.setCreativeTab(tabTesseract4).setHardness(3.5F);
testChest = new BlockTestChest(Material.rock).setBlockName("BlockTestChest").setCreativeTab(tabTesseract4)
.setHardness(4.0F).setResistance(35.0F).setBlockTextureName("t4:nether_brick");

itemSaphirHelmet = new ItemArmorSaphir(saphir, 0).setUnlocalizedName("itemSaphirHelmet")
.setTextureName("t4:itemSaphirHelmet").setCreativeTab(tabTesseract4);
itemSaphirChestPlate = new ItemArmorSaphir(saphir, 1).setUnlocalizedName("itemSaphirChestPlate")
.setTextureName("t4:itemSaphirChestPlate").setCreativeTab(tabTesseract4);
itemSaphirPants = new ItemArmorSaphir(saphir, 2).setUnlocalizedName("itemSaphirPants")
.setTextureName("t4:itemSaphirPants").setCreativeTab(tabTesseract4);
itemSaphirBoots = new ItemArmorSaphir(saphir, 3).setUnlocalizedName("itemSaphirBoots")
.setTextureName("t4:itemSaphirBoots").setCreativeTab(tabTesseract4);

GameRegistry.registerItem(itemPizza, itemPizza.getUnlocalizedName().substring(5));
GameRegistry.registerItem(itemTopaze, itemTopaze.getUnlocalizedName().substring(5));
GameRegistry.registerItem(itemRuby, itemRuby.getUnlocalizedName().substring(5));
GameRegistry.registerItem(itemSaphir, itemSaphir.getUnlocalizedName().substring(5));
GameRegistry.registerItem(itemTitane, itemTitane.getUnlocalizedName().substring(5));
GameRegistry.registerItem(itemCobalt, itemCobalt.getUnlocalizedName().substring(5));
GameRegistry.registerItem(itemAdamantine, itemAdamantine.getUnlocalizedName().substring(5));
GameRegistry.registerItem(itemOrichalque, itemOrichalque.getUnlocalizedName().substring(5));

GameRegistry.registerItem(itemSaphirHelmet, itemSaphirHelmet.getUnlocalizedName().substring(5));
GameRegistry.registerItem(itemSaphirChestPlate, itemSaphirChestPlate.getUnlocalizedName().substring(5));
GameRegistry.registerItem(itemSaphirPants, itemSaphirPants.getUnlocalizedName().substring(5));
GameRegistry.registerItem(itemSaphirBoots, itemSaphirBoots.getUnlocalizedName().substring(5));

GameRegistry.registerBlock(blockTopaze, blockTopaze.getUnlocalizedName().substring(5));
GameRegistry.registerBlock(blockRuby, blockRuby.getUnlocalizedName().substring(5));
GameRegistry.registerBlock(blockSaphir, blockSaphir.getUnlocalizedName().substring(5));
GameRegistry.registerBlock(blockTitane, blockTitane.getUnlocalizedName().substring(5));
GameRegistry.registerBlock(blockCobalt, blockCobalt.getUnlocalizedName().substring(5));
GameRegistry.registerBlock(blockBrick, blockBrick.getUnlocalizedName().substring(5));
GameRegistry.registerBlock(blockNTNT, blockNTNT.getUnlocalizedName().substring(5));

GameRegistry.registerBlock(blockAlloyFurnace, ItemBlockMetadata.class, "blockalloyfurnace");
GameRegistry.registerBlock(testChest, testChest.getUnlocalizedName().substring(5));

GameRegistry.registerWorldGenerator(new MineralGeneration(), 0);

GameRegistry.registerTileEntity(TileEntityAlloyFurnace.class, "t4:TileEntityAlloyFurnace");
GameRegistry.registerTileEntity(TileEntityBlockChest.class, "TileEntityBlockChest");

}

@EventHandler
public void init(FMLInitializationEvent event) {
NetworkRegistry.INSTANCE.registerGuiHandler(instance, new GuiHandler());
proxy.registerRender();
proxy.registerKeyBinding();
FMLCommonHandler.instance().bus().register(new T4EventHandler());
}

@EventHandler
public void postInit(FMLPostInitializationEvent event) {

}

public static CreativeTabs tabTesseract4 = new CreativeTabs("tabTesseract4") {
@Override
public Item getTabIconItem() {
return new ItemStack(itemTopaze).getItem();
}
};
}