Paper/Spigot-Server-Patches/0114-Auto-fix-bad-Y-levels-on-player-login.patch

20 lines
1.2 KiB
Diff
Raw Normal View History

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/EntityPlayer.java b/src/main/java/net/minecraft/server/level/EntityPlayer.java
index 3f1f8f7fe9452f66b18a08ef480d50ef78ad3351..3fca9c3566b5d9a1fafeb0700942d7658cd5a279 100644
--- a/src/main/java/net/minecraft/server/level/EntityPlayer.java
+++ b/src/main/java/net/minecraft/server/level/EntityPlayer.java
@@ -340,6 +340,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
2019-04-27 08:26:04 +02:00
@Override
2020-06-25 14:04:34 +02:00
public void loadData(NBTTagCompound nbttagcompound) {
super.loadData(nbttagcompound);
2019-12-12 19:45:00 +01:00
+ if (this.locY() > 300) this.setPositionRaw(locX(), 257, locZ()); // Paper - bring down to a saner Y level if out of world
2017-05-14 20:05:01 +02:00
if (nbttagcompound.hasKeyOfType("playerGameType", 99)) {
2019-04-27 08:26:04 +02:00
if (this.getMinecraftServer().getForceGamemode()) {
2020-06-25 14:04:34 +02:00
this.playerInteractManager.a(this.getMinecraftServer().getGamemode(), EnumGamemode.NOT_SET);