QJK的私人模组

by qjk

开局送传说装备,机甲50x50,背包1000格,无限资源,集装箱,装卸机,调整无人机速度,调整机械臂速度,调整传送带速度,超强插件,高级混凝土,陆地抽水泵,新增神模块插件,新增5级品质等

3 days ago
2.0
224
Cheats

Changelog

Version: 1.0.9
Date: 2026.5.11
  Performance:
    - 优化弹药装卸机补弹药热路径性能(参考 StableFoundations 的 instanceCache 短路思路):
        * 新增炮塔满弹药冷却表:满弹药炮塔 10 秒(600 tick)内跳过,完全避免 get_inventory / can_insert 等引擎 API 调用
        * 新增 turret.can_insert 结果缓存(按 turret_name + ammo_name 维度),消除重复的弹药兼容性校验
        * 100 弹药箱规模下峰值从 ~100ms 降至 ~1-2ms(典型战斗平稳期占用 < 10% 帧预算)
    - 重构补弹药逻辑为 base mod 标准 API(turret.insert / turret.can_insert)替代手工 slot 循环:
        * 由引擎内部统一处理弹药分配,保证不会覆盖已装填弹药
        * 三阶段处理:扫描找已装填 name → 同 name 补给 → 空 slot 装新弹药
        * 支持品质 quality 扩展
    - 新增品质(quality)维度支持:弹药聚合和装填按 name+quality 双维度区分:
        * 修复弹药箱内同名不同品质弹药被聚合合并的 bug(如普通普弹与稀有普弹被当作同一种)
        * turret.insert / inv.remove / can_insert 全部携带 quality 字段,引擎精确地取对应品质的弹药堆
        * accepts_cache 升级为 turret_name + ammo_name + quality 三维度 key
    - 弹药装卸机搜索半径上限从 2000 下调到 500(反向索引改造后上调的安全阈值):
        * 优化前半径 2000 时单次扫描 4000×4000 = 15625 chunks,约 50-150ms;多弹药箱叠加会导致每秒 1-3s 周期性卡顿
        * 反向索引改造后 hot path 完全消除 area 扫描,半径仅影响建造事件的一次性开销
        * 上限 500 对应单次建造扫描 ~5ms(常规建造无感),蓝图 100 炮塔最多 0.5s 小卡顿,完全可接受
    - 解决无限炮塔科技高射速下的断火问题(炮塔自动补给目标量对齐弹药最大堆叠):
        * 原因:vanilla 炮塔 automated_ammo_count=10,与mod放大后的弹药 stack_size(最高 10000)严重不匹配,无限科技高射速下 10 发瞬打完,造成炮塔断火
        * 方案:在 data-final-fixes 堆叠放大段之后,按 ammo_category 汇总各类弹药最大 stack_size,回写到对应炮塔的 automated_ammo_count
        * 优点:完全跟随 item_stack_multiplier 设置,用户关闭堆叠放大时也回落到 vanilla stack_size,不写死数值
        * 顺便收益:ammo-chest 一行代码不改(原本就读 turret.prototype.automated_ammo_count),vanilla 逻辑机器人补弹同样受益
    - 弹药装卸机采用 chest↔turret 双向反向索引,彻底摆脱 hot path 的 area 扫描。www8787169 反馈的核心问题点:
        * 新增 storage.qjk_ammo_chests 主表(chest_uid → {entity, turrets set})与 storage.qjk_turret_index 反向表(turret_uid → {entity, chests set})
        * 箱子建造时扫范围内炮塔,炮塔建造时扫范围内箱子,立刻建立双向链接;tick_dispatch_ammo 直接遍历索引,无任何 area 扫描
        * 蓝图批量建造炮塔时用 pending_turrets 队列删峰:on_built 只入队,每 tick 处理 5 个,消除蓝图弹幕时的瞬时卡顿
        * 炮塔/箱子死亡时事件清理双向索引,hot path 再补懒清理(双保险),死炮塔不会残留
        * 半径变更时 rebuild_all_links() 全表重建;旧存档升级时 on_configuration_changed 一次性重建索引
        * 性能收益:500+ 箱规模下 hot path 单次 <5ms(之前 ~250ms),规模扩展线性度提升 50-100 倍
  Bugfixes:
    - 修复补弹药逻辑中 break 位置导致的弹药跳过 bug:原代码在 can_set_stack 为 true 时立即 break,
      若该弹药库存已被耗尽则其他可用弹药被跳过;修正为实际搬运后才 break
    - 修复炮塔已有弹药 slot 可能被弹药箱不同种类弹药覆盖的严重 bug:
        * 原代码非空 slot 分支会遍历 ammo_inv 并调用 can_set_stack,若炮塔接受同 category 其他弹药,
          set_stack 会直接替换原有弹药(如普弹被穿甲弹覆盖,原弹药凭空消失)
        * 修正为非空 slot 只补充同 name 弹药,简化逻辑并消除覆盖风险
    - 修复 destroy_render 函数 else 分支使用未定义变量 rid 的老 bug(应为 render_ids)
Version: 1.0.8
Date: 2026.5.11
  Bugfixes:
    - 修复核电链路功率加成未完全生效的严重bug:
        * 蒸汽轮机无 max_power_output 字段,原加成代码完全失效(功率一直停留在原版 5.82MW),改为放大 effectivity
        * 热交换器的 prototype type 实际是 boiler 而非 heat-exchanger,原查表路径查不到实体
        * 聚变发电机功率字段是 energy_source.output_flow_limit,原加成代码字段错误
    - 修复发电倍率 data.lua 和 data-final-fixes.lua 双处重复执行导致所有发电设备被 ×power_mult² 的问题
        * 直接导致核燃料实际耐久 = dm÷power_mult = 1,而非预期的 dm
    - 热交换器 energy_source.max_transfer 同步放大,避免热能传输卡瓶颈
Version: 1.0.7
Date: 2026.5.7
  Features:
    - 优化插件分享塔的mod兼容能力,之前写死了范围和效率,导致其它mod新增的插件分享塔没有区别。现在改为倍率增幅
    - 优化机械臂科技布局,之前以为的原版科技名称错误已改正
    - 优化发电相关代码,增加了核电、聚变发电的增幅,不再是燃烧发电一家独大了,且优化了燃料的增幅改为同比例增幅
    - 优化弹药装卸机支持按ALT键显示\关闭装填范围
    - 优化陆地抽水泵,增加兜底扫描,保证每个陆地瓦块都可以抽到液体
Version: 1.0.6
Date: 2026.4.29
  Features:
    - 移植无限储液罐能力
    - 移植弹药装卸机能力
Version: 1.0.4
Date: 2026.4.27
  Bugfixes:
    - 修复神插件未正确判断是否存在品质模组的兼容问题
    - 新增天使插件来补充不想使用品质的场景
    - 优化腐败机制提示词
    - 解决了死后复活增加的背包格子丢失问题
Version: 1.0.3
Date: 2026.4.23
  Features:
    - 神插件品质提升数值不正确修复
Version: 1.0.2
Date: 2026.4.23
  Features:
    - 新增神插件
Version: 1.0.1
Date: 2026.4.22
  Features:
    - 修复没有使用太空时代DLC时兼容问题
    - 新增了5个品质等级
Version: 1.0.0
Date: 2026.4.22
  Features:
    - 新建模组