Upstream has released updates that appears to apply and compile correctly Paper Changes: 81706e626 Make the shutdown thread try to shutdown on main 891824509 Prevent opening inventories when frozen e6d395cc8 Port 04-Util.patch from Tuinity (#3136) 59453f667 Fix incorrectly loading chunks on a cancelled interact event bdcc31caa Let invalid positioned entities clean up previous chunk by the chunkCheck
38 lines
1.5 KiB
Diff
38 lines
1.5 KiB
Diff
From 2b37161928e664a0b38c679f3523f64136ad30b4 Mon Sep 17 00:00:00 2001
|
|
From: =?UTF-8?q?=E3=84=97=E3=84=A0=CB=8B=20=E3=84=91=E3=84=A7=CB=8A?=
|
|
<tsao-chi@the-lingo.org>
|
|
Date: Thu, 2 Apr 2020 11:16:18 +0800
|
|
Subject: [PATCH] Save json list async
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/JsonList.java b/src/main/java/net/minecraft/server/JsonList.java
|
|
index c97be42dd..370841cad 100644
|
|
--- a/src/main/java/net/minecraft/server/JsonList.java
|
|
+++ b/src/main/java/net/minecraft/server/JsonList.java
|
|
@@ -168,6 +168,7 @@ public class JsonList<K, V extends JsonListEntry<K>> {
|
|
}
|
|
|
|
public void save() throws IOException {
|
|
+ Runnable runnable = () -> { // Akarin - Save json list async
|
|
this.removeStaleEntries(); // Paper - remove expired values before saving
|
|
Collection<V> collection = this.d.values();
|
|
String s = this.b.toJson(collection);
|
|
@@ -176,10 +177,13 @@ public class JsonList<K, V extends JsonListEntry<K>> {
|
|
try {
|
|
bufferedwriter = Files.newWriter(this.c, StandardCharsets.UTF_8);
|
|
bufferedwriter.write(s);
|
|
+ } catch (IOException e) { // Akarin - Save json list async
|
|
+ JsonList.LOGGER.warn("Failed to save " + this.c, e); // Akarin - Save json list async
|
|
} finally {
|
|
IOUtils.closeQuietly(bufferedwriter);
|
|
}
|
|
-
|
|
+ }; // Akarin - Save json list async
|
|
+ MCUtil.scheduleAsyncTask(runnable); // Akarin - Save json list async
|
|
}
|
|
|
|
public void load() throws FileNotFoundException {
|
|
--
|
|
2.20.1
|
|
|