3
0
Mirror von https://github.com/PaperMC/Paper.git synchronisiert 2024-11-15 04:20:04 +01:00

Cross World Entity Teleportation

Use Entity.teleportTo for cross-world teleportation in CraftEntity.
Dieser Commit ist enthalten in:
Andrew Krieger 2019-01-05 16:21:07 +11:00 committet von md_5
Ursprung 7deba1c606
Commit 6e842759cc

Datei anzeigen

@ -306,7 +306,12 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
// If this entity is riding another entity, we must dismount before teleporting.
entity.stopRiding();
entity.world = ((CraftWorld) location.getWorld()).getHandle();
// Let the server handle cross world teleports
if (!location.getWorld().equals(getWorld())) {
entity.teleportTo(location, cause == TeleportCause.NETHER_PORTAL);
return true;
}
// entity.setLocation() throws no event, and so cannot be cancelled
entity.setLocation(location.getX(), location.getY(), location.getZ(), location.getYaw(), location.getPitch());
// SPIGOT-619: Force sync head rotation also