WitherDoggie

WoodWall3

May 21st, 2016
233
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.88 KB | None | 0 0
  1. package com.wither.withermod.blocks;
  2.  
  3. import java.util.List;
  4.  
  5. import com.wither.withermod.creativetabs.ModCreativeTabs;
  6. import net.minecraft.block.Block;
  7. import net.minecraft.block.BlockPane;
  8. import net.minecraft.block.material.Material;
  9. import net.minecraft.block.properties.IProperty;
  10. import net.minecraft.block.properties.PropertyEnum;
  11. import net.minecraft.block.state.BlockState;
  12. import net.minecraft.block.state.IBlockState;
  13. import net.minecraft.creativetab.CreativeTabs;
  14. import net.minecraft.item.Item;
  15. import net.minecraft.item.ItemStack;
  16. import net.minecraft.util.BlockPos;
  17. import net.minecraft.util.IStringSerializable;
  18. import net.minecraft.util.MovingObjectPosition;
  19. import net.minecraft.world.World;
  20.  
  21.  
  22. public class WoodWall extends BlockPane implements IMetaBlockName{
  23.    
  24.     public static final PropertyEnum TYPE = PropertyEnum.create("type", WoodWall.WoodType.class);
  25.    
  26.     public WoodWall(Material wood, String name, float hardness, float resistance){
  27.        
  28.         super(Material.wood, false);
  29.        
  30.         this.setUnlocalizedName(name);
  31.         this.setHardness(hardness);
  32.         this.setResistance(resistance);
  33.         this.setCreativeTab(ModCreativeTabs.modCreativeTabBlocks);
  34.         this.setDefaultState(this.blockState.getBaseState().withProperty(TYPE, WoodType.DARK_OAK));
  35.     }
  36.    
  37.     @Override
  38.     public ItemStack getPickBlock(MovingObjectPosition target, World world, BlockPos pos) {
  39.        
  40.         return new ItemStack(Item.getItemFromBlock(this), 1, this.getMetaFromState(world.getBlockState(pos)));
  41.     }
  42.    
  43.     @Override
  44.     public String getSpecialName(ItemStack stack) {
  45.        
  46.         if (stack.getItemDamage() == 0)
  47.             return "oak";
  48.        
  49.         else if (stack.getItemDamage() == 1)
  50.             return "spruce";
  51.        
  52.         else if (stack.getItemDamage() == 2)
  53.             return "birch";
  54.        
  55.         else if (stack.getItemDamage() == 3)
  56.             return "jungle";
  57.        
  58.         else if (stack.getItemDamage() == 4)
  59.             return "acacia";
  60.        
  61.         else if (stack.getItemDamage() == 5)
  62.             return "dark_oak";
  63.        
  64.         return null;
  65.        
  66.        
  67.        
  68.     }
  69.    
  70.     @Override
  71.     protected BlockState createBlockState() {
  72.        
  73.         return new BlockState(this, new IProperty[] { TYPE });
  74.     }  
  75.    
  76.     @Override
  77.     public IBlockState getStateFromMeta(int meta) {
  78.        
  79.         switch (meta){
  80.        
  81.         case 0:
  82.         return getDefaultState().withProperty(TYPE, WoodType.OAK);
  83.        
  84.        
  85.         case 1:
  86.         return getDefaultState().withProperty(TYPE, WoodType.SPRUCE);
  87.        
  88.        
  89.         case 2:
  90.         return getDefaultState().withProperty(TYPE, WoodType.BIRCH);
  91.        
  92.        
  93.         case 3:
  94.         return getDefaultState().withProperty(TYPE,  WoodType.JUNGLE);
  95.        
  96.        
  97.         case 4:
  98.         return getDefaultState().withProperty(TYPE,  WoodType.ACACIA);
  99.        
  100.         default:
  101.         return getDefaultState().withProperty(TYPE, WoodType.DARK_OAK);
  102.         }
  103.     }
  104.  
  105.     @Override
  106.     public int getMetaFromState(IBlockState state) {
  107.        
  108.         WoodType type = (WoodType) state.getValue(TYPE);
  109.         return type.getMeta();
  110.     }
  111.    
  112.     @Override
  113.     public int damageDropped(IBlockState state) {
  114.         return getMetaFromState(state);
  115.     }
  116.    
  117.     @Override
  118.     public void getSubBlocks(Item itemIn, CreativeTabs tab, List list) {
  119.         list.add(new ItemStack(itemIn, 1, 0)); //Meta 0
  120.         list.add(new ItemStack(itemIn, 1, 1)); //Meta 1
  121.         list.add(new ItemStack(itemIn, 1, 2)); //Meta 2
  122.         list.add(new ItemStack(itemIn, 1, 3)); //Meta 3
  123.         list.add(new ItemStack(itemIn, 1, 4)); //Meta 4
  124.         list.add(new ItemStack(itemIn, 1, 5)); //Meta 5
  125.     }
  126.    
  127.     public static enum WoodType implements IStringSerializable{
  128.        
  129.         OAK(0, "oak"),
  130.         SPRUCE(1, "spruce"),
  131.         BIRCH(2, "birch"),
  132.         JUNGLE(3, "jungle"),
  133.         ACACIA(4, "acacia"),
  134.         DARK_OAK(5, "dark_oak");
  135.    
  136.         private int meta;
  137.         private String name;
  138.        
  139.         private WoodType(int meta, String name){
  140.            
  141.             this.meta = meta;
  142.             this.name = name;
  143.         }
  144.  
  145.         @Override
  146.         public String getName() {
  147.            
  148.             return name;
  149.         }
  150.        
  151.         public int getMeta(){
  152.            
  153.             return meta;
  154.         }
  155.        
  156.         @Override
  157.         public String toString(){
  158.            
  159.             return getName();
  160.         }
  161.        
  162.        
  163.     }
  164. }
Add Comment
Please, Sign In to add comment