rBattlePass
PluginMIT

rBattlePass

A 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

51
Downloads
1
Followers
1 months ago
Updated
📦
2
Versions

📖About rBattlePass


✦ 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 reload reloads 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

  1. Drop rBattlePass-1.0.0.jar into your plugins/ folder
  2. Restart the server (or use a plugin manager)
  3. Edit plugins/rBattlePass/config.yml — set your timezone, economy provider and status prices
  4. Edit the files in lang/, menus/ and rewards/ to your taste
  5. Run /bp reload to 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.

status


📜 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

quests


🏆 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"

levels

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"

shop