diff --git a/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerDragsInInvScriptEvent.java b/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerDragsInInvScriptEvent.java index 89cdc89ca8..e4b1c8c99b 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerDragsInInvScriptEvent.java +++ b/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerDragsInInvScriptEvent.java @@ -7,6 +7,7 @@ import com.denizenscript.denizen.objects.PlayerTag; import com.denizenscript.denizen.utilities.implementation.BukkitScriptEntryData; import com.denizenscript.denizen.events.BukkitScriptEvent; +import com.denizenscript.denizencore.objects.core.ElementTag; import com.denizenscript.denizencore.objects.core.ListTag; import com.denizenscript.denizencore.objects.ObjectTag; import com.denizenscript.denizencore.scripts.ScriptEntryData; @@ -30,6 +31,7 @@ public class PlayerDragsInInvScriptEvent extends BukkitScriptEvent implements Li // @Group Player // // @Switch in_area: replaces the default 'in:' for this event. + // @Switch drag_type: to only run the event if the given drag type (SINGLE or EVEN) was used. // // @Location true // @@ -43,6 +45,7 @@ public class PlayerDragsInInvScriptEvent extends BukkitScriptEvent implements Li // returns the InventoryTag that was clicked in. // returns a ListTag of the slot numbers dragged through. // returns a ListTag of the raw slot numbers dragged through. + // returns either SINGLE or EVEN depending on whether the player used their left or right mouse button. // // @Player Always. // @@ -80,6 +83,9 @@ public boolean matches(ScriptPath path) { if (!runInCheck(path, entity.getLocation(), "in_area")) { return false; } + if (!runGenericSwitchCheck(path, "drag_type", event.getType().name())) { + return false; + } return super.matches(path); } @@ -115,6 +121,8 @@ public ObjectTag getContext(String name) { case "clicked_inventory": return InventoryTag.mirrorBukkitInventory(event.getView() .getInventory(event.getRawSlots().stream().findFirst().orElse(0))); + case "drag_type": + return new ElementTag(event.getType().name()); } return super.getContext(name); }