From b9a3c11c49da67fb765edadb2c6c4bb22151ffad Mon Sep 17 00:00:00 2001 From: JasperFang Date: Sun, 18 Aug 2024 16:05:06 +0800 Subject: [PATCH] use a safer way to convert attribute map when parsing tooltips --- .../content/client/tooltip/AttributeTooltips.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/main/java/vazkii/quark/content/client/tooltip/AttributeTooltips.java b/src/main/java/vazkii/quark/content/client/tooltip/AttributeTooltips.java index 18a959837d..055a5e6083 100644 --- a/src/main/java/vazkii/quark/content/client/tooltip/AttributeTooltips.java +++ b/src/main/java/vazkii/quark/content/client/tooltip/AttributeTooltips.java @@ -252,9 +252,19 @@ public static Multimap getModifiers(ItemStack stac } Multimap out = stack.getAttributeModifiers(slot); - if(out.isEmpty()) + if(out.isEmpty()) { out = HashMultimap.create(); - else out = HashMultimap.create(out); // convert to our own map + } else { + // convert to our own map + Multimap filtered = HashMultimap.create(); + for (Map.Entry entry : out.entries()) { + AttributeModifier modifier = entry.getValue(); + if (modifier.getId() != null) { + filtered.put(entry.getKey(), modifier); + } + } + out = filtered; + } if (slot == EquipmentSlot.MAINHAND) { if (EnchantmentHelper.getDamageBonus(stack, MobType.UNDEFINED) > 0)