界面模板
EmakiStation 有四份界面模板,放在 plugins/EmakiStation/gui/ 下。
| 模板 | 对应界面 | 工作站配置键 |
|---|---|---|
station_catalog.yml | 配方目录页(第一页) | layout |
station_preview.yml | 材料预览页(第二页) | preview_layout |
station_queue.yml | 合成队列页(第三页) | queue_layout |
station_dismantle.yml | 分解界面 | 分解站的 layout |
前三页构成合成侧的三页结构:目录页左键直接提交、右键进入材料预览;预览页确认提交;队列页查看、取消、领取与购买队列位。分解界面独立,由 /emakistation dismantle <工作站> 进入。
槽位必须显式写 type
EmakiStation 的槽位必须显式写 type。CoreLib 的模板解析器只会为少数 Forge 专用键名自动推断类型,自定义键名不写 type 就只是纯装饰格。
slots:
recipe_list:
slots: [10, 11, 12]
type: "recipe_list"配方目录页可用类型
type | 作用 |
|---|---|
recipe_list | 列出配方。必需,否则布局校验不通过。 |
queue_open | 打开合成队列页。 |
batch_multiplier | 循环切换倍率,左键递增、右键递减。 |
output_toggle | 切换产物去向。 |
prev_page / next_page / page_info | 翻页。 |
close | 关闭界面。 |
本页没有 input 槽。玩家不放材料进界面,材料在提交时直接从背包与仓库合并扣除。
材料预览页可用类型
type | 作用 |
|---|---|
material_list | 列出所选配方的材料需求。必需。 |
recipe_display | 显示当前预览的配方。 |
cost_display | 显示货币成本与玩家余额。 |
max_craftable | 显示按材料与余额最多能做几次,点击直接拉满。 |
batch_multiplier | 循环切换倍率。 |
confirm | 提交。 |
back | 返回目录页,会停在原来那一页。 |
prev_page / next_page / page_info | 材料列表翻页。 |
close | 关闭界面。 |
本页只读,不接受放入物品。
材料数量的显示规则
| 需求量 | 显示方式 |
|---|---|
| ≤ 99 | 图标上带真实数字,客户端直接画出来。 |
| ≥ 100 | 图标数量固定为 1,不画数字,真实数量只出现在 lore 的 %required_exact%。 |
因此 lore 里务必保留 %required_exact%,否则大额需求玩家将无从得知。
65~99 超过多数物品的自然堆叠上限,插件会临时抬高被渲染图标的 max_stack_size 组件。这个改动只作用于界面里的展示图标,永远不会交给玩家。
合成队列页可用类型
type | 作用 |
|---|---|
queue_view | 列出队列条目。必需。 |
capacity_display | 显示已用 / 上限,以及上限的来源。 |
queue_purchase | 购买额外队列位,左键买 1 个,Shift 买一整批。 |
claim_all | 领取全部待领取产物。 |
back | 返回目录页,会停在原来那一页。 |
prev_page / next_page / page_info | 队列翻页。 |
close | 关闭界面。 |
本页只读,不接受放入物品。
分解界面可用类型
type | 作用 |
|---|---|
dismantle_input | 展示配方所需物品,即当前选中配方的输入图标。 |
dismantle_item_display | 同 dismantle_input,别名。 |
dismantle_rolls_display | 显示投掷次数范围(%rolls_min% / %rolls_max%)。 |
dismantle_output_list | 分解产物列表,多格分页,含 pool_entry / rolled_output 虚拟物品。 |
dismantle_confirm | 确认执行分解,或领取已投掷产物。 |
prev_page / next_page / page_info | 产物列表翻页。 |
back | 返回目录页。 |
close | 关闭界面。 |
标题占位符
| 占位符 | 可用页面 |
|---|---|
%station_name% | 配方目录页、合成队列页、分解界面。 |
%recipe_name% | 材料预览页。 |
%used% / %max% | 合成队列页。 |
这些是模板内部占位符,由 EmakiStation 自己渲染,与 PlaceholderAPI 无关。
virtual_items 与 texts
四份模板都有 virtual_items 段,用于定义列表项的图标形态,例如目录页的 recipe_entry / recipe_locked、预览页的 material_satisfied / material_missing / confirm_blocked、队列页的 queue_entry / queue_pending / purchase_unavailable、分解页的 no_recipe / pool_entry / rolled_output 等。
除分解界面外,三份合成模板还有 texts 段,用于配置行文本片段。分解界面没有 texts 段。