Skip to content

GUI Templates

EmakiStation has four window templates under plugins/EmakiStation/gui/.

TemplateWindowStation configuration key
station_catalog.ymlRecipe catalog (page 1)layout
station_preview.ymlMaterial preview (page 2)preview_layout
station_queue.ymlCraft queue (page 3)queue_layout
station_dismantle.ymlDismantle windowlayout of a dismantle station

The first three form the three-page crafting flow: the catalog submits on left click and opens the material preview on right click; the preview confirms the submission; the queue page views, cancels, claims and buys queue slots. The dismantle window is separate and entered through /emakistation dismantle <station>.

Slots Must Declare type Explicitly

EmakiStation slots must declare type explicitly. The CoreLib template parser only infers types for a few Forge-specific key names; a custom key name without type is nothing but decoration.

yaml
slots:
  recipe_list:
    slots: [10, 11, 12]
    type: "recipe_list"

Recipe Catalog Types

typePurpose
recipe_listList recipes. Required, or layout validation fails.
queue_openOpen the craft queue page.
batch_multiplierCycle the multiplier; left click increases, right click decreases.
output_toggleSwitch output routing.
prev_page / next_page / page_infoPagination.
closeClose the window.

This page has no input slot. Players do not place materials into the window; materials are deducted from the merged inventory-plus-warehouse pool at submission time.

Material Preview Types

typePurpose
material_listList the selected recipe's material requirements. Required.
recipe_displayShow the recipe being previewed.
cost_displayShow the currency cost and the player's balance.
max_craftableShow how many crafts the materials and balance allow, and jump straight to the maximum on click.
batch_multiplierCycle the multiplier.
confirmSubmit.
backReturn to the catalog, landing on the original page.
prev_page / next_page / page_infoMaterial list pagination.
closeClose the window.

This page is read-only and does not accept inserted items.

Material Amount Display Rules

RequirementDisplay
≤ 99The icon carries the real number, drawn directly by the client.
≥ 100The icon amount is fixed at 1 with no number drawn; the real amount appears only in the lore's %required_exact%.

Always keep %required_exact% in the lore, or players will have no way to learn large requirements.

Amounts of 65–99 exceed the natural stack size of most items, so the plugin temporarily raises the max_stack_size component of the rendered icon. That change applies only to the display icon inside the window and is never handed to the player.

Craft Queue Types

typePurpose
queue_viewList queue entries. Required.
capacity_displayShow used / ceiling along with where the ceiling comes from.
queue_purchaseBuy extra queue slots; left click buys one, Shift buys a whole batch.
claim_allClaim every pending output.
backReturn to the catalog, landing on the original page.
prev_page / next_page / page_infoQueue pagination.
closeClose the window.

This page is read-only and does not accept inserted items.

Dismantle Window Types

typePurpose
dismantle_inputShow the item the recipe needs, i.e. the input icon of the selected recipe.
dismantle_item_displayAlias of dismantle_input.
dismantle_rolls_displayShow the roll count range (%rolls_min% / %rolls_max%).
dismantle_output_listOutput list across several paginated cells, using the pool_entry / rolled_output virtual items.
dismantle_confirmConfirm the dismantle, or claim already-rolled outputs.
prev_page / next_page / page_infoOutput list pagination.
backReturn to the catalog.
closeClose the window.

Title Placeholders

PlaceholderAvailable on
%station_name%Recipe catalog, craft queue, dismantle window.
%recipe_name%Material preview.
%used% / %max%Craft queue.

These are internal template placeholders rendered by EmakiStation itself and unrelated to PlaceholderAPI.

virtual_items and texts

All four templates have a virtual_items section defining the icon forms of list entries, for example recipe_entry / recipe_locked on the catalog, material_satisfied / material_missing / confirm_blocked on the preview, queue_entry / queue_pending / purchase_unavailable on the queue page, and no_recipe / pool_entry / rolled_output on the dismantle window.

The three crafting templates also have a texts section for configurable line fragments. The dismantle window has no texts section.