From 492e406f2d41f755ab40233af3cfbe934c971a9d Mon Sep 17 00:00:00 2001 From: Indyuce Date: Mon, 27 Dec 2021 13:56:53 +0100 Subject: [PATCH] better use of PlayerInteractEvent --- .../net/Indyuce/mmoitems/listener/DisableInteractions.java | 3 ++- src/main/java/net/Indyuce/mmoitems/listener/ItemUse.java | 7 ++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/main/java/net/Indyuce/mmoitems/listener/DisableInteractions.java b/src/main/java/net/Indyuce/mmoitems/listener/DisableInteractions.java index 992279a8..b63f4160 100644 --- a/src/main/java/net/Indyuce/mmoitems/listener/DisableInteractions.java +++ b/src/main/java/net/Indyuce/mmoitems/listener/DisableInteractions.java @@ -8,6 +8,7 @@ import org.bukkit.Keyed; import org.bukkit.entity.ArmorStand; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; +import org.bukkit.event.Event; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; @@ -93,7 +94,7 @@ public class DisableInteractions implements Listener { NBTItem item = NBTItem.get(event.getItem()); if (item.getBoolean("MMOITEMS_DISABLE_INTERACTION") || item.hasTag("MMOITEMS_UNIDENTIFIED_ITEM")) - event.setCancelled(true); + event.setUseItemInHand(Event.Result.DENY); } /** diff --git a/src/main/java/net/Indyuce/mmoitems/listener/ItemUse.java b/src/main/java/net/Indyuce/mmoitems/listener/ItemUse.java index 6fe61dcb..a35c505b 100644 --- a/src/main/java/net/Indyuce/mmoitems/listener/ItemUse.java +++ b/src/main/java/net/Indyuce/mmoitems/listener/ItemUse.java @@ -27,6 +27,7 @@ import org.bukkit.block.Block; import org.bukkit.entity.Arrow; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; +import org.bukkit.event.Event; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; @@ -65,7 +66,7 @@ public class ItemUse implements Listener { // (BUG FIX) Cancel the event to prevent things like shield blocking if (!useItem.checkItemRequirements()) { - event.setCancelled(true); + event.setUseItemInHand(Event.Result.DENY); return; } @@ -75,14 +76,14 @@ public class ItemUse implements Listener { Message.ITEM_ON_COOLDOWN .format(ChatColor.RED, "#left#", DIGIT.format(useItem.getPlayerData().getItemCooldown(useItem.getMMOItem()))) .send(player); - event.setCancelled(true); + event.setUseItemInHand(Event.Result.DENY); return; } if (useItem instanceof Consumable) { // Since the interact event is cancelled, no skills is cast by MythicLib. They must be force-cast - event.setCancelled(true); + event.setUseItemInHand(Event.Result.DENY); useItem.getPlayerData().getMMOPlayerData().triggerSkills(player.isSneaking() ? TriggerType.SHIFT_RIGHT_CLICK : TriggerType.RIGHT_CLICK, null); Consumable.ConsumableConsumeResult result = ((Consumable) useItem).useOnPlayer(event.getHand());