From 7018002ea60d716aef9397c5fa31e6089d7b06cf Mon Sep 17 00:00:00 2001 From: 1robie <97293924+1robie@users.noreply.github.com> Date: Fri, 7 Aug 2026 23:52:36 +0200 Subject: [PATCH 1/5] feat: add debug logging for eco item loading failures --- .../src/main/java/fr/maxlego08/menu/hooks/EcoLoader.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Hooks/Eco/src/main/java/fr/maxlego08/menu/hooks/EcoLoader.java b/Hooks/Eco/src/main/java/fr/maxlego08/menu/hooks/EcoLoader.java index 029ebadf9..4891df332 100644 --- a/Hooks/Eco/src/main/java/fr/maxlego08/menu/hooks/EcoLoader.java +++ b/Hooks/Eco/src/main/java/fr/maxlego08/menu/hooks/EcoLoader.java @@ -3,7 +3,9 @@ import com.willfp.eco.core.items.Items; import fr.maxlego08.menu.api.annotations.AutoMaterialLoader; import fr.maxlego08.menu.api.annotations.RequiresPlugin; +import fr.maxlego08.menu.api.configuration.Configuration; import fr.maxlego08.menu.api.loader.MaterialLoader; +import fr.maxlego08.menu.zcore.logger.Logger; import org.bukkit.configuration.file.YamlConfiguration; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; @@ -23,7 +25,10 @@ public ItemStack load(@NonNull Player player, @NonNull YamlConfiguration yamlCon //eco item lookup system: // https://plugins.auxilor.io/all-plugins/the-item-lookup-system return Items.lookup(materialString).getItem(); - } catch (Exception ignored) { + } catch (Exception exception) { + if (Configuration.enableDebug) { + Logger.info("Failed to load eco item: " + materialString + " for player: " + player.getName() + ", reason: " + exception.getMessage()+"."); + } return null; } } From 4c959e36014bea1fe0724bf574102850ef5207a9 Mon Sep 17 00:00:00 2001 From: 1robie <97293924+1robie@users.noreply.github.com> Date: Fri, 7 Aug 2026 23:53:20 +0200 Subject: [PATCH 2/5] feat: add OnClickMechanicFactory registration in ZItemManager --- src/main/java/fr/maxlego08/menu/ZItemManager.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/java/fr/maxlego08/menu/ZItemManager.java b/src/main/java/fr/maxlego08/menu/ZItemManager.java index 5bc94efbf..ac1b099dc 100644 --- a/src/main/java/fr/maxlego08/menu/ZItemManager.java +++ b/src/main/java/fr/maxlego08/menu/ZItemManager.java @@ -9,6 +9,7 @@ import fr.maxlego08.menu.api.mechanic.MechanicListener; import fr.maxlego08.menu.item.CustomItemData; import fr.maxlego08.menu.mechanics.itemjoin.ItemJoinMechanicFactory; +import fr.maxlego08.menu.mechanics.onclick.OnClickMechanicFactory; import fr.maxlego08.menu.zcore.logger.Logger; import org.bukkit.NamespacedKey; import org.bukkit.configuration.ConfigurationSection; @@ -50,6 +51,7 @@ public ZItemManager(ZMenuPlugin menuPlugin) { private void loadMechanics(){ this.registerMechanicFactory(new ItemJoinMechanicFactory(this.menuPlugin)); + this.registerMechanicFactory(new OnClickMechanicFactory(this.menuPlugin)); } @Override From 0d449af4bdecce52ac67d4917fe7a8d94160a766 Mon Sep 17 00:00:00 2001 From: 1robie <97293924+1robie@users.noreply.github.com> Date: Sat, 8 Aug 2026 19:52:59 +0200 Subject: [PATCH 3/5] fix: missings economy plugin inside paper-plugin.yml --- src/main/resources/paper-plugin.yml | 37 +++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/src/main/resources/paper-plugin.yml b/src/main/resources/paper-plugin.yml index 6119ffcbf..be722479c 100644 --- a/src/main/resources/paper-plugin.yml +++ b/src/main/resources/paper-plugin.yml @@ -144,4 +144,41 @@ dependencies: Geyser-Spigot: load: BEFORE required: false + join-classpath: true + + # -- Economy plugins + Vault: + join-classpath: true + + BeastTokens: + join-classpath: true + + PlayerPoints: + join-classpath: true + + ElementalTokens: + join-classpath: true + + ElementalGems: + join-classpath: true + + zEssentials: + join-classpath: true + + EcoBits: + join-classpath: true + + CoinsEngine: + join-classpath: true + + ExcellentEconomy: + join-classpath: true + + VotingPlugin: + join-classpath: true + + RedisEconomy: + join-classpath: true + + RoyaleEconomy: join-classpath: true \ No newline at end of file From 4c1a1f08cfb946d1da618f9d1e3bc6428ebb9e96 Mon Sep 17 00:00:00 2001 From: 1robie <97293924+1robie@users.noreply.github.com> Date: Sat, 8 Aug 2026 21:49:45 +0200 Subject: [PATCH 4/5] fix: enhance logging for missing MechanicFactory in ZItemManager --- src/main/java/fr/maxlego08/menu/ZItemManager.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/fr/maxlego08/menu/ZItemManager.java b/src/main/java/fr/maxlego08/menu/ZItemManager.java index ac1b099dc..b62fc28aa 100644 --- a/src/main/java/fr/maxlego08/menu/ZItemManager.java +++ b/src/main/java/fr/maxlego08/menu/ZItemManager.java @@ -102,7 +102,7 @@ public void loadCustomItem(File file) { factory.parse(this.menuPlugin, itemId, mechanicSection.getConfigurationSection(mechanicId), config, file, path + mechanicId + "."); mechanicIds.add(mechanicId); } else { - Logger.info("No MechanicFactory found for mechanicId " + mechanicId + " in item " + itemId, Logger.LogType.WARNING); + Logger.info("No MechanicFactory found for mechanicId " + mechanicId + " in item " + itemId + " from file " + file.getName() + "(available factories: " + this.mechanicFactories.keySet() + ")", Logger.LogType.WARNING); } } } From 1d8a77a6efb80e1f5c4156cb03bfd8356a2e9352 Mon Sep 17 00:00:00 2001 From: 1robie <97293924+1robie@users.noreply.github.com> Date: Sat, 8 Aug 2026 22:16:25 +0200 Subject: [PATCH 5/5] fix: mark economy plugins as optional in paper-plugin.yml --- src/main/resources/paper-plugin.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/main/resources/paper-plugin.yml b/src/main/resources/paper-plugin.yml index be722479c..24b4afbb0 100644 --- a/src/main/resources/paper-plugin.yml +++ b/src/main/resources/paper-plugin.yml @@ -148,37 +148,49 @@ dependencies: # -- Economy plugins Vault: + required: false join-classpath: true BeastTokens: + required: false join-classpath: true PlayerPoints: + required: false join-classpath: true ElementalTokens: + required: false join-classpath: true ElementalGems: + required: false join-classpath: true zEssentials: + required: false join-classpath: true EcoBits: + required: false join-classpath: true CoinsEngine: + required: false join-classpath: true ExcellentEconomy: + required: false join-classpath: true VotingPlugin: + required: false join-classpath: true RedisEconomy: + required: false join-classpath: true RoyaleEconomy: + required: false join-classpath: true \ No newline at end of file