Files
Purpur/purpur-server/paper-patches/features/0005-Add-EntityTeleportHinderedEvent.patch
granny cb8448ffe7 Updated Upstream (Paper)
Upstream has released updates that appear to apply and compile correctly

Paper Changes:
PaperMC/Paper@102c8bbc Add config for updating equipment on player actions (#12275)
PaperMC/Paper@f0388e2f Call EntityPushedByEntityAttackEvent for Mace AoE (#12257)
PaperMC/Paper@c37b890c More deferred requireNonNull message creation
PaperMC/Paper@310f5229 Add unsupported config option and internal API to simplify remote item matching
PaperMC/Paper@6ea42025 Send all attributes on respawn (#12274)
PaperMC/Paper@2d3a1385 [ci/skip] Refine recipe management API documentation. (#12287)
PaperMC/Paper@aaaeb4e1 [ci/skip] Make compilation logs actually readable (#12276)
PaperMC/Paper@bb1beda6 feat: add event to wind charge explode (#12248)
PaperMC/Paper@9f004614 Update a whole lot of deprecated annotations
PaperMC/Paper@72f13f8b [ci/skip] Mention API Checks for CONTRIBUTING.md (#12315)
PaperMC/Paper@7cc6cb50 Check for trailing input in ItemFactory#createItemStack (#12312)
PaperMC/Paper@f49d18df Add get/set customName to Skull block (#12302)
PaperMC/Paper@894631f0 Make advancement ordering predictable (#12292)
PaperMC/Paper@2aad131e Add config option for command spam whitelist
PaperMC/Paper@bb3b7e69 Fix annotation mistakes
PaperMC/Paper@058455e4 InventoryView QOL open method (#12282)
PaperMC/Paper@f2258582 Fix firework entity not being removed when FireworkExplodeEvent is cancelled (#12268)
PaperMC/Paper@7819df10 Add getHeight method to ChunkData (#12311)
PaperMC/Paper@37b9ca1f Add flush parameter to World#save (#12330)
PaperMC/Paper@515e12ca Check if BUNDLE_CONTENTS is present in InventoryClickEvent (#12321)
PaperMC/Paper@5a6ab97b Add config to remove player as vehicle restriction in /ride (#12327)
PaperMC/Paper@c467df95 Add ItemStack#copyDataFrom (#12224)
PaperMC/Paper@78af68b6 fix some ticket related decompile errors
PaperMC/Paper@ce3ede47 Server now says yes to movement
PaperMC/Paper@eafb6c29 Merge remote-tracking branch 'up/main' into update/1.21.5
PaperMC/Paper@5ef8349e Merge remote-tracking branch 'up/update/1.21.5' into update/1.21.5
PaperMC/Paper@1111f183 Update remote item matching option
PaperMC/Paper@58554542 Fix oopsie
PaperMC/Paper@b8078d38 Update to 1.21.5-rc2
PaperMC/Paper@a776d7a9 update entity effect
PaperMC/Paper@67cc0e5f bump built-in datapack version
PaperMC/Paper@28daa6ce update adventure codecs, fixes click and hover events
PaperMC/Paper@e50bb66a make Phantom#anchorPoint nullable
2025-03-24 13:48:10 -07:00

51 lines
3.3 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Mariell Hoversholm <proximyst@proximyst.com>
Date: Sat, 9 Jan 2021 15:26:04 +0100
Subject: [PATCH] Add EntityTeleportHinderedEvent
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
index e7fec5d2d54dc02bad76cb4100f597208ae46912..2344ee5f7c76d4c0eff375826e75cb97e104c3f1 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -264,6 +264,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
boolean retainPassengers = flagSet.contains(io.papermc.paper.entity.TeleportFlag.EntityState.RETAIN_PASSENGERS);
// Don't allow teleporting between worlds while keeping passengers
if (flagSet.contains(io.papermc.paper.entity.TeleportFlag.EntityState.RETAIN_PASSENGERS) && this.entity.isVehicle() && location.getWorld() != this.getWorld()) {
+ if (!new org.purpurmc.purpur.event.entity.EntityTeleportHinderedEvent(entity.getBukkitEntity(), org.purpurmc.purpur.event.entity.EntityTeleportHinderedEvent.Reason.IS_VEHICLE, cause).callEvent()) // Purpur - Add EntityTeleportHinderedEvent
return false;
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 9bea9f41cbffaacb77b27636086c57b6f8cb17d7..dcdf06516b0bcfaa191ed82f4236602710d11e44 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1422,6 +1422,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
// Paper start - Teleport passenger API
// Don't allow teleporting between worlds while keeping passengers
if (ignorePassengers && entity.isVehicle() && location.getWorld() != this.getWorld()) {
+ if (!new org.purpurmc.purpur.event.entity.EntityTeleportHinderedEvent(entity.getBukkitEntity(), org.purpurmc.purpur.event.entity.EntityTeleportHinderedEvent.Reason.IS_VEHICLE, cause).callEvent()) // Purpur - Add EntityTeleportHinderedEvent
return false;
}
@@ -1443,6 +1444,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
if (entity.isVehicle() && !ignorePassengers) { // Paper - Teleport API
+ if (!new org.purpurmc.purpur.event.entity.EntityTeleportHinderedEvent(entity.getBukkitEntity(), org.purpurmc.purpur.event.entity.EntityTeleportHinderedEvent.Reason.IS_VEHICLE, cause).callEvent()) // Purpur - Add EntityTeleportHinderedEvent
return false;
}