OOOP 发表于 2026-2-23 14:29:17

进入游戏一段时间后闪退

[游戏日志]

3847200 INFOsound.O- Cleaning up music with id
3847341 INFOsound.O- Creating streaming player for music with id
3847341 INFOsound.OooO- Playing music with id
3847547 ERROR com.fs.starfarer.combat.CombatMain- java.lang.NullPointerException
java.lang.NullPointerException
        at dal.impl.campaign.skills.CaptainsFighterUplink.isSourceOfficer(CaptainsFighterUplink.java:34)
        at dal.impl.campaign.skills.CaptainsFighterUplink$Level2.apply(CaptainsFighterUplink.java:86)
        at com.fs.starfarer.campaign.CharacterStats.applyAllFightersToStats(Unknown Source)
        at com.fs.starfarer.combat.entities.ship.oOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.C.?O0000(Unknown Source)
        at com.fs.starfarer.combat.entities.ship.oOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.C.advance(Unknown Source)
        at com.fs.starfarer.combat.entities.Ship.advance(Unknown Source)
        at com.fs.starfarer.combat.CombatEngine.advanceInner(Unknown Source)
        at com.fs.starfarer.combat.CombatEngine.advance(Unknown Source)
        at com.fs.starfarer.combat.CombatState.traverse(Unknown Source)
        at com.fs.state.AppDriver.begin(Unknown Source)
        at com.fs.starfarer.combat.CombatMain.main(Unknown Source)
        at com.fs.starfarer.StarfarerLauncher.super(Unknown Source)
        at com.fs.starfarer.StarfarerLauncher$1.run(Unknown Source)




OOOP 发表于 2026-2-23 14:43:22

隔岸观火2 发表于 2026-2-23 18:03:18

根据我喂给小v的结果来看。以下:### 问题定位
日志显示 **空指针异常(NullPointerException)**,具体触发点为 `CaptainsFighterUplink` 技能(来自 `军官扩展` Mod)的 `isSourceOfficer` 方法(第34行),推测是技能逻辑中引用了未初始化的军官对象或空值。


### 错误原因及解决方案
#### 核心原因
`军官扩展` Mod的 `CaptainsFighterUplink` 技能在处理**舰载机/军官关联逻辑**时,未判断对象是否为空,导致空指针。可能与以下场景相关:
- 舰船无军官但启用了该技能;
- 军官数据加载异常(如Mod冲突导致军官信息丢失);
- 技能逻辑与其他Mod(如舰载机相关Mod)不兼容。


#### 解决方案
1. **禁用/更新 `军官扩展` Mod**
   - 临时禁用 `军官扩展`(版本0.6.7),启动游戏验证是否仍报错。若问题消失,说明该Mod是直接原因。
   - 检查Mod作者是否发布了修复版本(如0.6.8+),优先更新至最新版。

2. **排查Mod冲突**
   - 禁用与**军官系统**或**舰载机**相关的Mod(如 `AI 改修 AI Tweaks`、`Truly Automated Ships`),逐一测试,定位冲突源。
   - 优先保留基础Mod(如LazyLib、GraphicsLib),再逐步添加其他Mod,缩小排查范围。

3. **修复军官数据**
   - 若报错发生在特定舰船/军官上,尝试移除该舰船的军官,或重新招募军官后再测试。
   - 检查存档中是否存在异常军官数据(如通过 `Console Commands` Mod清除无效军官)。

4. **调整Java参数**
   - 当前Java版本为1.7.0_79(较旧),尝试升级Java至1.8.x(远行星号推荐版本),或调整虚拟机参数(如减少 `-Xmx` 至4096m,避免内存溢出导致数据加载异常)。


### 复现与验证
- 若能稳定复现,尝试在**无其他Mod**的环境下仅启用 `军官扩展` 和基础Mod,观察是否报错,以确认Mod自身问题。

若问题持续,建议在Mod社区(如远行星号论坛)提供完整日志和Mod列表,联系 `军官扩展` 作者反馈。

人质救星Fuze 发表于 2026-2-23 20:50:06

高质量舰长的战机传讯技能炸了
检查一下有没有不是从航母上起飞,而是凭空生成的LPC

隔岸观火2 发表于 2026-2-23 22:28:12

人质救星Fuze 发表于 2026-2-23 20:50
高质量舰长的战机传讯技能炸了
检查一下有没有不是从航母上起飞,而是凭空生成的LPC ...

看来小v还是不怎么好用。

OOOP 发表于 2026-2-24 11:17:28

人质救星Fuze 发表于 2026-2-23 20:50
高质量舰长的战机传讯技能炸了
检查一下有没有不是从航母上起飞,而是凭空生成的LPC ...

好的,谢谢了

OOOP 发表于 2026-2-24 12:16:18

高质量舰长关闭或者删除就坏档了,无法。
页: [1]
查看完整版本: 进入游戏一段时间后闪退