From 780e6029abdb83452a2c1b02bd5bb2f2ba3acd27 Mon Sep 17 00:00:00 2001 From: granny Date: Wed, 10 Dec 2025 20:49:48 -0800 Subject: [PATCH] delete EntityTeleportHinderedEvent --- .../entity/EntityTeleportHinderedEvent.java | 116 ------------------ ...0016-Add-EntityTeleportHinderedEvent.patch | 72 ----------- 2 files changed, 188 deletions(-) delete mode 100644 purpur-api/src/main/java/org/purpurmc/purpur/event/entity/EntityTeleportHinderedEvent.java delete mode 100644 purpur-server/minecraft-patches/features/0016-Add-EntityTeleportHinderedEvent.patch diff --git a/purpur-api/src/main/java/org/purpurmc/purpur/event/entity/EntityTeleportHinderedEvent.java b/purpur-api/src/main/java/org/purpurmc/purpur/event/entity/EntityTeleportHinderedEvent.java deleted file mode 100644 index fd61a3e31..000000000 --- a/purpur-api/src/main/java/org/purpurmc/purpur/event/entity/EntityTeleportHinderedEvent.java +++ /dev/null @@ -1,116 +0,0 @@ -package org.purpurmc.purpur.event.entity; - -import org.bukkit.entity.Entity; -import org.bukkit.event.HandlerList; -import org.bukkit.event.entity.EntityEvent; -import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause; -import org.jetbrains.annotations.ApiStatus; -import org.jspecify.annotations.NullMarked; -import org.jspecify.annotations.Nullable; - -/** - * Fired when an entity is hindered from teleporting. - * @deprecated no longer needed - */ -@NullMarked -@Deprecated(since = "1.21.10") -public class EntityTeleportHinderedEvent extends EntityEvent { - private static final HandlerList handlers = new HandlerList(); - - private final Reason reason; - - private final @Nullable TeleportCause teleportCause; - - private boolean retry = false; - - @ApiStatus.Internal - public EntityTeleportHinderedEvent(Entity what, Reason reason, @Nullable TeleportCause teleportCause) { - super(what); - this.reason = reason; - this.teleportCause = teleportCause; - } - - /** - * @return why the teleport was hindered. - */ - public Reason getReason() { - return reason; - } - - /** - * @return why the teleport occurred if cause was given, otherwise {@code null}. - */ - @Nullable - public TeleportCause getTeleportCause() { - return teleportCause; - } - - /** - * Whether the teleport should be retried. - *

- * Note that this can put the server in a never-ending loop of trying to teleport someone resulting in a stack - * overflow. Do not retry more than necessary. - *

- * - * @return whether the teleport should be retried. - */ - public boolean shouldRetry() { - return retry; - } - - /** - * Sets whether the teleport should be retried. - *

- * Note that this can put the server in a never-ending loop of trying to teleport someone resulting in a stack - * overflow. Do not retry more than necessary. - *

- * - * @param retry whether the teleport should be retried. - */ - public void setShouldRetry(boolean retry) { - this.retry = retry; - } - - /** - * Calls the event and tests if should retry. - * - * @return whether the teleport should be retried. - */ - @Override - public boolean callEvent() { - super.callEvent(); - return shouldRetry(); - } - - @Override - public HandlerList getHandlers() { - return handlers; - } - - public static HandlerList getHandlerList() { - return handlers; - } - - /** - * Reason for hindrance in teleports. - */ - public enum Reason { - /** - * The teleported entity is a passenger of another entity. - */ - IS_PASSENGER, - - /** - * The teleported entity has passengers. - */ - IS_VEHICLE, - - /** - * The teleport event was cancelled. - *

- * This is only caused by players teleporting. - *

- */ - EVENT_CANCELLED, - } -} diff --git a/purpur-server/minecraft-patches/features/0016-Add-EntityTeleportHinderedEvent.patch b/purpur-server/minecraft-patches/features/0016-Add-EntityTeleportHinderedEvent.patch deleted file mode 100644 index 2fd6b6ed5..000000000 --- a/purpur-server/minecraft-patches/features/0016-Add-EntityTeleportHinderedEvent.patch +++ /dev/null @@ -1,72 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Mariell Hoversholm -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 . - -diff --git a/net/minecraft/world/level/block/EndGatewayBlock.java b/net/minecraft/world/level/block/EndGatewayBlock.java -index 4b959091412defb5ae6ffe387f98ed1cc9a29e5f..7ed96070abb398384e82d7d85efa3e0a6c493aad 100644 ---- a/net/minecraft/world/level/block/EndGatewayBlock.java -+++ b/net/minecraft/world/level/block/EndGatewayBlock.java -@@ -98,6 +98,13 @@ public class EndGatewayBlock extends BaseEntityBlock implements Portal { - org.bukkit.event.entity.EntityPortalEnterEvent event = new org.bukkit.event.entity.EntityPortalEnterEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.util.CraftLocation.toBukkit(pos, level), org.bukkit.PortalType.END_GATEWAY); // Paper - add portal type - if (!event.callEvent()) return; - // Paper end - call EntityPortalEnterEvent -+ // Purpur start - Add EntityTeleportHinderedEvent -+ if (level.purpurConfig.imposeTeleportRestrictionsOnGateways && (entity.isVehicle() || entity.isPassenger())) { -+ if (!new org.purpurmc.purpur.event.entity.EntityTeleportHinderedEvent(entity.getBukkitEntity(), entity.isPassenger() ? org.purpurmc.purpur.event.entity.EntityTeleportHinderedEvent.Reason.IS_PASSENGER : org.purpurmc.purpur.event.entity.EntityTeleportHinderedEvent.Reason.IS_VEHICLE, org.bukkit.event.player.PlayerTeleportEvent.TeleportCause.END_GATEWAY).callEvent()) { -+ return; -+ } -+ } -+ // Purpur end - Add EntityTeleportHinderedEvent - entity.setAsInsidePortal(this, pos); - TheEndGatewayBlockEntity.triggerCooldown(level, pos, state, theEndGatewayBlockEntity); - } -diff --git a/net/minecraft/world/level/block/EndPortalBlock.java b/net/minecraft/world/level/block/EndPortalBlock.java -index 19590aa5af0eaf0f9bf76dc189ed67e67c692c77..cb41b33a3022a341a340e8186fed8e39373a3a2b 100644 ---- a/net/minecraft/world/level/block/EndPortalBlock.java -+++ b/net/minecraft/world/level/block/EndPortalBlock.java -@@ -61,6 +61,13 @@ public class EndPortalBlock extends BaseEntityBlock implements Portal { - protected void entityInside(BlockState state, Level level, BlockPos pos, Entity entity, InsideBlockEffectApplier effectApplier, boolean pastEdges) { - if (!new io.papermc.paper.event.entity.EntityInsideBlockEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.block.CraftBlock.at(level, pos)).callEvent()) { return; } // Paper - Add EntityInsideBlockEvent - if (entity.canUsePortal(false)) { -+ // Purpur start - Add EntityTeleportHinderedEvent -+ if (level.purpurConfig.imposeTeleportRestrictionsOnEndPortals && (entity.isVehicle() || entity.isPassenger())) { -+ if (!new org.purpurmc.purpur.event.entity.EntityTeleportHinderedEvent(entity.getBukkitEntity(), entity.isPassenger() ? org.purpurmc.purpur.event.entity.EntityTeleportHinderedEvent.Reason.IS_PASSENGER : org.purpurmc.purpur.event.entity.EntityTeleportHinderedEvent.Reason.IS_VEHICLE, org.bukkit.event.player.PlayerTeleportEvent.TeleportCause.END_PORTAL).callEvent()) { -+ return; -+ } -+ } -+ // Purpur end - Add EntityTeleportHinderedEvent - // CraftBukkit start - Entity in portal - org.bukkit.event.entity.EntityPortalEnterEvent event = new org.bukkit.event.entity.EntityPortalEnterEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.util.CraftLocation.toBukkit(pos, level), org.bukkit.PortalType.ENDER); // Paper - add portal type - level.getCraftServer().getPluginManager().callEvent(event); -diff --git a/net/minecraft/world/level/block/NetherPortalBlock.java b/net/minecraft/world/level/block/NetherPortalBlock.java -index 860e0c3ab118d8c6863936b9c2603bf6a278ca99..a37ae82d5c2407039d49304dc3937f7f0794bddc 100644 ---- a/net/minecraft/world/level/block/NetherPortalBlock.java -+++ b/net/minecraft/world/level/block/NetherPortalBlock.java -@@ -114,6 +114,13 @@ public class NetherPortalBlock extends Block implements Portal { - protected void entityInside(BlockState state, Level level, BlockPos pos, Entity entity, InsideBlockEffectApplier effectApplier, boolean pastEdges) { - if (!new io.papermc.paper.event.entity.EntityInsideBlockEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.block.CraftBlock.at(level, pos)).callEvent()) { return; } // Paper - Add EntityInsideBlockEvent - if (entity.canUsePortal(false)) { -+ // Purpur start - Add EntityTeleportHinderedEvent -+ if (level.purpurConfig.imposeTeleportRestrictionsOnNetherPortals && (entity.isVehicle() || entity.isPassenger())) { -+ if (!new org.purpurmc.purpur.event.entity.EntityTeleportHinderedEvent(entity.getBukkitEntity(), entity.isPassenger() ? org.purpurmc.purpur.event.entity.EntityTeleportHinderedEvent.Reason.IS_PASSENGER : org.purpurmc.purpur.event.entity.EntityTeleportHinderedEvent.Reason.IS_VEHICLE, org.bukkit.event.player.PlayerTeleportEvent.TeleportCause.NETHER_PORTAL).callEvent()) { -+ return; -+ } -+ } -+ // Purpur end - Add EntityTeleportHinderedEvent - // CraftBukkit start - Entity in portal - org.bukkit.event.entity.EntityPortalEnterEvent event = new org.bukkit.event.entity.EntityPortalEnterEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.util.CraftLocation.toBukkit(pos, level), org.bukkit.PortalType.NETHER); // Paper - add portal type - level.getCraftServer().getPluginManager().callEvent(event);