找回密码
 初始化身份识别芯片
img_loading
智能检测中
楼主: 下北泽远野

[0.97]航母现代化

    [复制链接]

战列舰长

发表于 2025-4-2 19:06:11 | 显示全部楼层
下北泽远野 发表于 2025-3-27 12:59
我这里只能看到是由于制造进程同步造成的错误
请将复现步骤与mod列表告诉我 ...

出现了相同的报错,都是“制造进程同步”这个船插导致的,情况发生在野外的航母赏金中,在hullmodcsv里把“制造进程同步”改为彻底隐藏之后不再出现报错。

个人猜测可能是重生中有一个叫“反英雄”的规则给对方加上了这个插件,然后出现了问题。

巡洋大副

发表于 2025-4-3 08:55:12 | 显示全部楼层
LLSroger 发表于 2025-3-30 00:15
又可以愉快玩耍了.

请问可以请教一下现在使用什么ide打包java7最方便吗

巡洋大副

发表于 2025-4-3 12:23:16 | 显示全部楼层
阿靴 发表于 2025-3-25 20:18
这回确实是现代化的船插了壁垒核心这个减航程的效果绝对不止600,装上去之后飞机跟插了护航定位阵列一样只 ...

文本一方面有问题,应该写成降低至600范围
代码里面是先把飞机航程降低到0,然后再+600,这个过程中+600可能未生效
所以飞机是寸步不离航母,600航程也没有,如果带轰炸机,除非贴脸不然不轰炸

巡洋大副

发表于 2025-4-3 14:18:04 | 显示全部楼层
化身航母核心崩溃bug(已复现)

具体情境:使用Lukas的随手之作中的超新星战机搭配化身航母核心船插,该战机在使用主动技能冲刺后固定出现崩溃。移除该船插后未复现

报告如下:


游戏信息


游戏版本: 0.97a-RC11



系统信息


操作系统:Microsoft Windows 11 家庭中文版


版本:10.0.26100 暂缺 Build 26100


总可用内存:31.47G



Java版本:1.7.0_79


Java路径:D:\Starsector 0.97\jre



虚拟机参数:java.exe -XX:CompilerThreadPriority=1 -XX:+CompilerThreadHintNoPreempt -Djava.library.path=native\windows -XX:+UseG1GC -Xms1536m -Xmx1536m -Xss2048k -XX:PermSize=192m -XX:MaxPermSize=192m -classpath janino.jar;commons-compiler.jar;commons-compiler-jdk.jar;starfarer.api.jar;starfarer_obf.jar;jogg-0.0.7.jar;jorbis-0.0.15.jar;json.jar;lwjgl.jar;jinput.jar;log4j-1.2.9.jar;lwjgl_util.jar;fs.sound_obf.jar;fs.common_obf.jar;xstream-1.4.10.jar -Dcom.fs.starfarer.settings.paths.saves=..\saves -Dcom.fs.starfarer.settings.paths.screenshots=..\screenshots -Dcom.fs.starfarer.settings.paths.mods=..\mods -Dcom.fs.starfarer.settings.paths.logs=. com.fs.starfarer.StarfarerLauncher


堆栈初始大小(-Xms):1536m


堆栈最大大小(-Xmx):1536m




Mod信息


Mod名称 Mod版本 已启用
LazyLib 2.8b
zz GraphicsLib 1.9.0
MagicLib 1.4.6
C更多的船体插件More HullMods 1.12.0 1.12.0
[QoL补丁]手动地貌改造殖民地过滤 1.0.1
A New Level of Confidence 40 3.2 Fast
AdvancedGunneryControl 1.18.0
AI 改修 AI Tweaks 1.12.7
Aptly Simple Hullmods 2.1.1d
Ashlib 1.1.5
Autosave 自动保存 1.2b
Building Menu Overhaul 建筑菜单美化 1.1.4
Console Commands 2024.10.04
Customizable Star Systems 2.1.3
D-MOD Services 2.0.0
DecoLib 0.3
Demand Indicators 供需指示 1.0.c
Dynamic Tariffs 2.0
Enable TranspONder 开启"应答器" 0.1.5
Exotica Technologies 1.8.6
Fast Engine Rendering 1.1.2
Kazeron 海军 1.6.1
Leading Pip 1.9.3
LngA7Gw的随手之作 0.4.3
Luddic Enhancement 1.2.6e
Lukas的随手之作 2.5.14
LunaLib 1.8.7
MagicLib 原版成就包 1.2.2
Mirror 1.4
MOD溯源[WhichMod] 1.2.0
Particle Engine 0.73
Portrait Changer 头像修改器 1.0.3
Scan Those Gates 扫描那些星门 1.5.7
Seeker - 未知接触 0.5.7m
SpeedUp 1.2.1
Stellar Networks 3.1.3
Suitable Star Systems 2.4.0a
timeless 0.01
Too Much Information 0.98a
UNGP扩展 - 逆向进度继承 1.0.0
zz BoxUtil 1.2.2
zzz Mikohime Additionals Settings 1.1.1
中微子探测器 Mk.II 1.4.3
人之领开拓者扩展 0.0.18
兽耳助手! 0.73
军官扩展 0.6.7
势力争霸 [Nexerelin] 0.11.3c
地貌改造 & 空间站建设 9.0.11
工业革命 3.3.e
工业革命_宠物扩展_莉莉丝 1.1
应答器关闭许可 1.2.4
战俘营地 Take No Prisoners 0.17.0
战斗骚话[Combat Chatter] 1.14.2
星海集群 1.13.5
星系检索网络汉化 3.1.6
星舰传奇 [Starship Legends] 2.5.0
更优的技术挖掘 2.7.4
更大的殖民地 2.1.a
未知星域[Unknown Skies] 2.0.2
武器装配筛选器 [Refit Filters] 2.0.0
海盗拓展 [Underworld] 1.8.3
海盗迷你超绝船包 PMMM 1.7.6
清理星域 [Clean Sector] 0.2.5
火炬舰队与死亡军武 0.18rc1
燃料虹吸[Fuel Siphoning] 1.4.0
畅饮美酒 1.1.c
空间站守卫任务 自定义调控 1.0
空间站改造 Station Augments 1.2.0
第四天灾音乐库 1.0
系统标识 [System Marker] 0.1.8-RC2
经验内插 Progressive S-Mods 1.0.2
航母UI [CarrierUI] 1.0.0
航母现代化 1.0.6
舰船/武器拓展 [Ship/Weapon Pack] 1.15.1
舰船目录 / 装配编辑器 [~Ship Catalogue / Variant Editor] 1.8.4
舰船精通系统 Ship Mastery System 0.12.3
舰长日志 Captain's Log 0.2.0
虫群 1.1.7
装配Li解 [Variant AcknowLIdged] 0.4.0
详细战斗报告[Detailed Combat Results] 5.4.1
超空间跳跃 2.5.2
远行之路 0.3081
重生[UNGP] 2.3.0
重生拓展-前世阵营重生 0.0.7
重生规则拓展 1.3.0
靶子:测试准备 [Prepare For Test] 0.2.1
高质量舰长 Quality Captains 1.6.1
A New Level of Confidence 20 3.2
A New Level of Confidence 20 3.2 Fast
A New Level of Confidence 25 3.2
A New Level of Confidence 25 3.2 Fast
A New Level of Confidence 30 3.2
A New Level of Confidence 30 3.2 Fast
A New Level of Confidence 40 3.2
舰船逆向 扩展补丁 1.0.0


(以上内容由 远行星号 报错信息收集工具 自动生成,生成工具版本 1.1.2).



[游戏日志] 916254 [Thread-6] INFO sound.O - Cleaning up music with id [Hostile Fleet Detected.ogg] 916400 [Thread-9] INFO sound.O - Creating streaming player for music with id [The Titan.ogg] 916401 [Thread-9] INFO sound.OooO - Playing music with id [The Titan.ogg] 917121 [Thread-2] ERROR com.fs.starfarer.combat.CombatMain - java.lang.NullPointerException: Cannot invoke "java.lang.Float.floatValue()" because the return value of "java.util.Map.get(Object)" is null java.lang.NullPointerException: Cannot invoke "java.lang.Float.floatValue()" because the return value of "java.util.Map.get(Object)" is null at org.sutopia.starsector.mod.moderncarrier.hullmods.regular.FighterBayLoadBalance.advanceInCombat(FighterBayLoadBalance.java:70) ~[?:?] at com.fs.starfarer.combat.entities.Ship.advance(Unknown Source) ~[port_obf.jar:?] at com.fs.starfarer.combat.CombatEngine.advanceInner(Unknown Source) ~[port_obf.jar:?] at com.fs.starfarer.combat.CombatEngine.advance(Unknown Source) ~[port_obf.jar:?] at com.fs.starfarer.combat.CombatState.traverse(Unknown Source) ~[port_obf.jar:?] at com.fs.state.AppDriver.begin(Unknown Source) ~[port.common_obf.jar:?] at com.fs.starfarer.combat.CombatMain.main(Unknown Source) ~[port_obf.jar:?] at com.fs.starfarer.StarfarerLauncher.super(Unknown Source) ~[port_obf.jar:?] at com.fs.starfarer.StarfarerLauncher$1.run(Unknown Source) ~[port_obf.jar:?]



DeepSeek分析:

已深度思考(用时37秒)
好的,用户又发来了一个新的游戏日志错误,我需要仔细分析问题所在。首先看错误信息,这次是NullPointerException,发生在FighterBayLoadBalance类的advanceInCombat方法第70行。错误提示是因为从Map.get(Object)返回的值是null,导致无法调用floatValue()。

用户之前提交过几个不同的错误,比如类找不到、版本不兼容等,但这次的问题看起来和之前的有所不同。可能用户正在玩的是《星战前夜》或类似的游戏,使用了一些mod,比如涉及现代航母的mod,具体是FighterBayLoadBalance这个hullmods。问题出现在战斗推进阶段,可能与舰载机装载平衡有关。

我需要先理解代码出错的位置。根据错误堆栈,第70行尝试从一个Map中获取Float类型的值,但获取到了null,然后直接调用了floatValue(),导致空指针异常。这说明代码在尝试使用一个不存在于Map中的键,或者该键对应的值未被正确初始化。

接下来,我需要考虑可能的解决方法。首先,检查mod是否有更新版本,可能开发者已经修复了这个bug。如果用户使用的是旧版,更新到最新版可能解决问题。其次,如果无法更新,可以尝试联系mod作者,报告错误细节,包括堆栈跟踪,帮助他们定位问题。此外,用户也可以暂时禁用该mod,看看游戏是否能正常运行,以确认问题确实由该mod引起。

另外,建议用户检查mod的安装是否正确,尤其是相关类文件是否存在且路径正确。有时候文件损坏或缺失也会导致类加载失败,但这次的问题更可能是在运行时数据处理的逻辑错误,而不是类本身找不到。

总结来说,用户的问题是由于某个mod的代码在获取Map中的值时未做空值检查,导致NullPointerException。处理这类问题通常需要mod开发者修复代码,或者在mod更新前用户自行禁用该mod以避免崩溃。

从日志来看,这是一个由第三方MOD(现代航母相关组件)引发的空指针异常错误。以下是问题分析和解决方案建议:

问题定位:
错误发生在MOD的 FighterBayLoadBalance.java 第70行
代码试图从Map中获取Float类型值时,未进行空值检查直接调用 floatValue()
具体表现为:java.util.Map.get(Object) 返回了null
临时解决方案: ✅ 尝试禁用 moderncarrier 或相关航母类MOD ✅ 在游戏设置中关闭舰载机自动平衡功能(如果有相关选项) ✅ 检查MOD是否有更新版本(可能作者已修复该问题)

长期建议: ⚠️ 向该MOD作者提交错误报告,附上完整错误日志:

指出具体出错位置(FighterBayLoadBalance.java:70)
建议在代码中添加空值检查:
// 原始问题代码示例
Float value = someMap.get(key);
float primitiveValue = value.floatValue(); // 当value为null时会崩溃

// 建议修改方案
Float value = someMap.get(key);
float primitiveValue = (value != null) ? value : 0f; // 添加空值保护
技术细节:
这个错误属于典型的空指针异常(NPE)
发生在战斗系统推进阶段(advanceInCombat)
与舰载机装载平衡机制相关
可能导致战斗过程中突然崩溃
建议优先通过Steam工坊/Nexus Mods等平台检查MOD更新,多数活跃维护的MOD会在新版本中修复此类问题。如果暂无法更新,建议在关键任务前保存游戏进度。

点评

明白,我会反馈给原作者  详情 回复 发表于 2025-4-3 14:20

势力巨擘

 楼主| 发表于 2025-4-3 14:20:20 | 显示全部楼层
本帖最后由 下北泽远野 于 2025-4-3 14:23 编辑
小濠子 发表于 2025-4-3 14:18
化身航母核心崩溃bug(已复现)

具体情境:使用Lukas的随手之作中的超新星战机搭配化身航母核心船插,该战 ...

明白,我会反馈给原作者
如果可以的话请禁用重生规则中的反英雄

点评

大佬,这个问题我也碰到了 这个错误日志来自游戏 Starsector(远行星号),在战斗过程中发生了崩溃。原因是某个 Mod(现代航母扩展)的代码存在缺陷,导致游戏无法继续运行。以下是详细解释: 1. 错误类型:Null  详情 回复 发表于 5 天前

战列舰长

发表于 2025-4-3 18:35:20 | 显示全部楼层
我操,终于等到这个模组更新了,作为测试者我还是很自豪能测试这个模组的

点评

WOW  详情 回复 发表于 2025-4-3 18:35

势力巨擘

 楼主| 发表于 2025-4-3 18:35:49 | 显示全部楼层
maidlover 发表于 2025-4-3 18:35
我操,终于等到这个模组更新了,作为测试者我还是很自豪能测试这个模组的 ...

WOW

点评

曾经是这个模组的测试者,等了很久更新作者都没扣我,原来是作者A了泪目  详情 回复 发表于 2025-4-3 18:38

战列舰长

发表于 2025-4-3 18:38:04 | 显示全部楼层

曾经是这个模组的测试者,等了很久更新作者都没扣我,原来是作者A了泪目

巡洋大副

发表于 5 天前 | 显示全部楼层
下北泽远野 发表于 2025-4-3 14:20
明白,我会反馈给原作者
如果可以的话请禁用重生规则中的反英雄

大佬,这个问题我也碰到了

  1. [游戏日志]

  2. 15104906 [Thread-6] INFO  sound.O  - Cleaning up music with id [Hostile Fleet Detected.ogg]
  3. 15104979 [Thread-9] INFO  sound.O  - Creating streaming player for music with id [CustomCombat1.ogg]
  4. 15104980 [Thread-9] INFO  sound.OooO  - Playing music with id [CustomCombat1.ogg]
  5. 15109500 [Thread-2] ERROR com.fs.starfarer.combat.CombatMain  - java.lang.NullPointerException: Cannot invoke "java.lang.Float.floatValue()" because the return value of "java.util.Map.get(Object)" is null
  6. java.lang.NullPointerException: Cannot invoke "java.lang.Float.floatValue()" because the return value of "java.util.Map.get(Object)" is null
  7.         at org.sutopia.starsector.mod.moderncarrier.hullmods.regular.FighterBayLoadBalance.advanceInCombat(FighterBayLoadBalance.java:70) ~[?:?]
  8.         at com.fs.starfarer.combat.entities.Ship.advance(Unknown Source) ~[port_obf.jar:?]
  9.         at com.fs.starfarer.combat.CombatEngine.advanceInner(Unknown Source) ~[port_obf.jar:?]
  10.         at com.fs.starfarer.combat.CombatEngine.advance(Unknown Source) ~[port_obf.jar:?]
  11.         at com.fs.starfarer.combat.CombatState.traverse(Unknown Source) ~[port_obf.jar:?]
  12.         at com.fs.state.AppDriver.begin(Unknown Source) ~[port.common_obf.jar:?]
  13.         at com.fs.starfarer.combat.CombatMain.main(Unknown Source) [port_obf.jar:?]
  14.         at com.fs.starfarer.StarfarerLauncher.super(Unknown Source) [port_obf.jar:?]
  15.         at com.fs.starfarer.StarfarerLauncher$1.run(Unknown Source) [port_obf.jar:?]

复制代码


这个错误日志来自游戏 Starsector(远行星号),在战斗过程中发生了崩溃。原因是某个 Mod(现代航母扩展)的代码存在缺陷,导致游戏无法继续运行。以下是详细解释:

1. 错误类型:NullPointerException(空指针异常)
含义:代码试图调用一个“空值”(null)对象的方法或属性,但 null 本身没有这些方法,于是游戏崩溃。

具体原因:

在 FighterBayLoadBalance.java 文件的第 70 行,代码尝试从一个 Map(类似字典的数据结构)中获取一个 Float(浮点数)值。

但 Map.get(key) 返回了 null(可能这个 key 不存在,或者对应的值是 null)。

紧接着,代码直接调用了 .floatValue(),试图把这个 null 转换成 float,于是游戏崩溃。

2. 错误发生的背景
游戏阶段:战斗过程中(advanceInCombat)。

相关 Mod:moderncarrier(现代航母扩展)的 FighterBayLoadBalance(战机舱负载均衡)功能。

触发时机:

游戏刚刚切换了背景音乐(从 Hostile Fleet Detected.ogg 切换到 CustomCombat1.ogg)。

在计算战机舱相关逻辑时,代码没有检查 Map 里是否有对应的值,直接尝试使用,导致崩溃。

3. 为什么会出现这个问题?
可能原因:

Mod 代码不严谨:没有考虑到某些情况下 Map 里可能没有需要的值。

游戏数据异常:某些战机舱的配置数据缺失,导致 Map 查询失败。

Mod 冲突:可能和其他修改战机舱逻辑的 Mod 冲突,导致数据异常。

本版积分规则

Archiver|手机版|小黑屋|远行星号中文论坛

GMT+8, 2025-4-11 10:23

Powered by Discuz! X3.5

© 2001-2077 Tencent Cloud | Durian Software Studio

快速回复 返回顶部 返回列表