Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.wither.withermod.blocks;
- import java.util.List;
- import com.wither.withermod.creativetabs.ModCreativeTabs;
- import net.minecraft.block.Block;
- import net.minecraft.block.BlockPane;
- import net.minecraft.block.material.Material;
- import net.minecraft.block.properties.IProperty;
- import net.minecraft.block.properties.PropertyEnum;
- import net.minecraft.block.state.BlockState;
- import net.minecraft.block.state.IBlockState;
- import net.minecraft.creativetab.CreativeTabs;
- import net.minecraft.item.Item;
- import net.minecraft.item.ItemStack;
- import net.minecraft.util.BlockPos;
- import net.minecraft.util.IStringSerializable;
- import net.minecraft.util.MovingObjectPosition;
- import net.minecraft.world.World;
- public class WoodWall extends BlockPane implements IMetaBlockName{
- public static final PropertyEnum TYPE = PropertyEnum.create("type", WoodWall.WoodType.class);
- public WoodWall(Material wood, String name, float hardness, float resistance){
- super(Material.wood, false);
- this.setUnlocalizedName(name);
- this.setHardness(hardness);
- this.setResistance(resistance);
- this.setCreativeTab(ModCreativeTabs.modCreativeTabBlocks);
- this.setDefaultState(this.blockState.getBaseState().withProperty(TYPE, WoodType.DARK_OAK));
- }
- @Override
- public ItemStack getPickBlock(MovingObjectPosition target, World world, BlockPos pos) {
- return new ItemStack(Item.getItemFromBlock(this), 1, this.getMetaFromState(world.getBlockState(pos)));
- }
- @Override
- public String getSpecialName(ItemStack stack) {
- if (stack.getItemDamage() == 0)
- return "oak";
- else if (stack.getItemDamage() == 1)
- return "spruce";
- else if (stack.getItemDamage() == 2)
- return "birch";
- else if (stack.getItemDamage() == 3)
- return "jungle";
- else if (stack.getItemDamage() == 4)
- return "acacia";
- else if (stack.getItemDamage() == 5)
- return "dark_oak";
- return null;
- }
- @Override
- protected BlockState createBlockState() {
- return new BlockState(this, new IProperty[] { TYPE });
- }
- @Override
- public IBlockState getStateFromMeta(int meta) {
- switch (meta){
- case 0:
- return getDefaultState().withProperty(TYPE, WoodType.OAK);
- case 1:
- return getDefaultState().withProperty(TYPE, WoodType.SPRUCE);
- case 2:
- return getDefaultState().withProperty(TYPE, WoodType.BIRCH);
- case 3:
- return getDefaultState().withProperty(TYPE, WoodType.JUNGLE);
- case 4:
- return getDefaultState().withProperty(TYPE, WoodType.ACACIA);
- default:
- return getDefaultState().withProperty(TYPE, WoodType.DARK_OAK);
- }
- }
- @Override
- public int getMetaFromState(IBlockState state) {
- WoodType type = (WoodType) state.getValue(TYPE);
- return type.getMeta();
- }
- @Override
- public int damageDropped(IBlockState state) {
- return getMetaFromState(state);
- }
- @Override
- public void getSubBlocks(Item itemIn, CreativeTabs tab, List list) {
- list.add(new ItemStack(itemIn, 1, 0)); //Meta 0
- list.add(new ItemStack(itemIn, 1, 1)); //Meta 1
- list.add(new ItemStack(itemIn, 1, 2)); //Meta 2
- list.add(new ItemStack(itemIn, 1, 3)); //Meta 3
- list.add(new ItemStack(itemIn, 1, 4)); //Meta 4
- list.add(new ItemStack(itemIn, 1, 5)); //Meta 5
- }
- public static enum WoodType implements IStringSerializable{
- OAK(0, "oak"),
- SPRUCE(1, "spruce"),
- BIRCH(2, "birch"),
- JUNGLE(3, "jungle"),
- ACACIA(4, "acacia"),
- DARK_OAK(5, "dark_oak");
- private int meta;
- private String name;
- private WoodType(int meta, String name){
- this.meta = meta;
- this.name = name;
- }
- @Override
- public String getName() {
- return name;
- }
- public int getMeta(){
- return meta;
- }
- @Override
- public String toString(){
- return getName();
- }
- }
- }
Add Comment
Please, Sign In to add comment