From 753f63104a99d8659b7973b29b4237ba8619f282 Mon Sep 17 00:00:00 2001 From: ASangarin Date: Thu, 17 Dec 2020 01:46:03 +0100 Subject: [PATCH] Fixed two random NPE --- .../experience/source/CraftItemExperienceSource.java | 3 ++- .../net/Indyuce/mmocore/api/player/PlayerData.java | 11 ++++++++--- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/main/java/net/Indyuce/mmocore/api/experience/source/CraftItemExperienceSource.java b/src/main/java/net/Indyuce/mmocore/api/experience/source/CraftItemExperienceSource.java index 8343bec8..d04191a0 100644 --- a/src/main/java/net/Indyuce/mmocore/api/experience/source/CraftItemExperienceSource.java +++ b/src/main/java/net/Indyuce/mmocore/api/experience/source/CraftItemExperienceSource.java @@ -28,7 +28,8 @@ public class CraftItemExperienceSource extends SpecificExperienceSource() { @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) public void a(CraftItemEvent event) { - if(event.getAction() == InventoryAction.NOTHING) return; + if(event.getAction() == InventoryAction.NOTHING || + event.getInventory().getResult() == null) return; PlayerData data = PlayerData.get((Player) event.getWhoClicked()); for (CraftItemExperienceSource source : getSources()) if (source.matches(data, event.getInventory().getResult().getType())) diff --git a/src/main/java/net/Indyuce/mmocore/api/player/PlayerData.java b/src/main/java/net/Indyuce/mmocore/api/player/PlayerData.java index 5e55dc15..4c9702e2 100644 --- a/src/main/java/net/Indyuce/mmocore/api/player/PlayerData.java +++ b/src/main/java/net/Indyuce/mmocore/api/player/PlayerData.java @@ -136,10 +136,15 @@ public class PlayerData extends OfflinePlayerData { try { boundSkills.set(j, getProfess().getSkill(boundSkills.get(j).getSkill())); j++; - } catch (NullPointerException notFound) { + } catch (NullPointerException npe1) { boundSkills.remove(j); - MMOCore.log(Level.SEVERE, "[Userdata] Could not find skill " + boundSkills.get(j).getSkill().getId() + " in class " - + getProfess().getId() + " while refreshing player data."); + try { + MMOCore.log(Level.SEVERE, "[Userdata] Could not find skill " + boundSkills.get(j).getSkill().getId() + " in class " + + getProfess().getId() + " while refreshing player data."); + } catch (NullPointerException npe2) { + MMOCore.log(Level.SEVERE, "[Userdata] Could not find unidentified skill in class " + + getProfess().getId() + " while refreshing player data."); + } } }