package com.insane.illuminatedbows.items; import java.util.List; import com.insane.illuminatedbows.blocks.IlluminatedBlocks; import cpw.mods.fml.common.eventhandler.Event.Result; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.item.ItemHoe; import net.minecraft.item.ItemStack; import net.minecraft.util.StatCollector; import net.minecraft.world.World; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.entity.player.UseHoeEvent; public class ItemIlluminatedPotathoe extends ItemHoe { public ItemIlluminatedPotathoe() { super(ToolMaterial.EMERALD); this.setUnlocalizedName("illuminatedPotathoe"); this.setMaxDamage(80); } @Override public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean par4) { list.add(StatCollector.translateToLocal("potathoe.tooltip")); } @SideOnly(Side.CLIENT) @Override public void registerIcons(IIconRegister par1IconRegister) { this.itemIcon = par1IconRegister.registerIcon("illuminatedbows:illuminatedpotathoe"); } //100% "borrowed" from vanilla @Override public boolean onItemUse(ItemStack p_77648_1_, EntityPlayer p_77648_2_, World p_77648_3_, int p_77648_4_, int p_77648_5_, int p_77648_6_, int p_77648_7_, float p_77648_8_, float p_77648_9_, float p_77648_10_) { if (!p_77648_2_.canPlayerEdit(p_77648_4_, p_77648_5_, p_77648_6_, p_77648_7_, p_77648_1_)) { return false; } else { UseHoeEvent event = new UseHoeEvent(p_77648_2_, p_77648_1_, p_77648_3_, p_77648_4_, p_77648_5_, p_77648_6_); if (MinecraftForge.EVENT_BUS.post(event)) { return false; } if (event.getResult() == Result.ALLOW) { p_77648_1_.damageItem(1, p_77648_2_); return true; } Block block = p_77648_3_.getBlock(p_77648_4_, p_77648_5_, p_77648_6_); if (p_77648_7_ != 0 && p_77648_3_.getBlock(p_77648_4_, p_77648_5_ + 1, p_77648_6_).isAir(p_77648_3_, p_77648_4_, p_77648_5_ + 1, p_77648_6_) && (block == Blocks.grass || block == Blocks.dirt)) { Block block1 = IlluminatedBlocks.illuminatedFarmland; p_77648_3_.playSoundEffect((double)((float)p_77648_4_ + 0.5F), (double)((float)p_77648_5_ + 0.5F), (double)((float)p_77648_6_ + 0.5F), block1.stepSound.getStepResourcePath(), (block1.stepSound.getVolume() + 1.0F) / 2.0F, block1.stepSound.getPitch() * 0.8F); if (p_77648_3_.isRemote) { return true; } else { p_77648_3_.setBlock(p_77648_4_, p_77648_5_, p_77648_6_, block1); p_77648_1_.damageItem(1, p_77648_2_); return true; } } else { return false; } } } }