Skip to content

Commit 2895667

Browse files
committed
fix(game): 修复游戏启动器语言设置空指针异常
- 在FCLGameLauncher中添加null检查避免lang为null时的异常 - 验证语言格式确保至少包含两个部分以避免数组越界 - 为GameOption的get方法添加@nullable注解明确返回值可能为空
1 parent 85104a9 commit 2895667

File tree

2 files changed

+3
-0
lines changed

2 files changed

+3
-0
lines changed

FCL/src/main/java/com/tungsten/fcl/game/FCLGameLauncher.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,9 @@ private void fixLang(GameOption gameOption) {
100100
boolean toUpper = gameVersion.compareTo("1.11") < 0;
101101
String lang;
102102
lang = gameOption.get("lang");
103+
if (lang == null) return;
103104
String[] parts = lang.split("_", 2);
105+
if (parts.length != 2) return;
104106
lang = parts[0] + "_" + (toUpper ? parts[1].toUpperCase() : parts[1].toLowerCase());
105107
gameOption.set("lang", lang);
106108
}

FCL/src/main/java/com/tungsten/fcl/setting/GameOption.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,7 @@ public void set(String key, List<String> values) {
100100
parameterMap.put(key, values.toString());
101101
}
102102

103+
@Nullable
103104
public String get(String key) {
104105
return parameterMap.get(key);
105106
}

0 commit comments

Comments
 (0)