BattlePass 2.0 for Spigot 1.8.8
A dependency-free, GUI-driven seasonal Battle Pass with free and premium rewards, rotating quests, daily rewards, and production-focused administration.
Major features
- Paginated free and premium reward tracks
- Multiple item stacks and console-command rewards per level
- Clean player-facing lore for every command reward
- Claim All button and
/bp claimall - Hourly, daily, and 48-hour rotating quests
- 68 quest templates with scaled variants for more than 200 possible objectives
- Combat, mining, building, crafting, fishing, enchanting, food, travel, and playtime quests
- Persistent quest progress with automatic XP payouts
- Seasonal progress archives, countdowns, automatic resets, and manual reset confirmation
- Configurable first-finisher item and command prize
- Free daily reward with persistent cooldown
- Configurable passive XP from kills, mining, and playtime
- Offline-player XP and recovery commands
- Reward-command failure logging and online admin alerts
- Confirmation screens for destructive level operations
- Permission-aware tab completion
- Asynchronous, coalesced player-data saving
- Public Java API for XP and quest integrations
- Java 8 bytecode and Spigot 1.8.8 compatibility
Installation and migration
- Put
BattlePass-2.0.0.jarin the server'spluginsfolder. - Remove the older BattlePass JAR, but keep the
plugins/BattlePassdata folder. - Restart the server.
Existing XP and claims migrate into Season 1. Existing single-item rewards and command rewards also migrate automatically.
Player controls
- Left-click a level to claim its free reward.
- Right-click a level to claim its premium reward.
- Click Claim All Rewards to claim everything currently unlocked.
- Open rotating quests with
/bp quests. - Claim the recurring reward with
/bp daily.
Admin workflow
Open /bp admin.
- Click a level to edit free and premium item/command rewards.
- Item rewards use drop capture: click the button, drop stacks with Q, then type
done. - Command rewards ask for the console command and then clean player-facing text such as
&6250 Coins. - Shift-right-click a command entry to remove only that reward.
- Destructive level changes use confirmation screens.
- Open Season Settings to edit the season name and duration, enable automatic resets, configure the first-finisher prize, or start the next season.
- Closing an admin inventory immediately flushes configuration changes to disk.
Commands
| Command | Permission | Description |
|---|---|---|
/bp | battlepass.use | Open the Battle Pass |
/bp quests | battlepass.use | Open hourly, daily, and 48-hour quests |
/bp daily | battlepass.use | Claim the daily reward |
/bp claimall | battlepass.use | Claim all unlocked rewards |
/bp progress [player] | battlepass.use / battlepass.xp | View progress |
/bp history [player] | battlepass.use / battlepass.admin | View archived seasons |
/bp admin [page] | battlepass.admin | Open admin settings |
/bp open <player> | battlepass.admin | Open the GUI for a player |
/bp season status | battlepass.admin | View the current season |
/bp season start confirm | battlepass.admin | Archive progress and start the next season |
/bp reset <player> | battlepass.admin | Reset current season XP and claims |
/bp resetclaims <player> | battlepass.admin | Reset free and premium claims |
/bp dailyreset <player> | battlepass.admin | Reset a daily cooldown |
/bp xp get <player> | battlepass.xp | View online or offline XP |
/bp xp give <player> <amount> | battlepass.xp | Add XP |
/bp xp set <player> <amount> | battlepass.xp | Set XP |
/bp xp take <player> <amount> | battlepass.xp | Remove XP |
/bp reload | battlepass.admin | Reload plugin configuration |
Premium access uses battlepass.premium by default and can be changed in season.yml.
Quest rotations
Five quests are selected for each pool by default:
- Hourly quests reset every 60 minutes.
- Daily quests reset every 24 hours.
- Extended quests reset every 48 hours.
Selections are deterministic for each time window, so restarts do not reroll active quests. Counts and passive XP sources are configurable in config.yml.
Public API
BattlePassPlugin plugin = (BattlePassPlugin) Bukkit.getPluginManager().getPlugin("BattlePass");
plugin.getApi().addXp(player, 100);
plugin.getApi().getXp(player);
plugin.getApi().hasPremium(player);
plugin.getApi().progressQuest(player, QuestDefinition.Type.MOB_KILL, "ZOMBIE", 1);
Building
With Maven and Java 8+:
mvn clean package
The output is target/BattlePass-2.0.0.jar.