public boolean handlePlayerInteraction(EntityHuman entityhuman) { if (super.handlePlayerInteraction(entityhuman)) { return true; } ItemStack itemStack = entityhuman.inventory.getItemInHand(); if (getOwner().equals(entityhuman) && itemStack != null && canUseItem()) { if (getMyPet().isOnFire() && itemStack.getItem() == Items.GLASS_BOTTLE && itemStack.getData() == 0 && getOwner().getPlayer().isSneaking()) { getMyPet().setOnFire(false); makeSound("random.fizz", 1.0F, 1.0F); if (!entityhuman.abilities.canInstantlyBuild) { if (--itemStack.count <= 0) { entityhuman.inventory.setItem( entityhuman.inventory.itemInHandIndex, new ItemStack(Items.GLASS_BOTTLE)); } else { if (!entityhuman.inventory.pickup(new ItemStack(Items.GLASS_BOTTLE))) { entityhuman.drop(new ItemStack(Items.GLASS_BOTTLE), true); } } } return true; } else if (!getMyPet().isOnFire() && itemStack.getItem() == Items.FLINT_AND_STEEL && getOwner().getPlayer().isSneaking()) { getMyPet().setOnFire(true); makeSound("fire.ignite", 1.0F, 1.0F); if (!entityhuman.abilities.canInstantlyBuild) { itemStack.damage(1, entityhuman); } return true; } } return false; }