mirror of
https://github.com/Sollace/Unicopia.git
synced 2024-12-01 00:37:59 +01:00
40 lines
1.4 KiB
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;
|
|
}
|
|
}
|