papermc/Spigot-Server-Patches/0169-Enforce-Sync-Player-Saves.patch
Aikar 05466e3b47
[Auto] Update Upstream
Upstream has released updates that appear to apply compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing.

Bukkit Changes:
d2834556 SPIGOT-4219: Event for PigZombies angering.

CraftBukkit Changes:
a9c796f1 SPIGOT-4184: Fix furnaces not matching Vanilla smelt or animations
195f071e SPIGOT-4219: Event for PigZombies angering.
5e3082c7 SPIGOT-4230: Improve legacy block types
2018-08-05 19:46:43 -04:00

31 lines
1.1 KiB
Diff

From 72379254cb1a9ed6e70ae8769b40fcbb8b86f562 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/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
index 12f6812d67..c8b5a610aa 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -1220,6 +1220,7 @@ public abstract class PlayerList {
}
public void savePlayers(Integer interval) {
+ MCUtil.ensureMain("Save Players", () -> { // Paper - ensure main
long now = MinecraftServer.currentTick;
MinecraftTimings.savePlayers.startTiming(); // Paper
int numSaved = 0; // Paper
@@ -1231,6 +1232,7 @@ public abstract class PlayerList {
}
}
MinecraftTimings.savePlayers.stopTiming(); // Paper
+ return null; }); // Paper - ensure main
}
// Paper end
--
2.18.0