Advertisement
shane020482

Untitled

May 21st, 2018
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.78 KB | None | 0 0
  1. package shane.mod.init;
  2.  
  3. import com.google.common.collect.ImmutableList;
  4.  
  5. import net.minecraft.block.Block;
  6. import net.minecraft.block.SoundType;
  7. import net.minecraft.block.BlockWall.EnumType;
  8. import net.minecraft.block.material.MapColor;
  9. import net.minecraft.block.material.Material;
  10. import net.minecraft.block.state.IBlockState;
  11. import net.minecraft.client.renderer.block.model.ModelResourceLocation;
  12. import net.minecraft.client.renderer.block.statemap.DefaultStateMapper;
  13. import net.minecraft.client.renderer.block.statemap.StateMapperBase;
  14. import net.minecraft.creativetab.CreativeTabs;
  15. import net.minecraft.item.Item;
  16. import net.minecraft.item.ItemBlock;
  17. import net.minecraft.item.ItemSlab;
  18. import net.minecraft.util.ResourceLocation;
  19. import net.minecraft.world.chunk.BlockStateContainer;
  20. import net.minecraftforge.client.event.ModelRegistryEvent;
  21. import net.minecraftforge.client.model.ModelLoader;
  22. import net.minecraftforge.event.RegistryEvent;
  23. import net.minecraftforge.fml.common.Mod;
  24. import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
  25. import shane.mod.library.Reference;
  26. import shane.mod.objects.blocks.BlockBase;
  27. import shane.mod.objects.blocks.FenceBase;
  28. import shane.mod.objects.blocks.GateBase;
  29. import shane.mod.objects.blocks.StairBase;
  30. import shane.mod.objects.blocks.WallBase;
  31. import shane.mod.objects.blocks.enumtest;
  32. import shane.mod.objects.blocks.slabs.SlabDoubleBase;
  33. import shane.mod.objects.blocks.slabs.SlabHalfBase;
  34.  
  35.  
  36.  
  37. public class BlockInit
  38. {
  39. static Block block_test;
  40.  
  41. static Block stair_test;
  42.  
  43. static Block fence_test;
  44.  
  45. static Block gate_test;
  46.  
  47. static Block wall_test;
  48.  
  49. static Block enunblock;
  50.  
  51. public static SlabHalfBase slab_half_test;
  52. public static SlabDoubleBase slab_double_test;
  53.  
  54. public static void init()
  55. {
  56. //Blocks: name, material, hardness, resistance, harvest level(tool, level), Creative Tab, Sound, Light
  57. block_test = new BlockBase("block_test", Material.ROCK, 5f, 30f, "pickaxe", 2, CreativeTabs.DECORATIONS, SoundType.METAL, 0f);
  58.  
  59. //Stairs: name, default state, material, hardness, resistance, harvest level(tool, level), Creative Tab, Sound, Light
  60. stair_test = new StairBase("stair_test", block_test.getDefaultState(), Material.IRON, 5f, 30f, "pickaxe", 2, CreativeTabs.DECORATIONS, SoundType.METAL, 0f);
  61.  
  62. //Fencce, name, color, material, hardness, resistance, harvest level(tool, level), Creative Tab, Sound, Light
  63. fence_test = new FenceBase("fence_test", MapColor.IRON, Material.IRON, 5f, 30f, "pickaxe", 2, CreativeTabs.DECORATIONS, SoundType.METAL, 0f);
  64.  
  65. //Gate, name, color, material, hardness, resistance, harvest level(tool, level), Creative Tab, Sound, Light
  66. gate_test = new GateBase("gate_test", MapColor.IRON, Material.IRON, 5f, 30f, "pickaxe", 2, CreativeTabs.DECORATIONS, SoundType.METAL, 0f);
  67.  
  68. slab_double_test = new SlabDoubleBase("slab_double_test", Material.ROCK);
  69. slab_half_test = new SlabHalfBase("slab_half_test", Material.ROCK);
  70.  
  71. wall_test = new WallBase("wall_test", Material.ROCK);
  72.  
  73. enunblock = new enumtest("enunblock", Material.ROCK, CreativeTabs.MISC);
  74. }
  75.  
  76. @SubscribeEvent
  77. public static void registerBlocks(RegistryEvent.Register<Block> event)
  78. {
  79.  
  80. event.getRegistry().registerAll(block_test);
  81.  
  82. event.getRegistry().registerAll(stair_test);
  83.  
  84. event.getRegistry().registerAll(fence_test);
  85.  
  86. event.getRegistry().registerAll(gate_test);
  87.  
  88. event.getRegistry().registerAll(slab_half_test);
  89. event.getRegistry().registerAll(slab_double_test);
  90.  
  91. event.getRegistry().registerAll(wall_test);
  92.  
  93. event.getRegistry().registerAll(enunblock);
  94. }
  95.  
  96. public void _registerBlockWithCustomItem(Block block, ItemBlock iBlock, String registryname) {
  97. super._registerBlockWithCustomItem(block, iBlock, registryname);
  98. StateMapperBase b = new DefaultStateMapper();
  99. net.minecraft.block.state.BlockStateContainer bsc = block.getBlockState();
  100. ImmutableList<IBlockState> values = bsc.getValidStates();
  101. for(IBlockState state : values) {
  102. String str = b.getPropertyString(state.getProperties());
  103. ModelLoader.setCustomModelResourceLocation(iBlock, block.getMetaFromState(state), new ModelResourceLocation(block.getRegistryName(), str));
  104. }
  105. }
  106.  
  107. @SubscribeEvent
  108. public static void registerItemBlocks(RegistryEvent.Register<Item> event)
  109. {
  110. event.getRegistry().registerAll(new ItemBlock(block_test).setRegistryName(block_test.getRegistryName()));
  111.  
  112. event.getRegistry().registerAll(new ItemBlock(stair_test).setRegistryName(stair_test.getRegistryName()));
  113.  
  114. event.getRegistry().registerAll(new ItemBlock(fence_test).setRegistryName(fence_test.getRegistryName()));
  115.  
  116. event.getRegistry().registerAll(new ItemBlock(gate_test).setRegistryName(gate_test.getRegistryName()));
  117.  
  118. event.getRegistry().registerAll(new ItemSlab(slab_half_test, slab_half_test, slab_double_test)
  119. .setRegistryName(slab_half_test.getRegistryName()));
  120.  
  121. event.getRegistry().registerAll(new ItemBlock(wall_test).setRegistryName(wall_test.getRegistryName()));
  122.  
  123. event.getRegistry().registerAll(new ItemBlock(enunblock).setRegistryName(enunblock.getRegistryName()));
  124. }
  125.  
  126.  
  127. @SubscribeEvent
  128. public static void registerRenders(ModelRegistryEvent event)
  129. {
  130. registerRender(Item.getItemFromBlock(block_test));
  131.  
  132. registerRender(Item.getItemFromBlock(stair_test));
  133.  
  134. registerRender(Item.getItemFromBlock(fence_test));
  135.  
  136. registerRender(Item.getItemFromBlock(gate_test));
  137.  
  138. registerRender(Item.getItemFromBlock(slab_half_test));
  139.  
  140. registerRender(Item.getItemFromBlock(wall_test));
  141.  
  142. registerRender(Item.getItemFromBlock(enunblock));
  143. }
  144.  
  145. public static void registerRender(Item item)
  146. {
  147. ModelLoader.setCustomModelResourceLocation(item, 0,
  148. new ModelResourceLocation(item.getRegistryName(), "inventory"));
  149. }
  150. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement