From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: MrHua269 Date: Sat, 18 Apr 2026 10:45:19 +0800 Subject: [PATCH] Fix misbehaved ender pearls when player switched dimension A fix of https://github.com/PaperMC/Folia/issues/421 Almost the same bug as: https://github.com/PaperMC/Folia/pull/418 and https://github.com/PaperMC/Folia/issues/393 diff --git a/net/minecraft/world/entity/projectile/throwableitemprojectile/ThrownEnderpearl.java b/net/minecraft/world/entity/projectile/throwableitemprojectile/ThrownEnderpearl.java index d0dba5cc351903fb762e231a95f302479794185f..fb00f70505a6c548cd1311d7ea55c6a501e814e3 100644 --- a/net/minecraft/world/entity/projectile/throwableitemprojectile/ThrownEnderpearl.java +++ b/net/minecraft/world/entity/projectile/throwableitemprojectile/ThrownEnderpearl.java @@ -264,7 +264,8 @@ public class ThrownEnderpearl extends ThrowableItemProjectile { int previousChunkZ = SectionPos.blockToSectionCoord(this.position().z()); Entity owner = this.owner != null ? findOwnerIncludingDeadPlayer(serverLevel, this.owner.getUUID()) : null; if (owner instanceof ServerPlayer serverPlayer - && !owner.isAlive() + // && !owner.isAlive() // Luminol - Fix misbehaved ender pearls when player switched dimension + && (owner.getBukkitEntity().taskScheduler.isRetired() || serverPlayer.getHealth() <= 0.0D) // Luminol - Fix misbehaved ender pearls when player switched dimension && !serverPlayer.wonGame && serverPlayer.level().getGameRules().get(GameRules.ENDER_PEARLS_VANISH_ON_DEATH)) { this.discard(org.bukkit.event.entity.EntityRemoveEvent.Cause.DESPAWN); // CraftBukkit - add Bukkit remove cause