mirror of
https://github.com/HibiscusMC/HMCCosmetics.git
synced 2025-12-28 19:39:14 +00:00
Changed how ItemsAdder listener works
This commit is contained in:
@@ -55,6 +55,8 @@ public class HMCCosmetics extends JavaPlugin {
|
||||
if (!HookManager.getInstance().isEnabled(ItemsAdderHook.class)) {
|
||||
this.load();
|
||||
}
|
||||
|
||||
HookManager.getInstance().registerListeners(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -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<Class<? extends Hook>> registeredHooks;
|
||||
private final Set<Listener> 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;
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user