This update is a major evolution for NBContest, bringing native PlaceholderAPI (PAPI) support and a brand new advanced visual customization system to give server administrators full control over their events!
New Documentation Available!
We are excited to launch our new comprehensive documentation site!
Click here to view the documentation
Learn how to configure the plugin, use the new placeholders, customize messages, and more.
Changelog
1. PlaceholderAPI (PAPI) Support & Advanced Conditions
- [New] Native integration of PlaceholderAPI. You can now extract all live contest data and display it anywhere: TAB list, holograms (DecentHolograms, etc.), GUI menus (DeluxeMenus), or chat formats!
- [New] Added 13 robust placeholders (see list below) working in real-time with smart fallback formatting if no contest is active.
- [New] Structural placeholders (%nbcontest_event_type% and %nbcontest_has_objective%) allowing you to create ultra-precise conditions in third-party plugins (e.g., displaying a different scoreboard format depending on whether the event has a farming objective or not!).
- [Optimization] The %nbcontest_amount% and %nbcontest_progress% placeholders now return an empty string "" on events without objective targets (like Fishing or Mob Hunting), ensuring clean and seamless external displays.
2. Advanced Visual Customization
- [New] Specific Start/End Messages per Event: You can now configure different messages per event type (e.g., contest-started-farming to display the objective only during farming events, and a generic contest-started for Fishing).
- [New] YAML Lists Support (Multi-line): You can now write your messages as lists in messages.yml (perfect for beautiful chat boxes, headers, footers, or multi-line alerts!).
- [New] Custom Podium (): Ability to configure the format of each place on the final podium independently using top-line-1, top-line-2, and top-line-3 keys in messages.yml. Highlight your winners with unique colors and symbols!
- [New] Start Message Placeholders: The %amount% and %material% variables are now fully functional and supported directly within the start message!
- [New] Selective Muting (Anti-Spam): You can individually disable any message from the plugin by simply setting it to "" in messages.yml to make it completely silent. No more chat spam!
- [New] ActionBar Toggle: Added a new configuration option actionbar.enabled: false in config.yml to allow disabling the ActionBar display during contests.
Available Placeholders (%nbcontest_...%)
| Placeholder |
Description |
Render Active |
Render Inactive |
| %nbcontest_is_running% |
Indicates whether a contest is active |
true |
false |
| %nbcontest_event_name% |
Name of the ongoing event (translated) |
Harvesting |
(empty) |
| %nbcontest_event_type% |
Raw type of the event (e.g. farming, fishing) |
farming |
(empty) |
| %nbcontest_has_objective% |
Returns true if the event has a quantitative objective |
true |
false |
| %nbcontest_time_left% |
Raw remaining time in seconds |
124 |
0 |
| %nbcontest_time_left_formatted% |
Formatted remaining time (MM:SS) |
02:04 |
00:00 |
| %nbcontest_material% |
Target block material translated (farming only) |
Diamond |
(empty) |
| %nbcontest_amount% |
Required objective target amount (farming only) |
100 |
(empty) |
| %nbcontest_progress% |
Global collective progress (farming only) |
42 |
(empty) |
| %nbcontest_my_score% |
Current score of the player looking at it |
15 |
0 |
| %nbcontest_my_rank% |
Leaderboard rank of the player |
2 |
N/A |
| %nbcontest_leaderboard_name_X% |
Name of player at position X (e.g. 1, 2, 3) |
PlayerName |
--- |
| %nbcontest_leaderboard_score_X% |
Score of player at position X (e.g. 1, 2, 3) |
25 |
0 |
All your previous configurations and language settings remain 100% compatible with this version.
Thank you so much for your continuous feedback, bug reports, and suggestions! If you enjoy the plugin, please leave us a 5-star review! ⭐⭐⭐⭐⭐