Compatibility
Minecraft: Java Edition
Platforms
Links
Tags
Creators
Details
Random BACAP Challenges
Turn BlazeandCave’s Advancement Pack into a rotating challenge system for you or your server.
Players (or everyone globally) get a random BACAP advancement to complete.
Requires: BlazeandCave’s Advancements Pack installed in your world’s
datapacks/folder.
Recommended: a texture pack that hides the bossbar, e.g. Invisible Boss Bars
Tested on: Paper (26.3)
Features
- Solo – pick a random BACAP advancement for yourself.
- Global challenges – pick a random BACAP advancement for the whole server
(enable the BACAP Coop Mode to sync advancements between players). - Bossbar UI – colored title & description based on the BACAP category.
- Components sidebar & GUI – see the advancement’s individual criteria:
- Sidebar scoreboard with ✓/✗ markers.
- Paginated chest GUI.
- Timer command – simple in-game timer in the action bar: start / stop / status / reset.
- Clickable help – use
/challengeto see and run the commands available to you. - Skip vote (global) – players can vote to skip the current global challenge.
- Optional timer – track your playtime in the action bar.
- Filtering – include/exclude categories and IDs via config.
- Separate permissions – control personal commands, global management and voting independently.
- Localization – English and German included; easy to extend.
Commands
Personal challenges
/challenge # show clickable help
/challenge start # start or resume your personal challenge
/challenge next # pick a new personal challenge
/challenge stop # hide your personal challenge
/challenge status # show the active challenge and your progress
Global challenges
/challenge global start # start a global challenge for all online players
/challenge global next
/challenge global stop
/challenge global skip # vote to skip the current global challenge
/challenge global status
/challenge components true|false # toggle the sidebar
/challenge components gui # open the chest GUI for the current challenge
/timer start | stop | status | reset
Starting, immediately skipping and stopping global challenges require OP or assigned permissions by default.
Permissions
Personal challenges, progress displays, the timer and skip voting are available to everyone by default. Global management is restricted to OPs.
Use a permissions plugin such as LuckPerms to assign or deny individual permissions.
| Permission | Allows | Default |
|---|---|---|
randombacap.use |
Access to challenge commands; also required for their subcommands | Everyone |
randombacap.personal.start |
Start or resume personal challenges | Everyone |
randombacap.personal.next |
Skip personal challenges | Everyone |
randombacap.personal.stop |
Stop personal challenges | Everyone |
randombacap.personal.status |
Use /challenge status |
Everyone |
randombacap.components |
Use the progress sidebar and GUI | Everyone |
randombacap.timer |
Use timer commands | Everyone |
randombacap.global.start |
Start global challenges | OP |
randombacap.global.next |
Immediately skip global challenges | OP |
randombacap.global.stop |
Stop global challenges | OP |
randombacap.global.skip |
Cast or withdraw skip votes | Everyone |
randombacap.global.status |
View global challenge status | Everyone |
randombacap.admin |
Grants global start, next and stop | OP |
Public server: Keep the defaults and give trusted moderators randombacap.admin.
Small group: Give your friends randombacap.global.start if they should be able to start shared challenges, while keeping immediate skipping and stopping restricted.
Help and command suggestions only show commands the player has permission to use.
Configuration (excerpt)
config.yml keys you’ll actually care about:
language: en # en or de
filter:
only_categories: [] # e.g. [redstone, technical]
exclude_categories:
- statistics
exclude_ids: [] # exact advancement IDs to exclude
exclude_prefixes: [] # ID prefixes to exclude
exclude_regex: [] # advanced filtering with regex
Restart the server after changing the configuration.
Tip: If you filter too aggressively, you might end up with very few available challenges.
Installation
- Install Paper 26.3 and run it with Java 25 or newer.
- Install the matching BlazeandCave’s Advancements Pack in
world/datapacks/, or thedatapacks/folder of your custom-named world. - Place this plugin’s JAR in
plugins/. - Fully restart the server.
- Use
/challengefor help,/challenge startfor solo play, or/challenge global startfor a shared challenge.
Updating from an older plugin version
Stop the server, replace the old plugin JAR and start the server again.
Your existing settings, saved progress and customized messages remain in use. Missing message entries use the included defaults.
New in 1.2: Non-OP players need assigned permissions to start, immediately skip or stop global challenges.
Compatibility
- Built against the Bukkit/Adventure API and tested on Paper.
- Works alongside most gameplay plugins; it only reads BACAP advancements and shows UI.
Localization
Ships with English and German messages.
What changed in 1.2?
- Added clickable help and a clearer challenge status.
- Added separate permissions for personal commands, global management and voting.
- Fixed
/timer statusshowing the challenge status. - Fixed opening the progress GUI switching off the sidebar.
- Fixed global selection falling back to challenges already completed by all online players.
FAQ
Q: Do players need to download anything?
A: No. Only the server needs the plugin and the BACAP datapack.
Q: Can I restrict commands to specific groups?
A: By default everyone can use them. Use your permissions plugin to gate or alias commands.
Q: Which Minecraft versions are supported?
A: Tested on 1.21.x. If your BACAP pack is very old, the plugin will warn about possible incompatibilities.
This is my first plugin, please report bugs or request features on GitHub.
Enjoy the challenge grind!


