Advertisement
Guest User

Untitled

a guest
Jan 27th, 2015
223
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.29 KB | None | 0 0
  1. package com.wuppy.peacefulpackmod.block;
  2.  
  3. import java.util.List;
  4.  
  5. import net.minecraft.block.Block;
  6. import net.minecraft.block.material.Material;
  7. import net.minecraft.block.properties.IProperty;
  8. import net.minecraft.block.properties.PropertyEnum;
  9. import net.minecraft.block.state.BlockState;
  10. import net.minecraft.block.state.IBlockState;
  11. import net.minecraft.client.Minecraft;
  12. import net.minecraft.client.renderer.entity.RenderItem;
  13. import net.minecraft.client.resources.model.ModelBakery;
  14. import net.minecraft.client.resources.model.ModelResourceLocation;
  15. import net.minecraft.creativetab.CreativeTabs;
  16. import net.minecraft.item.Item;
  17. import net.minecraft.item.ItemStack;
  18. import net.minecraft.util.IStringSerializable;
  19. import net.minecraftforge.fml.common.registry.GameRegistry;
  20. import net.minecraftforge.fml.relauncher.Side;
  21. import net.minecraftforge.fml.relauncher.SideOnly;
  22.  
  23. import com.wuppy.peacefulpackmod.PeacefulPack;
  24. import com.wuppy.peacefulpackmod.item.ItemPeacefulOresblock;
  25.  
  26. public class BlockPeacefulOres extends Block
  27. {
  28.     public static final PropertyEnum VARIANT = PropertyEnum.create("variant", BlockPeacefulOres.OreType.class);
  29.    
  30.     private final String name = "oreBlock";
  31.    
  32.     public BlockPeacefulOres()
  33.     {
  34.         super(Material.rock);
  35.         GameRegistry.registerBlock(this, ItemPeacefulOresblock.class, name);
  36.         setUnlocalizedName(PeacefulPack.modid + "_" + name);
  37.        
  38.         setStepSound(soundTypeStone);
  39.         setHardness(3F);
  40.         setResistance(1.0F);
  41.        
  42.         setCreativeTab(PeacefulPack.ppBlocksTab);
  43.     }
  44.    
  45.     public String getName()
  46.     {
  47.         return name;
  48.     }
  49.  
  50.     @Override
  51.     public IBlockState getStateFromMeta(int meta)
  52.     {
  53.         return this.getDefaultState().withProperty(VARIANT, BlockPeacefulOres.OreType.byMetadata(meta));
  54.     }
  55.  
  56.     @Override
  57.     public int getMetaFromState(IBlockState state)
  58.     {
  59.         return ((BlockPeacefulOres.OreType)state.getValue(VARIANT)).getMetadata();
  60.     }
  61.    
  62.     @Override
  63.     protected BlockState createBlockState()
  64.     {
  65.         return new BlockState(this, new IProperty[] {VARIANT});
  66.     }
  67.  
  68.     @SuppressWarnings({ "unchecked", "rawtypes" })
  69.     @SideOnly(Side.CLIENT)
  70.     @Override
  71.     public void getSubBlocks(Item par1, CreativeTabs par2CreativeTabs, List par3List)
  72.     {
  73.         for (int var4 = 0; var4 < BlockPeacefulOres.OreType.getValues(); ++var4)
  74.         {
  75.             par3List.add(new ItemStack(par1, 1, var4));
  76.         }
  77.     }
  78.    
  79.     public static enum OreType implements IStringSerializable
  80.     {
  81.         SULPHER(0, "sulphur"),
  82.         NITER(1, "niter"),
  83.         FOSSIL1(2, "fossil1"),
  84.         FOSSIL2(3, "fossil2"),
  85.         FOSSIL3(4, "fossil3");
  86.        
  87.         private final int metadata;
  88.         private final String name;
  89.        
  90.         //private static final BlockPeacefulOres.OreType[] ORE_TYPES = new BlockPeacefulOres.OreType[values().length];
  91.        
  92.         private OreType(int metadata, String name)
  93.         {
  94.             this.metadata = metadata;
  95.             this.name = name;
  96.         }
  97.  
  98.         public int getMetadata()
  99.         {
  100.             return this.metadata;
  101.         }
  102.        
  103.         @Override
  104.         public String getName()
  105.         {
  106.             return name;
  107.         }
  108.        
  109.         public static BlockPeacefulOres.OreType byMetadata(int metadata)
  110.         {
  111.             if (metadata < 0 || metadata >= values().length)
  112.             {
  113.                 metadata = 0;
  114.             }
  115.  
  116.             return values()[metadata];
  117.         }
  118.        
  119.         public static int getValues()
  120.         {
  121.             return values().length;
  122.         }
  123.        
  124.         static
  125.         {
  126.             BlockPeacefulOres.OreType[] values = values();
  127.             int length = values.length;
  128.  
  129.             for (int i = 0; i < length; ++i)
  130.             {
  131.                 BlockPeacefulOres.OreType type = values[i];
  132.                 values()[type.getMetadata()] = type;
  133.             }
  134.         }
  135.        
  136.         public static void registerVariants()
  137.         {
  138.             String[] variants = new String[values().length];
  139.            
  140.             for(int i = 0; i < values().length; i++)
  141.             {
  142.                 variants[i] = PeacefulPack.modid + ":" + values()[i].name;
  143.             }
  144.            
  145.             ModelBakery.addVariantName(Item.getItemFromBlock(ModBlocks.oreBlock), variants);
  146.         }
  147.        
  148.         public static void registerRenders()
  149.         {
  150.             RenderItem renderItem = Minecraft.getMinecraft().getRenderItem();
  151.            
  152.             for(int i = 0; i < values().length; i++)
  153.             {
  154.                 renderItem.getItemModelMesher().register(Item.getItemFromBlock(ModBlocks.oreBlock), i, new ModelResourceLocation(PeacefulPack.modid + ":" + values()[i].name, "inventory"));
  155.             }
  156.         }
  157.     }
  158. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement