Unicopia/src/main/java/com/minelittlepony/unicopia/item/PineappleItem.java

40 lines
1.4 KiB
Java

package com.minelittlepony.unicopia.item;
import com.minelittlepony.unicopia.AwaitTickQueue;
import com.minelittlepony.unicopia.USounds;
import com.minelittlepony.unicopia.UTags;
import com.minelittlepony.unicopia.util.RegistryUtils;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.effect.StatusEffectInstance;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.sound.SoundCategory;
import net.minecraft.world.World;
public class PineappleItem extends Item {
public PineappleItem(Settings settings) {
super(settings);
}
@Override
public ItemStack finishUsing(ItemStack stack, World world, LivingEntity user) {
if (isFood()) {
user.eatFood(world, stack.copy());
if (!world.isClient) {
stack.damage(1, user, u -> {
AwaitTickQueue.scheduleTask(u.getWorld(), w -> {
w.playSoundFromEntity(null, u, USounds.Vanilla.ENTITY_PLAYER_BURP, SoundCategory.PLAYERS, 1, 0.7F);
});
});
if (world.random.nextInt(20) == 0) {
RegistryUtils.pickRandom(world, UTags.PINEAPPLE_EFFECTS, e -> !user.hasStatusEffect(e)).ifPresent(effect -> {
user.addStatusEffect(new StatusEffectInstance(effect, 10, 1));
});
}
}
}
return stack;
}
}