rBattlePass
1.0.1A fully configurable, season-ready Battle Pass plugin for Bukkit · Spigot · Paper · Purpur. Every quest, reward, menu button, message and price lives in a config file
✦ Features
- Battle Pass progression — 50 configurable levels, each with up to 3 reward tiers (Scout / Veteran / Warlord)
- Daily & weekly quest system — 17 daily and 14 weekly quests in the default pool; each player gets a random subset based on their status tier. Fully editable in
rewards/quests.yml - 18 quest types — Block Break, Block Place, Entity Kill, Fish Catch, Item Consume, Item Break, Item Craft, Arrow Shoot, Jump, Item Enchant, Brew Potion, Villager Trade, Animal Tame, Egg Throw, Breed Animal, Elytra Fly, Milk Cow, Fill Bucket
- 3 Battle Status tiers — Scout (free), Veteran, Warlord. Each tier unlocks more quests per day/week and more levels. Prices and quest counts are configurable
- Battle Balance (✦) — internal currency awarded from level rewards, spent in the shop
- In-game shop — configurable items at configurable slots, purchased with Battle Balance. Runs console commands on purchase
- Fully translatable — every player-facing string (chat messages, GUI titles, button names, lore, command output) is in
lang/en.yml. Add any language by copying the file - Hot-reload —
/bp reloadreloads all 6 config files instantly, including menu layouts, quest pools, rewards and language - Permission-gated commands — every admin subcommand has its own permission node
- Flexible economy — supports Vault (default, works with EssentialsX / CMI / any economy plugin), CoinsEngine, or no economy at all
🖥 Compatibility
| Platform | Versions |
|---|---|
| Bukkit | 1.20 – 26.1.2 |
| Spigot | 1.20 – 26.1.2 |
| Paper | 1.20 – 26.1.2 |
| Purpur | 1.20 – 26.1.2 |
Java 17+ required.
No NMS, no reflection on server internals — pure Bukkit API throughout.
📦 Dependencies
| Dependency | Type | Purpose |
|---|---|---|
| Vault | Soft (optional) | Economy provider (default). Needs a compatible economy plugin (EssentialsX, CMI, etc.) |
| CoinsEngine | Soft (optional) | Alternative economy provider |
The plugin runs without either — set economy.provider: none in config.yml to disable economy entirely. Battle Balance always works.
🚀 Installation
- Drop
rBattlePass-1.0.0.jarinto yourplugins/folder - Restart the server (or use a plugin manager)
- Edit
plugins/rBattlePass/config.yml— set your timezone, economy provider and status prices - Edit the files in
lang/,menus/andrewards/to your taste - Run
/bp reloadto apply changes without restarting
⚙ Configuration structure
plugins/rBattlePass/
├── config.yml — core settings: timezone, economy, status tiers
├── lang/
│ └── en.yml — all messages, GUI titles, command output
├── menus/
│ ├── main.yml — button slots, materials, lore, navigation
│ └── shop.yml — shop items, slots, prices, commands
└── rewards/
├── levels.yml — per-level rewards for each status tier
└── quests.yml — daily and weekly quest pool
Every file is generated on first start. Delete a file to regenerate it from defaults.
📋 Commands
| Command | Permission | Description |
|---|---|---|
/bp | rbattlepass.use | Open the Battle Pass menu |
/bp shop | rbattlepass.shop | Open the shop |
/bp help | rbattlepass.admin.help | List all admin commands |
/bp lvl give <player> <amount> | rbattlepass.admin.lvl.give | Give levels to a player |
/bp lvl set <player> <level> | rbattlepass.admin.lvl.set | Set a player's level |
/bp lvl reset <player> | rbattlepass.admin.lvl.reset | Reset a player's level and claimed rewards |
/bp exp give <player> <amount> | rbattlepass.admin.exp.give | Give EXP to a player |
/bp exp set <player> <amount> | rbattlepass.admin.exp.give | Set a player's EXP |
/bp quest reset <player|all|*> | rbattlepass.admin.quest.reset | Reset quests (one player or everyone) |
/bp status get <player> | rbattlepass.admin.status.get | View a player's status |
/bp status set <player> <key> | rbattlepass.admin.status.set | Force-set a player's status |
/bp balance give <player> <amount> | rbattlepass.admin.balance.give | Give Battle Balance |
/bp balance set <player> <amount> | rbattlepass.admin.balance.give | Set Battle Balance |
/bp info <player> | rbattlepass.admin.info | View full player info |
/bp shop <player> | rbattlepass.admin.shop.open | Open shop for another player |
/bp reload | rbattlepass.admin.reload | Reload all config files |
Aliases: /battlepass, /rbp
🔑 Permissions
| Permission | Default | Description |
|---|---|---|
rbattlepass.use | everyone | Open the Battle Pass menu |
rbattlepass.shop | everyone | Open the shop |
rbattlepass.admin | OP | All admin permissions (parent) |
rbattlepass.admin.lvl.give | OP | Give levels |
rbattlepass.admin.lvl.set | OP | Set level |
rbattlepass.admin.lvl.reset | OP | Reset level |
rbattlepass.admin.exp.give | OP | Give / set EXP |
rbattlepass.admin.quest.reset | OP | Reset quests |
rbattlepass.admin.status.get | OP | View player status |
rbattlepass.admin.status.set | OP | Set player status |
rbattlepass.admin.info | OP | View player info |
rbattlepass.admin.shop.open | OP | Open shop for others |
rbattlepass.admin.balance.give | OP | Give / set Battle Balance |
rbattlepass.admin.reload | OP | Reload config |
rbattlepass.admin.help | OP | View help |
🌐 Localization
Copy lang/en.yml to lang/ru.yml (or any language code), translate every string, then set language: "ru" in config.yml and run /bp reload. No restart needed.
All strings support & color codes and §x§R§R§G§G§B§B hex colors.
⚔ Default Battle Status tiers
| Status | Daily quests | Weekly quests | Max level | Price |
|---|---|---|---|---|
| Scout | 3 | 3 | 30 | Free |
| Veteran | 5 | 4 | 40 | 139,500 |
| Warlord | 7 | 5 | 50 | 239,500 |
All values, names, prices and quest counts are editable in config.yml.

📜 Quest types reference
| Type | Trigger |
|---|---|
BLOCK_BREAK | Breaking specified blocks |
BLOCK_PLACE | Placing specified blocks |
ENTITY_KILL | Killing specified entities |
FISH_CATCH | Catching fish |
ITEM_CONSUME | Eating specified food |
ITEM_BREAK | Breaking a tool/weapon |
ITEM_CRAFT | Crafting specified items |
ARROW_SHOOT | Shooting arrows |
JUMP | Jumping |
ITEM_ENCHANT | Enchanting items |
BREW_POTION | Brewing potions |
VILLAGER_TRADE | Trading with villagers |
ANIMAL_TAME | Taming animals |
EGG_THROW | Throwing eggs |
BREED_ANIMAL | Breeding animals |
ELYTRA_FLY | Starting elytra flight |
MILK_COW | Milking cows |
FILL_BUCKET | Filling buckets |

🏆 Level rewards
Each level (1–50) can have a reward for each status tier. Reward fields:
10:
scout:
battle-balance: 200 # awarded Battle Balance (✦)
economy-reward: 0 # awarded external economy currency
commands: # console commands (use %player%)
- "give %player% diamond 5"
veteran:
battle-balance: 400
economy-reward: 0
commands:
- "give %player% diamond 10"
warlord:
battle-balance: 800
economy-reward: 0
commands:
- "give %player% netherite_ingot 2"

Players can only claim tiers at or below their current status.
🛒 Shop configuration
Items in menus/shop.yml:
items:
- slot: 22 # inventory slot (0-indexed, size = 45)
material: ELYTRA
name: "&x&F&F&D&6&6&D&lElytra"
price: 2000 # cost in Battle Balance ✦
lore:
- "&7A pristine pair of wings."
- "&x&F&F&F&2&B&0Cost: &f2,000 ✦"
commands:
- "give %player% elytra 1"

Similar projects
Config →VeinMiner
Mine the whole vein on mining a single ore/block. Make the tedious mining experience to something satisfying and fun! FTB Ultimine alternative
99.3MSueta
Let Me Despawn
Improves performance by tweaking mob despawn rules. Say bye to pesky unintentional persistent mobs.
25MSueta
VeinMiner Enchantment
Veinminer Addon - Adds vineminer enchantment to enchanting tables. Only tools with the enchantment can veinmine
18MSueta
JourneyMap
Real-time map used for mapping in-game or your browser as you explore.
14.7MSueta
Emotecraft
Create your own emotes in Minecraft.
7.5MSueta
Simple Tpa
A simple tpa plugin which sends requests
5.4MSueta