aboutsummaryrefslogtreecommitdiffstats
path: root/bukkit/src/main/java/com/leonardobishop
diff options
context:
space:
mode:
authorKrakenied <krakenied1@gmail.com>2025-02-27 18:58:21 +0100
committerKrakenied <46192742+Krakenied@users.noreply.github.com>2025-05-13 20:34:15 +0200
commitcdecd05fe4a41c032eb78a311d3a73ceea52b296 (patch)
tree0dba0d52b9c9b86d0e3715eacd072c5a2c2b27fd /bukkit/src/main/java/com/leonardobishop
parent32466f32aa260c55c4d2602029f44337674ec09f (diff)
Fix HIDE_ATTRIBUTES on Spigot
Closes https://github.com/LMBishop/Quests/issues/766
Diffstat (limited to 'bukkit/src/main/java/com/leonardobishop')
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/itemgetter/ItemGetter20.java19
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);