From a94ea15b5ab6ed428a8248fad5454fb8df3619ff Mon Sep 17 00:00:00 2001 From: Zach Brown <1254957+zachbr@users.noreply.github.com> Date: Thu, 16 Apr 2020 21:16:35 -0500 Subject: [PATCH] Be less strict with vanilla teleport command limits Just limit to the same valid location check as BaseBlockPosition, no reason to restrict to the world border. Ref: GH-3165 --- ...-vanilla-teleport-command-to-valid-locations.patch} | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) rename Spigot-Server-Patches/{Restrict-vanilla-teleport-command-to-worldborder.patch => Restrict-vanilla-teleport-command-to-valid-locations.patch} (67%) diff --git a/Spigot-Server-Patches/Restrict-vanilla-teleport-command-to-worldborder.patch b/Spigot-Server-Patches/Restrict-vanilla-teleport-command-to-valid-locations.patch similarity index 67% rename from Spigot-Server-Patches/Restrict-vanilla-teleport-command-to-worldborder.patch rename to Spigot-Server-Patches/Restrict-vanilla-teleport-command-to-valid-locations.patch index 72b34a5f2f..7c123ace41 100644 --- a/Spigot-Server-Patches/Restrict-vanilla-teleport-command-to-worldborder.patch +++ b/Spigot-Server-Patches/Restrict-vanilla-teleport-command-to-valid-locations.patch @@ -1,19 +1,21 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Zach Brown <1254957+zachbr@users.noreply.github.com> Date: Thu, 16 Apr 2020 20:07:29 -0500 -Subject: [PATCH] Restrict vanilla teleport command to worldborder +Subject: [PATCH] Restrict vanilla teleport command to valid locations +Fixes GH-3165 diff --git a/src/main/java/net/minecraft/server/CommandTeleport.java b/src/main/java/net/minecraft/server/CommandTeleport.java -index 3060b4f68..df2711978 100644 +index 3060b4f68..79016b587 100644 --- a/src/main/java/net/minecraft/server/CommandTeleport.java +++ b/src/main/java/net/minecraft/server/CommandTeleport.java @@ -0,0 +0,0 @@ public class CommandTeleport { } private static void a(CommandListenerWrapper commandlistenerwrapper, Entity entity, WorldServer worldserver, double d0, double d1, double d2, Set set, float f, float f1, @Nullable CommandTeleport.a commandteleport_a) { -+ // Paper start - Don't allow teleport command to go outside the world border -+ if (!worldserver.getWorldBorder().isInBounds(new BlockPosition(d0, d1, d2))) { ++ // Paper start - Don't allow teleport command to invalid locations ++ if (d0 <= -30000000 || d2 <= -30000000 || d0 > 30000000 || d2 > 30000000) { // Copy/pasta from BaseBlockPosition#isValidLocation ++ org.bukkit.Bukkit.getLogger().warning("Refused to teleport " + entity.getName() + " to " + d0 + ", " + d1 + ", " + d2); + return; + } + // Paper end