001package net.minecraft.item; 002 003import cpw.mods.fml.relauncher.Side; 004import cpw.mods.fml.relauncher.SideOnly; 005import net.minecraft.block.material.Material; 006import net.minecraft.client.renderer.texture.IconRegister; 007import net.minecraft.creativetab.CreativeTabs; 008import net.minecraft.entity.player.EntityPlayer; 009import net.minecraft.util.EnumMovingObjectType; 010import net.minecraft.util.Icon; 011import net.minecraft.util.MovingObjectPosition; 012import net.minecraft.world.World; 013 014public class ItemGlassBottle extends Item 015{ 016 public ItemGlassBottle(int par1) 017 { 018 super(par1); 019 this.setCreativeTab(CreativeTabs.tabBrewing); 020 } 021 022 @SideOnly(Side.CLIENT) 023 024 /** 025 * Gets an icon index based on an item's damage value 026 */ 027 public Icon getIconFromDamage(int par1) 028 { 029 return Item.potion.getIconFromDamage(0); 030 } 031 032 /** 033 * Called whenever this item is equipped and the right mouse button is pressed. Args: itemStack, world, entityPlayer 034 */ 035 public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) 036 { 037 MovingObjectPosition movingobjectposition = this.getMovingObjectPositionFromPlayer(par2World, par3EntityPlayer, true); 038 039 if (movingobjectposition == null) 040 { 041 return par1ItemStack; 042 } 043 else 044 { 045 if (movingobjectposition.typeOfHit == EnumMovingObjectType.TILE) 046 { 047 int i = movingobjectposition.blockX; 048 int j = movingobjectposition.blockY; 049 int k = movingobjectposition.blockZ; 050 051 if (!par2World.canMineBlock(par3EntityPlayer, i, j, k)) 052 { 053 return par1ItemStack; 054 } 055 056 if (!par3EntityPlayer.canPlayerEdit(i, j, k, movingobjectposition.sideHit, par1ItemStack)) 057 { 058 return par1ItemStack; 059 } 060 061 if (par2World.getBlockMaterial(i, j, k) == Material.water) 062 { 063 --par1ItemStack.stackSize; 064 065 if (par1ItemStack.stackSize <= 0) 066 { 067 return new ItemStack(Item.potion); 068 } 069 070 if (!par3EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Item.potion))) 071 { 072 par3EntityPlayer.dropPlayerItem(new ItemStack(Item.potion.itemID, 1, 0)); 073 } 074 } 075 } 076 077 return par1ItemStack; 078 } 079 } 080 081 @SideOnly(Side.CLIENT) 082 public void func_94581_a(IconRegister par1IconRegister) {} 083}