GeneralRegister.java 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. package com.zjinja.mcmod.decor.registers;
  2. import com.zjinja.mcmod.decor.ZJinJaDecoration;
  3. import com.zjinja.mcmod.decor.element_base.EBaseBlock;
  4. import com.zjinja.mcmod.decor.element_base.EBaseItem;
  5. import com.zjinja.mcmod.decor.element_base.EBaseTileBlock;
  6. import cpw.mods.fml.common.event.FMLPreInitializationEvent;
  7. import cpw.mods.fml.common.registry.GameRegistry;
  8. import net.minecraft.creativetab.CreativeTabs;
  9. import net.minecraft.item.Item;
  10. import java.util.HashMap;
  11. public class GeneralRegister {
  12. public static CreativeTabs tabZJinJaDecoration;
  13. private HashMap<String, EBaseBlock> BlockList = new HashMap<String, EBaseBlock>();
  14. private HashMap<String, EBaseTileBlock> TileBlockList = new HashMap<String, EBaseTileBlock>();
  15. private HashMap<String, EBaseItem> ItemList = new HashMap<String, EBaseItem>();
  16. public GeneralRegister(FMLPreInitializationEvent preInitializationEvent){
  17. tabZJinJaDecoration = new CreativeTabs("tabZJinJaDecoration") {
  18. @Override
  19. public Item getTabIconItem() {
  20. return Item.getItemFromBlock(ZJinJaDecoration.proxy.Registry.BlockList.get("logoblock"));
  21. }
  22. };
  23. UserBlockRegistry ubr = new UserBlockRegistry(this);
  24. UserTileBlockRegistry utbr = new UserTileBlockRegistry(this);
  25. UserItemRegistry uir = new UserItemRegistry(this);
  26. uir.Regist();
  27. utbr.Regist();
  28. ubr.Regist();
  29. }
  30. public EBaseBlock GetBlockByName(String name){
  31. if(BlockList.containsKey(name)){
  32. return BlockList.get(name);
  33. }else {
  34. if (TileBlockList.containsKey(name)){
  35. return TileBlockList.get(name);
  36. }else {
  37. return null;
  38. }
  39. }
  40. }
  41. public EBaseTileBlock GetTileBlockByName(String name){
  42. if(TileBlockList.containsKey(name)){
  43. return TileBlockList.get(name);
  44. }else {
  45. return null;
  46. }
  47. }
  48. public EBaseItem GetItemByName(String name){
  49. if(ItemList.containsKey(name)){
  50. return ItemList.get(name);
  51. }else {
  52. return null;
  53. }
  54. }
  55. public HashMap<String, EBaseTileBlock> GetTileBlockList(){
  56. return TileBlockList;
  57. }
  58. public void RegistItem(EBaseItem item, String Name, CreativeTabs creativeTabs[]){
  59. ItemList.put(Name.toLowerCase(), item);
  60. item.Regist(Name.toLowerCase(), creativeTabs);
  61. GameRegistry.registerItem(item, Name.toLowerCase());
  62. }
  63. public void RegistItem(EBaseItem item, String Name, CreativeTabs creativeTabs){
  64. RegistItem(item, Name, new CreativeTabs[]{creativeTabs});
  65. }
  66. public void RegistItem(EBaseItem item, String Name){
  67. RegistItem(item, Name, (CreativeTabs[]) null);
  68. }
  69. public void RegistBlock(EBaseBlock block, String Name, CreativeTabs creativeTabs[]){
  70. BlockList.put(Name.toLowerCase(), block);
  71. block.Regist(Name.toLowerCase(), creativeTabs);
  72. GameRegistry.registerBlock(block, Name.toLowerCase());
  73. }
  74. public void RegistBlock(EBaseBlock block, String Name){
  75. RegistBlock(block, Name, (CreativeTabs[])null);
  76. }
  77. public void RegistBlock(EBaseBlock block, String Name, CreativeTabs creativeTabs){
  78. RegistBlock(block, Name, new CreativeTabs[]{creativeTabs});
  79. }
  80. public void RegistTileBlock(EBaseTileBlock tileBlock, String Name, CreativeTabs creativeTabs[]){
  81. TileBlockList.put(Name.toLowerCase(), tileBlock);
  82. tileBlock.Regist(Name.toLowerCase(), creativeTabs);
  83. GameRegistry.registerBlock(tileBlock, Name.toLowerCase());
  84. GameRegistry.registerTileEntity(tileBlock.TEClass, "tile" + Name.toLowerCase());
  85. }
  86. public void RegistTileBlock(EBaseTileBlock tileBlock, String Name, CreativeTabs creativeTabs){
  87. RegistTileBlock(tileBlock, Name, new CreativeTabs[]{creativeTabs});
  88. }
  89. public void RegistTileBlock(EBaseTileBlock tileBlock, String Name) {
  90. RegistTileBlock(tileBlock, Name, (CreativeTabs[])null);
  91. }
  92. }