Skip to content

基于TFC密封大桶配方自动创建CreateDieselGenerators发酵与批量发酵配方#24

Open
dalizi2333 wants to merge 10 commits into
nuecloud:kubejsfrom
dalizi2333:feature/sealed-barrel-migration
Open

基于TFC密封大桶配方自动创建CreateDieselGenerators发酵与批量发酵配方#24
dalizi2333 wants to merge 10 commits into
nuecloud:kubejsfrom
dalizi2333:feature/sealed-barrel-migration

Conversation

@dalizi2333

Copy link
Copy Markdown

密封大桶配方迁移到 CDG 发酵配方

概述

将 TFC 的 tfc:barrel_sealed(密封大桶)配方自动转换为 CDG 的发酵配方(Basin Fermenting / Bulk Fermenting),使原本需要人力操作的密封大桶配方可以通过 Create 机械自动化处理,同时保留原配方的输入输出逻辑。

文件结构

kubejs/server_scripts/barrel_sealed_migration/
├── fermenting_from_barrel.js    ← 核心转换脚本
└── mortar_to_mixing.js          ← 砂浆配方迁移(特例)

fermenting_from_barrel.js — 批量转换引擎

功能

遍历所有 tfc:barrel_sealed 类型的配方,自动计算倍率并生成对应的 Create 发酵配方。

转换流程

TFC 密封大桶配方
     ↓ 解析
标准化配方数据(物品/流体/时间)
     ↓ 过滤
跳过带 modifiers 的配方(如盔甲保留损耗值染色)
跳过 mortar 配方(交由 mortar_to_mixing.js 处理)
     ↓ 计算 Basin 倍率
受限于物品堆叠上限和 1000mB 流体槽上限
     ↓ 计算 Bulk 倍率
受限于 9 格物品槽和 72000mB 流体槽上限
     ↓ 生成
Basin Fermenting 配方 + Bulk Fermenting 配方

Basin Fermenting 配方

  • 物品和流体使用相同倍率
  • 倍率受限于:
    • 输入/输出物品的堆叠上限(tag 输入时取所有物品的最小堆叠数,保守估计)
    • 流体槽上限 1000mB
  • 倍率向下取整,确保不超过限制

Bulk Fermenting 配方

  • 物品和流体可使用独立倍率
  • 基础倍率 = floor(9 / 原配方物品数),即 9 格槽位最多能处理几份
  • 特殊倍率规则:
条件 倍率策略
通用配方(无输出流体) 物品倍率 = 基础值,流体倍率 = 基础值
有输入+输出流体 流体倍率 ×2(利用 Bulk 的 72000mB 大容量)
满池减益(有输入流体但无输出流体) 流体倍率按基础值计算,差额向上取整到 1000mB 的倍数作为流体返还
陈酿酒(tfcagedalcohol:aged* 物品 ×1,流体 ×3.6,特殊倍率锁定
砂浆(tfc:barrel/mortar 跳过,由 mortar_to_mixing.js 处理

总体来说,Basin Fermenting更适合吞吐大量物品,Bulk Fermenting更适合吞吐大量流体,二者并非完全的上位替代关系

启动验证

脚本启动时会验证 TFC 的堆叠修改是否已正确加载(检查羊毛堆叠是否为 32),如果未加载会输出警告并要求 /reload,防止倍率计算不准确。

输出统计

转换完成后会在日志中输出:

  • Basin Fermenting 配方生成数量
  • Bulk Fermenting 配方生成数量
  • 跳过的配方数量(带 modifiers 的配方)

mortar_to_mixing.js — 砂浆配方迁移

动机

TFC 原版的砂浆配方需要密封大桶,流程繁琐、耗时长。将其改为 Create 的 Mixing 配方,可以直接通过动力搅拌器自动化生产。

配方

输入 输出 方式
4 × #c:sands(任意沙) + 400mB tfc:limewater(石灰水) 64 × tfc:mortar(砂浆) Create Mixing

配方 ID

kubejs:tfc_barrel_sealed/mixing/mortar


分支信息

  • 分支名:feature/sealed-barrel-migration
  • 基于:biodieselFix 分支,同时同步了2026年5月18日的Kubejs脚本改动
  • 定义提交:
    1. 47a85a8 — 简化并重构密封大桶配方迁移脚本
    2. a5d5a31 — 应群友要求,修改砂浆的合成方式

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant