minecraft-source/src/net/minecraft/world/item/CarrotOnAStickItem.java

39 lines
1.5 KiB
Java

package net.minecraft.world.item;
import net.minecraft.stats.Stat;
import net.minecraft.stats.Stats;
import net.minecraft.world.level.ItemLike;
import net.minecraft.world.entity.animal.Pig;
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 CarrotOnAStickItem extends Item {
public CarrotOnAStickItem(final Properties a) {
super(a);
}
@Override
public InteractionResultHolder<ItemStack> use(final Level bjt, final Player ayg, final InteractionHand ajh) {
final ItemStack bek5 = ayg.getItemInHand(ajh);
if (bjt.isClientSide) {
return InteractionResultHolder.<ItemStack>pass(bek5);
}
if (ayg.isPassenger() && ayg.getVehicle() instanceof Pig) {
final Pig atn6 = (Pig)ayg.getVehicle();
if (bek5.getMaxDamage() - bek5.getDamageValue() >= 7 && atn6.boost()) {
bek5.<Player>hurtAndBreak(7, ayg, ayg -> ayg.broadcastBreakEvent(ajh));
if (bek5.isEmpty()) {
final ItemStack bek6 = new ItemStack(Items.FISHING_ROD);
bek6.setTag(bek5.getTag());
return InteractionResultHolder.<ItemStack>success(bek6);
}
return InteractionResultHolder.<ItemStack>success(bek5);
}
}
ayg.awardStat(Stats.ITEM_USED.get(this));
return InteractionResultHolder.<ItemStack>pass(bek5);
}
}