aboutsummaryrefslogtreecommitdiffstats
path: root/bukkit/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'bukkit/src/main')
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/BukkitQuestsPlugin.java11
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/essentials/AbstractEssentialsHook.java13
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/essentials/EssentialsHook.java19
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();
+ }
+}