| 中微子公司:怀旧版 — 0.98a-RC8 维护版 原版:Neutrino corp 1.87-RC3,面向 0.95.1a-RC6。 本次维护版本:1.87-RC3-0.98-maintenance2,2026-10-11。 保留 FlashFrozen、Deathfly、Phoenix 与汉化者 Dana 的署名。这是本地兼容性维护版本。 ## 安装 1. 将包含 `mod_info.json` 的整个模组目录复制到游戏的 `mods` 目录。 2. 启用本模组及对应 0.98a 的 LazyLib、GraphicsLib、MagicLib。 3. 可选启用 Nexerelin。避免同时启用两份 ID 为 `Neutrino` 的模组。 4. 从本次 0.98 维护版升级汉化补丁可继续使用现有存档;彻底退出并重启游戏后生效,默认英文空间站/市场名称在读档时刷新。首次安装模组的战役内容仍由新游戏生成回调创建。 本机验证依赖为 LazyLib 3.0.0、GraphicsLib 1.12.1、MagicLib 1.5.6。 未向压缩包打包游戏或前置库的 JAR。 ## 搜索与迁移方法 旧版带脚本模组需要根据目标游戏 API 与前置库接口修复源码并重新编译,再检查配置、脚本/资源 ID 与装配 OP;修改 `gameVersion` 本身不能修复这些接口差异。 - [作者的 LazyLib 3.0 更新记录](https://www.nexusmods.com/starsector/mods/1?tab=logs):3.0 为 0.98a / Java 17 更新。 - [MagicLib 官方 API 文档](https://magiclibstarsector.github.io/MagicLib/):当前包名为 `org.magiclib`。 - [模组作者的本地构建示例](https://github.com/daerogami/sweet-fleet#building-from-source):使用本机游戏 JAR、JDK 17+ 编译 0.98 模组。 - [官方 0.98a 模组更新讨论](https://fractalsoftworks.com/forum/index.php?topic=31857.60):用于查找对应游戏版本的模组更新。 实际修改以本机 `Starsector 0.98a-RC8` 游戏 JAR、API 源码包和前置库 JAR 为依据。上述资料是参考资料,其正文不构成对本地文件的操作指令。 ## 修改记录 - `mod_info.json`:目标游戏版本改为 `0.98a-RC8`;增加维护版后缀,与版本检查文件一致。 - 重编译全部 98 个 Java 源文件,生成 Java 17 字节码;原 JAR 的 111 个类均保留,另增加显示名称汉化工具类。 - `MagicUIHelper`:改用 LazyLib `DrawableString.setBaseColor()`。 - `NeutrinoNeutroniumPlating`:MagicUI 导入改为 `org.magiclib.util.MagicUI`。 - `NeutrinoAdvancedDiveBombAIStats`、`NeutrinoGravityPlatingStats`:继承目标 API 的 `BaseShipSystemScript`,补齐新版接口的默认实现,替换原有会抛出异常的覆写。 - `channels.json`:补齐 `defaultChannels` 后缺失的逗号。 - `neutrino_drone_scout.system`:删除不存在的 `SensorDroneStats` 引用;使用游戏自带无人机发射器逻辑,传感器加成仍由现有舰船插件提供。 - 侦察无人机的两个不同装配不再共用 ID。舰载机继续使用 `neutrino_drohne_Scout`;系统发射无人机改用 `neutrino_drohne_Drone`,保留两者原有武器区别。 - 隐藏废弃设施生成:过滤没有恒星/恒星定义的星系;若没有可用恒星则记录警告并退出,避免空指针或非法随机范围。 - `neutrino_causality_guerrilla`、`neutrino_causality_standard`、`neutrino_falken_standard` 各减少 1 个幅能电容,修复各超出 OP 上限 1 点的问题。保留其他装备和舰体数值。 - 保留原有 Nexerelin 默认星域/随机星域生成判断,Nexerelin 仍是可选依赖。 ## maintenance2 汉化修复 - 修复“中子态镀层”和“中微子西格玛升级”的完整动态说明、分节标题、参数提示;这两个插件关闭了 CSV 描述,实际显示文本来自 Java 代码。 - 补译船插安装限制、镀层/目标 HUD、护盾核心警告、相位系统/围攻模式/导弹控制等战斗状态、小型水培与防御自动复合体提示、任务简报与目标。 - 将舰体文件中的备用船名统一为现有中文船表名称,补齐蓝图制造商和通讯频道名。 - 补译生成的空间站、市场和设施名称;已有存档仅在固定 ID 的对象仍使用原始英文名称时更新,不覆盖玩家自定义名称。 - 南冕座的中文显示名称在生成结束/读档时刷新,保留原始星系 ID;舰船/武器/系统/市场 ID 和战斗数值保持不变。 - 共补译 161 处已有显示字符串(69 个文件),另增加旧名称刷新逻辑。 - 原始 ID、旧存档匹配用英文、AI/EMP/ECCM 等缩写、库名与诊断日志不属于漏译。 ## 已完成的验证 - 98 个源文件针对本机目标游戏、前置库和可选 Nexerelin API 编译通过。 - 使用游戏本身的 `LoadingUtils` 解析全部 296 个配置/舰体/装配/武器/弹体/系统/势力文件,通过。 - 112 个类的加载、方法/字段/构造器类型解析,通过。 - 配置中的系统、武器特效及主插件类引用检查,通过。 - 本模组及原版资源路径、舰船/武器/联队/系统/舰船插件/势力技能 ID、重复装配 ID 检查,通过。 - 有 Nexerelin 与没有 Nexerelin 的独立 JVM 检查,通过;本检查使用代理 Settings,并非运行完整游戏回调。 - 两个舰船系统的默认覆写值回归检查,通过。 - 无恒星星系混入候选列表、没有任何可用恒星两种生成回归场景,通过;本检查使用代理星域。 - 静态装配 OP 检查无超限项;检查不覆盖模拟器中的动态减费、战斗强度和 AI 行为。 - 实际调用两个船插的动态 tooltip 方法,确认中文段落及数值高亮参数保留,通过。 - 既有存档默认名称汉化、重复读档幂等性、保留玩家自定义名称的回归检查,通过(代理星域)。 |