Challenges allows you to configure over 400 different challenges for your players to complete. Players will be notified through chat when they complete each stage of a challenge, and they'll be able to claim rewards for completed stages at any time through the GUI. This plugin also allows you to customise just about anything!
- Native Minecraft Version:
- 1.15
- Tested Minecraft Versions:
- 1.8
- 1.15
Every feature is tested before being released, but if you still run into issues you can message me privately here. Do not report issues in the review section, you will be redirected and ignored until you use the proper support routes!
First time downloading?
This plugin uses vanilla statistics to track challenge progress, so any statistics that were incremented before installing the plugin will be used for challenge progress. To reset all statistics, delete the folder named "stats" in your main world folder.
Additionally, this plugin collects some data using bStats. You can read more about it at https://bstats.org/getting-started.
Commands
/challenges - Opens your GUI
Permissions
This plugin has no permissions
Installation
Configuration
- Download Challenges.jar
- Place the download in your server's plugins folder
- Start/restart the server
Colour codes are supported for any string value using this character: &
SettingsCode (YAML):settings:
check-for-updates: true
increment-checker-frequency: 1000
executor-max-threads: 0
gui:
title: '&aChallenges'
challenge-title: '&a%challenge %stage'
challenge-complete: '&rCOMPLETE'
challenge-progress: '&r%progress'
rewards:
title: '&aRewards'
unclaimed-title: '&aUnclaimed rewards'
reward: '&r%reward'
messages:
progress-loaded: '&aYour challenge progression has been loaded!'
progress-not-loaded: '&cYour challenge progression isn't loaded yet!'
stage-complete: '&aYou completed %challenge %stage!'
rewards-claimed: '&aYou claimed rewards for %challenge %stage!'
config-version: 1
Changing these values has not been tested!
- check-for-updates Determines whether or not the plugin should check if a new version is available. This will not automatically download updates.
Placeholders
- increment-checker-frequency Determines how often (in milliseconds) the plugin should check for player challenge progression. Increasing this value may improve performance, specifically on servers with more players and/or using more challenges.
- executor-max-pool-size Determines how many threads the plugin's executor can use simultaneously. The executor is used for loading/saving player data. Limiting this value may improve performance on smaller servers.
All placeholders only work in the values they are demonstrated in
GUI
- %challenge Replaced by the name of a challenge
- %stage Replaced by the player's stage for a challenge except in the GUI when at the maximum stage, in which case replaced by value at challenge-complete
- %progress Replaced by a player's progression for a challenge
- %reward Replaced by a reward (claimed or unclaimed) for a challenge
Rewards
- title Appears at the top of the GUI
- challenge-title Appears at the top of each challenge
- challenge-complete Appears in place of a stage when the player i at the maximum stage
- challenge-progress Appears under each challenge
Messages
- title Appears under any challenge that has rewards when the player is not at the maximum stage
- unclaimed-title Appears under any challenge that the player has earned rewards for but has not claimed
- reward Appears under either rewards-title or unclaimed-rewards-title for each reward
config-version
- progress-loaded Appears when a player's challenge progression has been loaded
- progress-not-loaded Appears when a player attempts to open the GUI when their progression hasn't been loaded
- stage-complete Appears only in a player's chat when they complete a challenge stage
- rewards-claimed Appears only in a player's chat when they claim rewards
The plugin may use this value to automatically update configuration files in the future, changing this value may break this functionality.
This plugin will attempt to read any yml file (excluding config.yml) inside of the "Challenges" folder as a challenge group. To create a new group, simply create a new yml file in this folder and configure it using the examples and guide below.Code (YAML):name: '&rGroup Name'
item: <item>
challenges:
challenge_id:
name: '&rChallenge Name'
item: <item>
stages:
- <requirement> [reward]
challenge_id-[sub_challenge]:
name: '&rAnother Challenge Name'
item: <item>
stages:
- <requirement> [reward] [reward]
Examples
Two example group configurations will be created if the plugin doesn't find any existing group configurations. These are only intended to be used as examples to help you configure challenge groups, so they probably won't be a good fit for a public server.
Notes
Group Configuration
- The plugin doesn't currently support numerical item IDs
- <...> means this parameter is required
- [...] means this parameter is optional
- Item IDs: https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Material.html
- Entity IDs: https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/entity/EntityType.html
- Statistic IDs: See spoiler at the bottom of the overview.
Challenge Configuration
- name - The name of this group's item in the GUI
- item - The item to use for this group in the GUI
Stage Configuration
- <challenge_id> - Replace this with the statistic you would like to track for this challenge
- [sub_challenge] - If the statistic being tracked is typed, replace this with the entity/item/block you would like to track for this challenge. Don't miss out the - character between the challenge ID and sub challenge!
- name - The name of this challenge
- item - The item to use for this challenge in the GUI
Reward Configuration
- <requirement> - Replace this with the number of increments players must achieve to complete this stage
- [reward] - Replace this with a reward
Command rewards - cmd=<command_line>,[gui_preview]
Experience rewards - experience=<amount>
- <command_line> - Replace this with the command you would like to be executed, replacing spaces with underscores. You can use %player here to get the name of the player claiming this reward.
- [gui_preview] - If you would like this reward to preview in the GUI, replace this with the text you would like to preview and replace spaces with underscores.
Item rewards - item=<item>,<amount>,[meta1],[meta2]...
- <amount> - Replace this with the amount of experience you would like to give the player claiming this reward. This does not correspond to levels!
Item Meta Configuration
- <item> - Replace this with the type of the item you would like to reward.
- <amount> - Replace this with the amount of the item you would like to reward.
- [meta] - Replace this with meta
Item names - name=<item_name>
Item lore - lore=<lore>
- <item_name> - Replace this with the name the item should have, replacing spaces with underscores
Item enchantments - <enchantment_id>=<level>
- <lore> - Replace this with the lore the item should have, replacing spaces with underscores. To start a new line, use this character: |
- <enchantment_id> - If your server runs on 1.13 or above, replace this with the in game name of the enchantment, replacing spaces with underscores. For 1.8-1.12, replace this with an ID from this list: https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/enchantments/Enchantment.html
- <level> - Replace this with the level you would like the enchantment to be, supports levels from 0 to 32767
Unless a statistic specifics that it requires a substatistic (e.g. mine_block-<block>), do not configure it with one.
1.8+
1.9+
- damage_dealt
- damage_taken
- deaths
- mob_kills
- player_kills
- fish_caught
- animals_bred
- treasure_fished
- junk_fished
- leave_game
- jump
- drop (drop-<item> for 1.9+)
- mine_block-<block>
- use_item-<item>
- break_item-<item>
- craft_item-<item>
- kill_entity-<entity>
- entity_killed_by-<entity>
- talked_to_villager
- traded_with_villager
- cake_slices_eaten
- cauldron_filled
- cauldron_used
- armor_cleaned
- banner_cleaned
- brewingstand_interaction
- beacon_interaction
- dropper_inspected
- hopper_inspected
- dispenser_inspected
- noteblock_played
- noteblock_tuned
- flower_potted
- trapped_chest_triggered
- enderchest_opened
- item_enchanted
- record_played
- furnace_interaction
- crafting_table_interaction
- chest_opened
1.11+
- pickup-<item>
- sleep_in_bed
1.13+
- shulker_box_opened
1.14+
- damage_dealt_absorbed
- damage_dealt_resisted
- damage_blocked_by_shield
- damage_absorbed
- damage_resisted
- clean_shulker_box
1.15+
- open_barrel
- interact_with_blast_furnace
- interact_with_smoker
- interact_with_lectern
- interact_with_campfire
- interact_with_cartography_table
- interact_with_loom
- interact_with_stonecutter
- bell_ring
- raid_trigger
- raid_win
1.16+
- interact_with_anvil
- interact_with_grindstone
- target_hit
- interact_with_smithing_table

Challenges | Supports 1.8-1.15 3.0.2
Configure over 400 different challenges for your players to complete!
Recent Updates
- Fixes and optimisations Mar 23, 2020
- Fixes and optimisations Feb 23, 2020
- Added customisable groups, support for over 400 challenges, performance improvements and more Feb 11, 2020