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 tooltipComponents, TooltipFlag tooltipFlag) { super.appendHoverText(stack, context, tooltipComponents, tooltipFlag); if (tooltipFlag.isCreative()) { List 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); } }