Jelajahi Sumber

Fixed NPE caused by Spout players after a /reload

bm01 13 tahun lalu
induk
melakukan
0c1a8eff85

+ 1 - 0
Changelog.txt

@@ -12,6 +12,7 @@ Version 1.3.10-dev
  + Added ability for custom blocks to drop a range of items.
  + Added Ability API functions
  + Added 50% & 150% XP boost perks
+ = Fixed NPE caused by Spout players after a /reload
  = Fixed ConcurrentModificationException on world unload
  = Fixed players never being removed from memory (memory leak)
  = Fixed admin chat being seen by everyone

+ 8 - 0
src/main/java/com/gmail/nossr50/runnables/SpoutStart.java

@@ -1,7 +1,9 @@
 package com.gmail.nossr50.runnables;
 
 import org.getspout.spoutapi.SpoutManager;
+import org.getspout.spoutapi.event.spout.SpoutCraftEnableEvent;
 import org.getspout.spoutapi.player.FileManager;
+import org.getspout.spoutapi.player.SpoutPlayer;
 
 import com.gmail.nossr50.mcMMO;
 import com.gmail.nossr50.config.SpoutConfig;
@@ -32,6 +34,12 @@ public class SpoutStart implements Runnable{
 
             FileManager FM = SpoutManager.getFileManager();
             FM.addToPreLoginCache(plugin, SpoutStuff.getFiles());
+
+            //Handle spout players after a /reload
+            for (SpoutPlayer spoutPlayer : SpoutManager.getPlayerManager().getOnlinePlayers()) {
+                SpoutCraftEnableEvent spoutCraftEnableEvent = new SpoutCraftEnableEvent(spoutPlayer);
+                mcMMO.p.getServer().getPluginManager().callEvent(spoutCraftEnableEvent);
+            }
         }
     }
 }