From 12a7d74c0649b16c4b2dfed13e669bb92fdeba06 Mon Sep 17 00:00:00 2001 From: drXor 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 c34a6ee81..98284a63e 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -655,6 +655,12 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati this.snooper.e(); } + // Spigot start + if (org.spigotmc.SpigotConfig.saveUserCacheOnStopOnly) { + LOGGER.info("Saving usercache.json"); + this.getUserCache().c(); + } + // Spigot end } public String getServerIp() { diff --git a/src/main/java/net/minecraft/server/UserCache.java b/src/main/java/net/minecraft/server/UserCache.java index 52b9ddeae..7e18291f2 100644 --- a/src/main/java/net/minecraft/server/UserCache.java +++ b/src/main/java/net/minecraft/server/UserCache.java @@ -131,7 +131,7 @@ public class UserCache { this.d.put(gameprofile.getName().toLowerCase(Locale.ROOT), usercache_usercacheentry); this.e.put(uuid, usercache_usercacheentry); this.f.addFirst(gameprofile); - this.c(); + if( !org.spigotmc.SpigotConfig.saveUserCacheOnStopOnly ) this.c(); // Spigot - skip saving if disabled } @Nullable @@ -160,7 +160,7 @@ public class UserCache { } } - this.c(); + if( !org.spigotmc.SpigotConfig.saveUserCacheOnStopOnly ) this.c(); // Spigot - skip saving if disabled return usercache_usercacheentry == null ? null : usercache_usercacheentry.a(); } diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java index f9a4d2246..f990f75a4 100644 --- a/src/main/java/org/spigotmc/SpigotConfig.java +++ b/src/main/java/org/spigotmc/SpigotConfig.java @@ -325,4 +325,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.19.1