Mirror von
https://github.com/PaperMC/Paper.git
synchronisiert 2024-12-15 11:00:06 +01:00
62b220a87f
Previously paper disabled the abilities for entities to teleport via end gateways if they were being used as a vehicle. While the behaviour generally worked fine for entities riding other entities, players would quickly end up in an invalid state, not seeing their passenger anymore. This commit removes the paper introduced limitation by now properly updating the passengers location of a player when they are teleporting through an end gateway.
21 Zeilen
1.2 KiB
Diff
21 Zeilen
1.2 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: kickash32 <kickash32@gmail.com>
|
|
Date: Fri, 15 May 2020 01:10:03 -0400
|
|
Subject: [PATCH] Ensure safe gateway teleport
|
|
|
|
== AT ==
|
|
public net.minecraft.world.entity.Entity teleportPassengers()V
|
|
|
|
diff --git a/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java
|
|
index a57743b21b6075ba01def0a41fecbf90b2df7f85..098fde8200a11f91f934ddab6b1486dac4014dfe 100644
|
|
--- a/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java
|
|
+++ b/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java
|
|
@@ -220,6 +220,7 @@ public class TheEndGatewayBlockEntity extends TheEndPortalBlockEntity {
|
|
|
|
entity1.setPortalCooldown();
|
|
((ServerPlayer) entity1).connection.teleport(teleEvent.getTo());
|
|
+ entity1.teleportPassengers(); // Paper - teleport passengers as well, preventing invisible passengers post teleport.
|
|
TheEndGatewayBlockEntity.triggerCooldown(world, pos, state, blockEntity); // CraftBukkit - call at end of method
|
|
return;
|
|
|