NBTTagList effectList = (NBTTagList)StackUtils.getTag(stack, "Effects");
if ((effectList != null) && (handler != null)) {
int max = (advancedTooltips ? 8 : 3);
for (int i = 0; i < Math.min(effectList.tagCount(), max); i++) {
PotionEffect effect = PotionEffect.readCustomPotionEffectFromNBT(
effectList.getCompoundTagAt(i));
Potion potion = Potion.potionTypes[effect.getPotionID()];
int duration = (int)(effect.getDuration() * handler.durationMultiplier());
StringBuilder str = new StringBuilder()
.append(potion.isBadEffect() ? EnumChatFormatting.RED : EnumChatFormatting.GRAY)
.append(StatCollector.translateToLocal(effect.getEffectName()));
if (effect.getAmplifier() > 0)
str.append(" ").append(StatCollector.translateToLocal("potion.potency." + effect.getAmplifier()));
str.append(" (").append(StringUtils.ticksToElapsedTime(duration)).append(")");
list.add(str.toString());
}