| 
					
				 | 
			
			
				@@ -1,239 +1,250 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 package me.km.blocks; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import me.km.blocks.cookingpot.TileEntityCookingPot; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import me.km.blocks.campfire.TileEntityCampFire; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import me.km.blocks.campfire.BlockCampFireBurning; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import me.km.blocks.campfire.BlockCampFire; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import me.km.blocks.campfire.BlockCampFireBurnt; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import me.km.blocks.cookingpot.BlockCookingPot; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import me.km.blocks.leaves.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import me.km.fluids.BlockFluidBase; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import me.km.fluids.BlockFluidHoney; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import me.km.fluids.BlockFluidPoison; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import me.km.fluids.ModFluids; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import me.km.items.ItemMetal; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import net.minecraft.block.Block; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import net.minecraft.block.BlockPlanks; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import net.minecraft.block.Block.Properties; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import net.minecraft.block.SlabBlock; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import net.minecraft.block.SoundType; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import net.minecraft.block.material.MapColor; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import net.minecraft.block.material.Material; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import net.minecraft.block.material.MaterialColor; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import net.minecraft.block.BlockState; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import net.minecraft.block.Blocks; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import net.minecraft.block.LeavesBlock; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import net.minecraft.item.Item; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import net.minecraft.item.ItemBlock; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import net.minecraftforge.fml.common.registry.GameRegistry; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import net.minecraft.item.BlockItem; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import net.minecraft.item.ItemGroup; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import net.minecraftforge.registries.IForgeRegistry; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 public class ModBlocks  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // ores + blocks 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public static BlockOre copperOre; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public static BlockBase copperBlock; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static Block copperOre; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static Block copperBlock; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public static BlockOre tinOre; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public static BlockBase tinBlock; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static Block tinOre; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static Block tinBlock; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public static BlockBase bronzeBlock; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static Block bronzeBlock; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public static BlockOre silverOre; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public static BlockBase silverBlock; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static Block silverOre; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static Block silverBlock; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // misc 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public static BlockBase guildblock; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public static BlockBase artefact; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public static BlockHay realHayBlock; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public static BlockHayBed realHayBed; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static Block guildblock; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static Block artefact; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static Block realHayBlock; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static Block realHayBed; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public static BlockCrate crateAcacia; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public static BlockCrate crateBigOak; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public static BlockCrate crateBirch; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public static BlockCrate crateJungle; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public static BlockCrate crateOak; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public static BlockCrate crateSpruce; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static Block crateAcacia; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static Block crateBigOak; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static Block crateBirch; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static Block crateJungle; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static Block crateOak; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static Block crateSpruce; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public static BlockCookingPot cookingPotCopper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static Block cookingPotCopper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public static BlockBase barrel; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static Block lantern; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public static BlockCampFireBurning campFireBurning; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public static BlockCampFireBurnt campFireBurnt; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public static BlockLantern lantern; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public static BlockResistantTallGrass tallGrass; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static Block tallGrass; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // traps 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public static BlockSpikeTrap spikes; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static Block spikesCopper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static Block spikesBronze; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static Block spikesGold; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static Block spikesIron; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // fluids 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public static BlockFluidPoison poison; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public static BlockFluidHoney honey; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static Block poison; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static Block honey; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // slabs 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public static BlockModSlab gravelSlab; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static Block gravelSlab; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // leaves 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public static BlockLeaves cherryLeaves; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public static BlockLeaves apricotLeaves; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public static BlockLeaves pearLeaves; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public static BlockLeaves plumLeaves; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static Block cherryLeaves; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static Block apricotLeaves; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static Block pearLeaves; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static Block plumLeaves; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // saplings 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public static BlockSapling cherrySapling; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public static BlockSapling apricotSapling; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public static BlockSapling pearSapling; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public static BlockSapling plumSapling; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static Block cherrySapling; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static Block apricotSapling; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static Block pearSapling; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static Block plumSapling; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static Block create(String registry, Material m, float hardness, float resistance) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Block b = new Block(Properties.create(m).hardnessAndResistance(hardness, resistance)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        b.setRegistryName(registry); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return b; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static Block createCrate(String registry) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Block b = new Block(Properties.create(Material.WOOD).hardnessAndResistance(2.0f, 5.0f).sound(SoundType.WOOD)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        b.setRegistryName(registry); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return b; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static Block createOre(String registry) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Block b = new Block(Properties.create(Material.ROCK).hardnessAndResistance(3.0f, 3.0f)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        b.setRegistryName(registry); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return b; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static Block createOreBlock(String registry, MaterialColor mc, float hardness, float resistance) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Block b = new Block(Properties.create(Material.IRON, mc).hardnessAndResistance(hardness, resistance)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        b.setRegistryName(registry); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return b; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static Block createLeaves(String registry) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Block b = new LeavesBlock(Block.Properties.create(Material.LEAVES).hardnessAndResistance(0.2F).tickRandomly().sound(SoundType.PLANT)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        b.setRegistryName(registry); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return b; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static Block createSapling(String registry, BlockState wood, BlockState leaves) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Block b = new BlockModSapling(new ModTree(wood, leaves)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        b.setRegistryName(registry); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return b; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public static void initBlocks(IForgeRegistry<Block> r)  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // ores + blocks 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        copperOre = register(r, new BlockOre("copper_ore", "oreCopper"));       
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        copperBlock = register(r, (BlockBase) new BlockBase(Material.IRON, "copper_block", "blockCopper") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                .setMapColor(MapColor.BROWN).setHardness(3).setResistance(10)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        tinOre = register(r, new BlockOre("tin_ore", "oreTin"));       
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        tinBlock = register(r, (BlockBase) new BlockBase(Material.IRON, "tin_block", "blockTin") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                .setMapColor(MapColor.IRON).setHardness(3).setResistance(5)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        bronzeBlock = register(r, (BlockBase) new BlockBase(Material.IRON, "bronze_block", "blockBronze") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                .setMapColor(MapColor.YELLOW).setHardness(5).setResistance(10)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        silverOre = register(r, new BlockOre("silver_ore", "oreSilver"));       
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        silverBlock = register(r, (BlockBase) new BlockBase(Material.IRON, "silver_block", "blockSilver") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                .setMapColor(MapColor.IRON).setHardness(5).setResistance(10)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        copperOre = register(r, createOre("copper_ore"));     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        tinOre = register(r, createOre("tin_ore"));    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        silverOre = register(r, createOre("silver_ore"));  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        // misc 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        guildblock = register(r, (BlockBase) new BlockBase(Material.IRON, "guild_block", "blockGuild") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                .setHardness(50.0F).setResistance(2000.0F)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        artefact = register(r, (BlockBase) new BlockBase(Material.IRON, "artefact", "artefact") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                .setHardness(50.0F).setResistance(2000.0F)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        realHayBlock = register(r, new BlockHay("real_hay_block", "realHayBlock")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        realHayBed = register(r, new BlockHayBed("real_hay_bed", "realHayBed")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-         
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        crateAcacia = register(r, new BlockCrate("crate_acacia", "crateAcacia")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        crateBigOak = register(r, new BlockCrate("crate_big_oak", "crateBigOak")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        crateBirch = register(r, new BlockCrate("crate_birch", "crateBirch")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        crateJungle = register(r, new BlockCrate("crate_jungle", "crateJungle")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        crateOak = register(r, new BlockCrate("crate_oak", "crateOak")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        crateSpruce = register(r, new BlockCrate("crate_spruce", "crateSpruce")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        copperBlock = register(r, createOreBlock("copper_block", MaterialColor.BROWN, 3.0f, 6.0f));    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        tinBlock = register(r, createOreBlock("tin_block", MaterialColor.IRON, 3.0f, 6.0f)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        silverBlock = register(r, createOreBlock("silver_block", MaterialColor.IRON, 5.0f, 6.0f)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        bronzeBlock = register(r, createOreBlock("bronze_block", MaterialColor.YELLOW, 5.0f, 6.0f)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        cookingPotCopper = register(r, new BlockCookingPot("cooking_pot_copper", "cookingPotCopper")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        GameRegistry.registerTileEntity(TileEntityCookingPot.class, "km:cauldron"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // misc 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        guildblock = register(r, create("guild_block", Material.IRON, 50.0f, 2000.0f)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        artefact = register(r, create("artefact", Material.IRON, 50.0f, 2000.0f)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        realHayBlock = register(r, new BlockHay("real_hay_block")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        realHayBed = register(r, new BlockHayBed("real_hay_bed")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        barrel = register(r, (BlockBase) new BlockBase(Material.WOOD, "barrel", "barrel").setSoundType(SoundType.WOOD).setHardness(2.5f)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        crateAcacia = register(r, createCrate("crate_acacia")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        crateBigOak = register(r, createCrate("crate_big_oak")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        crateBirch = register(r, createCrate("crate_birch")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        crateJungle = register(r, createCrate("crate_jungle")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        crateOak = register(r, createCrate("crate_oak")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        crateSpruce = register(r, createCrate("crate_spruce")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        campFireBurning = (BlockCampFireBurning) register(r, new BlockCampFireBurning("camp_fire_burning", "campFireBurning")).setLightLevel(1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        campFireBurnt = register(r, new BlockCampFireBurnt("camp_fire_burnt", "campFireBurnt")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        GameRegistry.registerTileEntity(TileEntityCampFire.class, campFireBurning.getRegistryName().toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        cookingPotCopper = register(r, new BlockCookingPot("cooking_pot_copper")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        lantern = register(r, new BlockLantern("lantern", "lantern")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        lantern = register(r, new BlockLantern("lantern")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        tallGrass = register(r, new BlockResistantTallGrass("rtall_grass", "rtallGrass")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        tallGrass = register(r, new BlockResistantTallGrass("rtall_grass")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // traps 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        spikes = register(r, new BlockSpikeTrap(Material.IRON, "spikes", "spikes")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        spikesCopper = register(r, new BlockSpikes("spikes_copper", Properties.create(Material.IRON, MaterialColor.BROWN).hardnessAndResistance(3.0f, 6.0f))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        spikesBronze = register(r, new BlockSpikes("spikes_bronze", Properties.create(Material.IRON, MaterialColor.YELLOW).hardnessAndResistance(5.0f, 6.0f))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        spikesGold = register(r, new BlockSpikes("spikes_gold", Properties.create(Material.IRON, MaterialColor.GOLD).hardnessAndResistance(3.0f, 6.0f))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        spikesIron = register(r, new BlockSpikes("spikes_iron", Properties.create(Material.IRON).hardnessAndResistance(5.0f, 6.0f))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // fluids 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        poison = register(r, new BlockFluidPoison(ModFluids.poison, Material.WATER)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        honey = register(r, new BlockFluidHoney(ModFluids.honey, Material.WATER)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        poison = register(r, create("poison", Material.WATER, 0.0f, 0.0f)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        honey = register(r, create("honey", Material.WATER, 0.0f, 0.0f)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // slabs 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        gravelSlab = register(r, (BlockModSlab) new BlockModSlab(Material.SAND, "gravel_slab", "gravelSlab").setSoundType(SoundType.GROUND).setHardness(0.6F)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        gravelSlab = register(r, new SlabBlock(Properties.create(Material.SAND, MaterialColor.STONE) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .sound(SoundType.GROUND).hardnessAndResistance(0.6f)).setRegistryName("gravel_slab")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // leaves 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        cherryLeaves = register(r, new BlockCherryLeaves("cherry_leaves", "cherryLeaves")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        apricotLeaves = register(r, new BlockApricotLeaves("apricot_leaves", "apricotLeaves")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        pearLeaves = register(r, new BlockPearLeaves("pear_leaves", "pearLeaves")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        plumLeaves = register(r, new BlockPlumLeaves("plum_leaves", "plumLeaves")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        cherryLeaves = register(r, createLeaves("cherry_leaves")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        apricotLeaves = register(r, createLeaves("apricot_leaves")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        pearLeaves = register(r, createLeaves("pear_leaves")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        plumLeaves = register(r, createLeaves("plum_leaves")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // saplings 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        cherrySapling = register(r, new BlockSapling("cherry_sapling", "cherrySapling", BlockPlanks.EnumType.OAK, cherryLeaves)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        apricotSapling = register(r, new BlockSapling("apricot_sapling", "apricotSapling", BlockPlanks.EnumType.OAK, apricotLeaves)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        pearSapling = register(r, new BlockSapling("pear_sapling", "pearSapling", BlockPlanks.EnumType.OAK, pearLeaves)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        plumSapling = register(r, new BlockSapling("plum_sapling", "plumSapling", BlockPlanks.EnumType.OAK, plumLeaves)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        cherrySapling = register(r, createSapling("cherry_sapling", Blocks.OAK_LOG.getDefaultState(), cherryLeaves.getDefaultState())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        apricotSapling = register(r, createSapling("apricot_sapling", Blocks.OAK_LOG.getDefaultState(), apricotLeaves.getDefaultState())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        pearSapling = register(r, createSapling("pear_sapling", Blocks.OAK_LOG.getDefaultState(), pearLeaves.getDefaultState())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        plumSapling = register(r, createSapling("plum_sapling", Blocks.OAK_LOG.getDefaultState(), plumLeaves.getDefaultState())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public static void initItemBlocks(IForgeRegistry<Item> r)  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // ores + blocks 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        register(r, copperOre, getItemBlock(copperOre)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        register(r, copperBlock, getItemBlock(copperBlock)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        register(r, copperOre, getItemBlock(copperOre, ItemGroup.BUILDING_BLOCKS)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        register(r, copperBlock, getItemBlock(copperBlock, ItemGroup.BUILDING_BLOCKS)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        register(r, tinOre, getItemBlock(tinOre)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        register(r, tinBlock, getItemBlock(tinBlock)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        register(r, tinOre, getItemBlock(tinOre, ItemGroup.BUILDING_BLOCKS)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        register(r, tinBlock, getItemBlock(tinBlock, ItemGroup.BUILDING_BLOCKS)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        register(r, bronzeBlock, getItemBlock(bronzeBlock)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        register(r, bronzeBlock, getItemBlock(bronzeBlock, ItemGroup.BUILDING_BLOCKS)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        register(r, silverOre, getItemBlock(silverOre)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        register(r, silverBlock, getItemBlock(silverBlock)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        register(r, silverOre, getItemBlock(silverOre, ItemGroup.BUILDING_BLOCKS)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        register(r, silverBlock, getItemBlock(silverBlock, ItemGroup.BUILDING_BLOCKS)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // misc 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        register(r, guildblock, getItemBlock(guildblock)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        register(r, artefact, getItemBlock(artefact)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-         
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        register(r, realHayBlock, getItemBlock(realHayBlock)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        register(r, guildblock, getItemBlock(guildblock, ItemGroup.BUILDING_BLOCKS)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        register(r, artefact, getItemBlock(artefact, ItemGroup.BUILDING_BLOCKS)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        register(r, crateAcacia, getItemBlock(crateAcacia)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        register(r, crateBigOak, getItemBlock(crateBigOak)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        register(r, crateBirch, getItemBlock(crateBirch)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        register(r, crateJungle, getItemBlock(crateJungle)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        register(r, crateOak, getItemBlock(crateOak)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        register(r, crateSpruce, getItemBlock(crateSpruce)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        register(r, realHayBlock, getItemBlock(realHayBlock, ItemGroup.BUILDING_BLOCKS)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        register(r, cookingPotCopper, getItemBlock(cookingPotCopper)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        register(r, crateAcacia, getItemBlock(crateAcacia, ItemGroup.DECORATIONS)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        register(r, crateBigOak, getItemBlock(crateBigOak, ItemGroup.DECORATIONS)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        register(r, crateBirch, getItemBlock(crateBirch, ItemGroup.DECORATIONS)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        register(r, crateJungle, getItemBlock(crateJungle, ItemGroup.DECORATIONS)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        register(r, crateOak, getItemBlock(crateOak, ItemGroup.DECORATIONS)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        register(r, crateSpruce, getItemBlock(crateSpruce, ItemGroup.DECORATIONS)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        register(r, barrel, getItemBlock(barrel)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        register(r, cookingPotCopper, getItemBlock(cookingPotCopper, ItemGroup.BREWING)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        register(r, lantern, getItemBlock(lantern)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        register(r, tallGrass, getItemBlock(tallGrass)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        register(r, lantern, getItemBlock(lantern, ItemGroup.DECORATIONS)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        register(r, tallGrass, getItemBlock(tallGrass, ItemGroup.DECORATIONS)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // traps 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        register(r, spikes, getItemMetal(spikes)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        register(r, spikesCopper, getItemBlock(spikesCopper, ItemGroup.DECORATIONS)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        register(r, spikesBronze, getItemBlock(spikesBronze, ItemGroup.DECORATIONS)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        register(r, spikesGold, getItemBlock(spikesGold, ItemGroup.DECORATIONS)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        register(r, spikesIron, getItemBlock(spikesIron, ItemGroup.DECORATIONS)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // fluids 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        register(r, poison, getItemBlock(poison)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        register(r, honey, getItemBlock(honey)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        register(r, poison, getItemBlock(poison, ItemGroup.BUILDING_BLOCKS)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        register(r, honey, getItemBlock(honey, ItemGroup.BUILDING_BLOCKS)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // slabs 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        register(r, gravelSlab, getItemBlock(gravelSlab)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        register(r, gravelSlab, getItemBlock(gravelSlab, ItemGroup.BUILDING_BLOCKS)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // leaves 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        register(r, cherryLeaves, getItemBlock(cherryLeaves)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        register(r, apricotLeaves, getItemBlock(apricotLeaves)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        register(r, pearLeaves, getItemBlock(pearLeaves)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        register(r, plumLeaves, getItemBlock(plumLeaves)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        register(r, cherryLeaves, getItemBlock(cherryLeaves, ItemGroup.BUILDING_BLOCKS)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        register(r, apricotLeaves, getItemBlock(apricotLeaves, ItemGroup.BUILDING_BLOCKS)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        register(r, pearLeaves, getItemBlock(pearLeaves, ItemGroup.BUILDING_BLOCKS)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        register(r, plumLeaves, getItemBlock(plumLeaves, ItemGroup.BUILDING_BLOCKS)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // saplings 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        register(r, cherrySapling, getItemBlock(cherrySapling)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        register(r, apricotSapling, getItemBlock(apricotSapling)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        register(r, pearSapling, getItemBlock(pearSapling)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        register(r, plumSapling, getItemBlock(plumSapling)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        register(r, cherrySapling, getItemBlock(cherrySapling, ItemGroup.BUILDING_BLOCKS)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        register(r, apricotSapling, getItemBlock(apricotSapling, ItemGroup.BUILDING_BLOCKS)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        register(r, pearSapling, getItemBlock(pearSapling, ItemGroup.BUILDING_BLOCKS)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        register(r, plumSapling, getItemBlock(plumSapling, ItemGroup.BUILDING_BLOCKS)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private static void register(IForgeRegistry<Item> r, Block block, Item itemBlock)  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         r.register(itemBlock); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if(block instanceof IBlockBase)  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            ((IBlockBase) block).registerItemModel(itemBlock); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if(block instanceof BlockFluidBase)  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            ((BlockFluidBase) block).registerBlockModel(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private static <T extends Block> T register(IForgeRegistry<Block> r, T block)  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static Block register(IForgeRegistry<Block> r, Block block)  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         r.register(block); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return block; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private static ItemBlock getItemBlock(Block block)  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        ItemBlock itemBlock = new ItemBlock(block); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        itemBlock.setRegistryName(block.getRegistryName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return itemBlock; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private static ItemMetal getItemMetal(Block block)  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static BlockItem getItemBlock(Block block, ItemGroup group)  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        ItemMetal itemBlock = new ItemMetal(block); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        BlockItem itemBlock = new BlockItem(block, new Item.Properties().group(group)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         itemBlock.setRegistryName(block.getRegistryName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return itemBlock; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 |