ExcellentChallenges
  • 🏠 General
    • 🔌 Getting Started
    • 📄 Commands
    • ⛔ Permissions
    • 🧩 Compatibility
    • ❓ Common Questions
    • ❗ Common Issues
    • 🪛 Developer API
  • ⭐ Features
    • 🔨 Action Types
    • 🪝 Conditions
    • 🧬 Generators
    • 🪜 Difficulties
    • 📚 Categories
    • 🎡 Reroll Tokens
  • 🧰 Utility
    • Placeholders
Powered by GitBook
On this page
  1. ⭐ Features

🧬 Generators

Last updated 1 year ago

Generators are the main configuration files used for challenge generation. You can find them in /generators/ directory.

You can create custom folders to organize your generators, but all generators must have unique names even if they are in different folders!

Each generator must be assigned with certain .

Each generator has the following sections to configure: Objectives, Conditions and Rewards. They all are very similar to each other.

Every section has a List sub-section. This is where you create your own custom sections of actual objectives, conditions and rewards with the following settings:

  • Weight Determines the chance for the list (section) to be selected (greater value = bigger the chance);

  • Items A list of identifiers objectives/condition/reward identifiers based on a ;

  • Amount Determines amount of identifiers to be selected from the Items setting with possible ;

For Objectives section, there is one more setting:

  • Progress Determines the amount needs to be completed for each objective picked from the Items setting.

You can allow it to select more than one list under the List section on generation, so you will get a challenge with objectives/conditions/rewards combined fro multiple sections!

Config Example

Type: block_break # Action Type
Allow_Duplicates: false
Objectives:
  List:
    '1': # This is your custom section name. It can be whatever you want, just keep it unique.
      Weight: 50.0
      Items:  # This is where you put objective identifiers.
        '*': # Available for any challenge difficulty
        - deepslate_iron_ore
        - deepslate_coal_ore
        - deepslate_emerald_ore
        - deepslate_gold_ore
        - deepslate_diamond_ore
        - deepslate_copper_ore
      Amount:
        Min: 1
        Max: 4
        Difficulty_Modifier:
          Id: objective_amount
          Action: ADD
      Progress:
        Min: 18
        Max: 25
        Difficulty_Modifier:
          Id: objective_progress
          Action: MULTIPLY
    '2': # Another section.
      Weight: 50.0
      Items:
        'normal': # Available only for 'normal' challenge difficulty.
        - lapis_ore
        - gold_ore
        - nether_gold_ore
        - emerald_ore
        - diamond_ore
        - iron_ore
      Amount:
        Min: 1
        Max: 4
        Difficulty_Modifier:
          Id: objective_amount
          Action: ADD
      Progress:
        Min: 19
        Max: 24
        Difficulty_Modifier:
          Id: objective_progress
          Action: MULTIPLY

Conditions:
  List:
    'server_time':
      Weight: 50.0
      Items:
        '*': # Available for any challenge difficulty
        - time_evening
        - time_day
        - time_night
        - time_morning
      Amount:
        Min: 0
        Max: 1
        Difficulty_Modifier:
          Id: conditions_amount
          Action: ADD
    'player_levels':
      Weight: 50.0
      Items:
        '*': # Available for any challenge difficulty
        - level_10
        - level_15
        - level_25
      Amount:
        Min: 0
        Max: 1
        Difficulty_Modifier:
          Id: conditions_amount
          Action: ADD

Rewards:
  List:
    '1':
      Weight: 50.0
      Items:
        'easy,hard': # Available only for 'easy' and 'hard' challenge difficulties.
        - money_750
        - money_500
        - money_1000
        - money_250
      Amount:
        Min: 1
        Max: 1
        Difficulty_Modifier:
          Id: rewards_amount
          Action: ADD
    '2':
      Weight: 50.0
      Items:
        '*': # Available for any challenge difficulty.
        - arrow_64
        - netherite_ingot_6
        - experience_bottle_16
        - enchanted_golden_apple_4
        - gold_ingot_64
        - iron_ingot_64
      Amount:
        Min: 1
        Max: 1
        Difficulty_Modifier:
          Id: rewards_amount
          Action: ADD

It may be difficult to understand at the first look, but actually it's pretty simple and there is a lot of useful configuration comments that will help you to manage your generators!

Action Type
Difficulty
Difficulty Modifier