package biomesoplenty.blocks;

import java.util.List;
import java.util.Random;

import biomesoplenty.BiomesOPlenty;
import biomesoplenty.configuration.BOPBlocks;

import net.minecraft.block.BlockHalfSlab;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;

@Deprecated
public class BlockCherrySlab extends BlockHalfSlab
{
    /** The type of tree this slab came from. */
    public static final String[] woodType = new String[] {"cherry"};

    public BlockCherrySlab(int par1, boolean par2)
    {
        super(par1, par2, Material.wood);
        this.setCreativeTab(BiomesOPlenty.tabBiomesOPlenty);
		this.setBurnProperties(this.blockID, 5, 20);
		this.useNeighborBrightness[blockID] = true;
    }
    
	@Override
	public void registerIcons(IconRegister par1IconRegister)
	{
		this.blockIcon = par1IconRegister.registerIcon("BiomesOPlenty:cherryplank");
	}
	
    /**
     * From the specified side and block metadata retrieves the blocks texture. Args: side, metadata
     */
    /*public int getBlockTextureFromSideAndMetadata(int par1, int par2)
    {
        switch (par2 & 7)
        {
            case 1:
                return 198;

            case 2:
                return 214;

            case 3:
                return 199;

            default:
                return 36;
        }
    }*/

    /**
     * Returns the block texture based on the side being looked at.  Args: side
     */
    /*public int getBlockTextureFromSide(int par1)
    {
        return this.getBlockTextureFromSideAndMetadata(par1, 0);
    }*/

    /**
     * Returns the ID of the items to drop on destruction.
     */
    public int idDropped(int par1, Random par2Random, int par3)
    {
        return BOPBlocks.cherrySingleSlab.blockID;
    }

    /**
     * Returns an item stack containing a single instance of the current block type. 'i' is the block's subtype/damage
     * and is ignored for blocks which do not support subtypes. Blocks which cannot be harvested should return null.
     */
    protected ItemStack createStackedBlock(int par1)
    {
        return new ItemStack(BOPBlocks.cherrySingleSlab.blockID, 2, par1 & 7);
    }
    
    /**
     * Called upon block activation (right click on the block.)
     */
//    public boolean onBlockActivated(World world, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9)
//    {
//    	if (par5EntityPlayer.getCurrentEquippedItem() != null)
//    	{
//    		if (par5EntityPlayer.getCurrentEquippedItem().itemID == this.blockID)
//    		{
//
//    			if (world.getBlockMetadata(par2, par3, par4) == 0 /*0 = Slab at bottom half*/ )
//    			{
//    				if (par6 == 1 /*1 = top of the block*/)
//    				{
//    					if (!par5EntityPlayer.capabilities.isCreativeMode)
//    					{
//    						--par5EntityPlayer.getCurrentEquippedItem().stackSize;
//    					}
//
//    					world.playSoundEffect((double)((float)par2 + 0.5F), (double)((float)par3 + 0.5F), (double)((float)par4 + 0.5F), this.stepSound.getPlaceSound(), (this.stepSound.getVolume() + 1.0F) / 2.0F, this.stepSound.getPitch() * 0.8F);
//    					world.setBlock(par2, par3, par4, BOPBlocks.cherryDoubleSlab.blockID);
//
//    					return true;
//    				}
//    			}
//
//    			if (world.getBlockMetadata(par2, par3, par4) == 8 /*8 = Slab at top half*/ )
//    			{
//    				if (par6 == 0 /*0 = bottom of the block*/)
//    				{
//    					if (!par5EntityPlayer.capabilities.isCreativeMode)
//    					{
//    						--par5EntityPlayer.getCurrentEquippedItem().stackSize;
//    					}
//
//    					world.playSoundEffect((double)((float)par2 + 0.5F), (double)((float)par3 + 0.5F), (double)((float)par4 + 0.5F), this.stepSound.getPlaceSound(), (this.stepSound.getVolume() + 1.0F) / 2.0F, this.stepSound.getPitch() * 0.8F);
//    					world.setBlock(par2, par3, par4, BOPBlocks.cherryDoubleSlab.blockID);
//
//    					return true;
//    				}
//    			}
//    		}
//    		return false;
//    	}
//    	return false;
//    }

    /**
     * Returns the slab block name with step type.
     */
    public String getFullSlabName(int par1)
    {
        if (par1 < 0 || par1 >= woodType.length)
        {
            par1 = 0;
        }

        return super.getUnlocalizedName() + "." + woodType[par1];
    }
	
    /**
     * returns a list of blocks with the same ID, but different meta (eg: wood returns 4 blocks)
     */
    public void getSubBlocks(int par1, CreativeTabs par2CreativeTabs, List par3List)
    {
        if (par1 != BOPBlocks.cherryDoubleSlab.blockID)
        {
            par3List.add(new ItemStack(par1, 1, 0));
        }
    }
	
    /**
     * only called by clickMiddleMouseButton , and passed to inventory.setCurrentItem (along with isCreative)
     */
    public int idPicked(World par1World, int par2, int par3, int par4)
    {
        return BOPBlocks.cherrySingleSlab.blockID;
    }
}
