From 5aaa1bda2a05db077341ae6889160fa7b89003f0 Mon Sep 17 00:00:00 2001
From: AnimeGitB <AnimeGitB@bigblueball.in>
Date: Tue, 23 Aug 2022 17:24:17 +0930
Subject: [PATCH] Avoid potential NPE on WL0 (#1693)

---
 .../grasscutter/game/managers/blossom/BlossomManager.java    | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/src/main/java/emu/grasscutter/game/managers/blossom/BlossomManager.java b/src/main/java/emu/grasscutter/game/managers/blossom/BlossomManager.java
index 43bd958c..f7a1e619 100644
--- a/src/main/java/emu/grasscutter/game/managers/blossom/BlossomManager.java
+++ b/src/main/java/emu/grasscutter/game/managers/blossom/BlossomManager.java
@@ -20,8 +20,6 @@ import emu.grasscutter.net.proto.BlossomBriefInfoOuterClass;
 import emu.grasscutter.net.proto.VisionTypeOuterClass;
 import emu.grasscutter.server.packet.send.PacketBlossomBriefInfoNotify;
 import emu.grasscutter.utils.Utils;
-import it.unimi.dsi.fastutil.ints.Int2ObjectLinkedOpenHashMap;
-import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
 import it.unimi.dsi.fastutil.ints.IntArrayList;
 import it.unimi.dsi.fastutil.ints.IntList;
 
@@ -127,7 +125,8 @@ public class BlossomManager {
     public void notifyIcon() {
         final int wl = getWorldLevel();
         final int worldLevel = (wl < 0) ? 0 : ((wl > 8) ? 8 : wl);
-        final int monsterLevel = GameData.getWorldLevelDataMap().get(worldLevel).getMonsterLevel();
+        final var worldLevelData = GameData.getWorldLevelDataMap().get(worldLevel);
+        final int monsterLevel = (worldLevelData != null) ? worldLevelData.getMonsterLevel() : 1;
         List<BlossomBriefInfoOuterClass.BlossomBriefInfo> blossoms = new ArrayList<>();
         GameDepot.getSpawnLists().forEach((gridBlockId, spawnDataEntryList) -> {
             int sceneId = gridBlockId.getSceneId();
-- 
GitLab