Skip to content

Interactive Task Builder

Create Journey task configurations without writing JSON or MoLang manually. This interactive builder helps you create valid task configurations through an easy-to-use form.

Task Information

Lowercase with underscores, no spaces
User-friendly name shown in-game
Item to display as task icon
MoLang condition to start task
NPC that starts this task
If checked, party members share progress on this task
If checked, this is a global event task (e.g., server-wide goals)
3D floating marker shown when task is available but not started
Visual boundary for this quest (references existing zone)

Subtasks

Rewards

JSON Preview

 

  1. Fill in the task details - name, description, sequential type, icon, repeat settings
  2. Add subtasks - choose from 28 event types with filters and targets
  3. Configure optional fields - time limits, event data, start requirements
  4. Add rewards - commands, currency, scripts, or timelines
  5. Copy the generated JSON to your clipboard
  6. Save to config/journey/tasks/your-task-name.json

  • Use lowercase with underscores: my_first_task
  • No spaces or special characters
  • Keep it descriptive and unique
  • Linear: All subtasks must be completed in exact order
  • Sequential: Subtasks must be completed in order, but can be worked on simultaneously
  • Randomized: Complete a specific number of random subtasks

The builder includes all Journey event types organized by category:

  • Zone Events (3): Enter Zone, Leave Zone, Enter Zone Area
  • Pokémon Events (11): Caught, Evolve, Level Up, Hatch Egg, Fainted, Nicknamed, Shoulder Mounted, Sent Out, Healed, Released, Scanned
  • Battle Events (4): Battle Victory, Battle Fled, Move Used, Super Effective Move Used
  • Special Pokémon (4): Mega Evolution, Terastallization, Z-Power Used, Fossil Revived
  • Item/Block Events (6): Item Pickup, Item Throw, Entity Interact, Break Block, Block Placed, Block Use
  • Resource Events (4): Experience Candy Used, Apricorn Harvested, Berry Harvested, Egg Collected
  • Special Events (3): Run Command, Kill Entity, Starter Chosen

The builder provides pre-filled filter templates for each event type. Customize these using MoLang expressions.

Common filter patterns:

  • Zone check: q.zone.uuid == 'your-zone-uuid'
  • Species check: q.pokemon.species.identifier == 'cobblemon:pikachu'
  • Player check: q.player.is_in_zone('zone-uuid')
  • Battle check: q.battle.is_wild
  • Starter check: q.pokemon.is_starter
  • Level check: q.pokemon.level >= 16.0

Execute Minecraft commands when task completes:

  • Use {player} placeholder for the player’s username
  • Example: give {player} minecraft:diamond 5

Give Impactor currency:

  • Currency ID: impactor:pokedollars
  • Amount: Numeric value

Run MoLang scripts:

  • Use q.player.* functions
  • Example: q.player.tell_minimessage('<green>Quest complete!')

Launch timed sequences:

  • Timeline ID: journey:your_timeline
  • Must exist in config/journey/timelines/

  • Icon: Item to display in UI (e.g., minecraft:compass)
  • Repeat Type: None, Daily, Weekly, or Custom
  • Repeat Interval: Days between repeats (for Custom type)
  • Start Requirement: MoLang condition to make task available
  • Subtask ID: Unique identifier for referencing
  • Subtask Name: Display name shown to players
  • Time Limit: Maximum time to complete (e.g., 5m, 1h, 2d)
  • Event Data: Advanced JSON data for event-specific configurations

The task builder automatically validates:

  • ✅ Required fields are filled
  • ✅ Event types are valid (all 28 supported)
  • ✅ Sequential type matches configuration
  • ✅ Filter syntax is properly formatted
  • ✅ Reward data is complete
  • ✅ Event data JSON is valid

Click “Copy JSON” to copy the generated configuration to your clipboard. Paste it into a new .json file in your config/journey/tasks/ directory.

Coming soon: Paste an existing task JSON to load it into the builder for editing.


  1. Create a catch Pokémon task:

    • Name: catch_starter_pokemon
    • Display name: Catch Your First Pokémon
    • Sequential: LINEAR
    • Add subtask: POKEMON_CAUGHT event
    • Filter: q.pokemon.species.identifier == 'cobblemon:pikachu'
    • Target: 1
    • Reward: 100 Pokédollars
  2. Copy the generated JSON

  3. Save to: config/journey/tasks/catch_starter_pokemon.json

  4. Reload Journey: /journey reload

  5. Give to player: /journey task start @p journey:catch_starter_pokemon


  • Ensure JSON is valid (check builder validation)
  • Verify file is in correct directory
  • Reload Journey with /journey reload
  • Check filter syntax matches event type
  • Use verified query paths from Events documentation
  • Test with simple filter first: 1.0
  • Verify currency IDs exist in Impactor
  • Check timeline IDs exist in config/journey/timelines/
  • Ensure command syntax is valid

The task builder covers all Journey task configuration options:

All 28 event types - Complete coverage of zone, Pokémon, battle, item, block, and resource events ✅ Sequential types - Linear, Sequential, and Randomized progression ✅ Optional fields - Icons, repeat settings, time limits, start requirements, event data ✅ All reward types - Commands, currency, scripts, and timelines ✅ Smart templates - Pre-filled MoLang filters based on event type ✅ Live preview - See your JSON update in real-time ✅ Copy to clipboard - One-click export

See the Task Examples for more configuration ideas and patterns.