QJK的私人模组

by qjk

开局送传说装备, 角色强化(背包、各种速度、生命值、武器栏位、各种距离等), 物流与生产全面强化(机器人电量与移速和能耗修改、机器人平台相关修改、机械臂和传送带相关修改、新增装卸机等), 电力相关强化(发电强化、蓄电强化、燃料强化、供电范围等), 资源与堆叠(无限资源各种倍率、地图生产资源下限控制、各种堆叠控制等), 插件强化(新增了终极插件、神插件、天使插件、移除各种限制、增强插件塔各种能力等), 更多品质(新增了5级品质,各种特殊效果等), 特殊建造(传送环、弹药装卸机、垃圾桶、集装箱、无限储液罐、精炼地基、陆地抽水泵) 武器强化(射速、伤害、装弹上限等属性强化、无限科技), 太空时代腐败设置, 装备修改(护甲装备网格修改、装备大小修改), 各种属性强化基本都有配置可以控制游戏难度。

Tweaks
10 days ago
2.0
517
Logistics Combat Armor Character Environment Mining Fluids Logistic network Manufacturing Power Storage Cheats

Changelog

Version: 1.0.12
Date: 2026.6.4
  Features:
    - 插件分享塔增加按品质增加插件分享范围能力,可开关:
        * 开启后,增加的额外分享范围为品质的level,比如传说为5级,就+5,永恒为30级,+30
    - 插件分享塔增加按品质增加分享效率能力强制开启,可开关:
        * 虽然这个是原版默认开启的,但是有些模组会关闭插件塔的这个效果(比如SE),现在可强制开启
    - 移除zk-concrete 高级混凝土
    - 核电发电模块的温度上限,温度传递效率一起倍增,之前可能会出现换热器消耗温度过快导致热管温度传递慢影响效率的问题:
        * 一般而言不会出现这个问题,但是实际上因为没有同步增长热量传递效率,如果有mod增加消耗蒸汽的地方,可能会发生换热器明明效率足够,但是热管跟不上的情况
    - 新增地下传送带和地下管道距离倍数设置,可以设置为小数,最后计算结果向下取整,最大3倍
    - 管道泵、抽水泵根据换热器效率自动倍增速率和容量,来保持核电发电平衡
    - 再次兼容SE模组带来的影响:
        * SE重置了汽轮机的发电倍率,重新覆盖
        * SE限制了火箭燃料的燃烧值和堆叠必须为原版,有SE模组时过滤这两个强化
    - 神插件所需的材料个数使用天使插件配置的材料个数,现在可以自定义难度了
Version: 1.0.11
Date: 2026.5.21
  Features:
    - 弹药箱比例分配系统重构:
        * 从“逐个补满”改为“按空余容量比例分配”,多炮塔均匀获得弹药
        * 空槽位炮塔参与分配
        * 多品质隔离处理,每种name+quality独立分配
        * 余数截断留在弹药箱,下次tick自动继续分配
        * 性能保持O(N×M)
    - 品质开局解锁功能:
        * 有品质模组但无太空时代DLC时,所有品质等级开局自动解锁
        * 特殊处理legendary-quality:移除太空时代前置依赖
        * 特殊处理SE模组隐藏品质相关数据的情况,自动兼容取消隐藏和兼容支持
    - 星际/供应/储物集装箱增加过滤器功能:
        * 每个id都可以设置自己的过滤器,在物品格上面按鼠标中键打开删选器,辅助标识物品
    - 新增科技研究速度无限科技:
        * 没有太空时代DLC时新增无限科技提升科技研究速度,因为DLC自带此科技
    - 所有配置判断mod加载情况显隐:
        * 没有太空时代DLC时一些太空时代专属功能设置隐藏
    - 高级混凝土 MK1/2/3改名为精炼地基 MK1/2/3:
        * 只是修改名字,兼容一些地板mod,判断为最高级地板
    - 根据其它mod扩展的更高级别插件,动态生成更高级别的天使插件:
        * 判断太空探索的实现逻辑扩展
    - 炮塔科技和射击距离自动获取所有种类:
        * 之前是写死了名称,现在改为动态获取所有炮塔
    - 无限资源地图生成规则修改:
        * 增加开关限制地图生成资源时的最小值
    - 开局赠送物资优化:
        * 之前开局赠送物质默认存在DLC的情况下才正式工作,现在修改为默认支持原版情况
    - 插件分享塔增加按品质增加插件槽能力,可开关:
        * 开启后,增加的额外插件槽数量为品质的level,比如传说为5级,就+5,永恒为30级,+30
  Changes:
    - 燃烧发电机双重倍率机制:
        * 燃烧发电机现在受全局发电量倍率(power_mult)和燃烧发电倍率(burner_mult)双重影响
        * 功率 = 原始 × power_mult × burner_mult
        * 燃料能量值 = 原始 × power_mult × burner_mult × fuel_durability_multiplier
        * 燃料耐久 = fuel_durability_multiplier(正确计算)
        * 配置描述更新,明确说明双重倍率关系
    - 所有实体修改改为全局遍历方式(支持其他mod添加的实体):
        * 电线杆:遍历data.raw["electric-pole"]
        * 机器人:遍历construction-robot和logistic-robot
        * 机械臂:遍历inserter
        * 传送带:遍历3个基础类型(transport-belt/underground-belt/splitter)
        * 蓄电器:遍历accumulator
        * 燃烧发电机:遍历burner-generator
    - 蓄电器能量单位自动升级:
        * 支持完整单位链:J→kJ→MJ→GJ→TJ→PJ,W→kW→MW→GW→TW→PW
        * 提取Util.multiply_energy_string全局方法,供复用
    - 开局赠送物品逻辑优化:
        * 发现之前有部分物品只赠送了太空时代DLC的物品,没有兼容只有原版的情况
  Compatibility:
    - 品质开局解锁功能仅在有quality模组且无space-age DLC时生效
    - 所有实体遍历使用or {}兜底,完全兼容其他mod
    - 燃烧发电机双重倍率不影响旧存档(startup设置)
  Internal:
    - 优化ammo-chest.lua比例分配逻辑,使用turrets_need列表缓存炮塔数据
    - 优化代码结构,模块化代码,不是所有功能都在一个代码里面了,代码切分
Version: 1.0.10
Date: 2026.5.15
  Features:
    - 新增垃圾桶(迁移自 artsAshcan 模组,原作者 aspd199):
        * qjk-ashcan(4×4 大箱 / 库存 8 格 / 配方 5 铁板)——用于集中倾倒
        * qjk-advanced-ashcan(1×1 小箱 / 库存 3 格 / 配方 2 铁板)——用于窄小空间单点丢弃
        * 两者开局均可直接合成,无科技门槛,丢入任意物品后自动清空
  Changes:
    - 原 artsAshcan 依赖 artsCore 的焚烧/可回收垃圾系统全部移除,精简为纯"自动清空"语义
    - 完全去 artsCore / artsAshcan 依赖,本模组自包含功能
    - 修正推进器推力倍率实现:从修改 effectivity(效率)改为修改燃料流体 fuel_value
    - 推力公式修正为三因子乘法模型:推力 ≈ 2 × fuel_value × fluid_usage × effectivity
    - fuel_value 乘以 (推力倍率 × 耐久倍率) 以补偿 fluid_usage 降低带来的推力损失
    - 燃料耐久固定 ×10(fluid_usage ÷10),默认配置下 fuel_value 50kJ → 5000kJ(×100)
    - 所有机械臂和装卸机放开传送带堆叠硬上限(max_belt_stack_size=255),使传送带堆叠科技不被卡住;机械臂额外设置 stack_size_bonus=4
    - 机械臂终极堆叠加成同时包含 bulk-inserter-capacity-bonus 和 inserter-stack-size-bonus(每级 +24),引擎按 bulk 属性自动路由,互斥不叠加,兼容无 Space Age DLC 场景
    - 新增传送带堆叠加成科技(bulk-inserter-capacity-bonus-infinite),每级 belt-stack-size-bonus +1,共255级,可将传送带堆叠层数提升至最大255(仅 Space Age DLC 环境下生效,无 DLC 时自动跳过)
  Performance:
    - 垃圾桶逻辑从 on_tick 无条件清空重构为 on_nth_tick(30) + is_empty() 早退:
        * 空桶不触发 inventory.clear() 调用,能整个空轮询直接返回
        * 100 个垃圾桶规模下,API 调用从 6000 次/秒 降至 ≤6 次/秒(约 1000× 提升)
        * 0.5 秒清一次的体感与旧每 tick 几乎无异
    - 选用空闲的 nth_tick=30 与现有 ammo-chest(1/60) 、 fluid-memory(2/15) 完全不冲突
  Compatibility:
    - 新模块通过 chain_on_event / register_module_events 链式注册,与现有传送模组、弹药装卸机、无限储液罐互不影响
    - 旧存档升级时 on_configuration_changed 会扫全图重建垃圾桶索引
    - 如之前安装过 artsAshcan 模组,请先移除原模组(旧存档中的 art-ashcan / art-advanced-ashcan 实体会丢失,需重新放置 qjk- 同名物品)
  Internal:
    - 清理 1.0.9 升级补偿代码:删除 ammo-chest.lua/on_configuration_changed 里的 rebuild_all_links 一次性调用及 qjk_ammo_chests / qjk_turret_index / qjk_pending_turrets 三处兜底初始化(M.init 已完成初始化,当前版本默认所有存档已完成 1.0.9 升级)
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:
    - 新建模组