diff options
| author | CoolLord22 <mastermodmaker@yahoo.com> | 2021-08-11 17:11:31 -0400 |
|---|---|---|
| committer | LMBishop <13875753+LMBishop@users.noreply.github.com> | 2021-08-11 23:04:25 +0100 |
| commit | a7c955e1384a2e85d96629919c54079d4668a32a (patch) | |
| tree | 08b8d34db3852eb83384704fedc64a741d566dfd /bukkit/src/main/java/com/leonardobishop | |
| parent | 54eb5d7db0ff1ace6c0152e4b73aa896e8f6f869 (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/com/leonardobishop')
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(); + } +} |
