package com.zjinja.mcmod.decor.registers; import com.zjinja.mcmod.decor.ZJinJaDecoration; import com.zjinja.mcmod.decor.element_base.EBaseBlock; import com.zjinja.mcmod.decor.element_base.EBaseItem; import com.zjinja.mcmod.decor.element_base.EBaseTileBlock; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.registry.GameRegistry; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; import java.util.HashMap; public class GeneralRegister { public static CreativeTabs tabZJinJaDecoration; private HashMap BlockList = new HashMap(); private HashMap TileBlockList = new HashMap(); private HashMap ItemList = new HashMap(); public GeneralRegister(FMLPreInitializationEvent preInitializationEvent){ tabZJinJaDecoration = new CreativeTabs("tabZJinJaDecoration") { @Override public Item getTabIconItem() { return Item.getItemFromBlock(ZJinJaDecoration.proxy.Registry.BlockList.get("logoblock")); } }; UserBlockRegistry ubr = new UserBlockRegistry(this); UserTileBlockRegistry utbr = new UserTileBlockRegistry(this); UserItemRegistry uir = new UserItemRegistry(this); uir.Regist(); utbr.Regist(); ubr.Regist(); } public EBaseBlock GetBlockByName(String name){ if(BlockList.containsKey(name)){ return BlockList.get(name); }else { if (TileBlockList.containsKey(name)){ return TileBlockList.get(name); }else { return null; } } } public EBaseTileBlock GetTileBlockByName(String name){ if(TileBlockList.containsKey(name)){ return TileBlockList.get(name); }else { return null; } } public EBaseItem GetItemByName(String name){ if(ItemList.containsKey(name)){ return ItemList.get(name); }else { return null; } } public HashMap GetTileBlockList(){ return TileBlockList; } public void RegistItem(EBaseItem item, String Name, CreativeTabs creativeTabs[]){ ItemList.put(Name.toLowerCase(), item); item.Regist(Name.toLowerCase(), creativeTabs); GameRegistry.registerItem(item, Name.toLowerCase()); } public void RegistItem(EBaseItem item, String Name, CreativeTabs creativeTabs){ RegistItem(item, Name, new CreativeTabs[]{creativeTabs}); } public void RegistItem(EBaseItem item, String Name){ RegistItem(item, Name, (CreativeTabs[]) null); } public void RegistBlock(EBaseBlock block, String Name, CreativeTabs creativeTabs[]){ BlockList.put(Name.toLowerCase(), block); block.Regist(Name.toLowerCase(), creativeTabs); GameRegistry.registerBlock(block, Name.toLowerCase()); } public void RegistBlock(EBaseBlock block, String Name){ RegistBlock(block, Name, (CreativeTabs[])null); } public void RegistBlock(EBaseBlock block, String Name, CreativeTabs creativeTabs){ RegistBlock(block, Name, new CreativeTabs[]{creativeTabs}); } public void RegistTileBlock(EBaseTileBlock tileBlock, String Name, CreativeTabs creativeTabs[]){ TileBlockList.put(Name.toLowerCase(), tileBlock); tileBlock.Regist(Name.toLowerCase(), creativeTabs); GameRegistry.registerBlock(tileBlock, Name.toLowerCase()); GameRegistry.registerTileEntity(tileBlock.TEClass, "tile" + Name.toLowerCase()); } public void RegistTileBlock(EBaseTileBlock tileBlock, String Name, CreativeTabs creativeTabs){ RegistTileBlock(tileBlock, Name, new CreativeTabs[]{creativeTabs}); } public void RegistTileBlock(EBaseTileBlock tileBlock, String Name) { RegistTileBlock(tileBlock, Name, (CreativeTabs[])null); } }