From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Cryptite Date: Sat, 13 Aug 2022 08:58:21 -0500 Subject: [PATCH] Slice: Smooth Teleports Original license: MIT Original project: https://github.com/Cryptite/Slice diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java index d5df69a2e5b228545dfaaaa98ce88ec0da806315..a6d43ac0ee1b4bac6efc3283c7eea643a45e2d93 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java @@ -3691,6 +3691,19 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM String getClientBrandName(); // Paper end + /** + * This abuses some of how Minecraft works and allows teleporting a player to another world without + * triggering typical respawn packets. All of natural state of chunk resends, entity adds/removes, etc still + * happen but the visual "refresh" of a world change is hidden. Depending on the destination location/world, + * this can act as a "smooth teleport" to a world if the new world is very similar looking to the old one. + * + * @param location New location to teleport this Player to + */ + // Slice start + @org.jetbrains.annotations.ApiStatus.Experimental + void teleportWithoutRespawn(@NotNull Location location); + // Slice end + // Paper start - Teleport API /** * Sets the player's rotation.