From c236e1a3bc61cad83c88718128e9441a93c397c3 Mon Sep 17 00:00:00 2001 From: Florian CUNY Date: Tue, 30 Oct 2018 15:33:16 +0100 Subject: [PATCH] Added Hook#getFailureCause() and fixed NPE in HooksManager --- src/main/java/world/bentobox/bentobox/api/hooks/Hook.java | 6 ++++++ .../java/world/bentobox/bentobox/managers/HooksManager.java | 4 +++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/main/java/world/bentobox/bentobox/api/hooks/Hook.java b/src/main/java/world/bentobox/bentobox/api/hooks/Hook.java index 1b624f6e5..6542c8b24 100644 --- a/src/main/java/world/bentobox/bentobox/api/hooks/Hook.java +++ b/src/main/java/world/bentobox/bentobox/api/hooks/Hook.java @@ -47,4 +47,10 @@ public abstract class Hook { * @return true if it successfully hooked into the plugin, false otherwise. */ public abstract boolean hook(); + + /** + * Returns an explanation that will be sent to the user to tell them why the hook process did not succeed. + * @return the probable causes why the hook process did not succeed. + */ + public abstract String getFailureCause(); } diff --git a/src/main/java/world/bentobox/bentobox/managers/HooksManager.java b/src/main/java/world/bentobox/bentobox/managers/HooksManager.java index 4cb40f2f5..feddf3db7 100644 --- a/src/main/java/world/bentobox/bentobox/managers/HooksManager.java +++ b/src/main/java/world/bentobox/bentobox/managers/HooksManager.java @@ -3,6 +3,7 @@ package world.bentobox.bentobox.managers; import world.bentobox.bentobox.BentoBox; import world.bentobox.bentobox.api.hooks.Hook; +import java.util.ArrayList; import java.util.List; import java.util.Optional; @@ -16,6 +17,7 @@ public class HooksManager { public HooksManager(BentoBox plugin) { this.plugin = plugin; + this.hooks = new ArrayList<>(); } public void registerHook(Hook hook) { @@ -24,7 +26,7 @@ public class HooksManager { if (hook.hook()) { hooks.add(hook); } else { - plugin.log("Could not hook with " + hook.getPluginName() + ". Skipping..."); + plugin.log("Could not hook with " + hook.getPluginName() + " because: " + hook.getFailureCause() + ". Skipping..."); } } }