Guest User

ModBlocks.java

a guest
Oct 27th, 2016
154
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.35 KB | None | 0 0
  1. package com.smith.mod.init;
  2.  
  3. import java.lang.reflect.Field;
  4.  
  5. import com.smith.mod.blocks.ModBlock;
  6. import com.smith.mod.blocks.ModBlockDoor;
  7. import com.smith.mod.blocks.ModBlockFence;
  8. import com.smith.mod.blocks.ModBlockOre;
  9. import com.smith.mod.blocks.ModBlockPane;
  10.  
  11. import net.minecraft.block.Block;
  12. import net.minecraft.block.material.Material;
  13. import net.minecraft.client.Minecraft;
  14. import net.minecraft.client.renderer.block.model.ModelResourceLocation;
  15. import net.minecraft.init.Blocks;
  16. import net.minecraft.item.Item;
  17. import net.minecraft.item.ItemBlock;
  18. import net.minecraftforge.fml.common.registry.GameRegistry;
  19. import net.minecraftforge.fml.common.registry.IForgeRegistryEntry.Impl;
  20. import sun.reflect.FieldInfo;
  21.  
  22. public class ModBlocks {
  23.  
  24.     public static Block aluminium_ore;
  25.     public static Block copper_ore;
  26.     public static Block tin_ore;
  27.     public static Block platinum_ore;
  28.     public static Block magnesium_ore;
  29.     public static Block amazonite_ore;
  30.  
  31.     public static Block aluminium_block;
  32.     public static Block copper_block;
  33.     public static Block oxidized_copper_block;
  34.     public static Block tin_block;
  35.     public static Block bronze_block;
  36.     public static Block heat_treated_iron_block;
  37.     public static Block steel_block;
  38.     public static Block platinum_block;
  39.     public static Block flint_block;
  40.     public static Block amazonite_block;
  41.  
  42.     public static Block copper_door;
  43.     public static Block oxidized_copper_door;
  44.     public static Block gold_door;
  45.     public static Block bronze_door;
  46.     public static Block steel_door;
  47.     public static Block platinum_door;
  48.  
  49.     public static Block copper_bars;
  50.     public static Block oxidized_copper_bars;
  51.     public static Block gold_bars;
  52.     public static Block bronze_bars;
  53.     public static Block steel_bars;
  54.     public static Block platinum_bars;
  55.    
  56.     public static Block iron_fence;
  57.     public static Block iron_fence_gate;
  58.  
  59.     public static void init() {
  60.  
  61.         aluminium_ore = new ModBlockOre("aluminium_ore", 2);
  62.         copper_ore = new ModBlockOre("copper_ore", 2);
  63.         tin_ore = new ModBlockOre("tin_ore", 2);
  64.         platinum_ore = new ModBlockOre("platinum_ore", 2);
  65.         amazonite_ore = new ModBlockOre("amazonite_ore", 2);
  66.         magnesium_ore = new ModBlockOre("magnesium_ore", 2);
  67.  
  68.         aluminium_block = new ModBlock(Material.IRON, "aluminium_block", 2).setHardness(3).setResistance(10);
  69.         copper_block = new ModBlock(Material.IRON, "copper_block", 2).setHardness(3).setResistance(10);
  70.         oxidized_copper_block = new ModBlock(Material.IRON, "oxidized_copper_block", 2).setHardness(3).setResistance(10);
  71.         tin_block = new ModBlock(Material.IRON, "tin_block", 2).setHardness(2.5F).setResistance(10);
  72.         platinum_block = new ModBlock(Material.IRON, "platinum_block", 2).setHardness(4).setResistance(10);
  73.         amazonite_block = new ModBlock(Material.ROCK, "amazonite_block", 2).setHardness(5).setResistance(10);
  74.         bronze_block = new ModBlock(Material.ROCK, "bronze_block", 2).setHardness(3).setResistance(10);
  75.         steel_block = new ModBlock(Material.IRON, "steel_block", 2).setHardness(4).setResistance(10);
  76.         heat_treated_iron_block = new ModBlock(Material.ROCK, "heat_treated_iron_block", 2).setHardness(3).setResistance(10);
  77.         flint_block = new ModBlock(Material.ROCK, "flint_block", 1).setHardness(3).setResistance(10);
  78.  
  79.         copper_door = new ModBlockDoor("copper_door", ModBlocks.copper_block);
  80.         oxidized_copper_door = new ModBlockDoor("oxidized_copper_door", ModBlocks.oxidized_copper_block);
  81.         gold_door = new ModBlockDoor("gold_door", Blocks.GOLD_BLOCK);
  82.         bronze_door = new ModBlockDoor("bronze_door", ModBlocks.bronze_block);
  83.         steel_door = new ModBlockDoor("steel_door", ModBlocks.steel_block);
  84.         platinum_door = new ModBlockDoor("platinum_door", ModBlocks.platinum_block);
  85.  
  86.         copper_bars = new ModBlockPane("copper_bars", ModBlocks.copper_block);
  87.         oxidized_copper_bars = new ModBlockPane("oxidized_copper_bars", ModBlocks.oxidized_copper_block);
  88.         gold_bars = new ModBlockPane("gold_bars", Blocks.GOLD_BLOCK);
  89.         bronze_bars = new ModBlockPane("bronze_bars", ModBlocks.bronze_block);
  90.         steel_bars = new ModBlockPane("steel_bars", ModBlocks.steel_block);
  91.         platinum_bars = new ModBlockPane("platinum_bars", ModBlocks.platinum_block);
  92.        
  93.         iron_fence = new ModBlockFence("iron_fence", Blocks.IRON_BLOCK);
  94.  
  95.     }
  96.  
  97.     public static void register() {
  98.  
  99.         // Gets all public fields this class has
  100.         Field[] blockFields = ModBlocks.class.getFields();
  101.  
  102.         for (Field blockField : blockFields) {
  103.  
  104.             try {
  105.                 // Takes out the object (block) the field contains
  106.                 Block block = (Block) blockField.get(ModBlocks.class);
  107.                 registerBlock(block);
  108.             } catch (Exception e) {
  109.  
  110.                 e.printStackTrace();
  111.  
  112.             }
  113.         }
  114.     }
  115.  
  116.     public static void registerBlock(Block block) {
  117.  
  118.         GameRegistry.register(block);
  119.         ItemBlock item = new ItemBlock(block);
  120.         item.setRegistryName(block.getRegistryName());
  121.         GameRegistry.register(item);
  122.  
  123.     }
  124.  
  125.     public static void registerRenders() {
  126.  
  127.         Field[] blockFields = ModBlocks.class.getFields();
  128.  
  129.         for (Field blockField : blockFields) {
  130.  
  131.             try {
  132.                 Block block = (Block) blockField.get(ModBlocks.class);
  133.                 registerRender(block);
  134.             } catch (Exception e) {
  135.  
  136.                 e.printStackTrace();
  137.  
  138.             }
  139.         }
  140.     }
  141.  
  142.     private static void registerRender(Block block) {
  143.  
  144.         Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(Item.getItemFromBlock(block), 0,
  145.                 new ModelResourceLocation(block.getRegistryName(), "inventory"));
  146.  
  147.     }
  148.  
  149. }
Advertisement
Add Comment
Please, Sign In to add comment