1753b33104
even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even more work
27 lines
1.2 KiB
Diff
27 lines
1.2 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Aikar <aikar@aikar.co>
|
|
Date: Sat, 7 Jan 2017 15:41:58 -0500
|
|
Subject: [PATCH] Enforce Sync Player Saves
|
|
|
|
Saving players async is extremely dangerous. This will force it to main
|
|
the same way we handle async chunk loads.
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
|
index b9c4428bc9653e81ed046bda94e248218c1fa9c9..3eaf106f8f17288857ce1a149d0366cf04235307 100644
|
|
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
|
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
|
@@ -1027,11 +1027,13 @@ public abstract class PlayerList {
|
|
}
|
|
|
|
public void saveAll() {
|
|
+ net.minecraft.server.MCUtil.ensureMain("Save Players" , () -> { // Paper - Ensure main
|
|
MinecraftTimings.savePlayers.startTiming(); // Paper
|
|
for (int i = 0; i < this.players.size(); ++i) {
|
|
- this.save((ServerPlayer) this.players.get(i));
|
|
+ this.save(this.players.get(i));
|
|
}
|
|
MinecraftTimings.savePlayers.stopTiming(); // Paper
|
|
+ return null; }); // Paper - ensure main
|
|
}
|
|
|
|
public UserWhiteList getWhiteList() {
|