Compatibility
Minecraft: Java Edition
Platforms
Tags
Creators
Details
SchackPass
A seasonal battle pass for Paper servers. Players earn XP from daily and weekly missions, level up, and claim rewards on a free and a premium track. Season dates, tiers, rewards and missions can all be set up in-game through a GUI editor.
It works right after installing: the first start creates a 30-tier season and 12 missions that you can change or replace.
Features
Battle pass
- A free and a premium reward track on every tier
- Rewards can be items (custom names, enchantments and other item data are kept), console commands, or both
- Claim rewards one by one or all at once
- If a player's inventory is full, the items drop at their feet
Seasons
- Each season has a start and end date, and switches automatically
- Progress is kept per season, so everyone starts a new season from zero
- Set the number of tiers and the XP per level for each season
- Schedule upcoming seasons in advance; overlapping dates are refused
- Rewards that aren't claimed before the season ends are lost
Missions
- Each player gets random missions from your daily and weekly pools
- Daily missions reset at midnight and weekly missions on Monday, in the time zone you choose
- Mission types: kill mobs, kill players, break blocks, place blocks, harvest crops, craft items, smelt items, fish, enchant items, trade with villagers
- Target specific mobs, blocks or items, or count anything
Protection against farming
- Blocks placed by players don't count towards break missions
- Mobs from spawners can be excluded from kill missions
- Nothing counts in creative or spectator mode
In-game editor
Open it with /bpadmin. From there you can:
- Create, schedule and delete seasons
- Add tiers and set their rewards by placing items straight from your inventory
- Add reward commands by typing them in chat
- Create and edit missions: type, targets, amount, XP, name and icon
- Change the language, mission counts, premium price, time zone and anti-farming options
Only the database connection and the autosave interval are set in config.yml alone.
Premium track
Premium lasts for one season and can be given in three ways:
- With
/bpadmin premium give <player>, which you can run from a store such as Tebex and which also works for offline players who have joined before - With the
schackpass.premiumpermission - By letting players buy it in-game with Vault money (off by default)
Languages
English and Polish are included. To add another language, copy a file in plugins/SchackPass/lang, translate it and select it in the editor. Messages use MiniMessage formatting.
Storage
SQLite works with no setup. MySQL can be turned on in config.yml.
Requirements
- Paper 1.21.1 - 26.3
- Java 21
Optional:
- Vault and an economy plugin, to sell premium in-game
- PlaceholderAPI, for placeholders
Commands
| Command | Description | Permission |
|---|---|---|
/battlepass (/bp, /pass) |
Open the battle pass | schackpass.use |
/bpadmin (/bpa) |
Open the editor | schackpass.admin |
/bpadmin reload |
Reload all files | schackpass.admin |
/bpadmin xp <add|remove|set> <player> <amount> |
Change a player's XP | schackpass.admin |
/bpadmin premium <give|revoke> <player> |
Give or remove premium for the current season | schackpass.admin |
/bpadmin reset <player> |
Wipe a player's progress in the current season and their current missions | schackpass.admin |
Permissions
| Permission | Description | Default |
|---|---|---|
schackpass.use |
Open the battle pass | Everyone |
schackpass.premium |
Have the premium track without buying it | Nobody |
schackpass.admin |
Use the editor and admin commands | Operators |
Placeholders
These need PlaceholderAPI.
| Placeholder | Value |
|---|---|
%schackpass_level% |
Current level |
%schackpass_max_level% |
Highest level in the season |
%schackpass_xp% |
Total XP this season |
%schackpass_xp_into_level% |
XP earned towards the next level |
%schackpass_xp_per_level% |
XP needed per level |
%schackpass_premium% |
true or false |
%schackpass_season% |
Season name |
%schackpass_time_left% |
Time until the season ends |
Installation
- Put the jar in your server's
pluginsfolder. - Restart the server.
- Run
/bpadminin-game to set up your season.
Reward commands can use %player%, %uuid% and %tier%.
Statistics
SchackPass uses bStats to collect anonymous usage statistics, such as server and player counts, the Minecraft version, the plugin language and the database type. To opt out, set enabled: false in plugins/bStats/config.yml.


