Tags
Creators
Details
1.0.7
Compatibility
Changes
his v1.0.7 update is a major evolution for NBContest, bringing both PlaceholderAPI (PAPI) support and a brand new advanced visual customization system to give server administrators full control.
š New Documentation Available
We are excited to launch our new comprehensive documentation site! š Check it out here: docs.nb.studio/docs/nbcontest
š Changelog
š 1. PlaceholderAPI (PAPI) Support & Conditions
- [New] Native integration of PlaceholderAPI. Extract all your contest data to display them anywhere (TAB, holograms, GUI menus, chat).
- [New] Added 13 robust placeholders (see list below) working in real-time with smart fallback if no contest is active.
- [New] Structural placeholders (
%nbcontest_event_type%and%nbcontest_has_objective%) to create ultra-precise conditions in third-party plugins (e.g., displaying a different scoreboard 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 objectives (Fishing, Mob Hunting, etc.), ensuring clean and seamless external displays.
šØ 2. Visual Customization & Visual Comfort
- [New] Specific Start/End Messages per Event: You can now configure different messages per event type (e.g.,
contest-started-farmingto display the objective only during farming events, and genericcontest-startedfor Fishing). - [New] YAML Lists Support (Multi-line): You can now write your messages as YAML lists in
messages.yml(ideal for designing beautiful borders or line breaks). - [New] Custom Podium (š„š„š„): Ability to configure the format of each place on the final podium independently (
top-line-1,top-line-2,top-line-3inmessages.yml). Showcase your winners with unique colors and symbols. - [New] Placeholders in Start Message: The
%amount%and%material%variables are now available and functional directly within the start message! - [New] Selective Muting: You can individually disable any message from the plugin by simply setting it to
""inmessages.yml. No more chat spam! - [New] ActionBar Control: Added the configuration option
actionbar.enabled: falseinconfig.ymlto disable the ActionBar display during contests.
š Available Placeholders (%nbcontest_...%)
| Placeholder | Description | Render when Active | Render when Inactive |
|---|---|---|---|
%nbcontest_is_running% |
Indicates whether a contest is active (ideal for conditions) | true |
false |
%nbcontest_event_name% |
Name of the ongoing event (translated via messages.yml) | Harvesting |
(empty) |
%nbcontest_event_type% |
Raw type of the event (e.g., farming, fishing, hostiles_mobs) |
farming |
(empty) |
%nbcontest_has_objective% |
Returns true if the contest has a quantitative objective (farming) |
true |
false |
%nbcontest_time_left% |
Raw time remaining (in seconds) | 124 |
0 |
%nbcontest_time_left_formatted% |
Formatted time remaining (MM:SS) | 02:04 |
00:00 |
%nbcontest_material% |
Name of the targeted resource translated (Farming only) | Diamond |
(empty) |
%nbcontest_amount% |
Required objective (Farming only) | 100 |
(empty) |
%nbcontest_progress% |
Global collective progress (Farming only) | 42 |
(empty) |
%nbcontest_my_score% |
Current score of the viewing player | 15 |
0 |
%nbcontest_my_rank% |
Player position in the leaderboard | 2 |
N/A |
%nbcontest_leaderboard_name_X% |
Name of the player at rank X (e.g., 1, 2, 3) | PlayerName |
--- |
%nbcontest_leaderboard_score_X% |
Score of the player at rank 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! āāāāā
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:jr5Ct5Zt:lDAyO7Mb"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:jr5Ct5Zt:lDAyO7Mb"
}

