Skip to content

Placeholder Reference

EmakiCooking does not register a PlaceholderAPI expansion, but provides internal variables in recipe templates and action contexts.

Internal Template Variables

The following variables are available in recipe structured_presentation (name and lore action templates) using the %variable% format.

VariableDescriptionExample
%recipe_id%Recipe ID.grilled_steak
%recipe_name%Recipe display name.Grilled Steak
%station_type%Station type (folder name).furnace
%phase%Current cooking phase.cooking
%output_source%Output item source ID.emaki:grilled_steak
%output_amount%Output amount.1
%output_chance%Output chance.100%
%output_amount_min%Minimum of output amount range.1
%output_amount_max%Maximum of output amount range.3

Template Example

yaml
structured_presentation:
  lore_actions:
    - action: "append"
      content:
        - ""
        - "<gray>Recipe: <white>%recipe_name%"
        - "<gray>Station: <white>%station_type%"
        - "<gray>Output: <white>%output_amount%x %output_source%"

Action Context Variables

When cooking reward actions (CookingRewardService) are triggered, the following variables are injected into the action context:

VariableDescriptionExample
%player%Player name.Steve
%world%World name.world
%x%Station block X coordinate.100
%y%Station block Y coordinate.64
%z%Station block Z coordinate.-200
%recipe_id%Current recipe ID.grilled_steak
%station_type%Station type.furnace
%outcome%Cooking outcome.success
%slot_index%Slot index.0

Action Example

yaml
actions:
  - type: message
    value: '<green>%player% finished cooking %recipe_id% at the %station_type%!'

Notes

  • Cooking does not provide PlaceholderAPI placeholders. To display cooking data on scoreboards or other external locations, use the action system indirectly.
  • CoreLib built-in context variables (%player_name%, %player_uuid%, etc.) are also available.