浏览代码

Fix NPE on server shutdown with no user data

nossr50 6 年之前
父节点
当前提交
a677450d50
共有 3 个文件被更改,包括 7 次插入1 次删除
  1. 3 0
      Changelog.txt
  2. 1 1
      pom.xml
  3. 3 0
      src/main/java/com/gmail/nossr50/util/player/UserManager.java

+ 3 - 0
Changelog.txt

@@ -1,3 +1,6 @@
+Version 2.1.72
+    Fixed a NPE if a server shutdown with no player data needing to be saved (the error is harmless but spammy)
+
 Version 2.1.71
 Version 2.1.71
     Salvage will now always ask for confirmation before breaking your items (instead of only asking for enchanted items)
     Salvage will now always ask for confirmation before breaking your items (instead of only asking for enchanted items)
     Repair will now always ask for confirmation before repairing items (instead of only asking for enchanted items)
     Repair will now always ask for confirmation before repairing items (instead of only asking for enchanted items)

+ 1 - 1
pom.xml

@@ -2,7 +2,7 @@
     <modelVersion>4.0.0</modelVersion>
     <modelVersion>4.0.0</modelVersion>
     <groupId>com.gmail.nossr50.mcMMO</groupId>
     <groupId>com.gmail.nossr50.mcMMO</groupId>
     <artifactId>mcMMO</artifactId>
     <artifactId>mcMMO</artifactId>
-    <version>2.1.71</version>
+    <version>2.1.72-SNAPSHOT</version>
     <name>mcMMO</name>
     <name>mcMMO</name>
     <url>https://github.com/mcMMO-Dev/mcMMO</url>
     <url>https://github.com/mcMMO-Dev/mcMMO</url>
     <scm>
     <scm>

+ 3 - 0
src/main/java/com/gmail/nossr50/util/player/UserManager.java

@@ -66,6 +66,9 @@ public final class UserManager {
      * Save all users ON THIS THREAD.
      * Save all users ON THIS THREAD.
      */
      */
     public static void saveAll() {
     public static void saveAll() {
+        if(playerDataSet == null)
+            return;
+
         ImmutableList<McMMOPlayer> trackedSyncData = ImmutableList.copyOf(playerDataSet);
         ImmutableList<McMMOPlayer> trackedSyncData = ImmutableList.copyOf(playerDataSet);
 
 
         mcMMO.p.getLogger().info("Saving mcMMOPlayers... (" + trackedSyncData.size() + ")");
         mcMMO.p.getLogger().info("Saving mcMMOPlayers... (" + trackedSyncData.size() + ")");