diff options
3 files changed, 43 insertions, 0 deletions
diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/BukkitQuestsPlugin.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/BukkitQuestsPlugin.java index 5a38f4fa..232c0ecd 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/BukkitQuestsPlugin.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/BukkitQuestsPlugin.java @@ -6,6 +6,8 @@ import com.leonardobishop.quests.bukkit.config.BukkitQuestsConfig; import com.leonardobishop.quests.bukkit.config.BukkitQuestsLoader; import com.leonardobishop.quests.bukkit.hook.coreprotect.AbstractCoreProtectHook; import com.leonardobishop.quests.bukkit.hook.coreprotect.CoreProtectHook; +import com.leonardobishop.quests.bukkit.hook.essentials.AbstractEssentialsHook; +import com.leonardobishop.quests.bukkit.hook.essentials.EssentialsHook; import com.leonardobishop.quests.bukkit.hook.itemgetter.ItemGetter; import com.leonardobishop.quests.bukkit.hook.itemgetter.ItemGetterLatest; import com.leonardobishop.quests.bukkit.hook.itemgetter.ItemGetter_1_13; @@ -111,6 +113,7 @@ public class BukkitQuestsPlugin extends JavaPlugin implements Quests { private MenuController menuController; private AbstractPlaceholderAPIHook placeholderAPIHook; private AbstractCoreProtectHook coreProtectHook; + private AbstractEssentialsHook essentialsHook; private ItemGetter itemGetter; private Title titleHandle; @@ -247,6 +250,10 @@ public class BukkitQuestsPlugin extends JavaPlugin implements Quests { // Prepare PAPI processor this.placeholderAPIProcessor = (player, s) -> s; + if (Bukkit.getPluginManager().isPluginEnabled("Essentials")) { + this.essentialsHook = new EssentialsHook(); + } + // Start quests update checker boolean ignoreUpdates = false; try { @@ -528,6 +535,10 @@ public class BukkitQuestsPlugin extends JavaPlugin implements Quests { return coreProtectHook; } + public @Nullable AbstractEssentialsHook getEssentialsHook() { + return essentialsHook; + } + public ItemGetter getItemGetter() { return itemGetter; } diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/essentials/AbstractEssentialsHook.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/essentials/AbstractEssentialsHook.java new file mode 100644 index 00000000..1eadddbb --- /dev/null +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/essentials/AbstractEssentialsHook.java @@ -0,0 +1,13 @@ +package com.leonardobishop.quests.bukkit.hook.essentials; + +import org.bukkit.entity.Player; + +public interface AbstractEssentialsHook { + /** + * Check whether or not the passed player is marked AFK by Essentials + * + * @param player the block + * @return true if afk, false otherwise + */ + boolean isAfk(Player player); +} diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/essentials/EssentialsHook.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/essentials/EssentialsHook.java new file mode 100644 index 00000000..b18d9824 --- /dev/null +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/essentials/EssentialsHook.java @@ -0,0 +1,19 @@ +package com.leonardobishop.quests.bukkit.hook.essentials; + +import com.earth2me.essentials.Essentials; +import org.bukkit.Bukkit; +import org.bukkit.entity.Player; + +public class EssentialsHook implements AbstractEssentialsHook { + + private final Essentials ess; + + public EssentialsHook() { + ess = ((Essentials) Bukkit.getPluginManager().getPlugin("Essentials")); + } + + @Override + public boolean isAfk(Player player) { + return ess.getUser(player).isAfk(); + } +} |
