From 9c34e098aad658cbb6f6d31031affd62ac62d90e Mon Sep 17 00:00:00 2001 From: Indyuce Date: Sat, 13 Nov 2021 13:38:11 +0100 Subject: [PATCH] Fixed an issue with item set abilities not unregistering --- .../mmoitems/api/player/PlayerData.java | 2 +- .../Indyuce/mmoitems/stat/ItemParticles.java | 41 +++++++++++-------- 2 files changed, 24 insertions(+), 19 deletions(-) diff --git a/src/main/java/net/Indyuce/mmoitems/api/player/PlayerData.java b/src/main/java/net/Indyuce/mmoitems/api/player/PlayerData.java index c7520f6c..2fc88575 100644 --- a/src/main/java/net/Indyuce/mmoitems/api/player/PlayerData.java +++ b/src/main/java/net/Indyuce/mmoitems/api/player/PlayerData.java @@ -277,7 +277,7 @@ public class PlayerData { if (hasSetBonuses()) { for (AbilityData ability : setBonuses.getAbilities()) - mmoData.registerSkillTrigger(new PassiveSkill("MMOItemItem", ability.getTriggerType(), ability)); + mmoData.registerSkillTrigger(new PassiveSkill("MMOItemsItem", ability.getTriggerType(), ability)); for (ParticleData particle : setBonuses.getParticles()) itemParticles.add(particle.start(this)); for (PotionEffect effect : setBonuses.getPotionEffects()) diff --git a/src/main/java/net/Indyuce/mmoitems/stat/ItemParticles.java b/src/main/java/net/Indyuce/mmoitems/stat/ItemParticles.java index e41aaa88..6394b3ed 100644 --- a/src/main/java/net/Indyuce/mmoitems/stat/ItemParticles.java +++ b/src/main/java/net/Indyuce/mmoitems/stat/ItemParticles.java @@ -1,21 +1,11 @@ package net.Indyuce.mmoitems.stat; -import java.util.ArrayList; -import java.util.List; -import java.util.Optional; - -import io.lumine.mythic.lib.api.item.SupportedNBTTagValues; -import net.Indyuce.mmoitems.api.item.mmoitem.MMOItem; -import org.apache.commons.lang.Validate; -import org.bukkit.ChatColor; -import org.bukkit.Particle; -import org.bukkit.configuration.ConfigurationSection; -import org.bukkit.event.inventory.InventoryClickEvent; - import com.google.gson.JsonParser; import com.google.gson.JsonSyntaxException; - -import net.Indyuce.mmoitems.ItemStats; +import io.lumine.mythic.lib.api.item.ItemTag; +import io.lumine.mythic.lib.api.item.SupportedNBTTagValues; +import io.lumine.mythic.lib.api.util.AltChar; +import io.lumine.mythic.lib.version.VersionMaterial; import net.Indyuce.mmoitems.MMOItems; import net.Indyuce.mmoitems.MMOUtils; import net.Indyuce.mmoitems.api.item.build.ItemStackBuilder; @@ -27,12 +17,19 @@ import net.Indyuce.mmoitems.stat.data.ParticleData; import net.Indyuce.mmoitems.stat.data.random.RandomStatData; import net.Indyuce.mmoitems.stat.data.type.StatData; import net.Indyuce.mmoitems.stat.type.ItemStat; -import io.lumine.mythic.lib.api.item.ItemTag; -import io.lumine.mythic.lib.api.util.AltChar; -import io.lumine.mythic.lib.version.VersionMaterial; +import org.apache.commons.lang.Validate; +import org.bukkit.ChatColor; +import org.bukkit.Particle; +import org.bukkit.configuration.ConfigurationSection; +import org.bukkit.event.inventory.InventoryAction; +import org.bukkit.event.inventory.InventoryClickEvent; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import java.util.ArrayList; +import java.util.List; +import java.util.Optional; + public class ItemParticles extends ItemStat { public ItemParticles() { super("ITEM_PARTICLES", VersionMaterial.PINK_STAINED_GLASS.toMaterial(), "Item Particles", new String[] { "The particles displayed when", @@ -41,6 +38,13 @@ public class ItemParticles extends ItemStat { @Override public void whenClicked(@NotNull EditionInventory inv, @NotNull InventoryClickEvent event) { + if (event.getAction() == InventoryAction.PICKUP_HALF) { + inv.getEditedSection().set(getPath(), null); + inv.registerTemplateEdition(); + inv.getPlayer().sendMessage(MMOItems.plugin.getPrefix() + "Successfully removed " + getName() + ChatColor.GRAY + "."); + return; + } + new ParticlesEdition(inv.getPlayer(), inv.getEdited()).open(inv.getPage()); } @@ -71,7 +75,8 @@ public class ItemParticles extends ItemStat { @Override public void whenDisplayed(List lore, Optional statData) { - lore.add(ChatColor.YELLOW + AltChar.listDash + " Click to setup the item particles."); + lore.add(ChatColor.YELLOW + AltChar.listDash + " Left click to setup the item particles."); + lore.add(ChatColor.YELLOW + AltChar.listDash + " Right click to clear."); } @NotNull