even even even even even even more work

This commit is contained in:
Spottedleaf
2020-06-25 18:53:21 -07:00
parent ec7bd6a7c6
commit cfd598512a
34 changed files with 420 additions and 408 deletions

View File

@@ -10,15 +10,15 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
--- 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) {
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) throws CommandSyntaxException {
BlockPosition blockposition = new BlockPosition(d0, d1, d2);
+ // Paper start - Don't allow teleport command to invalid locations
+ if (d0 <= -30000000 || d2 <= -30000000 || d0 > 30000000 || d2 > 30000000 || d1 > 30000000 || d1 <= -30000000) { // Copy/pasta from BaseBlockPosition#isValidLocation
+ org.bukkit.Bukkit.getLogger().warning("Refused to teleport " + entity.getName() + " to " + d0 + ", " + d1 + ", " + d2);
+ return;
+ }
+ // Paper end
if (entity instanceof EntityPlayer) {
ChunkCoordIntPair chunkcoordintpair = new ChunkCoordIntPair(new BlockPosition(d0, d1, d2));
if (!World.k(blockposition)) {
throw CommandTeleport.a.create();