Browse Source

Add null check to XP gain handler, fixes #4663 (#4677)

* Add null check to XP gain handler, fixes #4663

Co-authored-by: Robert Alan Chapton <nossr50@gmail.com>
PikaMug 3 năm trước cách đây
mục cha
commit
519d469cb2
1 tập tin đã thay đổi với 6 bổ sung2 xóa
  1. 6 2
      src/main/java/com/gmail/nossr50/util/EventUtils.java

+ 6 - 2
src/main/java/com/gmail/nossr50/util/EventUtils.java

@@ -379,14 +379,18 @@ public final class EventUtils {
     }
 
     public static boolean handleXpGainEvent(Player player, PrimarySkillType skill, float xpGained, XPGainReason xpGainReason) {
+        McMMOPlayer mmoPlayer = UserManager.getPlayer(player);
+        if(mmoPlayer == null)
+            return true;
+        
         McMMOPlayerXpGainEvent event = new McMMOPlayerXpGainEvent(player, skill, xpGained, xpGainReason);
         mcMMO.p.getServer().getPluginManager().callEvent(event);
 
         boolean isCancelled = event.isCancelled();
 
         if (!isCancelled) {
-            UserManager.getPlayer(player).addXp(skill, event.getRawXpGained());
-            UserManager.getPlayer(player).getProfile().registerXpGain(skill, event.getRawXpGained());
+            mmoPlayer.addXp(skill, event.getRawXpGained());
+            mmoPlayer.getProfile().registerXpGain(skill, event.getRawXpGained());
         }
 
         return !isCancelled;