Paper/patches/server/0107-Auto-fix-bad-Y-levels-on-player-login.patch

20 lines
1.1 KiB
Diff
Raw Normal View History

2021-06-11 14:02:28 +02:00
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Wed, 21 Sep 2016 23:48:39 -0400
Subject: [PATCH] Auto fix bad Y levels on player login
Bring down to a saner Y level if super high, as this can cause the server to crash
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index e512cd033317ce2e1437c0ac28f71db47703bc57..3c51b0c3c0cdb55852ca9d9f1609518d5905589a 100644
2021-06-11 14:02:28 +02:00
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
2021-06-12 08:02:49 +02:00
@@ -401,6 +401,7 @@ public class ServerPlayer extends Player {
2021-06-11 14:02:28 +02:00
@Override
2021-06-12 08:02:49 +02:00
public void readAdditionalSaveData(CompoundTag nbt) {
super.readAdditionalSaveData(nbt);
2021-06-11 14:02:28 +02:00
+ if (this.getY() > 300) this.setPosRaw(getX(), 257, getZ()); // Paper - bring down to a saner Y level if out of world
2021-06-12 08:02:49 +02:00
if (nbt.contains("enteredNetherPosition", 10)) {
CompoundTag nbttagcompound1 = nbt.getCompound("enteredNetherPosition");