aboutsummaryrefslogtreecommitdiffhomepage
path: root/patches/server/0935-Fix-missing-event-call-for-entity-teleport-API.patch
diff options
context:
space:
mode:
authorJake Potrebic <[email protected]>2024-04-26 16:43:59 -0700
committerJake Potrebic <[email protected]>2024-04-26 17:00:40 -0700
commitc38f96b0e57ad28f444dad8d1c4d2f1fb6ea19cb (patch)
tree419c16734eadf2568b42f966a6fc3a7e16728397 /patches/server/0935-Fix-missing-event-call-for-entity-teleport-API.patch
parent6a4974b1b96312b31383fca985c5d409b3939b42 (diff)
downloadPaper-c38f96b0e57ad28f444dad8d1c4d2f1fb6ea19cb.tar.gz
Paper-c38f96b0e57ad28f444dad8d1c4d2f1fb6ea19cb.zip
deprecate our ItemRarity API
Diffstat (limited to 'patches/server/0935-Fix-missing-event-call-for-entity-teleport-API.patch')
-rw-r--r--patches/server/0935-Fix-missing-event-call-for-entity-teleport-API.patch28
1 files changed, 28 insertions, 0 deletions
diff --git a/patches/server/0935-Fix-missing-event-call-for-entity-teleport-API.patch b/patches/server/0935-Fix-missing-event-call-for-entity-teleport-API.patch
new file mode 100644
index 0000000000..ac77e45fa2
--- /dev/null
+++ b/patches/server/0935-Fix-missing-event-call-for-entity-teleport-API.patch
@@ -0,0 +1,28 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: booky10 <[email protected]>
+Date: Sun, 12 Nov 2023 05:09:47 +0100
+Subject: [PATCH] Fix missing event call for entity teleport API
+
+
+diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+index d52b7c5739b8ea51cb91c45ddcad6237b9ce5a5e..3ab04c4bdbe26ff7f6f54eb9cdd58376c592fa05 100644
+--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
++++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+@@ -256,6 +256,17 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
+ return false;
+ }
+
++ // Paper start - fix teleport event not being called
++ org.bukkit.event.entity.EntityTeleportEvent event = new org.bukkit.event.entity.EntityTeleportEvent(
++ this, this.getLocation(), location);
++ // cancelling the event is handled differently for players and entities,
++ // entities just stop teleporting, players will still teleport to the "from" location of the event
++ if (!event.callEvent() || event.getTo() == null) {
++ return false;
++ }
++ location = event.getTo();
++ // Paper end
++
+ // If this entity is riding another entity, we must dismount before teleporting.
+ if (dismount) this.entity.stopRiding(); // Paper - Teleport passenger API
+