geforkt von Mirrors/Paper
4104545b11
"It was from a different time before books were as jank as they are now. As time has gone on they've only proven to be worse and worse."
31 Zeilen
1.6 KiB
Diff
31 Zeilen
1.6 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Wyatt Childers <wchilders@nearce.com>
|
|
Date: Fri, 3 Jul 2020 14:57:05 -0400
|
|
Subject: [PATCH] Spawn player in correct world on login
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
|
index 4c5a3b53e0fbaeb1a9ae85b499a1e630255f88ea..247d4959c67d41d2f4995c2e19f4c652e97694f5 100644
|
|
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
|
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
|
@@ -193,7 +193,18 @@ public abstract class PlayerList {
|
|
}String lastKnownName = s; // Paper
|
|
// CraftBukkit end
|
|
|
|
- if (nbttagcompound != null) {
|
|
+ // Paper start - move logic in Entity to here, to use bukkit supplied world UUID.
|
|
+ if (nbttagcompound != null && nbttagcompound.contains("WorldUUIDMost") && nbttagcompound.contains("WorldUUIDLeast")) {
|
|
+ UUID uid = new UUID(nbttagcompound.getLong("WorldUUIDMost"), nbttagcompound.getLong("WorldUUIDLeast"));
|
|
+ org.bukkit.World bWorld = org.bukkit.Bukkit.getServer().getWorld(uid);
|
|
+ if (bWorld != null) {
|
|
+ resourcekey = ((CraftWorld) bWorld).getHandle().dimension();
|
|
+ } else {
|
|
+ resourcekey = Level.OVERWORLD;
|
|
+ }
|
|
+ } else if (nbttagcompound != null) {
|
|
+ // Vanilla migration support
|
|
+ // Paper end
|
|
DataResult dataresult = DimensionType.parseLegacy(new Dynamic(NbtOps.INSTANCE, nbttagcompound.get("Dimension")));
|
|
Logger logger = PlayerList.LOGGER;
|
|
|