aboutsummaryrefslogtreecommitdiffstats
path: root/bukkit/src/main/java
diff options
context:
space:
mode:
authorKrakenied <Krakenied1@gmail.com>2023-05-26 20:04:24 +0200
committerKrakenied <Krakenied1@gmail.com>2023-05-26 20:04:24 +0200
commit4d19504fa191718a61628a4c6e0a844d990fd5bc (patch)
tree15d1d85eed2c987a401d1dda69b4a30128d48f52 /bukkit/src/main/java
parent189414ebd78b29add8565547d50f0dad9f721606 (diff)
Improve brewing stand player detection
Diffstat (limited to 'bukkit/src/main/java')
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/BrewingTaskType.java22
1 files changed, 15 insertions, 7 deletions
diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/BrewingTaskType.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/BrewingTaskType.java
index c0ac8670..ce4fcfde 100644
--- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/BrewingTaskType.java
+++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/BrewingTaskType.java
@@ -12,13 +12,14 @@ import com.leonardobishop.quests.common.quest.Quest;
import com.leonardobishop.quests.common.quest.Task;
import org.bukkit.Bukkit;
import org.bukkit.Location;
-import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
-import org.bukkit.event.block.Action;
import org.bukkit.event.inventory.BrewEvent;
-import org.bukkit.event.player.PlayerInteractEvent;
+import org.bukkit.event.inventory.InventoryOpenEvent;
+import org.bukkit.inventory.BrewerInventory;
+import org.bukkit.inventory.Inventory;
+import org.bukkit.inventory.InventoryHolder;
import org.bukkit.inventory.ItemStack;
import java.util.HashMap;
@@ -46,12 +47,19 @@ public final class BrewingTaskType extends BukkitTaskType {
fixedQuestItemCache.clear();
}
- @SuppressWarnings("ConstantConditions")
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
- public void onPlayerInteract(PlayerInteractEvent event) {
- if (event.getAction() == Action.RIGHT_CLICK_BLOCK && event.getClickedBlock().getType() == Material.BREWING_STAND) {
- brewingStands.put(event.getClickedBlock().getLocation(), event.getPlayer().getUniqueId());
+ public void onInventoryOpen(InventoryOpenEvent event) {
+ final Inventory inventory = event.getInventory();
+ if (!(inventory instanceof BrewerInventory)) {
+ return;
}
+
+ final InventoryHolder holder = inventory.getHolder();
+ if (holder == null) {
+ return;
+ }
+
+ brewingStands.put(inventory.getLocation(), event.getPlayer().getUniqueId());
}
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)