papermc/patches/api/0306-Make-EntityUnleashEvent-cancellable.patch

50 lines
1.7 KiB
Diff
Raw Normal View History

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Jake Potrebic <jake.m.potrebic@gmail.com>
Date: Sun, 3 Jan 2021 21:25:39 -0800
Subject: [PATCH] Make EntityUnleashEvent cancellable
diff --git a/src/main/java/org/bukkit/event/entity/EntityUnleashEvent.java b/src/main/java/org/bukkit/event/entity/EntityUnleashEvent.java
index e0e068799a1868c8e561869015f41f553ef4fbdb..95248d0f5cf9b62d31a4883955b9088a7fc8a3b3 100644
--- a/src/main/java/org/bukkit/event/entity/EntityUnleashEvent.java
+++ b/src/main/java/org/bukkit/event/entity/EntityUnleashEvent.java
@@ -6,11 +6,20 @@ import org.jetbrains.annotations.NotNull;
/**
* Called immediately prior to an entity being unleashed.
+ * <p>
+ * Cancelling this event when either:
+ * <ul>
+ * <li>the leashed entity dies,</li>
+ * <li>the entity changes dimension, or</li>
+ * <li>the client has disconnected the leash</li>
+ * </ul>
+ * will have no effect.
*/
-public class EntityUnleashEvent extends EntityEvent {
+public class EntityUnleashEvent extends EntityEvent implements org.bukkit.event.Cancellable { // Paper
private static final HandlerList handlers = new HandlerList();
private final UnleashReason reason;
private boolean dropLeash; // Paper
+ private boolean cancelled; // Paper
// Paper start - drop leash variable
@Deprecated
@@ -53,6 +62,16 @@ public class EntityUnleashEvent extends EntityEvent {
public void setDropLeash(boolean dropLeash) {
this.dropLeash = dropLeash;
}
+
+ @Override
+ public boolean isCancelled() {
+ return cancelled;
+ }
+
+ @Override
+ public void setCancelled(boolean cancel) {
+ this.cancelled = cancel;
+ }
// Paper end
@NotNull