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 Action Type.
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 Difficulty;
Amount Determines amount of identifiers to be selected from the Items setting with possible Difficulty Modifier;
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!