From c4dba6f9a89f495ac4ff40894553885d072e546a Mon Sep 17 00:00:00 2001 From: HeroBrineGoat <76707404+MasterOfTheFish@users.noreply.github.com> Date: Tue, 18 Jan 2022 19:53:33 -0500 Subject: [PATCH] Changed how ItemsAdder listener works --- .../fisher2911/hmccosmetics/HMCCosmetics.java | 2 ++ .../hmccosmetics/hook/HookManager.java | 14 ++++++++--- .../hook/item/ItemsAdderHook.java | 23 +++++++++++++++---- .../hook/listener/ItemsAdderListener.java | 23 ------------------- 4 files changed, 31 insertions(+), 31 deletions(-) delete mode 100644 src/main/java/io/github/fisher2911/hmccosmetics/hook/listener/ItemsAdderListener.java diff --git a/src/main/java/io/github/fisher2911/hmccosmetics/HMCCosmetics.java b/src/main/java/io/github/fisher2911/hmccosmetics/HMCCosmetics.java index f4100e09..204034c8 100644 --- a/src/main/java/io/github/fisher2911/hmccosmetics/HMCCosmetics.java +++ b/src/main/java/io/github/fisher2911/hmccosmetics/HMCCosmetics.java @@ -55,6 +55,8 @@ public class HMCCosmetics extends JavaPlugin { if (!HookManager.getInstance().isEnabled(ItemsAdderHook.class)) { this.load(); } + + HookManager.getInstance().registerListeners(this); } @Override diff --git a/src/main/java/io/github/fisher2911/hmccosmetics/hook/HookManager.java b/src/main/java/io/github/fisher2911/hmccosmetics/hook/HookManager.java index 1a02cfd9..edf3453c 100644 --- a/src/main/java/io/github/fisher2911/hmccosmetics/hook/HookManager.java +++ b/src/main/java/io/github/fisher2911/hmccosmetics/hook/HookManager.java @@ -3,10 +3,10 @@ package io.github.fisher2911.hmccosmetics.hook; import io.github.fisher2911.hmccosmetics.HMCCosmetics; import io.github.fisher2911.hmccosmetics.hook.item.ItemHook; import io.github.fisher2911.hmccosmetics.hook.item.ItemHooks; -import io.github.fisher2911.hmccosmetics.hook.item.OraxenHook; import io.github.fisher2911.hmccosmetics.hook.item.ItemsAdderHook; -import io.github.fisher2911.hmccosmetics.hook.listener.ItemsAdderListener; +import io.github.fisher2911.hmccosmetics.hook.item.OraxenHook; import org.bukkit.Bukkit; +import org.bukkit.event.Listener; import org.bukkit.plugin.PluginManager; import org.jetbrains.annotations.Nullable; @@ -32,10 +32,12 @@ public class HookManager { private final ItemHooks itemHooks; private final PAPIHook papiHook; private final Set> registeredHooks; + private final Set listeners; private HookManager(final HMCCosmetics plugin) { this.plugin = plugin; this.registeredHooks = new HashSet<>(); + this.listeners = new HashSet<>(); final PluginManager pluginManager = Bukkit.getPluginManager(); if (pluginManager.getPlugin("PlaceholderApi") != null) { this.registeredHooks.add(PAPIHook.class); @@ -50,7 +52,7 @@ public class HookManager { if (pluginManager.getPlugin("Oraxen") != null) itemHookMap.put(oraxenHook.getIdentifier(), oraxenHook); if (pluginManager.getPlugin("ItemsAdder") != null) { itemHookMap.put(itemsAdderHook.getIdentifier(), itemsAdderHook); - this.plugin.getServer().getPluginManager().registerEvents(new ItemsAdderListener(this.plugin), this.plugin); + this.listeners.add(itemsAdderHook); } this.itemHooks = new ItemHooks(itemHookMap); @@ -65,6 +67,12 @@ public class HookManager { return this.registeredHooks.contains(hook); } + public void registerListeners(final HMCCosmetics plugin) { + for (final Listener listener : this.listeners) { + plugin.getServer().getPluginManager().registerEvents(listener, plugin); + } + } + @Nullable public PAPIHook getPapiHook() { return papiHook; diff --git a/src/main/java/io/github/fisher2911/hmccosmetics/hook/item/ItemsAdderHook.java b/src/main/java/io/github/fisher2911/hmccosmetics/hook/item/ItemsAdderHook.java index 9ae474ab..3cf3fc77 100644 --- a/src/main/java/io/github/fisher2911/hmccosmetics/hook/item/ItemsAdderHook.java +++ b/src/main/java/io/github/fisher2911/hmccosmetics/hook/item/ItemsAdderHook.java @@ -1,13 +1,26 @@ - package io.github.fisher2911.hmccosmetics.hook.item; +package io.github.fisher2911.hmccosmetics.hook.item; - import dev.lone.itemsadder.api.CustomStack; - import org.bukkit.inventory.ItemStack; +import dev.lone.itemsadder.api.CustomStack; +import dev.lone.itemsadder.api.Events.ItemsAdderLoadDataEvent; +import io.github.fisher2911.hmccosmetics.HMCCosmetics; +import org.bukkit.event.EventHandler; +import org.bukkit.event.Listener; +import org.bukkit.inventory.ItemStack; - public class ItemsAdderHook implements ItemHook { +public class ItemsAdderHook implements ItemHook, Listener { public static final String ID = "ITEM_ADDER"; private static final String IDENTIFIER = "itemsadder"; + private boolean loaded; + + @EventHandler + public void onItemsAdderLoad(final ItemsAdderLoadDataEvent event) { + if (this.loaded) return; + HMCCosmetics.getPlugin(HMCCosmetics.class).load(); + this.loaded = true; + } + @Override public String getId() { return ID; @@ -21,7 +34,7 @@ @Override public ItemStack getItem(final String id) { final CustomStack stack = CustomStack.getInstance(id); - if ( stack == null ) return null; + if (stack == null) return null; return stack.getItemStack(); } } diff --git a/src/main/java/io/github/fisher2911/hmccosmetics/hook/listener/ItemsAdderListener.java b/src/main/java/io/github/fisher2911/hmccosmetics/hook/listener/ItemsAdderListener.java deleted file mode 100644 index ab4c61b6..00000000 --- a/src/main/java/io/github/fisher2911/hmccosmetics/hook/listener/ItemsAdderListener.java +++ /dev/null @@ -1,23 +0,0 @@ -package io.github.fisher2911.hmccosmetics.hook.listener; - -import dev.lone.itemsadder.api.Events.ItemsAdderLoadDataEvent; -import io.github.fisher2911.hmccosmetics.HMCCosmetics; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; - -public class ItemsAdderListener implements Listener { - - private final HMCCosmetics plugin; - private boolean loaded; - - public ItemsAdderListener(final HMCCosmetics plugin) { - this.plugin = plugin; - } - - @EventHandler - public void onItemsAdderLoad(final ItemsAdderLoadDataEvent event) { - if (this.loaded) return; - this.plugin.load(); - this.loaded = true; - } -}