浏览代码

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 年之前
父节点
当前提交
519d469cb2
共有 1 个文件被更改,包括 6 次插入2 次删除
  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) {
     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);
         McMMOPlayerXpGainEvent event = new McMMOPlayerXpGainEvent(player, skill, xpGained, xpGainReason);
         mcMMO.p.getServer().getPluginManager().callEvent(event);
         mcMMO.p.getServer().getPluginManager().callEvent(event);
 
 
         boolean isCancelled = event.isCancelled();
         boolean isCancelled = event.isCancelled();
 
 
         if (!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;
         return !isCancelled;