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!
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
Colour codes are supported for any string value using this character: &
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
- 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: &
Spoiler: Configuring config.yml
Settings
All placeholders only work in the values they are demonstrated in
The plugin may use this value to automatically update configuration files in the future, changing this value may break this functionality.
Code (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
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
- check-for-updates Determines whether or not the plugin should check if a new version is available. This will not automatically download updates.
- 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
- %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
- 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
- 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
- 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.
Spoiler: Configuring challenges
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.
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
Command rewards - cmd=<command_line>,[gui_preview]
Item names - name=<item_name>
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 ]
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
- 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.
- name - The name of this group's item in the GUI
- item - The item to use for this group in the GUI
- <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
- <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]
- <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.
- <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> - 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_name> - Replace this with the name the item should have, replacing spaces with underscores
- <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
Spoiler: Supported Statistic IDs
Unless a statistic specifics that it requires a substatistic (e.g. mine_block-<block>), do not configure it with one.
1.8+
1.8+
- 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
- pickup-<item>
- sleep_in_bed
- shulker_box_opened
- damage_dealt_absorbed
- damage_dealt_resisted
- damage_blocked_by_shield
- damage_absorbed
- damage_resisted
- clean_shulker_box
- 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
- interact_with_anvil
- interact_with_grindstone
- target_hit
- interact_with_smithing_table
Quick facts
- Edition: Minecraft Java
- File type: .jar
- Minecraft versions listed: 1.8, 1.15
- How to install: Install the matching mod loader (Forge, Fabric or NeoForge) for your Minecraft version. → Download the .jar. → Put it in the .minecraft/mods folder and launch that loader profile.
- Where to get it: Opens on Spigot — not every file is mirrored on our own servers.
Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.
Challenges | Supports 1.8-1.15 is a free Minecraft Java mod. Compatible with Minecraft 1.8, 1.15. Downloaded 4,369 times (via Spigot). Download it and open it directly in the game.