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

Paper Changes:
PaperMC/Paper@fd4c6f19 Break MushroomCow parent
PaperMC/Paper@be8889d1 getSelected to getSelectedItem
PaperMC/Paper@2db2ec9e few random compile fixes
PaperMC/Paper@98fac014 format remaining spigot code and make Dolphin#treasurePos nullable
PaperMC/Paper@33f3a111 More compilation issues
PaperMC/Paper@1e27cd9f PlayerInventory
PaperMC/Paper@b5e234d0 Unsafe block entity pos reading in ItemStack
PaperMC/Paper@955ba6c3 update block data
PaperMC/Paper@49117c0e update block states
PaperMC/Paper@6034384b make CraftCow extends CraftAbstractCow
PaperMC/Paper@e28be7d2 chore: update paperweight
PaperMC/Paper@dbc5c19c Remove mavenLocal ref for initial pw snapshots
PaperMC/Paper@2445c79f do a full clone in the action for now
PaperMC/Paper@7633dde2 move things around
PaperMC/Paper@564344fe More compiler issues
PaperMC/Paper@907f1931 bump built-in datapack version and api-version
PaperMC/Paper@bf417ba7 tag renames
PaperMC/Paper@7f6f64f4 cat and frog variants registries are now data-driven
PaperMC/Paper@3124c702 add new particles
PaperMC/Paper@17ea49c2 tag changes and update some mapping
PaperMC/Paper@8107eb0f Partial raid changes
PaperMC/Paper@a1334d3b Missed local diff
PaperMC/Paper@1a4367ed Use Holderable in more places
PaperMC/Paper@f990b858 preserve update flag for block placement around API
PaperMC/Paper@f1424fbf Compile fixes
PaperMC/Paper@c2e18c6a fixup diffs
PaperMC/Paper@960ad6e0 remove redundant flags and check place result
PaperMC/Paper@9c01f0cd fix wrong event call for cactus growth
PaperMC/Paper@4b3d802b fix broken liquid physics during structure placement
PaperMC/Paper@28fbc7b6 fix damage modifier a bit
PaperMC/Paper@c6e7ebcc re-add missed distance check
PaperMC/Paper@8e4021aa add dropped local var after decompilation in AgeableMob#ageUp
PaperMC/Paper@4d28058a make cactus max grow height config consistent with flower chance
PaperMC/Paper@d4b5936c some fixes and simplify overrides
PaperMC/Paper@57876760 Use -> uses in particle javadocs
PaperMC/Paper@43505dca Start updating feature patches
PaperMC/Paper@3ab0d4b6 misc changes
PaperMC/Paper@b80114b2 fix broken AT
PaperMC/Paper@56ed2dc6 More feature patches
PaperMC/Paper@460b99e7 Compile fixes
PaperMC/Paper@3bf99764 more misc changes
PaperMC/Paper@c2c47249 readd wrongly dropped diff
PaperMC/Paper@3459b68d fix some feature patches
2025-03-21 22:23:05 -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 65c4c0690874c29814098448b6cc6077a1e8c566..549f6fcf5ded0563e665673a797fa92496786c3b 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 d53cc5f0952be042629cd8e6e319157d0afb14c7..9b72d1e90ceb531088ace34ff11db12a4bcba2b7 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1420,6 +1420,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;
}
@@ -1441,6 +1442,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;
}