0
0
mirror of https://hub.spigotmc.org/stash/scm/spigot/spigot.git synced 2025-10-29 15:48:20 +00:00
Files
spigot/CraftBukkit-Patches/0049-Configurable-save-on-stop-only-for-UserCache.patch
2025-10-01 01:05:00 +10:00

64 lines
2.7 KiB
Diff

From 1ad0b34197f13b5ab6db8a26ebbafa4598c54bef Mon Sep 17 00:00:00 2001
From: drXor <mcyoungsota@gmail.com>
Date: Fri, 23 May 2014 18:05:10 -0400
Subject: [PATCH] Configurable save-on-stop-only for UserCache
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 6dfdec74c..ac9fcf0d9 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1018,6 +1018,12 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
} catch (IOException ioexception1) {
MinecraftServer.LOGGER.error("Failed to unlock level {}", this.storageSource.getLevelId(), ioexception1);
}
+ // Spigot start
+ if (org.spigotmc.SpigotConfig.saveUserCacheOnStopOnly) {
+ LOGGER.info("Saving usercache.json");
+ this.services().nameToIdCache().save();
+ }
+ // Spigot end
}
diff --git a/src/main/java/net/minecraft/server/players/CachedUserNameToIdResolver.java b/src/main/java/net/minecraft/server/players/CachedUserNameToIdResolver.java
index 20ffab397..772175265 100644
--- a/src/main/java/net/minecraft/server/players/CachedUserNameToIdResolver.java
+++ b/src/main/java/net/minecraft/server/players/CachedUserNameToIdResolver.java
@@ -95,7 +95,7 @@ public class CachedUserNameToIdResolver implements UserNameToIdResolver {
CachedUserNameToIdResolver.a cachedusernametoidresolver_a = new CachedUserNameToIdResolver.a(nameandid, date);
this.safeAdd(cachedusernametoidresolver_a);
- this.save();
+ if( !org.spigotmc.SpigotConfig.saveUserCacheOnStopOnly ) this.save(); // Spigot - skip saving if disabled
return cachedusernametoidresolver_a;
}
@@ -132,7 +132,7 @@ public class CachedUserNameToIdResolver implements UserNameToIdResolver {
}
}
- if (flag) {
+ if (flag && !org.spigotmc.SpigotConfig.saveUserCacheOnStopOnly) { // Spigot - skip saving if disabled
this.save();
}
diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java
index d8cd8b47a..6dfa89f6f 100644
--- a/src/main/java/org/spigotmc/SpigotConfig.java
+++ b/src/main/java/org/spigotmc/SpigotConfig.java
@@ -320,4 +320,10 @@ public class SpigotConfig
{
userCacheCap = getInt( "settings.user-cache-size", 1000 );
}
+
+ public static boolean saveUserCacheOnStopOnly;
+ private static void saveUserCacheOnStopOnly()
+ {
+ saveUserCacheOnStopOnly = getBoolean( "settings.save-user-cache-on-stop-only", false );
+ }
}
--
2.51.0