Skip to content

工作站定义

合成工作站放在 plugins/EmakiStation/stations/ 下,一个文件一个工作站,文件名与 id 一致

完整示例

yaml
id: "blacksmith"
display_name: "<gold>铁匠工坊</gold>"

layout: "station_catalog"
preview_layout: "station_preview"
queue_layout: "station_queue"

permission: ""

queue:
  base_length: 3
  max_length: 16
  progress_mode: "offline"
  cancel_refund_rate: 1.0
  speed_multiplier: 1.0
  allow_purchase: false

channels:
  backpack: true
  storage: true
  default: "backpack"

output:
  default: "storage_first"
  player_switchable: true

condition:
  invalid_as_failure: true
  entries: []

字段

字段说明
id工作站 id,与文件名一致。
display_name界面标题使用的显示名,支持 MiniMessage。
layout配方目录页布局,指向 gui/<名字>.yml。省略时为 station_catalog
preview_layout材料预览页布局。省略时为 station_preview
queue_layout合成队列页布局。省略时为 station_queue
permission打开该工作站需要的权限。留空则回落到 emakistation.access.<id>
queue队列参数,省略的键继承 config.ymlqueue 段。
channels材料来源通道。
output产物去向。
condition打开界面前的条件门,语法与其他 Emaki 模块一致。

三个布局文件都必须存在,缺任何一个都会在启动预检里报 missing_layout

物品分解页不属于工作站:分解站是独立配置,见 物品分解

配方归属

工作站文件没有 recipes 段。开放哪些配方由配方侧决定:在 recipes/<配方>.yml 里用 station_ids 列出所属工作站。配方不写 station_ids 表示它对所有工作站开放。

queue

除继承 config.yml 的键之外,工作站独有一个键:

字段说明
allow_purchase本工作站是否出售额外队列位。还需要 config.ymlqueue.purchase.enabled 为 true。

取消条目时,已付的货币按 cancel_refund_rate 折算退还,与材料同一比例。

channels 材料通道

字段说明
backpack是否从玩家背包取材。
storage是否从 EmakiStorage 仓库取材。
default保留键,当前不再生效

两个都关会导致该工作站被拒绝加载——能打开但永远用不了,不如启动时就报错。

两个都开时,材料来自「背包 + 仓库」的合并池,优先扣背包。玩家看不到通道切换按钮,也不需要切,界面里显示的「拥有」就是两边的合计。

default 保留是为了让旧配置文件不报未知键,后续版本可能移除。不要把它当作可用配置。

output 产物去向

行为
storage_first优先进仓库,满了退到背包。
backpack_first优先进背包,满了退到仓库。
storage_only只用仓库。
backpack_only只用背包。

player_switchable: true 时玩家可以在界面里切换自己的偏好。

所有目标都放不下时,条目进入「待领取」状态,不会掉落也不会销毁。