Skip to content

Transmutation Builder

The Transmutation Builder is an interactive tool that helps you create transmutation configuration files without writing JSON manually.

  • Visual Rule Builder: Create conversion rules with a user-friendly interface
  • Condition Builder: Build complex logical conditions with AND/OR operators
  • Operation Sequencer: Define operations in the correct order
  • Live JSON Preview: See the generated JSON in real-time
  • Validation: Ensures all required fields are filled correctly
  • Export: Copy JSON directly to your configuration files

Rule Information

Unique identifier for this conversion rule
Higher values = checked first (1000+: critical, 100-999: high, 0: default, -100: fallback)

Condition Builder

Define when this rule should match an item

Operations

Define transformations to apply (executed in order)

Generated JSON

 

Set the priority first to understand where this rule will fall in the evaluation order:

  • 1000+: Critical conversions
  • 100-999: High priority
  • 1-99: Normal
  • 0: Default (fallback rules)

Use all conditions to ensure your rule only matches the items you intend:

{
"type": "all",
"all": [
{"type": "component_exists", "path": "..."},
{"type": "component_equals", "path": "...", "value": "..."}
]
}

Remember that operations execute in order:

  1. Copy or read data first
  2. Transform item ID
  3. Set new components
  4. Clean up old data last

After generating JSON:

  1. Copy to config/alchemy/transmutations/yourfile.json
  2. Enable logConversions in config.json
  3. Test with a few items first
  4. Monitor server logs for conversion messages
Condition: component_exists → path to plugin marker
Operation 1: set_item_id_from_lookup → map old IDs to new
Operation 2: remove_component → clean up plugin data
Condition: component_exists → old data location
Operation 1: set_component → create new structure with from_source
Operation 2: remove_custom_data_key → remove old data
Condition: all → [exists check, equals check for type]
Operation 1: set_item_id_from_component → use embedded new ID
Operation 2: copy_component → preserve important data
Operation 3: remove_component → cleanup