mirror of
https://github.com/Winds-Studio/Leaf.git
synced 2025-12-20 15:39:37 +00:00
Revert "async saving player stats and advancements (#334)" This reverts commit107ae7954f. Revert "optimize random tick (#357)" This reverts commit2e822d3714. Revert "disable optimise-random-tick by default" This reverts commit20cc10e45f. Revert "fix random tick do extra tick" This reverts commit4bf675075a. Revert "fix tickingPos out of bounds" This reverts commit0eeb6e719c. Revert "improve ServerStatsCounter compatibility" This reverts commit47c1783afc. Revert "fix random tick" This reverts commitaad17b0a5b. Revert "revert level dat" This reverts commit8d36c9a5f7.
38 lines
2.0 KiB
Diff
38 lines
2.0 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: hayanesuru <mc@jvavav.com>
|
|
Date: Fri, 28 Mar 2025 21:19:19 +0800
|
|
Subject: [PATCH] Async playerdata saving
|
|
|
|
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java
|
|
index f2d87c12dd19210ce7e2147fada5c10191008632..14da4c731391f69fef104b6b3b7f2f977fe5ee95 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java
|
|
@@ -207,7 +207,7 @@ public class CraftOfflinePlayer implements OfflinePlayer, ConfigurationSerializa
|
|
}
|
|
|
|
private CompoundTag getData() {
|
|
- return this.storage.load(this.profile.getName(), this.profile.getId().toString()).orElse(null);
|
|
+ return this.storage.load(this.profile.getName(), this.profile.getId().toString(), this.profile.getId()).orElse(null); // Leaf - Async playerdata saving
|
|
}
|
|
|
|
private CompoundTag getBukkitData() {
|
|
@@ -813,16 +813,7 @@ public class CraftOfflinePlayer implements OfflinePlayer, ConfigurationSerializa
|
|
* @param compoundTag
|
|
*/
|
|
private void save(CompoundTag compoundTag) {
|
|
- File playerDir = server.console.playerDataStorage.getPlayerDir();
|
|
- try {
|
|
- File tempFile = File.createTempFile(this.getUniqueId()+"-", ".dat", playerDir);
|
|
- net.minecraft.nbt.NbtIo.writeCompressed(compoundTag, tempFile.toPath());
|
|
- File playerDataFile = new File(playerDir, this.getUniqueId()+".dat");
|
|
- File playerDataFileOld = new File(playerDir, this.getUniqueId()+".dat_old");
|
|
- net.minecraft.Util.safeReplaceFile(playerDataFile.toPath(), tempFile.toPath(), playerDataFileOld.toPath());
|
|
- } catch (java.io.IOException e) {
|
|
- e.printStackTrace();
|
|
- }
|
|
+ server.console.playerDataStorage.save(this.getName(), this.getUniqueId(), this.getUniqueId().toString(), compoundTag); // Leaf - Async playerdata saving
|
|
}
|
|
// Purpur end - OfflinePlayer API
|
|
}
|