Process Blueprints Reference
Process blueprints are the core crafting definitions in CraftingEngine. Stored as YAML files inside plugins/CraftingEngine/processes/, they define multi-stage crafting workflows, item requirements, tools, catalysts, and station conditions.
1. Top-Level Schema Structure
id: "infernal_blade"name: "<gradient:#ff4500:#ff8c00>Infernal Greatsword</gradient>"priority: 10station_id: "example_runic_forge"close_gui_on_craft: truecancel_on_gui_close: false
policies: multiplayer: "INDIVIDUAL" # INDIVIDUAL | CO_OP failure: "REFUND_INPUTS" # DESTROY_INPUTS | REFUND_INPUTS | PRODUCE_FAILURE_OUTPUTS obtaining: "DROP_IN_INVENTORY" # DROP | DROP_IN_WORLD | DROP_IN_INVENTORY | INTERACTION abandonment: max_distance: 6.0 grace_period_ticks: 60 tool_breakage: allow_hotbar_swap: true grace_period_ticks: 40
requirements: capabilities: - "high_temperature" - "forging" stations: - "example_runic_forge" conditions: - id: "night_time" environment: "minecraft" condition: "time_between" args: ["13000", "23000"]
inputs: - resource: "minecraft:netherite_ingot" quantity: 3 mode: "CONSUME" - resource: "minecraft:blaze_rod" quantity: 2 mode: "CONSUME"
tools: - resource: "minecraft:netherite_pickaxe" quantity: 1
catalysts: - resource: "minecraft:lava_bucket" quantity: 1 mode: "PRESERVE"
triggers: - type: "INTERACTION"
stages: # See Stages & Transitions Guide for stage details - id: "heating" duration: "4s" - id: "hammering" mode: "MANUAL_ACTION" action_type: "LEFT_CLICK_BLOCK" required_strikes: 6
outputs: - resource: "minecraft:netherite_sword" display: "<gradient:#ff4500:#ff8c00><b>Infernal Greatsword</b></gradient>" quantity: 1 type: "SUCCESS"2. Detailed Field Specifications
Identity & Presentation
id(String, Required): Unique identifier used in commands, APIs, and GUI matrix binders.name(String, Optional): Formatted display name supporting Adventure MiniMessage tags (gradients, hover text, hex colors).priority(Integer, Default:0): Controls sorting order in workstation recipe browser menus. Higher values appear first.station_id(String, Optional): Restricts crafting to a specific workstation definition.
Operational Policies (policies)
multiplayer:INDIVIDUAL: Only the initiating player can interact with and progress the crafting stages.CO_OP: Allows multiple nearby players with valid tools to contribute strikes or actions.
failure:REFUND_INPUTS: Returns all consumed inputs back to player inventory or drops them safely.DESTROY_INPUTS: Deletes materials upon failure (hardcore crafting).PRODUCE_FAILURE_OUTPUTS: Generates specific failure scrap (e.g. Slag, Charcoal).
obtaining:DROP_IN_INVENTORY: Automatically places finished outputs into player inventory. Drops on ground if inventory is full.DROP_IN_WORLD: Spawns physical dropped item entity on top of the workstation block.INTERACTION: Leaves the output hovering or resting on the station until the player right-clicks to collect it.
abandonment:max_distance: Distance in blocks the player can move away before abandonment countdown starts.grace_period_ticks: Delay in server ticks (20 ticks = 1 second) before an abandoned craft is cancelled.
tool_breakage:allow_hotbar_swap: If a player’s tool breaks mid-craft, allows swapping to an identical tool from their hotbar without aborting the process.grace_period_ticks: Time window allowed to perform the hotbar tool swap.
Requirements (requirements)
capabilities: List of capability IDs (e.g.heating,cooling,crushing) that the workstation must actively satisfy.stations: List of allowed workstation IDs or vanilla block materials (e.g.blacksmith_anvil,minecraft:cauldron).conditions: Environmental checks evaluated before starting the process:minecraft: Time of day, weather, biome, light level, height (Ycoordinate).worldguard: Region membership or flag verification.papi: Custom PlaceholderAPI condition expressions.
Resources: Inputs, Tools & Catalysts
Inputs (inputs)
Materials required and modified by the process:
resource: Namespaced item identifier (Vanillaminecraft:iron_ingot, or externalia:custom_steel,oraxen:mythic_gem,eb:energy_core).quantity: Amount required.mode:CONSUME(Default): Item is subtracted upon process start or stage consumption.PRESERVE: Item must be present in inventory/station but is not consumed.
Tools (tools)
Equipment required in hand to perform the craft. Tools undergo durability checks and can optionally take damage per action or stage.
Catalysts (catalysts)
Support items (e.g., fuel cells, reusable molds, runic lenses) that must be present in the station or nearby inventory without being consumed.
Triggers (triggers)
Defines how a process is initiated:
INTERACTION: Player right-clicks the workstation block.COMMAND: Triggered via/cfe process start <id>.EVENT: Triggered by external Bukkit events (block break, entity kill, item drop).AUTOMATIC: Ticked automatically when valid ingredients are placed into hopper or multiblock containers.API: Initiated via developer Java API plugins.
3. Instant vs Multi-Stage Crafting
- Instant Crafting: When the
stages:block is omitted or left empty, the craft executes instantaneously. Players can shift-click to craft maximum stacks at once. - Multi-Stage Crafting: When
stages:are declared, CraftingEngine initiates an active process instance with state tracking, holograms, timers, and step-by-step physical transformations.
Next Steps
- Stages & Transitions - Configure manual strikes, minigames, and statechart transitions.
- Item Providers & Integrations - Match items with CustomModelData, ItemsAdder, Oraxen, and MythicMobs.
- GUI Matrix Menus - Display your blueprints in custom 9xN inventory menus.