2020-02-26 21:44:51 +01:00
|
|
|
From a5d62d4af2c15e1f107eb5c10660d80ae025fca1 Mon Sep 17 00:00:00 2001
|
2020-02-26 20:12:29 +01:00
|
|
|
From: Aikar <aikar@aikar.co>
|
|
|
|
Date: Wed, 7 Dec 2016 00:22:09 -0500
|
|
|
|
Subject: [PATCH] EMC PlayerUseItemEvent
|
|
|
|
|
|
|
|
---
|
|
|
|
.../player/PlayerPostPlaceItemAtEvent.java | 80 +++++++++++++
|
|
|
|
.../event/player/PlayerPostUseItemEvent.java | 69 +++++++++++
|
|
|
|
.../customevents/PlayerPlaceItemAtEvent.java | 110 ++++++++++++++++++
|
|
|
|
.../customevents/PlayerUseItemEvent.java | 89 ++++++++++++++
|
|
|
|
4 files changed, 348 insertions(+)
|
|
|
|
create mode 100644 src/main/java/com/destroystokyo/paper/event/player/PlayerPostPlaceItemAtEvent.java
|
|
|
|
create mode 100644 src/main/java/com/destroystokyo/paper/event/player/PlayerPostUseItemEvent.java
|
|
|
|
create mode 100644 src/main/java/com/empireminecraft/customevents/PlayerPlaceItemAtEvent.java
|
|
|
|
create mode 100644 src/main/java/com/empireminecraft/customevents/PlayerUseItemEvent.java
|
|
|
|
|
|
|
|
diff --git a/src/main/java/com/destroystokyo/paper/event/player/PlayerPostPlaceItemAtEvent.java b/src/main/java/com/destroystokyo/paper/event/player/PlayerPostPlaceItemAtEvent.java
|
|
|
|
new file mode 100644
|
|
|
|
index 00000000..8e83d0d9
|
|
|
|
--- /dev/null
|
|
|
|
+++ b/src/main/java/com/destroystokyo/paper/event/player/PlayerPostPlaceItemAtEvent.java
|
|
|
|
@@ -0,0 +1,80 @@
|
|
|
|
+/*
|
|
|
|
+ * Copyright (c) 2018 Daniel Ennis (Aikar) MIT License
|
|
|
|
+ *
|
|
|
|
+ * Permission is hereby granted, free of charge, to any person obtaining
|
|
|
|
+ * a copy of this software and associated documentation files (the
|
|
|
|
+ * "Software"), to deal in the Software without restriction, including
|
|
|
|
+ * without limitation the rights to use, copy, modify, merge, publish,
|
|
|
|
+ * distribute, sublicense, and/or sell copies of the Software, and to
|
|
|
|
+ * permit persons to whom the Software is furnished to do so, subject to
|
|
|
|
+ * the following conditions:
|
|
|
|
+ *
|
|
|
|
+ * The above copyright notice and this permission notice shall be
|
|
|
|
+ * included in all copies or substantial portions of the Software.
|
|
|
|
+ *
|
|
|
|
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
|
|
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
|
|
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
|
|
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
|
|
|
+ * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
|
|
+ * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|
|
|
+ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
|
|
+ */
|
|
|
|
+
|
|
|
|
+package com.destroystokyo.paper.event.player;
|
|
|
|
+
|
|
|
|
+import org.bukkit.Location;
|
|
|
|
+import org.bukkit.block.BlockFace;
|
|
|
|
+import org.bukkit.entity.Player;
|
|
|
|
+import org.bukkit.event.HandlerList;
|
|
|
|
+import org.bukkit.event.player.PlayerEvent;
|
|
|
|
+import org.bukkit.inventory.EquipmentSlot;
|
|
|
|
+import org.bukkit.inventory.ItemStack;
|
|
|
|
+import org.bukkit.util.Vector;
|
|
|
|
+
|
|
|
|
+public class PlayerPostPlaceItemAtEvent extends PlayerEvent {
|
|
|
|
+ private final ItemStack usedItem;
|
|
|
|
+ private final Location targetLoc;
|
|
|
|
+ private final BlockFace clickFace;
|
|
|
|
+ private final Vector hitVector;
|
|
|
|
+ private final EquipmentSlot hand;
|
|
|
|
+
|
|
|
|
+ public PlayerPostPlaceItemAtEvent(Player player, ItemStack usedItem, Location targetLoc, BlockFace clickFace, Vector hitVector, EquipmentSlot hand) {
|
|
|
|
+ super(player);
|
|
|
|
+ this.usedItem = usedItem;
|
|
|
|
+ this.targetLoc = targetLoc;
|
|
|
|
+ this.clickFace = clickFace;
|
|
|
|
+ this.hitVector = hitVector;
|
|
|
|
+ this.hand = hand;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public Location getTargetLoc() {
|
|
|
|
+ return targetLoc;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public BlockFace getClickFace() {
|
|
|
|
+ return clickFace;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public Vector getHitVector() {
|
|
|
|
+ return hitVector;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public EquipmentSlot getHand() {
|
|
|
|
+ return hand;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public ItemStack getUsedItem() {
|
|
|
|
+ return usedItem;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ private static final HandlerList handlers = new HandlerList();
|
|
|
|
+
|
|
|
|
+ public HandlerList getHandlers() {
|
|
|
|
+ return handlers;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public static HandlerList getHandlerList() {
|
|
|
|
+ return handlers;
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
diff --git a/src/main/java/com/destroystokyo/paper/event/player/PlayerPostUseItemEvent.java b/src/main/java/com/destroystokyo/paper/event/player/PlayerPostUseItemEvent.java
|
|
|
|
new file mode 100644
|
|
|
|
index 00000000..511082ea
|
|
|
|
--- /dev/null
|
|
|
|
+++ b/src/main/java/com/destroystokyo/paper/event/player/PlayerPostUseItemEvent.java
|
|
|
|
@@ -0,0 +1,69 @@
|
|
|
|
+/*
|
|
|
|
+ * Copyright (c) 2018 Daniel Ennis (Aikar) MIT License
|
|
|
|
+ *
|
|
|
|
+ * Permission is hereby granted, free of charge, to any person obtaining
|
|
|
|
+ * a copy of this software and associated documentation files (the
|
|
|
|
+ * "Software"), to deal in the Software without restriction, including
|
|
|
|
+ * without limitation the rights to use, copy, modify, merge, publish,
|
|
|
|
+ * distribute, sublicense, and/or sell copies of the Software, and to
|
|
|
|
+ * permit persons to whom the Software is furnished to do so, subject to
|
|
|
|
+ * the following conditions:
|
|
|
|
+ *
|
|
|
|
+ * The above copyright notice and this permission notice shall be
|
|
|
|
+ * included in all copies or substantial portions of the Software.
|
|
|
|
+ *
|
|
|
|
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
|
|
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
|
|
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
|
|
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
|
|
|
+ * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
|
|
+ * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|
|
|
+ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
|
|
+ */
|
|
|
|
+
|
|
|
|
+package com.destroystokyo.paper.event.player;
|
|
|
|
+
|
|
|
|
+import org.bukkit.entity.Player;
|
|
|
|
+import org.bukkit.event.HandlerList;
|
|
|
|
+import org.bukkit.event.player.PlayerEvent;
|
|
|
|
+import org.bukkit.inventory.EquipmentSlot;
|
|
|
|
+import org.bukkit.inventory.ItemStack;
|
|
|
|
+
|
|
|
|
+public class PlayerPostUseItemEvent extends PlayerEvent {
|
|
|
|
+ private final ItemStack usedItem;
|
|
|
|
+ private ItemStack newItem;
|
|
|
|
+ private final EquipmentSlot hand;
|
|
|
|
+
|
|
|
|
+ public PlayerPostUseItemEvent(Player player, ItemStack usedItem, ItemStack newItem, EquipmentSlot hand) {
|
|
|
|
+ super(player);
|
|
|
|
+ this.usedItem = usedItem;
|
|
|
|
+ this.newItem = newItem;
|
|
|
|
+ this.hand = hand;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public EquipmentSlot getHand() {
|
|
|
|
+ return hand;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public ItemStack getUsedItem() {
|
|
|
|
+ return usedItem;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public ItemStack getNewItem() {
|
|
|
|
+ return newItem;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public void setNewItem(ItemStack newItem) {
|
|
|
|
+ this.newItem = newItem;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ private static final HandlerList handlers = new HandlerList();
|
|
|
|
+
|
|
|
|
+ public HandlerList getHandlers() {
|
|
|
|
+ return handlers;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public static HandlerList getHandlerList() {
|
|
|
|
+ return handlers;
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
diff --git a/src/main/java/com/empireminecraft/customevents/PlayerPlaceItemAtEvent.java b/src/main/java/com/empireminecraft/customevents/PlayerPlaceItemAtEvent.java
|
|
|
|
new file mode 100644
|
|
|
|
index 00000000..1b1bf854
|
|
|
|
--- /dev/null
|
|
|
|
+++ b/src/main/java/com/empireminecraft/customevents/PlayerPlaceItemAtEvent.java
|
|
|
|
@@ -0,0 +1,110 @@
|
|
|
|
+/*
|
|
|
|
+ * Copyright (c) 2016 Starlis LLC / Daniel Ennis (Aikar) - MIT License
|
|
|
|
+ *
|
|
|
|
+ * Permission is hereby granted, free of charge, to any person obtaining
|
|
|
|
+ * a copy of this software and associated documentation files (the
|
|
|
|
+ * "Software"), to deal in the Software without restriction, including
|
|
|
|
+ * without limitation the rights to use, copy, modify, merge, publish,
|
|
|
|
+ * distribute, sublicense, and/or sell copies of the Software, and to
|
|
|
|
+ * permit persons to whom the Software is furnished to do so, subject to
|
|
|
|
+ * the following conditions:
|
|
|
|
+ *
|
|
|
|
+ * The above copyright notice and this permission notice shall be
|
|
|
|
+ * included in all copies or substantial portions of the Software.
|
|
|
|
+ *
|
|
|
|
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
|
|
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
|
|
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
|
|
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
|
|
|
+ * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
|
|
+ * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|
|
|
+ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
|
|
+ */
|
|
|
|
+
|
|
|
|
+package com.empireminecraft.customevents;
|
|
|
|
+
|
|
|
|
+import org.bukkit.Location;
|
|
|
|
+import org.bukkit.block.BlockFace;
|
|
|
|
+import org.bukkit.entity.Player;
|
|
|
|
+import org.bukkit.event.Cancellable;
|
|
|
|
+import org.bukkit.event.HandlerList;
|
|
|
|
+import org.bukkit.event.player.PlayerEvent;
|
|
|
|
+import org.bukkit.inventory.EquipmentSlot;
|
|
|
|
+import org.bukkit.inventory.ItemStack;
|
|
|
|
+import org.bukkit.util.Vector;
|
|
|
|
+
|
|
|
|
+public class PlayerPlaceItemAtEvent extends PlayerEvent implements Cancellable {
|
|
|
|
+ private static final HandlerList handlers = new HandlerList();
|
|
|
|
+ private boolean canceled;
|
|
|
|
+ private final ItemStack item;
|
|
|
|
+ private final Location targetLoc;
|
|
|
|
+ private final BlockFace clickFace;
|
|
|
|
+ private final Vector hitVector;
|
|
|
|
+ private final EquipmentSlot hand;
|
|
|
|
+ private ItemStack tempItem;
|
|
|
|
+ private boolean consume = true;
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ public PlayerPlaceItemAtEvent(Player player, ItemStack item, Location targetLoc, BlockFace clickFace, Vector hitVector, EquipmentSlot hand) {
|
|
|
|
+ super(player);
|
|
|
|
+ this.item = item;
|
|
|
|
+ this.targetLoc = targetLoc;
|
|
|
|
+ this.clickFace = clickFace;
|
|
|
|
+ this.hitVector = hitVector;
|
|
|
|
+ this.hand = hand;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public ItemStack getItem() {
|
|
|
|
+ return item;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public EquipmentSlot getHand() {
|
|
|
|
+ return hand;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public Location getTargetLoc() {
|
|
|
|
+ return targetLoc;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public BlockFace getClickFace() {
|
|
|
|
+ return clickFace;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public Vector getHitVector() {
|
|
|
|
+ return hitVector;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public ItemStack getTempItem() {
|
|
|
|
+ return this.tempItem;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public void setTempItem(ItemStack item) {
|
|
|
|
+ if (item == null) {
|
|
|
|
+ canceled = true;
|
|
|
|
+ }
|
|
|
|
+ this.tempItem = item;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public boolean getConsumeItem() {
|
|
|
|
+ return this.consume;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public void setConsumeItem(boolean consume) {
|
|
|
|
+ this.consume = consume;
|
|
|
|
+ }
|
|
|
|
+ public boolean isCancelled() {
|
|
|
|
+ return canceled;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public void setCancelled(boolean cancel) {
|
|
|
|
+ canceled = cancel;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public HandlerList getHandlers() {
|
|
|
|
+ return handlers;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public static HandlerList getHandlerList() {
|
|
|
|
+ return handlers;
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
diff --git a/src/main/java/com/empireminecraft/customevents/PlayerUseItemEvent.java b/src/main/java/com/empireminecraft/customevents/PlayerUseItemEvent.java
|
|
|
|
new file mode 100644
|
|
|
|
index 00000000..c61c6a44
|
|
|
|
--- /dev/null
|
|
|
|
+++ b/src/main/java/com/empireminecraft/customevents/PlayerUseItemEvent.java
|
|
|
|
@@ -0,0 +1,89 @@
|
|
|
|
+/*
|
|
|
|
+ * Copyright (c) 2016 Starlis LLC / Daniel Ennis (Aikar) - MIT License
|
|
|
|
+ *
|
|
|
|
+ * Permission is hereby granted, free of charge, to any person obtaining
|
|
|
|
+ * a copy of this software and associated documentation files (the
|
|
|
|
+ * "Software"), to deal in the Software without restriction, including
|
|
|
|
+ * without limitation the rights to use, copy, modify, merge, publish,
|
|
|
|
+ * distribute, sublicense, and/or sell copies of the Software, and to
|
|
|
|
+ * permit persons to whom the Software is furnished to do so, subject to
|
|
|
|
+ * the following conditions:
|
|
|
|
+ *
|
|
|
|
+ * The above copyright notice and this permission notice shall be
|
|
|
|
+ * included in all copies or substantial portions of the Software.
|
|
|
|
+ *
|
|
|
|
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
|
|
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
|
|
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
|
|
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
|
|
|
+ * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
|
|
+ * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|
|
|
+ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
|
|
+ */
|
|
|
|
+
|
|
|
|
+package com.empireminecraft.customevents;
|
|
|
|
+
|
|
|
|
+import org.bukkit.entity.Player;
|
|
|
|
+import org.bukkit.event.Cancellable;
|
|
|
|
+import org.bukkit.event.HandlerList;
|
|
|
|
+import org.bukkit.event.player.PlayerEvent;
|
|
|
|
+import org.bukkit.inventory.EquipmentSlot;
|
|
|
|
+import org.bukkit.inventory.ItemStack;
|
|
|
|
+
|
|
|
|
+public class PlayerUseItemEvent extends PlayerEvent implements Cancellable {
|
|
|
|
+ private static final HandlerList handlers = new HandlerList();
|
|
|
|
+ private boolean canceled;
|
|
|
|
+ private final ItemStack item;
|
|
|
|
+ private final EquipmentSlot hand;
|
|
|
|
+ private ItemStack tempItem;
|
|
|
|
+ private boolean consumeItem = true;
|
|
|
|
+
|
|
|
|
+ public PlayerUseItemEvent(Player player, ItemStack item, EquipmentSlot hand) {
|
|
|
|
+ super(player);
|
|
|
|
+ this.item = item;
|
|
|
|
+ this.hand = hand;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public EquipmentSlot getHand() {
|
|
|
|
+ return hand;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public ItemStack getItem() {
|
|
|
|
+ return this.item;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public ItemStack getTempItem() {
|
|
|
|
+ return this.tempItem;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public void setTempItem(ItemStack item) {
|
|
|
|
+ if (item == null) {
|
|
|
|
+ canceled = true;
|
|
|
|
+ }
|
|
|
|
+ this.tempItem = item;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public boolean shouldConsumeItem() {
|
|
|
|
+ return this.consumeItem;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public void setConsumeItem(boolean consume) {
|
|
|
|
+ this.consumeItem = consume;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public boolean isCancelled() {
|
|
|
|
+ return canceled;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public void setCancelled(boolean cancel) {
|
|
|
|
+ canceled = cancel;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public HandlerList getHandlers() {
|
|
|
|
+ return handlers;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public static HandlerList getHandlerList() {
|
|
|
|
+ return handlers;
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
--
|
|
|
|
2.25.1.windows.1
|
|
|
|
|