001 package net.minecraft.item; 002 003 import net.minecraft.block.material.Material; 004 import net.minecraft.creativetab.CreativeTabs; 005 import net.minecraft.entity.player.EntityPlayer; 006 import net.minecraft.util.EnumMovingObjectType; 007 import net.minecraft.util.MovingObjectPosition; 008 import net.minecraft.world.World; 009 010 public class ItemGlassBottle extends Item 011 { 012 public ItemGlassBottle(int par1) 013 { 014 super(par1); 015 this.setCreativeTab(CreativeTabs.tabBrewing); 016 } 017 018 /** 019 * Called whenever this item is equipped and the right mouse button is pressed. Args: itemStack, world, entityPlayer 020 */ 021 public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) 022 { 023 MovingObjectPosition var4 = this.getMovingObjectPositionFromPlayer(par2World, par3EntityPlayer, true); 024 025 if (var4 == null) 026 { 027 return par1ItemStack; 028 } 029 else 030 { 031 if (var4.typeOfHit == EnumMovingObjectType.TILE) 032 { 033 int var5 = var4.blockX; 034 int var6 = var4.blockY; 035 int var7 = var4.blockZ; 036 037 if (!par2World.canMineBlock(par3EntityPlayer, var5, var6, var7)) 038 { 039 return par1ItemStack; 040 } 041 042 if (!par3EntityPlayer.canPlayerEdit(var5, var6, var7, var4.sideHit, par1ItemStack)) 043 { 044 return par1ItemStack; 045 } 046 047 if (par2World.getBlockMaterial(var5, var6, var7) == Material.water) 048 { 049 --par1ItemStack.stackSize; 050 051 if (par1ItemStack.stackSize <= 0) 052 { 053 return new ItemStack(Item.potion); 054 } 055 056 if (!par3EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Item.potion))) 057 { 058 par3EntityPlayer.dropPlayerItem(new ItemStack(Item.potion.itemID, 1, 0)); 059 } 060 } 061 } 062 063 return par1ItemStack; 064 } 065 } 066 }