Guest User

Untitled

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