45 lines
1.7 KiB
Java
45 lines
1.7 KiB
Java
package net.minecraft.world.item;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
import net.minecraft.core.component.DataComponents;
|
|
import net.minecraft.network.chat.Component;
|
|
import net.minecraft.world.effect.MobEffectInstance;
|
|
import net.minecraft.world.entity.LivingEntity;
|
|
import net.minecraft.world.item.alchemy.PotionContents;
|
|
import net.minecraft.world.item.component.SuspiciousStewEffects;
|
|
import net.minecraft.world.level.Level;
|
|
|
|
public class SuspiciousStewItem extends Item {
|
|
public static final int DEFAULT_DURATION = 160;
|
|
|
|
public SuspiciousStewItem(Item.Properties properties) {
|
|
super(properties);
|
|
}
|
|
|
|
@Override
|
|
public void appendHoverText(ItemStack stack, Item.TooltipContext context, List<Component> tooltipComponents, TooltipFlag tooltipFlag) {
|
|
super.appendHoverText(stack, context, tooltipComponents, tooltipFlag);
|
|
if (tooltipFlag.isCreative()) {
|
|
List<MobEffectInstance> list = new ArrayList();
|
|
SuspiciousStewEffects suspiciousStewEffects = stack.getOrDefault(DataComponents.SUSPICIOUS_STEW_EFFECTS, SuspiciousStewEffects.EMPTY);
|
|
|
|
for (SuspiciousStewEffects.Entry entry : suspiciousStewEffects.effects()) {
|
|
list.add(entry.createEffectInstance());
|
|
}
|
|
|
|
PotionContents.addPotionTooltip(list, tooltipComponents::add, 1.0F, context.tickRate());
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public ItemStack finishUsingItem(ItemStack stack, Level level, LivingEntity livingEntity) {
|
|
SuspiciousStewEffects suspiciousStewEffects = stack.getOrDefault(DataComponents.SUSPICIOUS_STEW_EFFECTS, SuspiciousStewEffects.EMPTY);
|
|
|
|
for (SuspiciousStewEffects.Entry entry : suspiciousStewEffects.effects()) {
|
|
livingEntity.addEffect(entry.createEffectInstance());
|
|
}
|
|
|
|
return super.finishUsingItem(stack, level, livingEntity);
|
|
}
|
|
}
|