package net.minecraft.world.item;

import net.minecraft.stats.Stat;
import net.minecraft.stats.Stats;
import net.minecraft.world.entity.Entity;
import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.entity.projectile.ThrownEnderpearl;
import net.minecraft.sounds.SoundSource;
import net.minecraft.sounds.SoundEvents;
import net.minecraft.world.InteractionResultHolder;
import net.minecraft.world.InteractionHand;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.level.Level;

public class EnderpearlItem extends Item {
    public EnderpearlItem(final Properties a) {
        super(a);
    }
    
    @Override
    public InteractionResultHolder<ItemStack> use(final Level bqb, final Player bec, final InteractionHand anf) {
        final ItemStack bki5 = bec.getItemInHand(anf);
        bqb.playSound(null, bec.getX(), bec.getY(), bec.getZ(), SoundEvents.ENDER_PEARL_THROW, SoundSource.NEUTRAL, 0.5f, 0.4f / (EnderpearlItem.random.nextFloat() * 0.4f + 0.8f));
        bec.getCooldowns().addCooldown(this, 20);
        if (!bqb.isClientSide) {
            final ThrownEnderpearl bfb6 = new ThrownEnderpearl(bqb, bec);
            bfb6.setItem(bki5);
            bfb6.shootFromRotation(bec, bec.xRot, bec.yRot, 0.0f, 1.5f, 1.0f);
            bqb.addFreshEntity(bfb6);
        }
        bec.awardStat(Stats.ITEM_USED.get(this));
        if (!bec.abilities.instabuild) {
            bki5.shrink(1);
        }
        return InteractionResultHolder.<ItemStack>sidedSuccess(bki5, bqb.isClientSide());
    }
}
