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
Dieser Commit ist enthalten in:
Ursprung
0f06d38062
Commit
fdb8fe7807
@ -1,19 +1,21 @@
|
||||
From b05693d1f838ea0610b915f48954530dca2943ff Mon Sep 17 00:00:00 2001
|
||||
From edcf740d8e3d2b296015f13626dabff83cde74f0 Mon Sep 17 00:00:00 2001
|
||||
From: Zach Brown <zach@zachbr.io>
|
||||
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
|
||||
@@ -116,6 +116,11 @@ public class CommandTeleport {
|
||||
@@ -116,6 +116,12 @@ 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))) {
|
||||
+ // 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
|
||||
@ -21,5 +23,5 @@ index 3060b4f68..df2711978 100644
|
||||
ChunkCoordIntPair chunkcoordintpair = new ChunkCoordIntPair(new BlockPosition(d0, d1, d2));
|
||||
|
||||
--
|
||||
2.26.1.windows.1
|
||||
2.26.0
|
||||
|
In neuem Issue referenzieren
Einen Benutzer sperren