001package net.minecraft.block;
002
003import cpw.mods.fml.relauncher.Side;
004import cpw.mods.fml.relauncher.SideOnly;
005import java.util.List;
006import java.util.Random;
007import net.minecraft.block.material.Material;
008import net.minecraft.client.renderer.texture.IconRegister;
009import net.minecraft.creativetab.CreativeTabs;
010import net.minecraft.item.ItemStack;
011import net.minecraft.util.Icon;
012
013public class BlockWoodSlab extends BlockHalfSlab
014{
015    /** The type of tree this slab came from. */
016    public static final String[] woodType = new String[] {"oak", "spruce", "birch", "jungle"};
017
018    public BlockWoodSlab(int par1, boolean par2)
019    {
020        super(par1, par2, Material.wood);
021        this.setCreativeTab(CreativeTabs.tabBlock);
022    }
023
024    @SideOnly(Side.CLIENT)
025
026    /**
027     * From the specified side and block metadata retrieves the blocks texture. Args: side, metadata
028     */
029    public Icon getBlockTextureFromSideAndMetadata(int par1, int par2)
030    {
031        return Block.planks.getBlockTextureFromSideAndMetadata(par1, par2 & 7);
032    }
033
034    /**
035     * Returns the ID of the items to drop on destruction.
036     */
037    public int idDropped(int par1, Random par2Random, int par3)
038    {
039        return Block.woodSingleSlab.blockID;
040    }
041
042    /**
043     * Returns an item stack containing a single instance of the current block type. 'i' is the block's subtype/damage
044     * and is ignored for blocks which do not support subtypes. Blocks which cannot be harvested should return null.
045     */
046    protected ItemStack createStackedBlock(int par1)
047    {
048        return new ItemStack(Block.woodSingleSlab.blockID, 2, par1 & 7);
049    }
050
051    /**
052     * Returns the slab block name with step type.
053     */
054    public String getFullSlabName(int par1)
055    {
056        if (par1 < 0 || par1 >= woodType.length)
057        {
058            par1 = 0;
059        }
060
061        return super.getUnlocalizedName() + "." + woodType[par1];
062    }
063
064    @SideOnly(Side.CLIENT)
065
066    /**
067     * returns a list of blocks with the same ID, but different meta (eg: wood returns 4 blocks)
068     */
069    public void getSubBlocks(int par1, CreativeTabs par2CreativeTabs, List par3List)
070    {
071        if (par1 != Block.woodDoubleSlab.blockID)
072        {
073            for (int j = 0; j < 4; ++j)
074            {
075                par3List.add(new ItemStack(par1, 1, j));
076            }
077        }
078    }
079
080    @SideOnly(Side.CLIENT)
081    public void func_94332_a(IconRegister par1IconRegister) {}
082}