mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-22 08:57:35 +01:00
e105354330
Also fixes EntityBreakDoorEvent not having the correct 'to' block data Also standardizes how to handle EntityChangeBlockEvent before a removeBlock or destroyBlock call. Always use 'state.getFluidState().createLegacyBlock()' to get the new state instead of just using the 'air' state.
66 lines
2.0 KiB
Diff
66 lines
2.0 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: u9g <git@u9g.dev>
|
|
Date: Tue, 3 May 2022 20:41:30 -0400
|
|
Subject: [PATCH] Add PlayerStopUsingItemEvent
|
|
|
|
|
|
diff --git a/src/main/java/io/papermc/paper/event/player/PlayerStopUsingItemEvent.java b/src/main/java/io/papermc/paper/event/player/PlayerStopUsingItemEvent.java
|
|
new file mode 100644
|
|
index 0000000000000000000000000000000000000000..3689551baf2c9880f3e2a70435f8b4ad05cba49a
|
|
--- /dev/null
|
|
+++ b/src/main/java/io/papermc/paper/event/player/PlayerStopUsingItemEvent.java
|
|
@@ -0,0 +1,53 @@
|
|
+package io.papermc.paper.event.player;
|
|
+
|
|
+import org.bukkit.entity.Player;
|
|
+import org.bukkit.event.HandlerList;
|
|
+import org.bukkit.event.player.PlayerEvent;
|
|
+import org.bukkit.inventory.ItemStack;
|
|
+import org.jetbrains.annotations.NotNull;
|
|
+
|
|
+/**
|
|
+ * Called when the server detects a player stopping using an item.
|
|
+ * Examples of this are letting go of the interact button when holding a bow, an edible item, or a spyglass.
|
|
+ */
|
|
+public class PlayerStopUsingItemEvent extends PlayerEvent {
|
|
+ private static final HandlerList handlers = new HandlerList();
|
|
+ @NotNull private final ItemStack item;
|
|
+ private final int ticksHeldFor;
|
|
+
|
|
+ public PlayerStopUsingItemEvent(@NotNull final Player player, @NotNull final ItemStack item, final int ticksHeldFor) {
|
|
+ super(player);
|
|
+ this.item = item;
|
|
+ this.ticksHeldFor = ticksHeldFor;
|
|
+ }
|
|
+
|
|
+ /**
|
|
+ * Gets the exact item the player is releasing
|
|
+ *
|
|
+ * @return ItemStack the exact item the player released
|
|
+ */
|
|
+ @NotNull
|
|
+ public ItemStack getItem() {
|
|
+ return item;
|
|
+ }
|
|
+
|
|
+ /**
|
|
+ * Gets the number of ticks the item was held for
|
|
+ *
|
|
+ * @return int the number of ticks the item was held for
|
|
+ */
|
|
+ public int getTicksHeldFor() {
|
|
+ return ticksHeldFor;
|
|
+ }
|
|
+
|
|
+ @NotNull
|
|
+ @Override
|
|
+ public HandlerList getHandlers() {
|
|
+ return handlers;
|
|
+ }
|
|
+
|
|
+ @NotNull
|
|
+ public static HandlerList getHandlerList() {
|
|
+ return handlers;
|
|
+ }
|
|
+}
|