Restrict vanilla teleport command to within worldborder

Fixes GH-3165
This commit is contained in:
Zach Brown 2020-04-16 20:11:44 -05:00
parent 902942d9e4
commit 5041e3e821

View file

@ -0,0 +1,23 @@
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
diff --git a/src/main/java/net/minecraft/server/CommandTeleport.java b/src/main/java/net/minecraft/server/CommandTeleport.java
index 3060b4f68..df2711978 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<PacketPlayOutPosition.EnumPlayerTeleportFlags> 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))) {
+ return;
+ }
+ // Paper end
if (entity instanceof EntityPlayer) {
ChunkCoordIntPair chunkcoordintpair = new ChunkCoordIntPair(new BlockPosition(d0, d1, d2));
--