From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: hayanesuru 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 cee3954179fd4a4d1ca3090a843c96676f9cc47b..15e27339f2c955c07878f13eeed51a6998f5a5bb 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java @@ -747,16 +747,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 }