aboutsummaryrefslogtreecommitdiffstats
path: root/bukkit/src/main/java
diff options
context:
space:
mode:
authorCoolLord22 <mastermodmaker@yahoo.com>2021-08-11 17:11:31 -0400
committerLMBishop <13875753+LMBishop@users.noreply.github.com>2021-08-11 23:04:25 +0100
commita7c955e1384a2e85d96629919c54079d4668a32a (patch)
tree08b8d34db3852eb83384704fedc64a741d566dfd /bukkit/src/main/java
parent54eb5d7db0ff1ace6c0152e4b73aa896e8f6f869 (diff)
Add EssentialsHook
Adds EssentialsHook class which will handle the imports for dependent classes. This class handles checks for whether or not the player is AFK. To stay consistent with how the project handles hooks, went ahead and created the abstract type as well.
Diffstat (limited to 'bukkit/src/main/java')
-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();
+ }
+}