Bläddra i källkod

Don't process null McMMOPlayer events
Fixes #4499

nossr50 4 år sedan
förälder
incheckning
9b4070d971
2 ändrade filer med 13 tillägg och 0 borttagningar
  1. 1 0
      Changelog.txt
  2. 12 0
      src/main/java/com/gmail/nossr50/listeners/SelfListener.java

+ 1 - 0
Changelog.txt

@@ -1,4 +1,5 @@
 Version 2.1.196
+    Fixed a possible null error for our SelfListener
     Crossbows can now be fished up with enchantments
 
     NOTES:

+ 12 - 0
src/main/java/com/gmail/nossr50/listeners/SelfListener.java

@@ -33,6 +33,13 @@ public class SelfListener implements Listener {
     public void onPlayerLevelUp(McMMOPlayerLevelUpEvent event) {
         Player player = event.getPlayer();
         PrimarySkillType skill = event.getSkill();
+
+        McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player);
+
+        //TODO: Handle proper validation at the event level
+        if(mcMMOPlayer == null || !mcMMOPlayer.getProfile().isLoaded())
+            return;
+
         if(player.isOnline()) {
             //Players can gain multiple levels especially during xprate events
             for(int i = 0; i < event.getLevelsGained(); i++)
@@ -73,6 +80,11 @@ public class SelfListener implements Listener {
     public void onPlayerXpGain(McMMOPlayerXpGainEvent event) {
         Player player = event.getPlayer();
         McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player);
+
+        //TODO: Handle proper validation at the event level
+        if(mcMMOPlayer == null || !mcMMOPlayer.getProfile().isLoaded())
+            return;
+
         PrimarySkillType primarySkillType = event.getSkill();
 
         if(mcMMOPlayer.isDebugMode()) {