Tags
Creators
Details
All versions
1.1.5
Release
BoatRacing 1.1.57 months ago 210
Compatibility
Minecraft: Java Edition
26.1–26.1.1
1.21.x
1.20.x
1.19.x
Platforms
Bukkit
Folia
Paper
Purpur
Spigot
Changes
Changelog
1.1.5 — 06/04/2026
Added
- Solo practice mode command: added
/boatracing race practice <track>to start a one-player practice race on a ready track without requiring the minimum race player threshold. - Player stats command: added
/boatracing stats [player]to show competitive position counts by place (showing only non-zero places) and practice snapshots (best/last run/lap/sectors) for self or target player. - Practice permission node: added
boatracing.race.practicewith defaulttrue, so servers can grant/restrict solo practice independently from race-admin permissions. - Stats permission node: added
boatracing.statswith defaulttrue, so servers can grant/restrict stats access independently. - Stats-others permission node: added
boatracing.stats.otherswith defaulttrue, so servers can separately control viewing other players via/boatracing stats <player>. - Map-vote open permission node: added
boatracing.race.voteopenwith defaultop, so opening map votes can be granted/restricted independently from race start/stop management. - Admin language switch command: added
/boatracing admin language <code>to change the active plugin language at runtime. - Admin language permission node: added
boatracing.admin.languagewith defaultop, so language switching can be delegated without full admin management access. - Persistent practice telemetry: added
practice-stats.ymlstoring per-player/per-track practice metrics (best/last run, best/last lap, best/last sector split). - Practice placeholders: added
%boatracing_player_practice_*%placeholders (current-track and<track>token variants) and%boatracing_track_practice_running_<track>%for practice state displays. - Practice placeholder compatibility alias: added
%boatracing_track_practicerunning_<track>%as alias for track practice-running state. - Swedish language bundle: added bundled
messages_sv.ymlas an unofficial community translation (sv) with full message coverage and preserved placeholders/color codes.
Changed
- Same-track race/practice locking during countdown: a track now stays busy while practice countdown is active, preventing race open/start/force on that same track until practice ends (other tracks remain independent).
- Practice chat scope: practice countdown/split/lap/result updates are now private to the practicing player instead of global race-style broadcasts.
- Localized practice marker in sidebar: when solo practice is active, the race sidebar now renders a language-aware label from
race.scoreboard.practice-label(for examplePRACTICE/PRÁCTICA). - Practice lobby return parity: solo practice now preserves pre-practice location context so finish flow uses the same lobby/back UX (
/boatracing race backwindow + hint) as standard race finish/cancel. - Admin Tracks GUI interaction model: track items now support right-click rename (left-click load, shift-right-click delete), and the lore now shows all three actions in bundled languages.
- Map vote flow for mixed clients:
/boatracing race voteopennow supports opening all saved tracks (allor no explicit track list), broadcasts a plain vote command hint (/{label} race vote <track>) alongside clickable UI, and auto-opens registration on the voted winner when possible. - Map vote command syntax and tab-complete: admin usage/help and tab suggestions now include
voteopen [all|<track1> <track2> ...] [seconds]withall/*support. - Runtime language switching flow: changing language through
/boatracing admin language <code>now persists intoconfig.ymland reloads message bundles immediately (no separate reload command required by the user). - Admin language command alias cleanup: removed
/boatracing admin lang <code>; only/boatracing admin language <code>is now accepted and suggested. - Shade packaging metadata handling: Maven shade config now filters duplicate
META-INFmanifest/signature files, removing noisy overlap warnings during package builds.
Fixed
- Track record placeholders not refreshing after improved times:
%boatracing_track_best_*_<track>%and%boatracing_track_top_1..3_*_<track>%now prefer live race-session data (or track file data) instead of stale in-memory selected-track data, so better race times update correctly. - Current-track best placeholders consistency:
%boatracing_track_best_player%and%boatracing_track_best_time%now resolve through the same track-token path to avoid stale values when races run in separate track sessions. - Map-vote fallback visibility: when winner auto-open fails, the
race.vote.next-stephint is no longer broadcast to all players; it is now sent only to vote-managing users (and console). - Localized track readiness requirements:
race.track-not-readyrequirement details are now resolved throughrace.requirements.*keys across all bundled locales, avoiding mixed-language output. - Community locale wording regressions: restored expected phrasing for
setup.laps-set(FR/PL), restored PT-PT admin tracks help wording, and replaced leakedBoatTypetokens with localized labels in RU (тип лодки) and zh_CN (船只类型) adminsetboathelp/usage lines. - Stats chat readability: practice stats output now suppresses empty sector noise (e.g.
0:00.000entries), and unsaved practice tracks use localizedstats.track-unsaved-labelnames across bundled locales.
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:Vb0gvIIJ:bPt9kMz6"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:Vb0gvIIJ:bPt9kMz6"
}

