summaryrefslogtreecommitdiffstats
path: root/bukkit/src
diff options
context:
space:
mode:
authorKrakenied <Krakenied1@gmail.com>2022-04-16 17:47:26 +0200
committerKrakenied <Krakenied1@gmail.com>2022-04-16 17:47:26 +0200
commitb5e2e07b1db77199742b12346fe8e8959e29c427 (patch)
tree4f55df0ae9be527545fa1f3a0d6b828118fa8d74 /bukkit/src
parentabb7edcdbd1e1cd7edf1838d91d215cb47a51d91 (diff)
Fix support for older server versions
Diffstat (limited to 'bukkit/src')
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/InventoryTaskType.java17
1 files changed, 12 insertions, 5 deletions
diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/InventoryTaskType.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/InventoryTaskType.java
index 9a85ae0b..b654f182 100644
--- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/InventoryTaskType.java
+++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/InventoryTaskType.java
@@ -19,8 +19,8 @@ import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
+import org.bukkit.event.Listener;
import org.bukkit.event.inventory.InventoryCloseEvent;
-import org.bukkit.event.player.PlayerBucketEntityEvent;
import org.bukkit.event.player.PlayerBucketEvent;
import org.bukkit.event.player.PlayerPickupItemEvent;
import org.bukkit.inventory.ItemStack;
@@ -38,6 +38,11 @@ public final class InventoryTaskType extends BukkitTaskType {
public InventoryTaskType(BukkitQuestsPlugin plugin) {
super("inventory", TaskUtils.TASK_ATTRIBUTION_STRING, "Obtain a set of items.");
this.plugin = plugin;
+
+ try {
+ Class.forName("org.bukkit.event.player.PlayerBucketEntityEvent");
+ plugin.getServer().getPluginManager().registerEvents(new BucketEntityListener(), plugin);
+ } catch (ClassNotFoundException ignored) { } // server version cannot support event
}
@Override
@@ -72,13 +77,15 @@ public final class InventoryTaskType extends BukkitTaskType {
}
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
- public void onBucket(final PlayerBucketEvent event) {
+ public void onBucket(PlayerBucketEvent event) {
Bukkit.getScheduler().runTaskLater(plugin, () -> checkInventory(event.getPlayer()), 1L);
}
- @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
- public void onBucketEntity(final PlayerBucketEntityEvent event) {
- Bukkit.getScheduler().runTaskLater(plugin, () -> checkInventory(event.getPlayer()), 1L);
+ private final class BucketEntityListener implements Listener {
+ @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
+ public void onBucketEntity(org.bukkit.event.player.PlayerBucketEntityEvent event) {
+ Bukkit.getScheduler().runTaskLater(plugin, () -> checkInventory(event.getPlayer()), 1L);
+ }
}
@SuppressWarnings("deprecation")