001 package net.minecraft.item;
002
003 import net.minecraft.block.Block;
004 import net.minecraft.creativetab.CreativeTabs;
005 import net.minecraft.entity.player.EntityPlayer;
006 import net.minecraft.world.World;
007
008 public 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.setBlockWithNotify(par4, par5, par6, Block.redstoneWire.blockID);
070 }
071
072 return true;
073 }
074 }
075 }