2026-07-09 00:03:09 +08:00
|
|
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
|
|
|
From: MrHua269 <mrhua269@gmail.com>
|
|
|
|
|
Date: Wed, 8 Jul 2026 21:25:15 +0800
|
|
|
|
|
Subject: [PATCH] Fix misbehaved ender pearls when player switched dimension
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
diff --git a/net/minecraft/world/entity/projectile/throwableitemprojectile/ThrownEnderpearl.java b/net/minecraft/world/entity/projectile/throwableitemprojectile/ThrownEnderpearl.java
|
2026-07-14 15:09:17 +08:00
|
|
|
index 501a0e89cc7bcfce6793f059b080b38666e0fb64..e8015ed6f4885fb324964a44752014bf0bbd7326 100644
|
2026-07-09 00:03:09 +08:00
|
|
|
--- a/net/minecraft/world/entity/projectile/throwableitemprojectile/ThrownEnderpearl.java
|
|
|
|
|
+++ b/net/minecraft/world/entity/projectile/throwableitemprojectile/ThrownEnderpearl.java
|
|
|
|
|
@@ -264,7 +264,7 @@ 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()
|
2026-07-14 11:32:51 +08:00
|
|
|
+ && (owner.getBukkitEntity().taskScheduler.isRetired() || serverPlayer.getHealth() <= 0.0D) // Shiroha - Fix misbehaved ender pearls when player switched dimension
|
2026-07-09 00:03:09 +08:00
|
|
|
&& !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
|