All versions
1.2-alpha
Alpha
Fixes2 months ago 43
Compatibility
Minecraft: Java Edition
26.2
26.1.x
1.21.x
1.20.x
1.19.x
1.18.x
1.17.x
1.16.x
1.15.x
1.14.x
1.13.x
1.12.x
1.11.x
1.10.x
1.9.x
1.8.x
1.7.10
Platforms
Bukkit
Folia
Paper
Purpur
Spigot
Changes
Added
- Full Folia support — server detection via
RegionizedServerclass, with all player-entity operations dispatched through the region scheduler (RegionScheduler.run) via reflection runOnRegionscheduling helper — dispatches player operations to the correct region thread on Folia, falls back to the main thread on Bukkit-based servers
Changed
- Chat format handling —
onChatnow builds the message strictly fromchat-format, manually substituting%rank%→ rank display text,%name%→ player name,%message%→%2$splaceholder. The previous approach collapsed%rank%/%name%into%1$s(the displayName), which caused separators/ordering inchat-format(e.g.%rank% / %name%) to be ignored or duplicated applyDisplayName— added a space between the rank text and the player name so system messages / chat prefixes have a natural separator
Fixed
UnknownFormatConversionExceptionon chat (Conversion = '§'/'&') — the old code left%rank%/%name%residue whichsetFormat's internalString.formatchoked on; the new manual substitution leaves only the legal%2$splaceholder, and§is a literal character safe fromString.format- Chat prefix duplicating /
chat-formatignored —%rank% / %name%now renders as[Ranks] / Player > Messageor something like that, exactly as configured - Folia: nametag failing with
UnsupportedOperationException— root-caused via stack traces: Folia 26 fully disables the Bukkit scoreboard API (registerNewTeamon the main board andgetNewScoreboard()both throw). The scoreboard-based nametag is skipped on Folia (no crash), while Tab / chat / system messages continue to work - Folia:
supportsLongTabNamemisdetection — Folia's version string isn't matched by the1.xregex, so the Tab length limit fell back to 16; now uses thehasAdventurecapability check (Folia 26 has Adventure), so Tab correctly uses the 64-char limit
Removed
- (nothing)
Optional dependencies
Any compatible version
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:og7SQTbp:vOuyobw8"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:og7SQTbp:vOuyobw8"
}

