Skip to content

界面模板

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 就只是纯装饰格。

yaml
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_displaydismantle_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_itemstexts

四份模板都有 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 段。