From 915285c485d25b218de33356e6bfdfac4b10716b Mon Sep 17 00:00:00 2001 From: Fisher <76707404+Fisher2911@users.noreply.github.com> Date: Tue, 18 Jan 2022 12:01:43 -0500 Subject: [PATCH 01/16] Create ItemAdderHook.java --- .../hmccosmetics/hook/item/ItemAdderHook.java | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 src/main/java/io/github/fisher2911/hmccosmetics/hook/item/ItemAdderHook.java diff --git a/src/main/java/io/github/fisher2911/hmccosmetics/hook/item/ItemAdderHook.java b/src/main/java/io/github/fisher2911/hmccosmetics/hook/item/ItemAdderHook.java new file mode 100644 index 00000000..c1a462a5 --- /dev/null +++ b/src/main/java/io/github/fisher2911/hmccosmetics/hook/item/ItemAdderHook.java @@ -0,0 +1,29 @@ + package io.github.fisher2911.hmccosmetics.hook.item; + +import io.github.fisher2911.hmccosmetics.hook.Hook; +import io.th0rgal.oraxen.items.ItemBuilder; +import org.bukkit.inventory.ItemStack; +import dev.lone.itemsadder.api.CustomItem; + +public class ItemAdderHook implements ItemHook { + + public static final String ID = "ITEM_ADDER"; + private static final String IDENTIFIER = "itemadder"; + + @Override + public String getId() { + return ID; + } + + @Override + public String getIdentifier() { + return IDENTIFIER; + } + + @Override + public ItemStack getItem(final String id) { + final CustomItem customItem = CustomItem.getInstance("id); + if (customItem == null) return null; + return customItem.getItemStack(); + } +} From e22b776d1305712c6940685acc438e55012d7e88 Mon Sep 17 00:00:00 2001 From: Fisher <76707404+Fisher2911@users.noreply.github.com> Date: Tue, 18 Jan 2022 12:05:34 -0500 Subject: [PATCH 02/16] Added ItemAdderHook The format is "itemadder:item" --- .../io/github/fisher2911/hmccosmetics/hook/HookManager.java | 3 +++ 1 file changed, 3 insertions(+) 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 b7be4454..7e86b014 100644 --- a/src/main/java/io/github/fisher2911/hmccosmetics/hook/HookManager.java +++ b/src/main/java/io/github/fisher2911/hmccosmetics/hook/HookManager.java @@ -3,6 +3,7 @@ package io.github.fisher2911.hmccosmetics.hook; 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.ItemAdderHook; import org.bukkit.Bukkit; import org.bukkit.plugin.PluginManager; import org.jetbrains.annotations.Nullable; @@ -40,7 +41,9 @@ public class HookManager { final Map itemHookMap = new HashMap<>(); final OraxenHook oraxenHook = new OraxenHook(); + final ItemAdderHook = new ItemAdderHook(); if (pluginManager.getPlugin("Oraxen") != null) itemHookMap.put(oraxenHook.getIdentifier(), oraxenHook); + if (pluginManager.getPlugin("ItemAdder") != null) itemHookMap.put(itemAdderHook.getIdentifier(), itemAdderHook); this.itemHooks = new ItemHooks(itemHookMap); itemHookMap.values().forEach(hook -> this.registerHook(hook.getClass())); From 3c302e6c4bb4b0748cd9008e7dcfd3d606d186a9 Mon Sep 17 00:00:00 2001 From: Fisher <76707404+Fisher2911@users.noreply.github.com> Date: Tue, 18 Jan 2022 12:46:57 -0500 Subject: [PATCH 03/16] Update HMCCosmetics.java --- .../io/github/fisher2911/hmccosmetics/HMCCosmetics.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/main/java/io/github/fisher2911/hmccosmetics/HMCCosmetics.java b/src/main/java/io/github/fisher2911/hmccosmetics/HMCCosmetics.java index 477f67f7..19f3abcb 100644 --- a/src/main/java/io/github/fisher2911/hmccosmetics/HMCCosmetics.java +++ b/src/main/java/io/github/fisher2911/hmccosmetics/HMCCosmetics.java @@ -47,13 +47,10 @@ public class HMCCosmetics extends JavaPlugin { this.userManager = new UserManager(this); this.cosmeticManager = new CosmeticManager(new HashMap<>()); this.cosmeticsMenu = new CosmeticsMenu(this); - this.messageHandler.load(); - this.cosmeticsMenu.load(); this.userManager.startTeleportTask(); this.database = DatabaseFactory.create(this); - this.database.load(); this.registerCommands(); this.registerListeners(); @@ -100,6 +97,12 @@ public class HMCCosmetics extends JavaPlugin { this.cosmeticManager.getAll().stream().map(ArmorItem::getId).collect(Collectors.toList())); this.commandManager.register(new CosmeticsCommand(this)); } + + public void load() { + this.messageHandler.load(); + this.cosmeticsMenu.load(); + this.database.load(); + } public MessageHandler getMessageHandler() { return messageHandler; From d9f12db6dcebf64ca500c44093c56f3ad25d3a72 Mon Sep 17 00:00:00 2001 From: Fisher <76707404+Fisher2911@users.noreply.github.com> Date: Tue, 18 Jan 2022 12:52:51 -0500 Subject: [PATCH 04/16] Create ItemsAdderListener.java --- .../listener/ItemsAdderListener.java | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 src/main/java/io/github/fisher2911/hmccosmetics/listener/ItemsAdderListener.java diff --git a/src/main/java/io/github/fisher2911/hmccosmetics/listener/ItemsAdderListener.java b/src/main/java/io/github/fisher2911/hmccosmetics/listener/ItemsAdderListener.java new file mode 100644 index 00000000..cace3b5f --- /dev/null +++ b/src/main/java/io/github/fisher2911/hmccosmetics/listener/ItemsAdderListener.java @@ -0,0 +1,41 @@ +package io.github.fisher2911.hmccosmetics.listener; + +import io.github.fisher2911.hmccosmetics.HMCCosmetics; +import io.github.fisher2911.hmccosmetics.database.Database; +import io.github.fisher2911.hmccosmetics.user.User; +import io.github.fisher2911.hmccosmetics.user.UserManager; +import net.kyori.adventure.text.Component; +import org.bukkit.Bukkit; +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.Listener; +import org.bukkit.event.player.PlayerJoinEvent; +import org.bukkit.event.player.PlayerQuitEvent; + +public class ItemsAdderListener implements Listener { + + private final HMCCosmetics plugin; + private boolean enabled; + private boolean loaded; + + public JoinListener(final HMCCosmetics plugin) { + this.plugin = plugin; + enabled = HookManager.getInstance().isEnabled(ItemAdderHook.class); + if (!this.enabled) { + this.plugin.load(); + this.loaded = true; + return; + } + } + + @EventHandler + public void onJoin(final ItemsAdderLoadDataEvent event) { + this.load(); + } + + private void load() { + if (this.enabled) { + this.plugin.load(); + this.loaded = true; + } +} From 0ca9350ce6b24ad48d02f1974dca5091c6f53158 Mon Sep 17 00:00:00 2001 From: Fisher <76707404+Fisher2911@users.noreply.github.com> Date: Tue, 18 Jan 2022 12:54:51 -0500 Subject: [PATCH 05/16] Update HMCCosmetics.java --- .../java/io/github/fisher2911/hmccosmetics/HMCCosmetics.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/io/github/fisher2911/hmccosmetics/HMCCosmetics.java b/src/main/java/io/github/fisher2911/hmccosmetics/HMCCosmetics.java index 19f3abcb..0139b58a 100644 --- a/src/main/java/io/github/fisher2911/hmccosmetics/HMCCosmetics.java +++ b/src/main/java/io/github/fisher2911/hmccosmetics/HMCCosmetics.java @@ -65,7 +65,8 @@ public class HMCCosmetics extends JavaPlugin { } private void registerListeners() { - List.of(new JoinListener(this), + List.of(new ItemsAdderListener(this), + new JoinListener(this), new ClickListener(this), new TeleportListener(this), new RespawnListener(this), From f19b4d359ef8a37d15090634eda2c326930b1ae8 Mon Sep 17 00:00:00 2001 From: lucian929 Date: Tue, 18 Jan 2022 15:46:27 -0500 Subject: [PATCH 06/16] Fixes for IA --- build.gradle | 3 ++- .../fisher2911/hmccosmetics/HMCCosmetics.java | 6 +---- .../hmccosmetics/hook/HookManager.java | 2 +- .../hmccosmetics/hook/item/ItemAdderHook.java | 9 ++++---- .../listener/ItemsAdderListener.java | 22 +++++++++++-------- src/main/resources/plugin.yml | 3 ++- 6 files changed, 23 insertions(+), 22 deletions(-) diff --git a/build.gradle b/build.gradle index 9174fe69..fd9b1db6 100644 --- a/build.gradle +++ b/build.gradle @@ -4,7 +4,7 @@ plugins { } group 'io.github.fisher2911' -version '1.2.0' +version '1.3.0' repositories { mavenCentral() @@ -34,6 +34,7 @@ dependencies { implementation 'org.spongepowered:configurate-yaml:4.1.2' implementation 'org.bstats:bstats-bukkit:2.2.1' implementation 'com.zaxxer:HikariCP:5.0.0' + implementation 'com.github.LoneDev6:API-ItemsAdder:2.5.4-beta2' } test { diff --git a/src/main/java/io/github/fisher2911/hmccosmetics/HMCCosmetics.java b/src/main/java/io/github/fisher2911/hmccosmetics/HMCCosmetics.java index 0139b58a..f8d4744b 100644 --- a/src/main/java/io/github/fisher2911/hmccosmetics/HMCCosmetics.java +++ b/src/main/java/io/github/fisher2911/hmccosmetics/HMCCosmetics.java @@ -9,11 +9,7 @@ import io.github.fisher2911.hmccosmetics.database.Database; import io.github.fisher2911.hmccosmetics.database.DatabaseFactory; import io.github.fisher2911.hmccosmetics.gui.ArmorItem; import io.github.fisher2911.hmccosmetics.gui.CosmeticsMenu; -import io.github.fisher2911.hmccosmetics.listener.ClickListener; -import io.github.fisher2911.hmccosmetics.listener.HatRemoveFixListener; -import io.github.fisher2911.hmccosmetics.listener.JoinListener; -import io.github.fisher2911.hmccosmetics.listener.RespawnListener; -import io.github.fisher2911.hmccosmetics.listener.TeleportListener; +import io.github.fisher2911.hmccosmetics.listener.*; import io.github.fisher2911.hmccosmetics.message.MessageHandler; import io.github.fisher2911.hmccosmetics.message.Messages; import io.github.fisher2911.hmccosmetics.user.UserManager; 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 7e86b014..71f5b55f 100644 --- a/src/main/java/io/github/fisher2911/hmccosmetics/hook/HookManager.java +++ b/src/main/java/io/github/fisher2911/hmccosmetics/hook/HookManager.java @@ -41,7 +41,7 @@ public class HookManager { final Map itemHookMap = new HashMap<>(); final OraxenHook oraxenHook = new OraxenHook(); - final ItemAdderHook = new ItemAdderHook(); + final ItemAdderHook itemAdderHook = new ItemAdderHook(); if (pluginManager.getPlugin("Oraxen") != null) itemHookMap.put(oraxenHook.getIdentifier(), oraxenHook); if (pluginManager.getPlugin("ItemAdder") != null) itemHookMap.put(itemAdderHook.getIdentifier(), itemAdderHook); this.itemHooks = new ItemHooks(itemHookMap); diff --git a/src/main/java/io/github/fisher2911/hmccosmetics/hook/item/ItemAdderHook.java b/src/main/java/io/github/fisher2911/hmccosmetics/hook/item/ItemAdderHook.java index c1a462a5..71ea8905 100644 --- a/src/main/java/io/github/fisher2911/hmccosmetics/hook/item/ItemAdderHook.java +++ b/src/main/java/io/github/fisher2911/hmccosmetics/hook/item/ItemAdderHook.java @@ -1,9 +1,8 @@ package io.github.fisher2911.hmccosmetics.hook.item; +import dev.lone.itemsadder.api.CustomStack; import io.github.fisher2911.hmccosmetics.hook.Hook; -import io.th0rgal.oraxen.items.ItemBuilder; import org.bukkit.inventory.ItemStack; -import dev.lone.itemsadder.api.CustomItem; public class ItemAdderHook implements ItemHook { @@ -22,8 +21,8 @@ public class ItemAdderHook implements ItemHook { @Override public ItemStack getItem(final String id) { - final CustomItem customItem = CustomItem.getInstance("id); - if (customItem == null) return null; - return customItem.getItemStack(); + final CustomStack stack = CustomStack.getInstance(id); + if ( stack == null ) return null; + return stack.getItemStack(); } } diff --git a/src/main/java/io/github/fisher2911/hmccosmetics/listener/ItemsAdderListener.java b/src/main/java/io/github/fisher2911/hmccosmetics/listener/ItemsAdderListener.java index cace3b5f..de851e6c 100644 --- a/src/main/java/io/github/fisher2911/hmccosmetics/listener/ItemsAdderListener.java +++ b/src/main/java/io/github/fisher2911/hmccosmetics/listener/ItemsAdderListener.java @@ -1,7 +1,10 @@ package io.github.fisher2911.hmccosmetics.listener; +import dev.lone.itemsadder.api.Events.ItemsAdderLoadDataEvent; import io.github.fisher2911.hmccosmetics.HMCCosmetics; import io.github.fisher2911.hmccosmetics.database.Database; +import io.github.fisher2911.hmccosmetics.hook.HookManager; +import io.github.fisher2911.hmccosmetics.hook.item.ItemAdderHook; import io.github.fisher2911.hmccosmetics.user.User; import io.github.fisher2911.hmccosmetics.user.UserManager; import net.kyori.adventure.text.Component; @@ -18,24 +21,25 @@ public class ItemsAdderListener implements Listener { private boolean enabled; private boolean loaded; - public JoinListener(final HMCCosmetics plugin) { + public ItemsAdderListener(final HMCCosmetics plugin) { this.plugin = plugin; enabled = HookManager.getInstance().isEnabled(ItemAdderHook.class); if (!this.enabled) { - this.plugin.load(); - this.loaded = true; - return; - } + this.plugin.load(); + this.loaded = true; + return; + } } @EventHandler public void onJoin(final ItemsAdderLoadDataEvent event) { this.load(); } - + private void load() { - if (this.enabled) { - this.plugin.load(); - this.loaded = true; + if (this.enabled) { + this.plugin.load(); + this.loaded = true; + } } } diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index dd407905..3d3f46d7 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -1,11 +1,12 @@ name: HMCCosmetics main: io.github.fisher2911.hmccosmetics.HMCCosmetics -version: 1.2.0 +version: 1.3.0 api-version: 1.17 softdepend: - Multiverse - PlaceholderAPI - Oraxen + - ItemsAdder depend: - ProtocolLib permissions: From 39b6a8de67c969b5dc6a39e01d36a7b2d4f0c322 Mon Sep 17 00:00:00 2001 From: HeroBrineGoat <76707404+MasterOfTheFish@users.noreply.github.com> Date: Tue, 18 Jan 2022 19:25:11 -0500 Subject: [PATCH 07/16] Fixed ItemsAdder support (Previously done directly on GitHub using a school computer) --- .../fisher2911/hmccosmetics/HMCCosmetics.java | 27 ++++++----- .../hmccosmetics/hook/HookManager.java | 18 +++++--- .../hmccosmetics/hook/item/ItemAdderHook.java | 7 ++- .../hook/listener/ItemsAdderListener.java | 23 ++++++++++ .../listener/ItemsAdderListener.java | 45 ------------------- 5 files changed, 56 insertions(+), 64 deletions(-) create mode 100644 src/main/java/io/github/fisher2911/hmccosmetics/hook/listener/ItemsAdderListener.java delete mode 100644 src/main/java/io/github/fisher2911/hmccosmetics/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 f8d4744b..a90f0cb1 100644 --- a/src/main/java/io/github/fisher2911/hmccosmetics/HMCCosmetics.java +++ b/src/main/java/io/github/fisher2911/hmccosmetics/HMCCosmetics.java @@ -9,13 +9,15 @@ import io.github.fisher2911.hmccosmetics.database.Database; import io.github.fisher2911.hmccosmetics.database.DatabaseFactory; import io.github.fisher2911.hmccosmetics.gui.ArmorItem; import io.github.fisher2911.hmccosmetics.gui.CosmeticsMenu; +import io.github.fisher2911.hmccosmetics.hook.HookManager; +import io.github.fisher2911.hmccosmetics.hook.item.ItemAdderHook; +import io.github.fisher2911.hmccosmetics.hook.listener.ItemsAdderListener; import io.github.fisher2911.hmccosmetics.listener.*; import io.github.fisher2911.hmccosmetics.message.MessageHandler; import io.github.fisher2911.hmccosmetics.message.Messages; import io.github.fisher2911.hmccosmetics.user.UserManager; import me.mattstudios.mf.base.CommandManager; import org.bstats.bukkit.Metrics; -import org.bukkit.Bukkit; import org.bukkit.plugin.java.JavaPlugin; import java.util.Arrays; @@ -50,6 +52,10 @@ public class HMCCosmetics extends JavaPlugin { this.registerCommands(); this.registerListeners(); + + if (!HookManager.getInstance().isEnabled(ItemAdderHook.class)) { + this.load(); + } } @Override @@ -61,12 +67,13 @@ public class HMCCosmetics extends JavaPlugin { } private void registerListeners() { - List.of(new ItemsAdderListener(this), + List.of( new JoinListener(this), new ClickListener(this), new TeleportListener(this), new RespawnListener(this), - new HatRemoveFixListener(this)). + new HatRemoveFixListener(this) + ). forEach(listener -> this.getServer().getPluginManager().registerEvents(listener, this) ); @@ -84,17 +91,17 @@ public class HMCCosmetics extends JavaPlugin { ); this.commandManager.getCompletionHandler().register("#types", resolver -> - Arrays.stream(ArmorItem.Type. - values()). - map(ArmorItem.Type::toString). - collect(Collectors.toList()) - ); + Arrays.stream(ArmorItem.Type. + values()). + map(ArmorItem.Type::toString). + collect(Collectors.toList()) + ); this.commandManager.getCompletionHandler().register("#ids", resolver -> - this.cosmeticManager.getAll().stream().map(ArmorItem::getId).collect(Collectors.toList())); + this.cosmeticManager.getAll().stream().map(ArmorItem::getId).collect(Collectors.toList())); this.commandManager.register(new CosmeticsCommand(this)); } - + public void load() { this.messageHandler.load(); this.cosmeticsMenu.load(); 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 71f5b55f..a45d27b4 100644 --- a/src/main/java/io/github/fisher2911/hmccosmetics/hook/HookManager.java +++ b/src/main/java/io/github/fisher2911/hmccosmetics/hook/HookManager.java @@ -1,9 +1,11 @@ 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.ItemAdderHook; +import io.github.fisher2911.hmccosmetics.hook.listener.ItemsAdderListener; import org.bukkit.Bukkit; import org.bukkit.plugin.PluginManager; import org.jetbrains.annotations.Nullable; @@ -15,21 +17,24 @@ import java.util.Set; public class HookManager { - private static HookManager INSTANCE; + private static final HookManager INSTANCE; static { - INSTANCE = new HookManager(); + INSTANCE = new HookManager(HMCCosmetics.getPlugin(HMCCosmetics.class)); } public static HookManager getInstance() { return INSTANCE; } + private final HMCCosmetics plugin; + private final ItemHooks itemHooks; private final PAPIHook papiHook; private final Set> registeredHooks; - private HookManager() { + private HookManager(final HMCCosmetics plugin) { + this.plugin = plugin; this.registeredHooks = new HashSet<>(); final PluginManager pluginManager = Bukkit.getPluginManager(); if (pluginManager.getPlugin("PlaceholderApi") != null) { @@ -43,9 +48,12 @@ public class HookManager { final OraxenHook oraxenHook = new OraxenHook(); final ItemAdderHook itemAdderHook = new ItemAdderHook(); if (pluginManager.getPlugin("Oraxen") != null) itemHookMap.put(oraxenHook.getIdentifier(), oraxenHook); - if (pluginManager.getPlugin("ItemAdder") != null) itemHookMap.put(itemAdderHook.getIdentifier(), itemAdderHook); - this.itemHooks = new ItemHooks(itemHookMap); + if (pluginManager.getPlugin("ItemAdder") != null) { + itemHookMap.put(itemAdderHook.getIdentifier(), itemAdderHook); + this.plugin.getServer().getPluginManager().registerEvents(new ItemsAdderListener(this.plugin), this.plugin); + } + this.itemHooks = new ItemHooks(itemHookMap); itemHookMap.values().forEach(hook -> this.registerHook(hook.getClass())); } diff --git a/src/main/java/io/github/fisher2911/hmccosmetics/hook/item/ItemAdderHook.java b/src/main/java/io/github/fisher2911/hmccosmetics/hook/item/ItemAdderHook.java index 71ea8905..1cdb724a 100644 --- a/src/main/java/io/github/fisher2911/hmccosmetics/hook/item/ItemAdderHook.java +++ b/src/main/java/io/github/fisher2911/hmccosmetics/hook/item/ItemAdderHook.java @@ -1,10 +1,9 @@ package io.github.fisher2911.hmccosmetics.hook.item; -import dev.lone.itemsadder.api.CustomStack; -import io.github.fisher2911.hmccosmetics.hook.Hook; -import org.bukkit.inventory.ItemStack; + import dev.lone.itemsadder.api.CustomStack; + import org.bukkit.inventory.ItemStack; -public class ItemAdderHook implements ItemHook { + public class ItemAdderHook implements ItemHook { public static final String ID = "ITEM_ADDER"; private static final String IDENTIFIER = "itemadder"; 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 new file mode 100644 index 00000000..ddc8409c --- /dev/null +++ b/src/main/java/io/github/fisher2911/hmccosmetics/hook/listener/ItemsAdderListener.java @@ -0,0 +1,23 @@ +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 onItemAdderLoad(final ItemsAdderLoadDataEvent event) { + if (this.loaded) return; + this.plugin.load(); + this.loaded = true; + } +} diff --git a/src/main/java/io/github/fisher2911/hmccosmetics/listener/ItemsAdderListener.java b/src/main/java/io/github/fisher2911/hmccosmetics/listener/ItemsAdderListener.java deleted file mode 100644 index de851e6c..00000000 --- a/src/main/java/io/github/fisher2911/hmccosmetics/listener/ItemsAdderListener.java +++ /dev/null @@ -1,45 +0,0 @@ -package io.github.fisher2911.hmccosmetics.listener; - -import dev.lone.itemsadder.api.Events.ItemsAdderLoadDataEvent; -import io.github.fisher2911.hmccosmetics.HMCCosmetics; -import io.github.fisher2911.hmccosmetics.database.Database; -import io.github.fisher2911.hmccosmetics.hook.HookManager; -import io.github.fisher2911.hmccosmetics.hook.item.ItemAdderHook; -import io.github.fisher2911.hmccosmetics.user.User; -import io.github.fisher2911.hmccosmetics.user.UserManager; -import net.kyori.adventure.text.Component; -import org.bukkit.Bukkit; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -public class ItemsAdderListener implements Listener { - - private final HMCCosmetics plugin; - private boolean enabled; - private boolean loaded; - - public ItemsAdderListener(final HMCCosmetics plugin) { - this.plugin = plugin; - enabled = HookManager.getInstance().isEnabled(ItemAdderHook.class); - if (!this.enabled) { - this.plugin.load(); - this.loaded = true; - return; - } - } - - @EventHandler - public void onJoin(final ItemsAdderLoadDataEvent event) { - this.load(); - } - - private void load() { - if (this.enabled) { - this.plugin.load(); - this.loaded = true; - } - } -} From 61f13eb3c1b2d02ff684d9e25193548a54b80540 Mon Sep 17 00:00:00 2001 From: HeroBrineGoat <76707404+MasterOfTheFish@users.noreply.github.com> Date: Tue, 18 Jan 2022 19:42:34 -0500 Subject: [PATCH 08/16] Fixed ItemsAdder identifier --- .../github/fisher2911/hmccosmetics/hook/item/ItemAdderHook.java | 2 +- .../io/github/fisher2911/hmccosmetics/hook/item/ItemHooks.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/io/github/fisher2911/hmccosmetics/hook/item/ItemAdderHook.java b/src/main/java/io/github/fisher2911/hmccosmetics/hook/item/ItemAdderHook.java index 1cdb724a..ac389f23 100644 --- a/src/main/java/io/github/fisher2911/hmccosmetics/hook/item/ItemAdderHook.java +++ b/src/main/java/io/github/fisher2911/hmccosmetics/hook/item/ItemAdderHook.java @@ -6,7 +6,7 @@ public class ItemAdderHook implements ItemHook { public static final String ID = "ITEM_ADDER"; - private static final String IDENTIFIER = "itemadder"; + private static final String IDENTIFIER = "itemsadder"; @Override public String getId() { diff --git a/src/main/java/io/github/fisher2911/hmccosmetics/hook/item/ItemHooks.java b/src/main/java/io/github/fisher2911/hmccosmetics/hook/item/ItemHooks.java index c9ba4258..6980c3b6 100644 --- a/src/main/java/io/github/fisher2911/hmccosmetics/hook/item/ItemHooks.java +++ b/src/main/java/io/github/fisher2911/hmccosmetics/hook/item/ItemHooks.java @@ -20,7 +20,7 @@ public class ItemHooks { public ItemStack getItemStack(final String item) { final String[] parts = item.split(":"); - if (parts.length != 2) return null; + if (parts.length < 2) return null; final String identifier = parts[0]; final String itemId = parts[1]; From 14617fdaffd7cad2a017411005e0cf32918c2822 Mon Sep 17 00:00:00 2001 From: HeroBrineGoat <76707404+MasterOfTheFish@users.noreply.github.com> Date: Tue, 18 Jan 2022 19:43:13 -0500 Subject: [PATCH 09/16] Changed class name to reflect plugin name --- .../java/io/github/fisher2911/hmccosmetics/HMCCosmetics.java | 5 ++--- .../io/github/fisher2911/hmccosmetics/hook/HookManager.java | 4 ++-- .../hook/item/{ItemAdderHook.java => ItemsAdderHook.java} | 2 +- 3 files changed, 5 insertions(+), 6 deletions(-) rename src/main/java/io/github/fisher2911/hmccosmetics/hook/item/{ItemAdderHook.java => ItemsAdderHook.java} (92%) diff --git a/src/main/java/io/github/fisher2911/hmccosmetics/HMCCosmetics.java b/src/main/java/io/github/fisher2911/hmccosmetics/HMCCosmetics.java index a90f0cb1..f4100e09 100644 --- a/src/main/java/io/github/fisher2911/hmccosmetics/HMCCosmetics.java +++ b/src/main/java/io/github/fisher2911/hmccosmetics/HMCCosmetics.java @@ -10,8 +10,7 @@ import io.github.fisher2911.hmccosmetics.database.DatabaseFactory; import io.github.fisher2911.hmccosmetics.gui.ArmorItem; import io.github.fisher2911.hmccosmetics.gui.CosmeticsMenu; import io.github.fisher2911.hmccosmetics.hook.HookManager; -import io.github.fisher2911.hmccosmetics.hook.item.ItemAdderHook; -import io.github.fisher2911.hmccosmetics.hook.listener.ItemsAdderListener; +import io.github.fisher2911.hmccosmetics.hook.item.ItemsAdderHook; import io.github.fisher2911.hmccosmetics.listener.*; import io.github.fisher2911.hmccosmetics.message.MessageHandler; import io.github.fisher2911.hmccosmetics.message.Messages; @@ -53,7 +52,7 @@ public class HMCCosmetics extends JavaPlugin { this.registerCommands(); this.registerListeners(); - if (!HookManager.getInstance().isEnabled(ItemAdderHook.class)) { + if (!HookManager.getInstance().isEnabled(ItemsAdderHook.class)) { this.load(); } } 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 a45d27b4..e4c3fad6 100644 --- a/src/main/java/io/github/fisher2911/hmccosmetics/hook/HookManager.java +++ b/src/main/java/io/github/fisher2911/hmccosmetics/hook/HookManager.java @@ -4,7 +4,7 @@ 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.ItemAdderHook; +import io.github.fisher2911.hmccosmetics.hook.item.ItemsAdderHook; import io.github.fisher2911.hmccosmetics.hook.listener.ItemsAdderListener; import org.bukkit.Bukkit; import org.bukkit.plugin.PluginManager; @@ -46,7 +46,7 @@ public class HookManager { final Map itemHookMap = new HashMap<>(); final OraxenHook oraxenHook = new OraxenHook(); - final ItemAdderHook itemAdderHook = new ItemAdderHook(); + final ItemsAdderHook itemAdderHook = new ItemsAdderHook(); if (pluginManager.getPlugin("Oraxen") != null) itemHookMap.put(oraxenHook.getIdentifier(), oraxenHook); if (pluginManager.getPlugin("ItemAdder") != null) { itemHookMap.put(itemAdderHook.getIdentifier(), itemAdderHook); diff --git a/src/main/java/io/github/fisher2911/hmccosmetics/hook/item/ItemAdderHook.java b/src/main/java/io/github/fisher2911/hmccosmetics/hook/item/ItemsAdderHook.java similarity index 92% rename from src/main/java/io/github/fisher2911/hmccosmetics/hook/item/ItemAdderHook.java rename to src/main/java/io/github/fisher2911/hmccosmetics/hook/item/ItemsAdderHook.java index ac389f23..9ae474ab 100644 --- a/src/main/java/io/github/fisher2911/hmccosmetics/hook/item/ItemAdderHook.java +++ b/src/main/java/io/github/fisher2911/hmccosmetics/hook/item/ItemsAdderHook.java @@ -3,7 +3,7 @@ import dev.lone.itemsadder.api.CustomStack; import org.bukkit.inventory.ItemStack; - public class ItemAdderHook implements ItemHook { + public class ItemsAdderHook implements ItemHook { public static final String ID = "ITEM_ADDER"; private static final String IDENTIFIER = "itemsadder"; From 280018fb9f38873ac95ab4a33701283cfeadc152 Mon Sep 17 00:00:00 2001 From: HeroBrineGoat <76707404+MasterOfTheFish@users.noreply.github.com> Date: Tue, 18 Jan 2022 19:45:02 -0500 Subject: [PATCH 10/16] Changed all ItemAdder things to ItemsAdder --- .../io/github/fisher2911/hmccosmetics/hook/HookManager.java | 6 +++--- .../hmccosmetics/hook/listener/ItemsAdderListener.java | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) 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 e4c3fad6..1a02cfd9 100644 --- a/src/main/java/io/github/fisher2911/hmccosmetics/hook/HookManager.java +++ b/src/main/java/io/github/fisher2911/hmccosmetics/hook/HookManager.java @@ -46,10 +46,10 @@ public class HookManager { final Map itemHookMap = new HashMap<>(); final OraxenHook oraxenHook = new OraxenHook(); - final ItemsAdderHook itemAdderHook = new ItemsAdderHook(); + final ItemsAdderHook itemsAdderHook = new ItemsAdderHook(); if (pluginManager.getPlugin("Oraxen") != null) itemHookMap.put(oraxenHook.getIdentifier(), oraxenHook); - if (pluginManager.getPlugin("ItemAdder") != null) { - itemHookMap.put(itemAdderHook.getIdentifier(), itemAdderHook); + if (pluginManager.getPlugin("ItemsAdder") != null) { + itemHookMap.put(itemsAdderHook.getIdentifier(), itemsAdderHook); this.plugin.getServer().getPluginManager().registerEvents(new ItemsAdderListener(this.plugin), this.plugin); } 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 index ddc8409c..ab4c61b6 100644 --- a/src/main/java/io/github/fisher2911/hmccosmetics/hook/listener/ItemsAdderListener.java +++ b/src/main/java/io/github/fisher2911/hmccosmetics/hook/listener/ItemsAdderListener.java @@ -15,7 +15,7 @@ public class ItemsAdderListener implements Listener { } @EventHandler - public void onItemAdderLoad(final ItemsAdderLoadDataEvent event) { + public void onItemsAdderLoad(final ItemsAdderLoadDataEvent event) { if (this.loaded) return; this.plugin.load(); this.loaded = true; 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 11/16] 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; - } -} From 14d1cf5d19d91c948b0487ec336f054a7446ec8c Mon Sep 17 00:00:00 2001 From: Fisher <76707404+Fisher2911@users.noreply.github.com> Date: Wed, 19 Jan 2022 08:00:11 -0500 Subject: [PATCH 12/16] Added test to try to fix startup error --- .../fisher2911/hmccosmetics/hook/item/ItemsAdderHook.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) 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 3cf3fc77..4c1535ae 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 @@ -16,9 +16,11 @@ public class ItemsAdderHook implements ItemHook, Listener { @EventHandler public void onItemsAdderLoad(final ItemsAdderLoadDataEvent event) { - if (this.loaded) return; - HMCCosmetics.getPlugin(HMCCosmetics.class).load(); - this.loaded = true; + // this is a test, will be removed later + System.out.println("ItemsAdder Loaded"); +// if (this.loaded) return; +// HMCCosmetics.getPlugin(HMCCosmetics.class).load(); +// this.loaded = true; } @Override From cfa36dab4b0ccb7a7cb90c0795adb37fcc8c90b6 Mon Sep 17 00:00:00 2001 From: Fisher <76707404+Fisher2911@users.noreply.github.com> Date: Wed, 19 Jan 2022 09:48:21 -0500 Subject: [PATCH 13/16] Update DatabaseFactory.java --- .../github/fisher2911/hmccosmetics/database/DatabaseFactory.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/io/github/fisher2911/hmccosmetics/database/DatabaseFactory.java b/src/main/java/io/github/fisher2911/hmccosmetics/database/DatabaseFactory.java index b4d7eda9..0a79d9fa 100644 --- a/src/main/java/io/github/fisher2911/hmccosmetics/database/DatabaseFactory.java +++ b/src/main/java/io/github/fisher2911/hmccosmetics/database/DatabaseFactory.java @@ -33,6 +33,7 @@ public class DatabaseFactory { final Logger logger = plugin.getLogger(); if (type == null) { + logger.severe("Database type was null, disabling plugin."); Bukkit.getPluginManager().disablePlugin(plugin); throw new NullPointerException(); } From 81bea485a5e9b993974a332548d5cc51440c2d90 Mon Sep 17 00:00:00 2001 From: Fisher <76707404+Fisher2911@users.noreply.github.com> Date: Wed, 19 Jan 2022 09:54:13 -0500 Subject: [PATCH 14/16] Added debug messages --- .../io/github/fisher2911/hmccosmetics/HMCCosmetics.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/main/java/io/github/fisher2911/hmccosmetics/HMCCosmetics.java b/src/main/java/io/github/fisher2911/hmccosmetics/HMCCosmetics.java index 204034c8..22ee51e7 100644 --- a/src/main/java/io/github/fisher2911/hmccosmetics/HMCCosmetics.java +++ b/src/main/java/io/github/fisher2911/hmccosmetics/HMCCosmetics.java @@ -68,16 +68,17 @@ public class HMCCosmetics extends JavaPlugin { } private void registerListeners() { - List.of( + final List listeners = List.of( new JoinListener(this), new ClickListener(this), new TeleportListener(this), new RespawnListener(this), new HatRemoveFixListener(this) - ). - forEach(listener -> - this.getServer().getPluginManager().registerEvents(listener, this) ); + for (final Listener : listener) { + this.getLogger().info("Loading listener: " + listener.class); + this.getServer().getPluginManager().registerEvents(listener, this); + } } private void registerCommands() { From 941b82de084016c8b52f848d01b294e841e56522 Mon Sep 17 00:00:00 2001 From: HeroBrineGoat <76707404+MasterOfTheFish@users.noreply.github.com> Date: Wed, 19 Jan 2022 21:16:28 -0500 Subject: [PATCH 15/16] Added support for item adder --- .idea/jarRepositories.xml | 5 +++++ build.gradle | 3 ++- .../fisher2911/hmccosmetics/HMCCosmetics.java | 2 ++ .../hmccosmetics/config/GuiSerializer.java | 2 ++ .../hmccosmetics/config/ItemSerializer.java | 6 +++++- .../hmccosmetics/hook/item/ItemHooks.java | 15 +++++++-------- .../hmccosmetics/hook/item/ItemsAdderHook.java | 10 ++++------ 7 files changed, 27 insertions(+), 16 deletions(-) diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml index b981a7cd..9a797cac 100644 --- a/.idea/jarRepositories.xml +++ b/.idea/jarRepositories.xml @@ -61,5 +61,10 @@