Advertisement
WitherDoggie

WoodWall2

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