From a5e1aa1e59ac9956f379f60acb888910475023b7 Mon Sep 17 00:00:00 2001 From: nea Date: Mon, 12 Jun 2023 03:05:38 +0200 Subject: Fix some NPEs --- src/main/java/io/github/moulberry/repo/NEUItems.java | 1 + src/main/java/io/github/moulberry/repo/constants/Bonuses.java | 3 +++ src/main/java/io/github/moulberry/repo/constants/Enchants.java | 2 ++ src/main/java/io/github/moulberry/repo/constants/Parents.java | 3 +++ 4 files changed, 9 insertions(+) (limited to 'src/main') diff --git a/src/main/java/io/github/moulberry/repo/NEUItems.java b/src/main/java/io/github/moulberry/repo/NEUItems.java index 1c958ec..dabc075 100644 --- a/src/main/java/io/github/moulberry/repo/NEUItems.java +++ b/src/main/java/io/github/moulberry/repo/NEUItems.java @@ -31,6 +31,7 @@ public class NEUItems implements IReloadable { @Nullable public NEUItem getItemBySkyblockId(@NEUId String itemId) { + if (items == null) return null; return items.get(itemId.toUpperCase(Locale.ROOT)); } } diff --git a/src/main/java/io/github/moulberry/repo/constants/Bonuses.java b/src/main/java/io/github/moulberry/repo/constants/Bonuses.java index 782ffec..b196890 100644 --- a/src/main/java/io/github/moulberry/repo/constants/Bonuses.java +++ b/src/main/java/io/github/moulberry/repo/constants/Bonuses.java @@ -21,10 +21,12 @@ public class Bonuses { Map>> bonusStats; public int getPetValue(Rarity rarity) { + if (petValue == null) return 0; return petValue.getOrDefault(rarity, 0); } public Map getPetRewards(int score) { + if (petRewards == null) return new HashMap<>(); return petRewards.entrySet().stream() .sorted(Comparator.comparingInt(Map.Entry::getKey)) .filter(it -> it.getKey() <= score) @@ -36,6 +38,7 @@ public class Bonuses { } public Map getAccumulativeLevelingRewards(String name, int level) { + if (bonusStats == null) return new HashMap<>(); Map> rewardTiers = bonusStats.getOrDefault(name, new HashMap<>()); Map rewards = new HashMap<>(); Map currentBonuses = new HashMap<>(); diff --git a/src/main/java/io/github/moulberry/repo/constants/Enchants.java b/src/main/java/io/github/moulberry/repo/constants/Enchants.java index 84e5761..8380283 100644 --- a/src/main/java/io/github/moulberry/repo/constants/Enchants.java +++ b/src/main/java/io/github/moulberry/repo/constants/Enchants.java @@ -22,10 +22,12 @@ public class Enchants { Map> enchantExperienceCost; public List getAvailableEnchants(String tooltype) { + if (availableEnchants == null) return null; return availableEnchants.get(tooltype); } public List getConflictingEnchants(String enchant) { + if (enchantPools == null) return new ArrayList<>(); List conflicts = new ArrayList<>(); for (List enchantPool : enchantPools) { if (enchantPool.contains(enchant)) { diff --git a/src/main/java/io/github/moulberry/repo/constants/Parents.java b/src/main/java/io/github/moulberry/repo/constants/Parents.java index cd1d770..7478ee0 100644 --- a/src/main/java/io/github/moulberry/repo/constants/Parents.java +++ b/src/main/java/io/github/moulberry/repo/constants/Parents.java @@ -12,6 +12,7 @@ public class Parents { public Parents(Map> parents) { this.parents = parents; + if (parents == null) return; for (Map.Entry> parentings : parents.entrySet()) { String parent = parentings.getKey(); for (String child : parentings.getValue()) { @@ -21,10 +22,12 @@ public class Parents { } public List getChildren(String itemId) { + if (reverseParents == null) return new ArrayList<>(); return parents.getOrDefault(itemId, new ArrayList<>()); } public Optional getParent(String itemId) { + if (reverseParents == null) return Optional.empty(); return reverseParents.containsKey(itemId) ? Optional.of(reverseParents.get(itemId)) : Optional.empty(); -- cgit