diff --git a/src/main/java/emu/grasscutter/game/tower/TowerManager.java b/src/main/java/emu/grasscutter/game/tower/TowerManager.java index 8da97358c..c562a54ab 100644 --- a/src/main/java/emu/grasscutter/game/tower/TowerManager.java +++ b/src/main/java/emu/grasscutter/game/tower/TowerManager.java @@ -106,8 +106,9 @@ public class TowerManager extends BasePlayerManager { if (!hasNextLevel()) { // set up the next floor - recordMap.putIfAbsent(getNextFloorId(), new TowerLevelRecord(getNextFloorId())); - player.getSession().send(new PacketTowerCurLevelRecordChangeNotify(getNextFloorId(), 1)); + var nextFloorId = this.getNextFloorId(); + recordMap.computeIfAbsent(nextFloorId, TowerLevelRecord::new); + player.getSession().send(new PacketTowerCurLevelRecordChangeNotify(nextFloorId, 1)); }else { player.getSession().send(new PacketTowerCurLevelRecordChangeNotify(currentFloorId, getCurrentLevel())); } diff --git a/src/main/java/emu/grasscutter/game/world/WorldDataSystem.java b/src/main/java/emu/grasscutter/game/world/WorldDataSystem.java index 4715434b0..5c0b404bd 100644 --- a/src/main/java/emu/grasscutter/game/world/WorldDataSystem.java +++ b/src/main/java/emu/grasscutter/game/world/WorldDataSystem.java @@ -42,7 +42,7 @@ public class WorldDataSystem extends BaseGameSystem { DataLoader.loadList("ChestReward.json", ChestReward.class) .forEach(reward -> reward.getObjNames().forEach(name -> - chestInteractHandlerMap.putIfAbsent(name, new NormalChestInteractHandler(reward)))); + chestInteractHandlerMap.computeIfAbsent(name, x -> new NormalChestInteractHandler(reward)))); } catch (Exception e) { Grasscutter.getLogger().error("Unable to load chest reward config.", e); }