aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorAaron <51387595+AzureAaron@users.noreply.github.com>2024-11-22 19:55:54 -0500
committerGitHub <noreply@github.com>2024-11-22 19:55:54 -0500
commit7e98ed55b6ef7921ceaf5094c60f188cc08fb541 (patch)
treed18ae5c755c73079f6553a876bf9058090924673 /src/main/java
parentcc7554fc198d1f2248635040f5b6b0c059d19c64 (diff)
downloadSkyblocker-7e98ed55b6ef7921ceaf5094c60f188cc08fb541.tar.gz
Skyblocker-7e98ed55b6ef7921ceaf5094c60f188cc08fb541.tar.bz2
Skyblocker-7e98ed55b6ef7921ceaf5094c60f188cc08fb541.zip
Fix NPE with irregular inventory data (#1053)
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/profileviewer/inventory/InventoryPage.java8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/profileviewer/inventory/InventoryPage.java b/src/main/java/de/hysky/skyblocker/skyblock/profileviewer/inventory/InventoryPage.java
index 6aa92ef6..b07a02a6 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/profileviewer/inventory/InventoryPage.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/profileviewer/inventory/InventoryPage.java
@@ -47,11 +47,11 @@ public class InventoryPage implements ProfileViewerPage {
JsonObject inventoryData = pProfile.getAsJsonObject("inventory");
if (inventoryData == null) return;
inventorySubPages[0] = new PlayerInventory(inventoryData);
- inventorySubPages[1] = new Inventory(INVENTORY_PAGES[1], IntIntPair.of(5, 9), inventoryData.getAsJsonObject("ender_chest_contents"));
- inventorySubPages[2] = new Inventory(INVENTORY_PAGES[2], IntIntPair.of(5, 9), inventoryData.getAsJsonObject("backpack_contents"), new BackpackItemLoader());
- inventorySubPages[3] = new Inventory(INVENTORY_PAGES[3], IntIntPair.of(4, 9), inventoryData.getAsJsonObject("wardrobe_contents"), new WardrobeInventoryItemLoader(inventoryData));
+ if (inventoryData.has("ender_chest_contents")) inventorySubPages[1] = new Inventory(INVENTORY_PAGES[1], IntIntPair.of(5, 9), inventoryData.getAsJsonObject("ender_chest_contents"));
+ if (inventoryData.has("backpack_contents")) inventorySubPages[2] = new Inventory(INVENTORY_PAGES[2], IntIntPair.of(5, 9), inventoryData.getAsJsonObject("backpack_contents"), new BackpackItemLoader());
+ if (inventoryData.has("wardrobe_contents")) inventorySubPages[3] = new Inventory(INVENTORY_PAGES[3], IntIntPair.of(4, 9), inventoryData.getAsJsonObject("wardrobe_contents"), new WardrobeInventoryItemLoader(inventoryData));
inventorySubPages[4] = new Inventory(INVENTORY_PAGES[4], IntIntPair.of(4, 9), pProfile, new PetsInventoryItemLoader());
- inventorySubPages[5] = new Inventory(INVENTORY_PAGES[5], IntIntPair.of(5, 9), inventoryData.getAsJsonObject("bag_contents").getAsJsonObject("talisman_bag"));
+ if (inventoryData.has("bag_contents") && inventoryData.getAsJsonObject("bag_contents").has("talisman_bag")) inventorySubPages[5] = new Inventory(INVENTORY_PAGES[5], IntIntPair.of(5, 9), inventoryData.getAsJsonObject("bag_contents").getAsJsonObject("talisman_bag"));
} catch (Exception e) {
ProfileViewerScreen.LOGGER.error("[Skyblocker Profile Viewer] Error while loading inventory data: ", e);
}