001package net.minecraft.item;
002
003import net.minecraft.block.Block;
004import net.minecraft.creativetab.CreativeTabs;
005import net.minecraft.entity.player.EntityPlayer;
006import net.minecraft.world.World;
007
008public class ItemRedstone extends Item
009{
010    public ItemRedstone(int par1)
011    {
012        super(par1);
013        this.setCreativeTab(CreativeTabs.tabRedstone);
014    }
015
016    /**
017     * Callback for item usage. If the item does something special on right clicking, he will have one of those. Return
018     * True if something happen and false if it don't. This is for ITEMS, not BLOCKS
019     */
020    public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10)
021    {
022        if (par3World.getBlockId(par4, par5, par6) != Block.snow.blockID)
023        {
024            if (par7 == 0)
025            {
026                --par5;
027            }
028
029            if (par7 == 1)
030            {
031                ++par5;
032            }
033
034            if (par7 == 2)
035            {
036                --par6;
037            }
038
039            if (par7 == 3)
040            {
041                ++par6;
042            }
043
044            if (par7 == 4)
045            {
046                --par4;
047            }
048
049            if (par7 == 5)
050            {
051                ++par4;
052            }
053
054            if (!par3World.isAirBlock(par4, par5, par6))
055            {
056                return false;
057            }
058        }
059
060        if (!par2EntityPlayer.canPlayerEdit(par4, par5, par6, par7, par1ItemStack))
061        {
062            return false;
063        }
064        else
065        {
066            if (Block.redstoneWire.canPlaceBlockAt(par3World, par4, par5, par6))
067            {
068                --par1ItemStack.stackSize;
069                par3World.setBlock(par4, par5, par6, Block.redstoneWire.blockID);
070            }
071
072            return true;
073        }
074    }
075}