Advertisement
shane020482

Untitled

May 22nd, 2018
157
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.32 KB | None | 0 0
  1. @Mod.EventBusSubscriber(modid = Reference.MOD_ID)
  2.  
  3. public class BlockInit {
  4. static Block block_test;
  5.  
  6. static Block stair_test;
  7.  
  8. static Block fence_test;
  9.  
  10. static Block gate_test;
  11.  
  12. static Block wall_test;
  13.  
  14. static Block block_test_enum;
  15.  
  16. public static SlabHalfBase slab_half_test;
  17. public static SlabDoubleBase slab_double_test;
  18.  
  19.  
  20. public static void init()
  21. {
  22. // Blocks: name, material, hardness, resistance, harvest level(tool, level), Creative Tab, Sound, Light
  23. block_test = new BlockBase("block_test", Material.ROCK, 5f, 30f, "pickaxe", 2, CreativeTabs.DECORATIONS, SoundType.METAL, 0f);
  24.  
  25. // Stairs: name, default state, material, hardness, resistance, harvest level(tool, level), Creative Tab, Sound, Light
  26. stair_test = new StairBase("stair_test", stair_test.getDefaultState(), Material.IRON, 5f, 30f, "pickaxe", 2, CreativeTabs.DECORATIONS, SoundType.METAL, 0f);
  27.  
  28. // Fencce, name, color, material, hardness, resistance, harvest level(tool level), Creative Tab, Sound, Light
  29. fence_test = new FenceBase("fence_test", MapColor.IRON, Material.IRON, 5f, 30f, "pickaxe", 2, CreativeTabs.DECORATIONS, SoundType.METAL, 0f);
  30.  
  31. // Gate, name, color, material, hardness, resistance, harvest level(tool, level), Creative Tab, Sound, Light
  32. gate_test = new GateBase("gate_test", MapColor.IRON, Material.IRON, 5f, 30f, "pickaxe", 2, CreativeTabs.DECORATIONS, SoundType.METAL, 0f);
  33.  
  34. //Slabs
  35. slab_double_test = new SlabDoubleBase("slab_double_test", Material.ROCK);
  36. slab_half_test = new SlabHalfBase("slab_half_test", Material.ROCK);
  37.  
  38. //Walls
  39. wall_test = new WallBase("wall_test", Material.ROCK);
  40.  
  41. //EnumBlocks
  42. block_test_enum = new BlockTestEnum("block_test_enum", Material.ROCK, CreativeTabs.MISC);
  43. }
  44.  
  45. @SubscribeEvent
  46. public static void registerBlocks(RegistryEvent.Register<Block> event)
  47. {
  48. event.getRegistry().registerAll(block_test);
  49.  
  50. event.getRegistry().registerAll(stair_test);
  51.  
  52. event.getRegistry().registerAll(fence_test);
  53.  
  54. event.getRegistry().registerAll(gate_test);
  55.  
  56. event.getRegistry().registerAll(slab_half_test);
  57. event.getRegistry().registerAll(slab_double_test);
  58.  
  59. event.getRegistry().registerAll(wall_test);
  60.  
  61. event.getRegistry().registerAll(block_test_enum);
  62. }
  63.  
  64. @SubscribeEvent
  65. public static void registerItemBlocks(RegistryEvent.Register<Item> event)
  66. {
  67. event.getRegistry().registerAll(new ItemBlock(block_test).setRegistryName(block_test.getRegistryName()));
  68.  
  69. event.getRegistry().registerAll(new ItemBlock(stair_test).setRegistryName(stair_test.getRegistryName()));
  70.  
  71. event.getRegistry().registerAll(new ItemBlock(fence_test).setRegistryName(fence_test.getRegistryName()));
  72.  
  73. event.getRegistry().registerAll(new ItemBlock(gate_test).setRegistryName(gate_test.getRegistryName()));
  74.  
  75. event.getRegistry().registerAll(new ItemSlab(slab_half_test, slab_half_test, slab_double_test).setRegistryName(slab_half_test.getRegistryName()));
  76.  
  77. event.getRegistry().registerAll(new ItemBlock(wall_test).setRegistryName(wall_test.getRegistryName()));
  78.  
  79. //Using a custom ItemBlockEnum to register the block
  80. event.getRegistry().registerAll(new ItemBlockEnum(block_test_enum).setRegistryName(block_test_enum.getRegistryName()));
  81.  
  82. }
  83.  
  84. @SubscribeEvent
  85. public static void registerRenders(ModelRegistryEvent event)
  86. {
  87. registerRender(Item.getItemFromBlock(block_test));
  88.  
  89. registerRender(Item.getItemFromBlock(stair_test));
  90.  
  91. registerRender(Item.getItemFromBlock(fence_test));
  92.  
  93. registerRender(Item.getItemFromBlock(gate_test));
  94.  
  95. registerRender(Item.getItemFromBlock(slab_half_test));
  96.  
  97. registerRender(Item.getItemFromBlock(wall_test));
  98.  
  99. //You need this for loop to register ItemBlocks with enums
  100. for (int i = 0; i < EnumType.values().length; i++)
  101. {
  102. registerRender(block_test_enum, i, "block_test_enum_" + EnumType.values()[i].getName());
  103. }
  104. }
  105.  
  106. public static void registerRender(Item item) {
  107. ModelLoader.setCustomModelResourceLocation(item, 0,
  108. new ModelResourceLocation(item.getRegistryName(), "inventory"));
  109. }
  110.  
  111. //Model Resource Location for blocks with enums
  112. public static void registerRender(Block block, int meta, String fileName) {
  113. ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(block), meta,
  114. new ModelResourceLocation(new ResourceLocation(Reference.MOD_ID, fileName), "inventory"));
  115.  
  116. }
  117.  
  118. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement