diff options
| author | Krakenied <krakenied1@gmail.com> | 2025-02-27 18:58:21 +0100 |
|---|---|---|
| committer | Krakenied <46192742+Krakenied@users.noreply.github.com> | 2025-05-13 20:34:15 +0200 |
| commit | cdecd05fe4a41c032eb78a311d3a73ceea52b296 (patch) | |
| tree | 0dba0d52b9c9b86d0e3715eacd072c5a2c2b27fd /bukkit/src/main/java | |
| parent | 32466f32aa260c55c4d2602029f44337674ec09f (diff) | |
Fix HIDE_ATTRIBUTES on Spigot
Closes https://github.com/LMBishop/Quests/issues/766
Diffstat (limited to 'bukkit/src/main/java')
| -rw-r--r-- | bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/itemgetter/ItemGetter20.java | 19 |
1 files changed, 6 insertions, 13 deletions
diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/itemgetter/ItemGetter20.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/itemgetter/ItemGetter20.java index cca3e903..a7d97a02 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/itemgetter/ItemGetter20.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/itemgetter/ItemGetter20.java @@ -1,5 +1,6 @@ package com.leonardobishop.quests.bukkit.hook.itemgetter; +import com.google.common.collect.ImmutableMultimap; import com.google.common.collect.Multimap; import com.leonardobishop.quests.bukkit.BukkitQuestsPlugin; import com.leonardobishop.quests.bukkit.util.NamespacedKeyUtils; @@ -17,6 +18,7 @@ import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; import org.bukkit.inventory.meta.SkullMeta; +import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; @@ -129,9 +131,6 @@ public class ItemGetter20 extends ItemGetter { // item flags List<String> itemFlagStrings = config.getStringList("itemflags"); if (!itemFlagStrings.isEmpty() && !filters.contains(Filter.ITEM_FLAGS)) { - // in case some idiot adds a flag twice - not sure about its behaviour - boolean modifiersAdded = false; - for (String itemFlagString : itemFlagStrings) { ItemFlag itemFlag; try { @@ -140,16 +139,10 @@ public class ItemGetter20 extends ItemGetter { continue; } - if (!modifiersAdded && itemFlag == ItemFlag.HIDE_ATTRIBUTES) { - Material type = item.getType(); - - for (EquipmentSlot equipmentSlot : EquipmentSlot.values()) { - Multimap<Attribute, AttributeModifier> attributeModifiers = type.getDefaultAttributeModifiers(equipmentSlot); - - attributeModifiers.forEach(meta::addAttributeModifier); - } - - modifiersAdded = true; + if (itemFlag == ItemFlag.HIDE_ATTRIBUTES) { + // I don't like the solution due to the loss of the original attributes, + // however ItemGetters are used only for GUIs so it's not a real loss. + meta.setAttributeModifiers(ImmutableMultimap.of()); } meta.addItemFlags(itemFlag); |
