
BoatRacing
An F1‑style ice boat racing plugin for Paper with a clean, vanilla‑like GUI. Manage teams, configure tracks with the built‑in BoatRacing selection tool, run timed races with checkpoints, pit area penalties, and a guided setup wizard.
538
8
BoatRacing 1.1.5
release6 апреля 2026 г.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.
BoatRacing 1.1.4
release4 апреля 2026 г.Changelog
1.1.4 — 04/04/2026
Added
- Track best-record placeholders by token:
%boatracing_track_best_player_<track>%,%boatracing_track_best_time_<track>%, and%boatracing_track_best_time_ms_<track>%for per-track record labels in static scoreboards/holograms. - Track top-3 placeholders by token (NEW 1.1.4):
%boatracing_track_top_1_*_<track>%,%boatracing_track_top_2_*_<track>%, and%boatracing_track_top_3_*_<track>%(player,time,time_ms) for podium/leaderboard layouts per track. - Snapshot channel for Paper 26.1 validation: introduced the first 26.1 snapshot build named
snapshot-26.1-gui-fallback-01. - Snapshot warning docs/badges: README now includes explicit
WARNING snapshotand implementation/risk badges for this build stream. - Configurable minimum racers to start: added
racing.min-players-to-startas a global race-start threshold, with per-track override support viatracks/<name>.ymlunderracing.min-players-to-start. - Localized minimum-player warning: added
race.not-enough-playersto bundled language files to report required/current participant counts when start is blocked.
Fixed
- Scoreboard tie-break by checkpoint arrival order: when racers are on the same lap and same checkpoint count, the one who reached that checkpoint first stays ahead. This avoids position swaps on equal checkpoint entry.
- Setup wizard open-registration fallback command: if no named track is selected yet, wizard Done now uses
/boatracing race open unsavedinstead of an invalid placeholder token (/boatracing race open <track>), preventingtrack not found <track>. - Paper 26.1 Anvil close-event compatibility: added a custom AnvilGUI version-matcher path plus
Wrapper26_R1_Fixedfallback implementation that probes compatiblehandleInventoryCloseEventsignatures and applies a safe close-container fallback when upstream signature assumptions fail. - Race start gating consistency:
start,force, admin race GUI start, and registration timeout auto-start now consistently enforce the configured minimum-player threshold before race launch.
Changed
- Project versioning for pre-release: project version moved to
1.1.4-26.1-SNAPSHOTinpom.xml. - Stable tag status: stable
1.1.4publication is postponed due to the Paper 26.1 GUI/Anvil compatibility issue; the planned 1.1.4 feature set is delivered in this snapshot channel.
Docs
- Minimum-player start docs: README/CHECKLIST now document
racing.min-players-to-start, per-track override behavior, and validation expectations for blocked starts. - Placeholder docs for 1.1.4: README placeholder table now marks
%boatracing_track_best_*_<track>%and%boatracing_track_top_1..3_*_<track>%asNEW (1.1.4), and CHECKLIST includes explicit QA checks for these placeholders.
Known Issues
- GUI risk on evolving 26.1 builds: because this snapshot relies on reflective compatibility over unstable internals, some GUI/Anvil flows can still fail on certain Paper 26.1 dev builds or non-Paper forks.
BoatRacing 1.1.4-26.1-SNAPSHOT
beta2 апреля 2026 г.Changelog
1.1.4-26.1-SNAPSHOT (snapshot-26.1-gui-fallback-01) — 2026-04-02
Added
- Snapshot channel for Paper 26.1 validation: introduced the first 26.1 snapshot build named
snapshot-26.1-gui-fallback-01. - Snapshot warning docs/badges: README now includes explicit
WARNING snapshotand implementation/risk badges for this build stream. - Configurable minimum racers to start: added
racing.min-players-to-startas a global race-start threshold, with per-track override support viatracks/<name>.ymlunderracing.min-players-to-start. - Localized minimum-player warning: added
race.not-enough-playersto bundled language files to report required/current participant counts when start is blocked.
Changed
- Project versioning for pre-release: project version moved to
1.1.4-26.1-SNAPSHOTinpom.xml. - Stable tag status: stable
1.1.4publication is postponed due to the Paper 26.1 GUI/Anvil compatibility issue; the planned 1.1.4 feature set is delivered in this snapshot channel.
Fixed
- Paper 26.1 Anvil close-event compatibility: added a custom AnvilGUI version-matcher path plus
Wrapper26_R1_Fixedfallback implementation that probes compatiblehandleInventoryCloseEventsignatures and applies a safe close-container fallback when upstream signature assumptions fail. - Race start gating consistency:
start,force, admin race GUI start, and registration timeout auto-start now consistently enforce the configured minimum-player threshold before race launch.
Docs
- Minimum-player start docs: README/CHECKLIST now document
racing.min-players-to-start, per-track override behavior, and validation expectations for blocked starts.
Known Issues
- GUI risk on evolving 26.1 builds: because this snapshot relies on reflective compatibility over unstable internals, some GUI/Anvil flows can still fail on certain Paper 26.1 dev builds or non-Paper forks.
BoatRacing 1.1.3
release30 марта 2026 г.Changelog
1.1.3 — 2026-03-30
Added
- Parallel race sessions by track: race lifecycle commands now operate per track session, allowing multiple tracks to run registration/races at the same time.
- Map vote commands: added
/boatracing race voteopen <track1> <track2> [seconds],/boatracing race vote <track>,/boatracing race voteui,/boatracing race votestatus, and/boatracing race voteclose. - Track-scoped race placeholders:
%boatracing_track_race_running_<track>%,%boatracing_track_race_registering_<track>%, and%boatracing_track_race_status_<track>%now resolve against the requested track session.
Fixed
- Selected boat variant persistence on spawn: race boats now re-apply the selected boat/raft variant right after spawn and on delayed retries, fixing cases where a chosen variant (for example
DARK_OAK) appeared as defaultOAK. - No dismount during countdown/race: racers can no longer manually exit boats/rafts during the 5-light countdown or while the race is running.
- Vote-open UX prompt: map-vote start now includes a clickable chat action to open vote UI (
/boatracing race voteui) instead of only a typed command hint. - Reward command parsing compatibility: reward distribution now supports both
commands(list) and legacycommand(single string), with safer fallback behavior for missing per-position keys (including position1).
Docs
- Track placeholder docs: README now documents track-scoped placeholders, compatibility aliases, and per-track session evaluation behavior.
- Race/map-vote docs: README now includes the new map vote commands (including
voteui) and multi-track race behavior notes. - QA additions for 1.1.3: CHECKLIST now includes explicit validation steps for track-scoped placeholders and selected boat variant spawn reliability.
- Rewards schema guidance: README/CHECKLIST now document reward command compatibility and recommend explicit
commands: []in each position block.
BoatRacing 1.1.2
release29 марта 2026 г.Changelog
1.1.2 — 2026-03-29
Added
- PlaceholderAPI integration: BoatRacing now registers
%boatracing_*%placeholders for holograms/scoreboards. - Persistent aggregate stats: new
stats.ymlstorage for player wins, team wins, best race, and best lap values used by placeholders. - Race back command: added
/boatracing race backso players can manually return to their saved pre-lobby location after race flows. - Post-race lobby return UX: after a race ends or is cancelled, participants are teleported to the configured race lobby, receive a clickable back shortcut, and have a 3-minute window to return.
- French language bundle: added bundled
messages_fr.yml(community translation) with complete race/setup/team/admin/gui coverage. - Additional community language bundles: added bundled
messages_es_419.yml,messages_pt_BR.yml,messages_pt_PT.yml,messages_de.yml,messages_it.yml,messages_pl.yml,messages_tr.yml,messages_ja.yml, andmessages_ko.yml, expanding built-in language coverage.
Changed
- Setup Wizard compact mode: wizard prompts were shortened and reorganized by step to reduce chat text while keeping actionable buttons.
- Registration announce source: registration announce text is now language-specific in
messages_<lang>.yml(race.registration.announce) instead ofconfig.yml. - Registration announce placeholders:
race.registration.announcenow consistently supports{track},{laps},{cmd},{label}across bundled language files. - Lobby return flow: pre-lobby locations are preserved during race start, and race-back return entries now expire automatically after 3 minutes (in-memory only).
- Race help and tab-complete:
race backis now included in help output and tab suggestions for players withboatracing.race.back. - Language bundle loading: language selection now supports bundled and custom
messages_<lang>.ymlfiles from the plugin folder, with safe fallback to English. - Translation status headers: bundled language headers now consistently mark
messages_en.ymlandmessages_es.ymlas official translations, and all other bundled languages as unofficial community translations. - Chinese locale split: kept
messages_zh_TW.ymlfor Taiwan Traditional Chinese and addedmessages_zh_CN.ymlfor Mainland Simplified Chinese. - Race back window configurability: the
/boatracing race backavailability window is now configurable withracing.lobby.back-window-seconds.
Fixed
- Build break in TeamManager: fixed malformed package declaration in
TeamManager.javathat caused compilation failure. - Race boat entity cleanup: race-spawned boats/rafts are now tracked and removed deterministically on finish/cancel/reset, preventing leftover vehicle entities in the world.
- Race back expiry notification: players now receive an automatic message when the back window expires, instead of only seeing it after manually running
/boatracing race back.
Docs
- Placeholder reference added: README now documents available
%boatracing_*%placeholders and team lookup formats. - Lobby-back docs updated: README and QA checklist now document the clickable
race backflow and 3-minute return window as part of 1.1.2.
Совместимость
Создатели
Детали
Лицензия:MIT
Опубликован:8 месяцев назад
Обновлён:1 неделю назад