mirror of
https://gitlab.com/phoenix-dvpmt/mmoitems.git
synced 2025-02-28 15:41:04 +01:00
better use of PlayerInteractEvent
This commit is contained in:
parent
b29105ae03
commit
492e406f2d
@ -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);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -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());
|
||||
|
Loading…
Reference in New Issue
Block a user