COWMODSКаталог модов

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.

Автор: Jaie551,5 тыс.11обновлён 15 сент. 2026 г.
Мини-игрыОбщениеТранспорт

Описание

Important note from the DEV:

Hey, it's me, Jon! The guy behind Jaie55. This message is for the end user, yeah, you, the one downloading the plugin.

I'm going through a really really tough time right now. I got my heart broken back in early July, and because of that, I just don't have the mental energy to keep working on the plugin (or much of anything, honestly). I'm also out of a job and struggling financially. From the time I made this plugin up until today, August 21, 2026, it has only made 4.54 USD, and nobody has tipped me anything on Ko-Fi.

A picture from revenue panel from Modrinth

As you can probably guess, that doesn't exactly give me the drive or motivation to keep developing it.

I originally made this plugin because I joined a random Minecraft server (PCC Rebuilt) and became friends with the owners.

  • Server IP: mc.PocketCreative5.club:25567 (yes, the port included)
  • Java Port: 25567
  • Bedrock Port: 8027
  • Discord Server Invite Link: https://discord.gg/nyc3eqzQ4M

They needed something that did exactly what this does, so I built it and kept updating it as bugs popped up and they needed new features. It's a super niche plugin, and there's actually a paid one out there that ripped off some of my code, which I'm pretty pissed about.

So, what does this mean for you as a user or server owner? Honestly, not much, since no one reports bugs on our Discord or GitHub anyway. The only real difference is that updating to future Minecraft versions might take longer and also you might have bugs that I haven't found yet. We used to have the plugin ready to go the second a new update dropped, so that might change.

That's about it.

Thanks to all the server owners for using this plugin, I hope it gave you guys a few good laughs. And remember, if you're going through a rough patch and can't afford professional help, lean on your friends. Cry, vent, try to hang out with them, go grab dinner together, just let it all out. Don't worry about what they'll think, that's what friends are for... <3

Built with love

BoatRacing

Modrinth Downloads Minecraft Java Servers

Compatible with SimpleScore Compatible with TAB

bStats

Languages Official Community

An F1‒style ice boat racing plugin for Bukkit/Spigot (compatible with Paper/Purpur) 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.

Status: Public release (26.2.1) Authors: Jaie55 & MC-MrBirdy

[!WARNING] Snapshot name: snapshot-26.1-gui-fallback-01 (historical — no longer needed) This snapshot was published for early Paper 26.1 validation. As of 1.1.6, BoatRacing has full support for 26.1 via the feeeedox/AnvilGUI fork. You can safely upgrade to the latest release.

See the changelog in CHANGELOG.md.

This is how we test the plugin to validate its behavior after each update: see the QA checklist in CHECKLIST.md

Locale files are validated with python tools/check_locales.py (Python 3.8+), which checks key parity, placeholders, duplicated keys, colour/escape differences, and possible untranslated text across every messages_*.yml.

What's New (26.2.1)

Global race placeholders and translatable status labels:

  • Added: global race placeholders %boatracing_race_running%, %boatracing_race_registering%, and %boatracing_race_status% resolve across all track sessions, so a single scoreboard/hologram line reacts when any race opens or starts.
  • Added: %boatracing_race_status% labels are translated in messages_<lang>.yml under placeholder.race-status.* across all 27 bundled languages.
  • Added: 11 new community language bundles — uk (Ukrainian), id (Indonesian), ar (Arabic), nl (Dutch), cs (Czech), vi (Vietnamese), th (Thai), tl (Filipino), da (Danish), no (Norwegian), and fi (Finnish) — fully translated with the same keys as English.
  • Docs: README placeholder tables and CHECKLIST include validation steps for the new global placeholders and language bundles.

What's New (26.2)

  • New version numbering: aligned with Minecraft's new YY.D.H system (Year.Drop.Hotfix). Plugin version now matches the Minecraft release it targets.
  • Per-track broadcast mode: racing.broadcast-mode accepts global or racers, overridable per track. Contributed by @MC-MrBirdy in #5.
  • Per-track lobby configuration: lobby settings can now be set per track for dedicated lobbies. Contributed by @MC-MrBirdy in #5.
  • Per-track rewards configuration: rewards can now be overridden per track. Contributed by @MC-MrBirdy in #5.
  • Admin -p: target flag: admins/console can target other players for commands by appending -p:<player>. Contributed by @MC-MrBirdy in #5.
  • Start lights wand UX: Shift+Left Click a Redstone Lamp with the wand to add, Shift+Right Click to remove. Lamp glows with green particles on add.
  • Per-track registration time: /boatracing setup setregtime <seconds> and setup wizard step 8/8. Reported by @supershootstudions-lgtm in #6.
  • Restart command: /boatracing race restart [track] stops + re-opens + re-joins + force-starts in one command. Auto-detects track.
  • Clearlobby command: /boatracing setup clearlobby to disable the lobby for a track.
  • Debug logging levels: debug: "off"/"severe"/"warning"/"info"/"fine"/"finer"/"finest" in config.yml.
  • Setup show: now shows laps, registration time, and properly translated status labels.
  • MC-MrBirdy added as co-author for ongoing contributions across multiple releases.

What's New in 1.1.6

  • Forfeit command (/boatracing race forfeit): abandon a race without stopping it for others. Forfeited players show as DNF in results. Contributed by @MC-MrBirdy.
  • Practice ghost replay: your best practice run is recorded as a ghost boat that replays alongside you.
  • Database persistence: SQLite (default), MySQL, or YAML storage. JDBC drivers auto-downloaded with SHA-256 verification on first run.
  • Practice leave: /boatracing race practice leave <track> and auto-exit on disconnect.
  • Minecraft 26.2 support: AnvilGUI updated for native 26.1/26.2 compatibility.
  • Fast-crossing detection: ray-AABB segment intersection prevents checkpoints/finish lines from being missed at high boat speeds.
  • SimpleScore/TAB compatibility: sidebar plays nice with external scoreboard plugins.

Full changelog →

Features

  • Team system: create/join/leave teams, set racer numbers and boat types, team colors
  • Admin GUIs: manage teams, players, race control, and named tracks from in-game menus
  • Named tracks: per-track YAML configs with laps, pit stops, penalties, registration time, broadcast mode, and start slot overrides
  • Setup wizard: 8-step guided flow to configure starts, finish, lights, pits, checkpoints, laps, and registration time
  • Race systems: ordered checkpoints, mandatory pit stops, false-start penalties, 5-light F1-style countdown, registration lobby teleport/return
  • Ghost replays: best practice runs saved as ghost boats with no-collision rules
  • Map voting: /boatracing race voteopen with auto-open winner registration
  • Solo practice: /boatracing race practice <track> to train alone
  • PlaceholderAPI: 100+ %boatracing_*% placeholders for holograms, scoreboards, NPCs
  • i18n: 16 bundled languages (EN/ES official + 14 community translations), hot-reloadable
  • Rewards: per-position race rewards with commands, messages, and broadcasts — now per-track configurable
  • SQLite/MySQL/YAML storage: pluggable persistence with automatic legacy migration
  • Per-track configuration: broadcast mode, lobby, rewards, registration time — all overridable per track

Quick Start

  1. Download and place in plugins/
  2. /boatracing teams → create a team
  3. /boatracing setup wizard → configure a track (8 steps)
  4. /boatracing race open <track> → open registration
  5. /boatracing race join <track> → players join
  6. /boatracing race start <track> → go!

Commands

CommandDescription
/boatracing teamsOpen team GUI
/boatracing race open/join/leave <track>Manage race registration
/boatracing race start/force/stop/restart <track>Control races
/boatracing race practice <track>Start solo practice
/boatracing race forfeitAbandon current race
/boatracing race voteopen/vote/voteuiMap voting
/boatracing stats [player]View stats (admins: -p:<player>)
/boatracing setup wizardGuided track setup (8 steps)
/boatracing setup showView current track configuration
/boatracing setup setlaps/setregtime/setpitstopsPer-track overrides
/boatracing setup setlobby/clearlobbyLobby configuration
/boatracing adminAdmin management hub

Requirements

  • Java 17+
  • Bukkit/Spigot/Paper/Purpur 1.19 – 26.2
  • PlaceholderAPI (optional, for placeholders)

Links

Галерея

Teams guiTeams gui with playerteams infoCreating teamTeam preview

Последние версии

Все версии →
release

BoatRacing 26.2.2

26.2.2
15 сент. 2026 г.180Minecraft: 22w11a, 22w12a, 22w13a, 22w13oneblockatatime, 22w14a, 22w15a, 22w16a, 22w16b, 22w17a, 22w18a, 22w19a, 1.19-pre1, 1.19-pre2, 1.19-pre3, 1.19-pre4, 1.19-pre5, 1.19-rc1, 1.19-rc2, 1.19, 22w24a, 1.19.1-pre1, 1.19.1-rc1, 1.19.1-pre2, 1.19.1-pre3, 1.19.1-pre4, 1.19.1-pre5, 1.19.1-pre6, 1.19.1-rc2, 1.19.1-rc3, 1.19.1, 1.19.2-rc1, 1.19.2-rc2, 1.19.2, 22w42a, 22w43a, 22w44a, 22w45a, 22w46a, 1.19.3-pre1, 1.19.3-pre2, 1.19.3-pre3, 1.19.3-rc1, 1.19.3-rc2, 1.19.3-rc3, 1.19.3, 23w03a, 23w04a, 23w05a, 23w06a, 23w07a, 1.19.4-pre1, 1.19.4-pre2, 1.19.4-pre3, 1.19.4-pre4, 1.19.4-rc1, 1.19.4-rc2, 1.19.4-rc3, 1.19.4, 23w12a, 23w13a, 23w13a_or_b, 23w14a, 23w16a, 23w17a, 23w18a, 1.20-pre1, 1.20-pre2, 1.20-pre3, 1.20-pre4, 1.20-pre5, 1.20-pre6, 1.20-pre7, 1.20-rc1, 1.20, 1.20.1-rc1, 1.20.1, 23w31a, 23w32a, 23w33a, 23w35a, 1.20.2-pre1, 1.20.2-pre2, 1.20.2-pre3, 1.20.2-pre4, 1.20.2-rc1, 1.20.2-rc2, 1.20.2, 23w40a, 23w41a, 23w42a, 23w43a, 23w43b, 23w44a, 23w45a, 23w46a, 1.20.3-pre1, 1.20.3-pre2, 1.20.3-pre3, 1.20.3-pre4, 1.20.3-rc1, 1.20.3, 1.20.4-rc1, 1.20.4, 23w51a, 23w51b, 24w03a, 24w03b, 24w04a, 24w05a, 24w05b, 24w06a, 24w07a, 24w09a, 24w10a, 24w11a, 24w12a, 24w13a, 24w14potato, 24w14a, 1.20.5-pre1, 1.20.5-pre2, 1.20.5-pre3, 1.20.5-pre4, 1.20.5-rc1, 1.20.5-rc2, 1.20.5-rc3, 1.20.5, 1.20.6-rc1, 1.20.6, 24w18a, 24w19a, 24w19b, 24w20a, 24w21a, 24w21b, 1.21-pre1, 1.21-pre2, 1.21-pre3, 1.21-pre4, 1.21-rc1, 1.21, 1.21.1-rc1, 1.21.1, 24w33a, 24w34a, 24w35a, 24w36a, 24w37a, 24w38a, 24w39a, 24w40a, 1.21.2-pre1, 1.21.2-pre2, 1.21.2-pre3, 1.21.2-pre4, 1.21.2-pre5, 1.21.2-rc1, 1.21.2-rc2, 1.21.2, 1.21.3, 24w44a, 24w45a, 24w46a, 1.21.4-pre1, 1.21.4-pre2, 1.21.4-pre3, 1.21.4-rc1, 1.21.4-rc2, 1.21.4-rc3, 1.21.4, 25w02a, 25w03a, 25w04a, 25w05a, 25w06a, 25w07a, 25w08a, 25w09a, 25w09b, 25w10a, 1.21.5-pre1, 1.21.5-pre2, 1.21.5-pre3, 1.21.5-rc1, 1.21.5-rc2, 1.21.5, 25w14craftmine, 25w15a, 25w16a, 25w17a, 25w18a, 25w19a, 25w20a, 25w21a, 1.21.6-pre1, 1.21.6-pre2, 1.21.6-pre3, 1.21.6-pre4, 1.21.6-rc1, 1.21.6, 1.21.7-rc1, 1.21.7-rc2, 1.21.7, 1.21.8-rc1, 1.21.8, 25w31a, 25w32a, 25w33a, 25w34a, 25w34b, 25w35a, 25w36a, 25w36b, 25w37a, 1.21.9-pre1, 1.21.9-pre2, 1.21.9-pre3, 1.21.9-pre4, 1.21.9-rc1, 1.21.9, 1.21.10-rc1, 1.21.10, 25w41a, 25w42a, 25w43a, 25w44a, 25w45a, 25w46a, 1.21.11-pre1, 1.21.11-pre2, 1.21.11-pre3, 1.21.11-pre4, 1.21.11-pre5, 1.21.11-rc1, 1.21.11-rc2, 1.21.11-rc3, 1.21.11, 26.1-snapshot-1, 26.1-snapshot-2, 26.1-snapshot-3, 26.1-snapshot-4, 26.1-snapshot-5, 26.1-snapshot-6, 26.1-snapshot-7, 26.1-snapshot-8, 26.1-snapshot-9, 26.1-snapshot-10, 26.1-snapshot-11, 26.1-pre-1, 26.1-pre-2, 26.1-pre-3, 26.1-rc-1, 26.1-rc-2, 26.1-rc-3, 26.1, 26.1.1-rc-1, 26.1.1, 26w14a, 26.2-snapshot-1, 26.1.2-rc-1, 26.1.2, 26.2-snapshot-2, 26.2-snapshot-3, 26.2-snapshot-4, 26.2-snapshot-5, 26.2-snapshot-6, 26.2-snapshot-7, 26.2-snapshot-8, 26.2-pre-1, 26.2-pre-2, 26.2-pre-3, 26.2-pre-4, 26.2-pre-5, 26.2-pre-6, 26.2-rc-1, 26.2-rc-2, 26.2, 26.3-snapshot-1, 26.3-snapshot-2, 26.3-snapshot-3, 26.3-snapshot-4, 26.3-snapshot-5, 26.3-snapshot-6, 26.3-snapshot-7, 26.3-snapshot-8, 26.3-snapshot-9, 26.3-snapshot-10, 26.3-pre-1, 26.3-pre-2, 26.3-pre-3, 26.3-rc-1, 26.3-rc-2, 26.3-rc-3, 26.3bukkit, folia, paper, purpur, spigot
Скачать
Что нового
# Changelog ## 26.2.2 — 15/09/2026 ### Added - **Return to the original position after races**: new `racing.lobby.return-after-end` setting (default `false`, overridable per track). When enabled, participants return to their saved pre-race location when they finish, forfeit, or when the race ends or is cancelled, instead of being sent to the lobby. No `/boatracing race back` window is needed for those returns. Contributed by [@Renaud11232](https://github.com/Renaud11232) in [#9](https://github.com/Jaie55/BoatRacing/pull/9). ### Fixed - **`return-after-end` with no lobby**: the automatic return is now checked before the lobby location guard, so the setting also applies when the registration lobby is disabled or its world is unavailable (previously it silently did nothing).
release

BoatRacing 26.2.1

26.2.1
11 сент. 2026 г.28Minecraft: 22w11a, 22w12a, 22w13a, 22w13oneblockatatime, 22w14a, 22w15a, 22w16a, 22w16b, 22w17a, 22w18a, 22w19a, 1.19-pre1, 1.19-pre2, 1.19-pre3, 1.19-pre4, 1.19-pre5, 1.19-rc1, 1.19-rc2, 1.19, 22w24a, 1.19.1-pre1, 1.19.1-rc1, 1.19.1-pre2, 1.19.1-pre3, 1.19.1-pre4, 1.19.1-pre5, 1.19.1-pre6, 1.19.1-rc2, 1.19.1-rc3, 1.19.1, 1.19.2-rc1, 1.19.2-rc2, 1.19.2, 22w42a, 22w43a, 22w44a, 22w45a, 22w46a, 1.19.3-pre1, 1.19.3-pre2, 1.19.3-pre3, 1.19.3-rc1, 1.19.3-rc2, 1.19.3-rc3, 1.19.3, 23w03a, 23w04a, 23w05a, 23w06a, 23w07a, 1.19.4-pre1, 1.19.4-pre2, 1.19.4-pre3, 1.19.4-pre4, 1.19.4-rc1, 1.19.4-rc2, 1.19.4-rc3, 1.19.4, 23w12a, 23w13a, 23w13a_or_b, 23w14a, 23w16a, 23w17a, 23w18a, 1.20-pre1, 1.20-pre2, 1.20-pre3, 1.20-pre4, 1.20-pre5, 1.20-pre6, 1.20-pre7, 1.20-rc1, 1.20, 1.20.1-rc1, 1.20.1, 23w31a, 23w32a, 23w33a, 23w35a, 1.20.2-pre1, 1.20.2-pre2, 1.20.2-pre3, 1.20.2-pre4, 1.20.2-rc1, 1.20.2-rc2, 1.20.2, 23w40a, 23w41a, 23w42a, 23w43a, 23w43b, 23w44a, 23w45a, 23w46a, 1.20.3-pre1, 1.20.3-pre2, 1.20.3-pre3, 1.20.3-pre4, 1.20.3-rc1, 1.20.3, 1.20.4-rc1, 1.20.4, 23w51a, 23w51b, 24w03a, 24w03b, 24w04a, 24w05a, 24w05b, 24w06a, 24w07a, 24w09a, 24w10a, 24w11a, 24w12a, 24w13a, 24w14potato, 24w14a, 1.20.5-pre1, 1.20.5-pre2, 1.20.5-pre3, 1.20.5-pre4, 1.20.5-rc1, 1.20.5-rc2, 1.20.5-rc3, 1.20.5, 1.20.6-rc1, 1.20.6, 24w18a, 24w19a, 24w19b, 24w20a, 24w21a, 24w21b, 1.21-pre1, 1.21-pre2, 1.21-pre3, 1.21-pre4, 1.21-rc1, 1.21, 1.21.1-rc1, 1.21.1, 24w33a, 24w34a, 24w35a, 24w36a, 24w37a, 24w38a, 24w39a, 24w40a, 1.21.2-pre1, 1.21.2-pre2, 1.21.2-pre3, 1.21.2-pre4, 1.21.2-pre5, 1.21.2-rc1, 1.21.2-rc2, 1.21.2, 1.21.3, 24w44a, 24w45a, 24w46a, 1.21.4-pre1, 1.21.4-pre2, 1.21.4-pre3, 1.21.4-rc1, 1.21.4-rc2, 1.21.4-rc3, 1.21.4, 25w02a, 25w03a, 25w04a, 25w05a, 25w06a, 25w07a, 25w08a, 25w09a, 25w09b, 25w10a, 1.21.5-pre1, 1.21.5-pre2, 1.21.5-pre3, 1.21.5-rc1, 1.21.5-rc2, 1.21.5, 25w14craftmine, 25w15a, 25w16a, 25w17a, 25w18a, 25w19a, 25w20a, 25w21a, 1.21.6-pre1, 1.21.6-pre2, 1.21.6-pre3, 1.21.6-pre4, 1.21.6-rc1, 1.21.6, 1.21.7-rc1, 1.21.7-rc2, 1.21.7, 1.21.8-rc1, 1.21.8, 25w31a, 25w32a, 25w33a, 25w34a, 25w34b, 25w35a, 25w36a, 25w36b, 25w37a, 1.21.9-pre1, 1.21.9-pre2, 1.21.9-pre3, 1.21.9-pre4, 1.21.9-rc1, 1.21.9, 1.21.10-rc1, 1.21.10, 25w41a, 25w42a, 25w43a, 25w44a, 25w45a, 25w46a, 1.21.11-pre1, 1.21.11-pre2, 1.21.11-pre3, 1.21.11-pre4, 1.21.11-pre5, 1.21.11-rc1, 1.21.11-rc2, 1.21.11-rc3, 1.21.11, 26.1-snapshot-1, 26.1-snapshot-2, 26.1-snapshot-3, 26.1-snapshot-4, 26.1-snapshot-5, 26.1-snapshot-6, 26.1-snapshot-7, 26.1-snapshot-8, 26.1-snapshot-9, 26.1-snapshot-10, 26.1-snapshot-11, 26.1-pre-1, 26.1-pre-2, 26.1-pre-3, 26.1-rc-1, 26.1-rc-2, 26.1-rc-3, 26.1, 26.1.1-rc-1, 26.1.1, 26w14a, 26.2-snapshot-1, 26.1.2-rc-1, 26.1.2, 26.2-snapshot-2, 26.2-snapshot-3, 26.2-snapshot-4, 26.2-snapshot-5, 26.2-snapshot-6, 26.2-snapshot-7, 26.2-snapshot-8, 26.2-pre-1, 26.2-pre-2, 26.2-pre-3, 26.2-pre-4, 26.2-pre-5, 26.2-pre-6, 26.2-rc-1, 26.2-rc-2, 26.2, 26.3-snapshot-1, 26.3-snapshot-2, 26.3-snapshot-3, 26.3-snapshot-4, 26.3-snapshot-5, 26.3-snapshot-6, 26.3-snapshot-7, 26.3-snapshot-8, 26.3-snapshot-9, 26.3-snapshot-10, 26.3-pre-1, 26.3-pre-2, 26.3-pre-3, 26.3-rc-1, 26.3-rc-2, 26.3-rc-3bukkit, folia, paper, purpur, spigot
Скачать
Что нового
# Changelog ## 26.2.1 — 11/09/2026 ### Added - **Global race placeholders**: `%boatracing_race_running%`, `%boatracing_race_registering%`, and `%boatracing_race_status%` now resolve across every track session, so a single scoreboard/hologram line can react when any race opens or starts. `%boatracing_race_status%` returns `running`, `registering`, or `idle`, with running taking precedence when multiple tracks are active. - **Translatable race status labels**: `%boatracing_race_status%` labels now come from `placeholder.race-status.*` in `messages_<lang>.yml` and are translated across all 27 bundled languages (for example `running`/`registering`/`idle` in English and `en curso`/`registro`/`inactiva` in Spanish). - **11 new community language bundles**: added `uk` (Українська), `id` (Bahasa Indonesia), `ar` (العربية), `nl` (Nederlands), `cs` (Čeština), `vi` (Tiếng Việt), `th` (ไทย), `tl` (Filipino), `da` (Dansk), `no` (Norsk), and `fi` (Suomi). Every bundle is fully translated from the English file with the same 719 keys and line-for-line structure, including localized `placeholder.race-status.*` labels. Bundled languages are now 27 (2 official + 25 community). - **Locale validation tool**: `tools/check_locales.py` compares every `messages_*.yml` against `messages_en.yml` and reports missing/extra/duplicate keys, placeholder mismatches, colour/escape differences, and possible untranslated text. ### Fixed - **Duplicate `admin.help.language` key**: removed a wrongly placed usage line that silently overrode the help entry in 11 community bundles (`fr`, `it`, `ja`, `ko`, `pl`, `pt_BR`, `pt_PT`, `ru`, `sv`, `tr`, `zh_CN`). - **Registration-time messages in community bundles**: `es_419`, `it`, `ja`, `ko`, `pl`, `pt_BR`, `pt_PT`, `ru`, `sv`, `tr`, `zh_CN`, and `zh_TW` now define `setup.show.regtime` and `setup.error.setregtime` (replacing the obsolete `race.status.regtime`), so registration-time output is no longer shown in English. - **Completed translations in existing bundles**: translated 353 remaining English strings across 22 bundles (start-light messages, registration-time wizard steps, navigation/status/admin labels, download/usage lines, etc.), so no bundled message text falls back to English. The only intentionally identical value is `gui.admin.lore-color` in `es`/`es_419` because `Color` is also the Spanish word. - **Uniform bundle structure**: all 27 `messages_*.yml` files now mirror `messages_en.yml` exactly (758 lines, same key order, blank lines and CRLF endings), so the bundles stay consistent and diff cleanly. The locale checker now also rejects keys that have an inline value and child keys (a broken YAML shape).
release

BoatRacing 26.2

26.2
24 июн. 2026 г.287Minecraft: 22w11a, 22w12a, 22w13a, 22w13oneblockatatime, 22w14a, 22w15a, 22w16a, 22w16b, 22w17a, 22w18a, 22w19a, 1.19-pre1, 1.19-pre2, 1.19-pre3, 1.19-pre4, 1.19-pre5, 1.19-rc1, 1.19-rc2, 1.19, 22w24a, 1.19.1-pre1, 1.19.1-rc1, 1.19.1-pre2, 1.19.1-pre3, 1.19.1-pre4, 1.19.1-pre5, 1.19.1-pre6, 1.19.1-rc2, 1.19.1-rc3, 1.19.1, 1.19.2-rc1, 1.19.2-rc2, 1.19.2, 22w42a, 22w43a, 22w44a, 22w45a, 22w46a, 1.19.3-pre1, 1.19.3-pre2, 1.19.3-pre3, 1.19.3-rc1, 1.19.3-rc2, 1.19.3-rc3, 1.19.3, 23w03a, 23w04a, 23w05a, 23w06a, 23w07a, 1.19.4-pre1, 1.19.4-pre2, 1.19.4-pre3, 1.19.4-pre4, 1.19.4-rc1, 1.19.4-rc2, 1.19.4-rc3, 1.19.4, 23w12a, 23w13a, 23w13a_or_b, 23w14a, 23w16a, 23w17a, 23w18a, 1.20-pre1, 1.20-pre2, 1.20-pre3, 1.20-pre4, 1.20-pre5, 1.20-pre6, 1.20-pre7, 1.20-rc1, 1.20, 1.20.1-rc1, 1.20.1, 23w31a, 23w32a, 23w33a, 23w35a, 1.20.2-pre1, 1.20.2-pre2, 1.20.2-pre3, 1.20.2-pre4, 1.20.2-rc1, 1.20.2-rc2, 1.20.2, 23w40a, 23w41a, 23w42a, 23w43a, 23w43b, 23w44a, 23w45a, 23w46a, 1.20.3-pre1, 1.20.3-pre2, 1.20.3-pre3, 1.20.3-pre4, 1.20.3-rc1, 1.20.3, 1.20.4-rc1, 1.20.4, 23w51a, 23w51b, 24w03a, 24w03b, 24w04a, 24w05a, 24w05b, 24w06a, 24w07a, 24w09a, 24w10a, 24w11a, 24w12a, 24w13a, 24w14potato, 24w14a, 1.20.5-pre1, 1.20.5-pre2, 1.20.5-pre3, 1.20.5-pre4, 1.20.5-rc1, 1.20.5-rc2, 1.20.5-rc3, 1.20.5, 1.20.6-rc1, 1.20.6, 24w18a, 24w19a, 24w19b, 24w20a, 24w21a, 24w21b, 1.21-pre1, 1.21-pre2, 1.21-pre3, 1.21-pre4, 1.21-rc1, 1.21, 1.21.1-rc1, 1.21.1, 24w33a, 24w34a, 24w35a, 24w36a, 24w37a, 24w38a, 24w39a, 24w40a, 1.21.2-pre1, 1.21.2-pre2, 1.21.2-pre3, 1.21.2-pre4, 1.21.2-pre5, 1.21.2-rc1, 1.21.2-rc2, 1.21.2, 1.21.3, 24w44a, 24w45a, 24w46a, 1.21.4-pre1, 1.21.4-pre2, 1.21.4-pre3, 1.21.4-rc1, 1.21.4-rc2, 1.21.4-rc3, 1.21.4, 25w02a, 25w03a, 25w04a, 25w05a, 25w06a, 25w07a, 25w08a, 25w09a, 25w09b, 25w10a, 1.21.5-pre1, 1.21.5-pre2, 1.21.5-pre3, 1.21.5-rc1, 1.21.5-rc2, 1.21.5, 25w14craftmine, 25w15a, 25w16a, 25w17a, 25w18a, 25w19a, 25w20a, 25w21a, 1.21.6-pre1, 1.21.6-pre2, 1.21.6-pre3, 1.21.6-pre4, 1.21.6-rc1, 1.21.6, 1.21.7-rc1, 1.21.7-rc2, 1.21.7, 1.21.8-rc1, 1.21.8, 25w31a, 25w32a, 25w33a, 25w34a, 25w34b, 25w35a, 25w36a, 25w36b, 25w37a, 1.21.9-pre1, 1.21.9-pre2, 1.21.9-pre3, 1.21.9-pre4, 1.21.9-rc1, 1.21.9, 1.21.10-rc1, 1.21.10, 25w41a, 25w42a, 25w43a, 25w44a, 25w45a, 25w46a, 1.21.11-pre1, 1.21.11-pre2, 1.21.11-pre3, 1.21.11-pre4, 1.21.11-pre5, 1.21.11-rc1, 1.21.11-rc2, 1.21.11-rc3, 1.21.11, 26.1-snapshot-1, 26.1-snapshot-2, 26.1-snapshot-3, 26.1-snapshot-4, 26.1-snapshot-5, 26.1-snapshot-6, 26.1-snapshot-7, 26.1-snapshot-8, 26.1-snapshot-9, 26.1-snapshot-10, 26.1-snapshot-11, 26.1-pre-1, 26.1-pre-2, 26.1-pre-3, 26.1-rc-1, 26.1-rc-2, 26.1-rc-3, 26.1, 26.1.1-rc-1, 26.1.1, 26w14a, 26.2-snapshot-1, 26.1.2-rc-1, 26.1.2, 26.2-snapshot-2, 26.2-snapshot-3, 26.2-snapshot-4, 26.2-snapshot-5, 26.2-snapshot-6, 26.2-snapshot-7, 26.2-snapshot-8, 26.2-pre-1, 26.2-pre-2, 26.2-pre-3, 26.2-pre-4, 26.2-pre-5, 26.2-pre-6, 26.2-rc-1, 26.2-rc-2, 26.2, 26.3-snapshot-1, 26.3-snapshot-2, 26.3-snapshot-3, 26.3-snapshot-4, 26.3-snapshot-5, 26.3-snapshot-6, 26.3-snapshot-7, 26.3-snapshot-8, 26.3-snapshot-9, 26.3-snapshot-10, 26.3-pre-1, 26.3-pre-2, 26.3-pre-3, 26.3-rc-1, 26.3-rc-2bukkit, folia, paper, purpur, spigot
Скачать
Что нового
# Changelog ## 26.2 — 24/06/2026 ### Added - **MC-MrBirdy added as co-author** for ongoing contributions across multiple releases. - **New version numbering**: aligned with Minecraft's new `YY.D.H` system (Year.Drop.Hotfix). - **Per-track broadcast mode**: `racing.broadcast-mode` accepts `global` or `racers`, overridable per track. Contributed by [@MC-MrBirdy](https://github.com/MC-MrBirdy) in [#5](https://github.com/Jaie55/BoatRacing/pull/5). - **Per-track lobby configuration**: lobby settings can now be set per track for dedicated lobbies. Contributed by [@MC-MrBirdy](https://github.com/MC-MrBirdy) in [#5](https://github.com/Jaie55/BoatRacing/pull/5). - **Per-track rewards configuration**: rewards can now be overridden per track. Contributed by [@MC-MrBirdy](https://github.com/MC-MrBirdy) in [#5](https://github.com/Jaie55/BoatRacing/pull/5). - **Admin `-p:` target flag**: admins/console can target other players for commands by appending `-p:<player>`. Contributed by [@MC-MrBirdy](https://github.com/MC-MrBirdy) in [#5](https://github.com/Jaie55/BoatRacing/pull/5). - **Start lights wand UX**: Shift+Left Click a Redstone Lamp with the wand to add it as a start light, Shift+Right Click to remove. Lamp lights up with green particles on add, smoke on remove. Wand lore shows light instructions in all 15 languages. - **Restart command**: `/boatracing race restart [track]` stops any running race, re-opens registration, re-joins previous participants, and force-starts. Auto-detects track if sender is in an active race. Permission: `boatracing.race.admin` or `boatracing.setup`. - **Per-track registration time**: `registration-seconds` can now be set per track via `/boatracing setup setregtime <seconds>`. Configurable in the setup wizard as step 8/8. Displayed in `setup show`. Reported by [@supershootstudions-lgtm](https://github.com/supershootstudions-lgtm) in [#6](https://github.com/Jaie55/BoatRacing/issues/6). - **Clearlobby command**: `/boatracing setup clearlobby` disables the registration lobby for the current track. - **Debug logging levels**: set `debug` in `config.yml` to `"off"` (default), `"severe"`, `"warning"`, `"info"`, `"fine"`, `"finer"`, or `"finest"`. Controls console log verbosity. Also applies on `/boatracing reload`. ### Changed - **UpdateChecker**: version comparison now supports `YY.D.H` format natively. Errors always logged to console. - **Wizard LIGHTS step**: `description` and `hint` now translated to all 15 languages. - **Setup summary**: laps count now included in the final setup wizard summary. - **Wizard step numbering**: updated from 1/7–7/7 to 1/8–8/8 to include the new REGTIME step. ### Fixed - Action bar now properly cleared after forfeiting a race. Contributed by [@MC-MrBirdy](https://github.com/MC-MrBirdy) in [#5](https://github.com/Jaie55/BoatRacing/pull/5). - Forfeit command correctly uses resolved player reference instead of raw sender. Contributed by [@MC-MrBirdy](https://github.com/MC-MrBirdy) in [#5](https://github.com/Jaie55/BoatRacing/pull/5). - Lobby section null-safety when configuration is missing. Contributed by [@MC-MrBirdy](https://github.com/MC-MrBirdy) in [#5](https://github.com/Jaie55/BoatRacing/pull/5). - Reward section null-safety when configuration is missing. Contributed by [@MC-MrBirdy](https://github.com/MC-MrBirdy) in [#5](https://github.com/Jaie55/BoatRacing/pull/5). - Cross-track reward leakage prevented (stable global fallback). Contributed by [@MC-MrBirdy](https://github.com/MC-MrBirdy) in [#5](https://github.com/Jaie55/BoatRacing/pull/5). - Broadcast mode string comparison now uses `.equals()` instead of `==`. Contributed by [@MC-MrBirdy](https://github.com/MC-MrBirdy) in [#5](https://github.com/Jaie55/BoatRacing/pull/5). - `-p:` flag no longer interferes with downstream argument length checks. Contributed by [@MC-MrBirdy](https://github.com/MC-MrBirdy) in [#5](https://github.com/Jaie55/BoatRacing/pull/5). - **Setup wizard `setlaps`**: now correctly displays and persists custom lap values in the wizard prompt. - **Setup show**: fixed untranslated status labels (`general.yes`/`general.no` → `setup.status-yes`/`setup.status-no`). Added lap count and registration time display. Excluded laps and registration-seconds from the raw overrides section. - **Messages YAML**: indentation corrected for `cancelled-no-participants` and `restarted` keys across all 16 locales. - **Race finish vehicle cleanup**: players now properly dismount their boat when finishing a race with the lobby disabled.
release

BoatRacing 1.1.6

1.1.6
17 июн. 2026 г.58Minecraft: 22w11a, 22w12a, 22w13a, 22w13oneblockatatime, 22w14a, 22w15a, 22w16a, 22w16b, 22w17a, 22w18a, 22w19a, 1.19-pre1, 1.19-pre2, 1.19-pre3, 1.19-pre4, 1.19-pre5, 1.19-rc1, 1.19-rc2, 1.19, 22w24a, 1.19.1-pre1, 1.19.1-rc1, 1.19.1-pre2, 1.19.1-pre3, 1.19.1-pre4, 1.19.1-pre5, 1.19.1-pre6, 1.19.1-rc2, 1.19.1-rc3, 1.19.1, 1.19.2-rc1, 1.19.2-rc2, 1.19.2, 22w42a, 22w43a, 22w44a, 22w45a, 22w46a, 1.19.3-pre1, 1.19.3-pre2, 1.19.3-pre3, 1.19.3-rc1, 1.19.3-rc2, 1.19.3-rc3, 1.19.3, 23w03a, 23w04a, 23w05a, 23w06a, 23w07a, 1.19.4-pre1, 1.19.4-pre2, 1.19.4-pre3, 1.19.4-pre4, 1.19.4-rc1, 1.19.4-rc2, 1.19.4-rc3, 1.19.4, 23w12a, 23w13a, 23w13a_or_b, 23w14a, 23w16a, 23w17a, 23w18a, 1.20-pre1, 1.20-pre2, 1.20-pre3, 1.20-pre4, 1.20-pre5, 1.20-pre6, 1.20-pre7, 1.20-rc1, 1.20, 1.20.1-rc1, 1.20.1, 23w31a, 23w32a, 23w33a, 23w35a, 1.20.2-pre1, 1.20.2-pre2, 1.20.2-pre3, 1.20.2-pre4, 1.20.2-rc1, 1.20.2-rc2, 1.20.2, 23w40a, 23w41a, 23w42a, 23w43a, 23w43b, 23w44a, 23w45a, 23w46a, 1.20.3-pre1, 1.20.3-pre2, 1.20.3-pre3, 1.20.3-pre4, 1.20.3-rc1, 1.20.3, 1.20.4-rc1, 1.20.4, 23w51a, 23w51b, 24w03a, 24w03b, 24w04a, 24w05a, 24w05b, 24w06a, 24w07a, 24w09a, 24w10a, 24w11a, 24w12a, 24w13a, 24w14potato, 24w14a, 1.20.5-pre1, 1.20.5-pre2, 1.20.5-pre3, 1.20.5-pre4, 1.20.5-rc1, 1.20.5-rc2, 1.20.5-rc3, 1.20.5, 1.20.6-rc1, 1.20.6, 24w18a, 24w19a, 24w19b, 24w20a, 24w21a, 24w21b, 1.21-pre1, 1.21-pre2, 1.21-pre3, 1.21-pre4, 1.21-rc1, 1.21, 1.21.1-rc1, 1.21.1, 24w33a, 24w34a, 24w35a, 24w36a, 24w37a, 24w38a, 24w39a, 24w40a, 1.21.2-pre1, 1.21.2-pre2, 1.21.2-pre3, 1.21.2-pre4, 1.21.2-pre5, 1.21.2-rc1, 1.21.2-rc2, 1.21.2, 1.21.3, 24w44a, 24w45a, 24w46a, 1.21.4-pre1, 1.21.4-pre2, 1.21.4-pre3, 1.21.4-rc1, 1.21.4-rc2, 1.21.4-rc3, 1.21.4, 25w02a, 25w03a, 25w04a, 25w05a, 25w06a, 25w07a, 25w08a, 25w09a, 25w09b, 25w10a, 1.21.5-pre1, 1.21.5-pre2, 1.21.5-pre3, 1.21.5-rc1, 1.21.5-rc2, 1.21.5, 25w14craftmine, 25w15a, 25w16a, 25w17a, 25w18a, 25w19a, 25w20a, 25w21a, 1.21.6-pre1, 1.21.6-pre2, 1.21.6-pre3, 1.21.6-pre4, 1.21.6-rc1, 1.21.6, 1.21.7-rc1, 1.21.7-rc2, 1.21.7, 1.21.8-rc1, 1.21.8, 25w31a, 25w32a, 25w33a, 25w34a, 25w34b, 25w35a, 25w36a, 25w36b, 25w37a, 1.21.9-pre1, 1.21.9-pre2, 1.21.9-pre3, 1.21.9-pre4, 1.21.9-rc1, 1.21.9, 1.21.10-rc1, 1.21.10, 25w41a, 25w42a, 25w43a, 25w44a, 25w45a, 25w46a, 1.21.11-pre1, 1.21.11-pre2, 1.21.11-pre3, 1.21.11-pre4, 1.21.11-pre5, 1.21.11-rc1, 1.21.11-rc2, 1.21.11-rc3, 1.21.11, 26.1-snapshot-1, 26.1-snapshot-2, 26.1-snapshot-3, 26.1-snapshot-4, 26.1-snapshot-5, 26.1-snapshot-6, 26.1-snapshot-7, 26.1-snapshot-8, 26.1-snapshot-9, 26.1-snapshot-10, 26.1-snapshot-11, 26.1-pre-1, 26.1-pre-2, 26.1-pre-3, 26.1-rc-1, 26.1-rc-2, 26.1-rc-3, 26.1, 26.1.1-rc-1, 26.1.1, 26w14a, 26.2-snapshot-1, 26.1.2-rc-1, 26.1.2, 26.2-snapshot-2, 26.2-snapshot-3, 26.2-snapshot-4, 26.2-snapshot-5, 26.2-snapshot-6, 26.2-snapshot-7, 26.2-snapshot-8, 26.2-pre-1, 26.2-pre-2, 26.2-pre-3, 26.2-pre-4, 26.2-pre-5, 26.2-pre-6, 26.2-rc-1, 26.2-rc-2, 26.2bukkit, folia, paper, purpur, spigot
Скачать
Что нового
# Changelog ## 1.1.6 — 17/06/2026 ### Added - **Admin Race checkpoint editor UI**: added checkpoint management directly in the race admin inventory with paginated listing and in-place actions (add from selection, replace, remove, move up/down). - **Admin Race pitstop quick controls**: added mandatory pitstop quick-set actions (`0/1/2`) plus custom anvil input from the race admin inventory. - **Setup selection particle visualizer**: added built-in wand selection wireframe rendering using particles, configurable under `setup.selection-visualizer.*` (`enabled`, `period-ticks`, `particle`, `spacing`, `max-particles-per-player`, `view-distance`, `show-only-with-wand`). - **Explicit track+laps placeholders**: added lap-scoped variants for comparative panels: `%boatracing_track_best_player_laps_<track>_<laps>%`, `%boatracing_track_best_time_laps_<track>_<laps>%`, `%boatracing_track_best_time_ms_laps_<track>_<laps>%`, plus `%boatracing_track_top_1|2|3_player|time|time_ms_laps_<track>_<laps>%`. - **Stats placeholders by track and laps**: added best-race/best-lap variants for viewer and top contexts scoped by track and by track+laps (for example `%boatracing_player_best_race_laps_<track>_<laps>%` and `%boatracing_top_player_best_race_name_laps_<track>_<laps>%`). - **Forfeit command** (`/boatracing race forfeit`): players can abandon a running race without stopping it for others. Permission `boatracing.race.forfeit` (default: true). Contributed by [@MC-MrBirdy](https://github.com/MC-MrBirdy) in [#3](https://github.com/Jaie55/BoatRacing/pull/3). - **DNF results display**: forfeited players appear as `DNF {player} (forfeited)` at the bottom of race results, separated from finishers. Finishers keep normal positions and rewards; forfeited players do not receive rewards or win/loss stats. - **Practice ghost replay (advanced vanilla MVP)**: solo practice sessions now capture sample paths and replay the best recorded ghost alongside the current run. Ghost entities (boat + armorstand) use no-collision rules, are hidden from other players, and interpolate smoothly with angular rotation. - **PracticeGhostManager**: new manager class for ghost persistence per track and lap count, using the DocumentStore backend. Ghosts are stored in `practice-ghosts.yml`. - **DocumentStore persistence layer**: new pluggable storage interface with three backends — YAML files (`YamlFileDocumentStore`), local SQLite (`JdbcDocumentStore` with SQLite dialect), and remote MySQL (`JdbcDocumentStore` with MySQL dialect). Backend selected via `config.yml` → `database.mode`. - **DocumentStoreFactory**: resolves the active store implementation from config and provides automatic legacy-YAML migration on first load when switching to SQLite/MySQL. - **Database config section**: new `database` block in `config.yml` with mode (`YAML`/`SQLITE`/`MYSQL`), table name, SQLite file path, and MySQL connection settings. - **Practice ghost config section**: new `practice.ghost` block in `config.yml` with enable toggle, sample/playback tick rates, minimum distance filter, sample cap, and name display option. - **Practice leave command**: `/boatracing race practice leave <track>` (and `exit` alias) to cleanly exit a practice session. Also handles disconnect/quit/kick via `PlayerQuitEvent` and `PlayerKickEvent` handlers. - **AnvilGUI 26.1/26.2 compatibility**: switched from upstream `net.wesjd:anvilgui:1.10.12-SNAPSHOT` to the `feeeedox/AnvilGUI` fork via JitPack. Added `Wrapper26_R1_LocalShim` as compatibility fallback for 26.1 close-event handling. Extended `VersionMatcher` with 1.19.x mappings, `26.1.2`, and `26.2`/`26.2.1`→`26_R2` entries, loading native `Wrapper26_R2` from the fork on 26.2. - **Race result forfeited message**: added `race.results.forfeited` key to all 16 bundled language files with translations. ### Changed - **Track-scoped Admin Race actions**: race/setup operations in Admin Race GUI now resolve the active track session explicitly, so edits and status reflect the selected track context. - **GUI setup persistence path**: laps/pitstops/checkpoint edits issued from Admin Race GUI now write through track configuration overrides as part of the same action flow. - **Setup override synchronization**: `/boatracing setup setlaps <n>` and `/boatracing setup setpitstops <n>` now also update the active in-memory race session for the selected track when that session already exists. - **Setup command docs clarity**: README setup command descriptions now state that laps/pitstops overrides apply immediately without restart/reload. - **Lap-context track records/placeholders**: track bests are now stored and resolved per lap count (`bestTimesByLaps`), preventing 2-lap records from overriding 3-lap placeholders (and vice versa) across `%boatracing_track_best_*%`, `%boatracing_track_top_*%`, and `%boatracing_player_track_best%`. - **Selection visualizer edge distribution**: particle allocation is now balanced across all box edges and visibility culling is performed against the full selection box distance, reducing inconsistent partial rendering. - **Forfeit broadcast scoping**: `forfeit()` now uses `raceAudience()` (participants + admins) instead of global `broadcast()` for the `{player} forfeited` message in competitive mode. Practice mode forfeits show a private `You left the practice session` message only to the runner. - **TeamManager, StatsManager, PracticeStatsManager refactored**: all three managers now read/write through `DocumentStore` instead of direct `File` + `YamlConfiguration.save/load`. Legacy YAML files are automatically migrated to the database on first load when using SQLite/MySQL mode. - **config.yml restructured** with section header comments and new `database` / `practice.ghost` blocks. - **Race state marking**: `RaceState` now includes a `forfeited` flag. `forfeit()` marks the state instead of removing it, so `checkAllFinished()` triggers correctly and `announceResults()` can display the player as DNF. - **Project version**: bumped to 1.1.6. Minecraft support range extended from 26.1 → 26.2. ### Fixed - **Stale per-track override reads in existing sessions**: race settings load now refreshes track data before reading `racing.*` overrides, preventing old values from being reused in cached track sessions. - **`setlaps` runtime mismatch**: fixed issue where `/boatracing setup setlaps <n>` acknowledged the new value but `/boatracing race open <track>` could still open registration with a previous lap count until server restart. - **`setpitstops` runtime mismatch**: fixed equivalent stale-value behavior for per-track `mandatory-pitstops` after `/boatracing setup setpitstops <n>`. - **Track setup editability after creation**: added granular setup editing commands so admins can remove one start/light by index (`removestart`, `removelight`) and clear finish/default pit (`clearfinish`, `clearpit`) without rebuilding the whole track config. - **Admin Race GUI i18n regression**: removed newly introduced hardcoded user-facing strings and routed checkpoint/pitstop/editor labels, lore, and action feedback through message keys. - **Localized coverage gap for new GUI keys**: added missing `gui.race.*` keys for all bundled locales so non-EN bundles no longer miss editor/pagination/pitstop texts. - **Stats tab-complete DataConverter spam**: player-name suggestions for `/boatracing stats <player>` no longer rely on `OfflinePlayer#getName()` in tab-complete paths, avoiding repeated Paper 1.21 `Failed to convert json to nbt` / `MalformedJsonException` console errors on malformed legacy playerdata. - **Setup wand text key fallback**: fixed wand name/lore rendering when message bundles store those entries under `setup.usage.*`; setup wand now resolves localized text instead of showing raw key strings. - **Selection wireframe truncation under tight budgets**: fixed abrupt edge cutoffs in large selections when particle limits are reached. - **DocumentStore initialization order**: `DocumentStoreFactory.create()` now runs before `TeamManager` instantiation in `onEnable()`, so TeamManager receives a valid store reference instead of null (which caused silent team data loss). - **Scoreboard DataConverter spam on Paper 26.1+**: replaced remaining `OfflinePlayer#getName()` calls in the scoreboard timer and result name resolution with `safeOfflineName()` that reads the player profile via reflection, avoiding `Failed to convert json to nbt` console errors from malformed legacy playerdata. - **SimpleScore sidebar reclamation during races**: the scoreboard timer now periodically re-hides SimpleScore (every ~2 seconds) during active races and practice sessions, preventing the external sidebar from overwriting the BoatRacing race display mid-session. - **`leavePractice()` vehicle cleanup**: changed from per-player `cleanupRaceVehicleForPlayer()` to full `cleanupRaceVehicles()` for consistency. - **Removed unused `{track}` placeholder** from `race.practice.left` message call in `leavePractice()`. - **Runtime JDBC driver loading**: SQLite and MySQL drivers are no longer shaded into the JAR. On first startup, the plugin downloads the required JDBC JARs (`sqlite-jdbc`, `mysql-connector-j`, `slf4j-api`, `slf4j-simple`) from Maven Central with SHA-256 checksum verification and caches them in `plugins/BoatRacing/lib/`. If the libs are unavailable (no internet, download failure, checksum mismatch) the plugin falls back gracefully to YAML mode. This keeps the plugin JAR at ~675 KB instead of ~18 MB. - **Practice forfeit no longer shows results header**: `forfeit()` in practice mode now calls `stopRace(false)` instead of `checkAllFinished()` → `stopRace(true)`, skipping the `Results:`/DNF display since there is no competitive outcome for a forfeited practice run. - **SQL injection hardening in JdbcDocumentStore**: the `database.table` config value is now sanitized to `[A-Za-z0-9_]` before use in DDL statements, preventing injection through the table name. - **Ghost collision team name bounds**: UUID substring extraction for the no-collision team name now uses `Math.min(9, uuidStr.length())` to guard against edge cases. - **Checkpoint/finish line fast-crossing detection**: `tickPlayer()` now uses ray-AABB segment intersection to detect when a boat passes through a checkpoint or finish region between movement ticks, preventing missed crossings at high boat speeds (ice boats, speed boosts). - **Countdown cancellation on practice leave**: `clearCountdownLock()` now cancels the scheduled countdown timer tasks, so leaving practice during pre-start lights no longer allows the countdown to continue and start a race. - **Hardcoded usage message removed**: the practice leave usage text now uses the `race.usage.practice-leave` message key across all language bundles. - **SimpleScore sidebar flickering**: the scoreboard timer now re-hides SimpleScore immediately on the first tick instead of waiting 2 seconds, preventing brief sidebar takeover at race/practice start. ### Stats Persistence - **`stats.yml` (competitive aggregate)** stores `playerWins`. - **`stats.yml` (competitive aggregate)** stores `teamWins`. - **`stats.yml` (competitive aggregate)** stores `playerPositions`. - **`stats.yml` (competitive aggregate)** stores `playerBestRace` (global per player). - **`stats.yml` (competitive aggregate)** stores `playerBestLap` (global per player). - **`stats.yml` (competitive aggregate)** stores `playerBestRaceByTrack` (per player and track). - **`stats.yml` (competitive aggregate)** stores `playerBestLapByTrack` (per player and track). - **`stats.yml` (competitive aggregate)** stores `playerBestRaceByTrackLaps` (per player, track, and lap count). - **`stats.yml` (competitive aggregate)** stores `playerBestLapByTrackLaps` (per player, track, and lap-context). - **`practice-stats.yml` (practice telemetry)** remains separate and stores run/lap/sector best/last per player and track. ### Docs - Added 1.1.6 release notes and QA coverage in README, CHANGELOG, and CHECKLIST (including checkpoint editor, pitstops GUI checks, forfeit, ghost replay, and DocumentStore features). - Removed 26.1 snapshot warning from README (26.2 is now fully supported).
release

BoatRacing 1.1.5

1.1.5
5 апр. 2026 г.210Minecraft: 22w11a, 22w12a, 22w13a, 22w13oneblockatatime, 22w14a, 22w15a, 22w16a, 22w16b, 22w17a, 22w18a, 22w19a, 1.19-pre1, 1.19-pre2, 1.19-pre3, 1.19-pre4, 1.19-pre5, 1.19-rc1, 1.19-rc2, 1.19, 22w24a, 1.19.1-pre1, 1.19.1-rc1, 1.19.1-pre2, 1.19.1-pre3, 1.19.1-pre4, 1.19.1-pre5, 1.19.1-pre6, 1.19.1-rc2, 1.19.1-rc3, 1.19.1, 1.19.2-rc1, 1.19.2-rc2, 1.19.2, 22w42a, 22w43a, 22w44a, 22w45a, 22w46a, 1.19.3-pre1, 1.19.3-pre2, 1.19.3-pre3, 1.19.3-rc1, 1.19.3-rc2, 1.19.3-rc3, 1.19.3, 23w03a, 23w04a, 23w05a, 23w06a, 23w07a, 1.19.4-pre1, 1.19.4-pre2, 1.19.4-pre3, 1.19.4-pre4, 1.19.4-rc1, 1.19.4-rc2, 1.19.4-rc3, 1.19.4, 23w12a, 23w13a, 23w13a_or_b, 23w14a, 23w16a, 23w17a, 23w18a, 1.20-pre1, 1.20-pre2, 1.20-pre3, 1.20-pre4, 1.20-pre5, 1.20-pre6, 1.20-pre7, 1.20-rc1, 1.20, 1.20.1-rc1, 1.20.1, 23w31a, 23w32a, 23w33a, 23w35a, 1.20.2-pre1, 1.20.2-pre2, 1.20.2-pre3, 1.20.2-pre4, 1.20.2-rc1, 1.20.2-rc2, 1.20.2, 23w40a, 23w41a, 23w42a, 23w43a, 23w43b, 23w44a, 23w45a, 23w46a, 1.20.3-pre1, 1.20.3-pre2, 1.20.3-pre3, 1.20.3-pre4, 1.20.3-rc1, 1.20.3, 1.20.4-rc1, 1.20.4, 23w51a, 23w51b, 24w03a, 24w03b, 24w04a, 24w05a, 24w05b, 24w06a, 24w07a, 24w09a, 24w10a, 24w11a, 24w12a, 24w13a, 24w14potato, 24w14a, 1.20.5-pre1, 1.20.5-pre2, 1.20.5-pre3, 1.20.5-pre4, 1.20.5-rc1, 1.20.5-rc2, 1.20.5-rc3, 1.20.5, 1.20.6-rc1, 1.20.6, 24w18a, 24w19a, 24w19b, 24w20a, 24w21a, 24w21b, 1.21-pre1, 1.21-pre2, 1.21-pre3, 1.21-pre4, 1.21-rc1, 1.21, 1.21.1-rc1, 1.21.1, 24w33a, 24w34a, 24w35a, 24w36a, 24w37a, 24w38a, 24w39a, 24w40a, 1.21.2-pre1, 1.21.2-pre2, 1.21.2-pre3, 1.21.2-pre4, 1.21.2-pre5, 1.21.2-rc1, 1.21.2-rc2, 1.21.2, 1.21.3, 24w44a, 24w45a, 24w46a, 1.21.4-pre1, 1.21.4-pre2, 1.21.4-pre3, 1.21.4-rc1, 1.21.4-rc2, 1.21.4-rc3, 1.21.4, 25w02a, 25w03a, 25w04a, 25w05a, 25w06a, 25w07a, 25w08a, 25w09a, 25w09b, 25w10a, 1.21.5-pre1, 1.21.5-pre2, 1.21.5-pre3, 1.21.5-rc1, 1.21.5-rc2, 1.21.5, 25w14craftmine, 25w15a, 25w16a, 25w17a, 25w18a, 25w19a, 25w20a, 25w21a, 1.21.6-pre1, 1.21.6-pre2, 1.21.6-pre3, 1.21.6-pre4, 1.21.6-rc1, 1.21.6, 1.21.7-rc1, 1.21.7-rc2, 1.21.7, 1.21.8-rc1, 1.21.8, 25w31a, 25w32a, 25w33a, 25w34a, 25w34b, 25w35a, 25w36a, 25w36b, 25w37a, 1.21.9-pre1, 1.21.9-pre2, 1.21.9-pre3, 1.21.9-pre4, 1.21.9-rc1, 1.21.9, 1.21.10-rc1, 1.21.10, 25w41a, 25w42a, 25w43a, 25w44a, 25w45a, 25w46a, 1.21.11-pre1, 1.21.11-pre2, 1.21.11-pre3, 1.21.11-pre4, 1.21.11-pre5, 1.21.11-rc1, 1.21.11-rc2, 1.21.11-rc3, 1.21.11, 26.1-snapshot-1, 26.1-snapshot-2, 26.1-snapshot-3, 26.1-snapshot-4, 26.1-snapshot-5, 26.1-snapshot-6, 26.1-snapshot-7, 26.1-snapshot-8, 26.1-snapshot-9, 26.1-snapshot-10, 26.1-snapshot-11, 26.1-pre-1, 26.1-pre-2, 26.1-pre-3, 26.1-rc-1, 26.1-rc-2, 26.1-rc-3, 26.1, 26.1.1-rc-1, 26.1.1bukkit, folia, paper, purpur, spigot
Скачать
Что нового
# 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.practice` with default `true`, so servers can grant/restrict solo practice independently from race-admin permissions. - **Stats permission node**: added `boatracing.stats` with default `true`, so servers can grant/restrict stats access independently. - **Stats-others permission node**: added `boatracing.stats.others` with default `true`, so servers can separately control viewing other players via `/boatracing stats <player>`. - **Map-vote open permission node**: added `boatracing.race.voteopen` with default `op`, 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.language` with default `op`, so language switching can be delegated without full admin management access. - **Persistent practice telemetry**: added `practice-stats.yml` storing 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.yml` as 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 example `PRACTICE`/`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 back` window + 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 voteopen` now supports opening all saved tracks (`all` or 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]` with `all`/`*` support. - **Runtime language switching flow**: changing language through `/boatracing admin language <code>` now persists into `config.yml` and 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-INF` manifest/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-step` hint 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-ready` requirement details are now resolved through `race.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 leaked `BoatType` tokens with localized labels in RU (`тип лодки`) and zh_CN (`船只类型`) admin `setboat` help/usage lines. - **Stats chat readability**: practice stats output now suppresses empty sector noise (e.g. `0:00.000` entries), and unsaved practice tracks use localized `stats.track-unsaved-label` names across bundled locales.
release

BoatRacing 1.1.4

1.1.4
4 апр. 2026 г.39Minecraft: 22w11a, 22w12a, 22w13a, 22w13oneblockatatime, 22w14a, 22w15a, 22w16a, 22w16b, 22w17a, 22w18a, 22w19a, 1.19-pre1, 1.19-pre2, 1.19-pre3, 1.19-pre4, 1.19-pre5, 1.19-rc1, 1.19-rc2, 1.19, 22w24a, 1.19.1-pre1, 1.19.1-rc1, 1.19.1-pre2, 1.19.1-pre3, 1.19.1-pre4, 1.19.1-pre5, 1.19.1-pre6, 1.19.1-rc2, 1.19.1-rc3, 1.19.1, 1.19.2-rc1, 1.19.2-rc2, 1.19.2, 22w42a, 22w43a, 22w44a, 22w45a, 22w46a, 1.19.3-pre1, 1.19.3-pre2, 1.19.3-pre3, 1.19.3-rc1, 1.19.3-rc2, 1.19.3-rc3, 1.19.3, 23w03a, 23w04a, 23w05a, 23w06a, 23w07a, 1.19.4-pre1, 1.19.4-pre2, 1.19.4-pre3, 1.19.4-pre4, 1.19.4-rc1, 1.19.4-rc2, 1.19.4-rc3, 1.19.4, 23w12a, 23w13a, 23w13a_or_b, 23w14a, 23w16a, 23w17a, 23w18a, 1.20-pre1, 1.20-pre2, 1.20-pre3, 1.20-pre4, 1.20-pre5, 1.20-pre6, 1.20-pre7, 1.20-rc1, 1.20, 1.20.1-rc1, 1.20.1, 23w31a, 23w32a, 23w33a, 23w35a, 1.20.2-pre1, 1.20.2-pre2, 1.20.2-pre3, 1.20.2-pre4, 1.20.2-rc1, 1.20.2-rc2, 1.20.2, 23w40a, 23w41a, 23w42a, 23w43a, 23w43b, 23w44a, 23w45a, 23w46a, 1.20.3-pre1, 1.20.3-pre2, 1.20.3-pre3, 1.20.3-pre4, 1.20.3-rc1, 1.20.3, 1.20.4-rc1, 1.20.4, 23w51a, 23w51b, 24w03a, 24w03b, 24w04a, 24w05a, 24w05b, 24w06a, 24w07a, 24w09a, 24w10a, 24w11a, 24w12a, 24w13a, 24w14potato, 24w14a, 1.20.5-pre1, 1.20.5-pre2, 1.20.5-pre3, 1.20.5-pre4, 1.20.5-rc1, 1.20.5-rc2, 1.20.5-rc3, 1.20.5, 1.20.6-rc1, 1.20.6, 24w18a, 24w19a, 24w19b, 24w20a, 24w21a, 24w21b, 1.21-pre1, 1.21-pre2, 1.21-pre3, 1.21-pre4, 1.21-rc1, 1.21, 1.21.1-rc1, 1.21.1, 24w33a, 24w34a, 24w35a, 24w36a, 24w37a, 24w38a, 24w39a, 24w40a, 1.21.2-pre1, 1.21.2-pre2, 1.21.2-pre3, 1.21.2-pre4, 1.21.2-pre5, 1.21.2-rc1, 1.21.2-rc2, 1.21.2, 1.21.3, 24w44a, 24w45a, 24w46a, 1.21.4-pre1, 1.21.4-pre2, 1.21.4-pre3, 1.21.4-rc1, 1.21.4-rc2, 1.21.4-rc3, 1.21.4, 25w02a, 25w03a, 25w04a, 25w05a, 25w06a, 25w07a, 25w08a, 25w09a, 25w09b, 25w10a, 1.21.5-pre1, 1.21.5-pre2, 1.21.5-pre3, 1.21.5-rc1, 1.21.5-rc2, 1.21.5, 25w14craftmine, 25w15a, 25w16a, 25w17a, 25w18a, 25w19a, 25w20a, 25w21a, 1.21.6-pre1, 1.21.6-pre2, 1.21.6-pre3, 1.21.6-pre4, 1.21.6-rc1, 1.21.6, 1.21.7-rc1, 1.21.7-rc2, 1.21.7, 1.21.8-rc1, 1.21.8, 25w31a, 25w32a, 25w33a, 25w34a, 25w34b, 25w35a, 25w36a, 25w36b, 25w37a, 1.21.9-pre1, 1.21.9-pre2, 1.21.9-pre3, 1.21.9-pre4, 1.21.9-rc1, 1.21.9, 1.21.10-rc1, 1.21.10, 25w41a, 25w42a, 25w43a, 25w44a, 25w45a, 25w46a, 1.21.11-pre1, 1.21.11-pre2, 1.21.11-pre3, 1.21.11-pre4, 1.21.11-pre5, 1.21.11-rc1, 1.21.11-rc2, 1.21.11-rc3, 1.21.11, 26.1-snapshot-1, 26.1-snapshot-2, 26.1-snapshot-3, 26.1-snapshot-4, 26.1-snapshot-5, 26.1-snapshot-6, 26.1-snapshot-7, 26.1-snapshot-8, 26.1-snapshot-9, 26.1-snapshot-10, 26.1-snapshot-11, 26.1-pre-1, 26.1-pre-2, 26.1-pre-3, 26.1-rc-1, 26.1-rc-2, 26.1-rc-3, 26.1, 26.1.1-rc-1, 26.1.1bukkit, folia, paper, purpur, spigot
Скачать
Что нового
# 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 snapshot` and implementation/risk badges for this build stream. - **Configurable minimum racers to start**: added `racing.min-players-to-start` as a global race-start threshold, with per-track override support via `tracks/<name>.yml` under `racing.min-players-to-start`. - **Localized minimum-player warning**: added `race.not-enough-players` to 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 unsaved` instead of an invalid placeholder token (`/boatracing race open <track>`), preventing `track not found <track>`. - **Paper 26.1 Anvil close-event compatibility**: added a custom AnvilGUI version-matcher path plus `Wrapper26_R1_Fixed` fallback implementation that probes compatible `handleInventoryCloseEvent` signatures 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-SNAPSHOT` in `pom.xml`. - **Stable tag status**: stable `1.1.4` publication 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>%` as `NEW (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.
beta

BoatRacing 1.1.4-26.1-SNAPSHOT

1.1.4-26.1-SNAPSHOT
2 апр. 2026 г.26Minecraft: 22w11a, 22w12a, 22w13a, 22w13oneblockatatime, 22w14a, 22w15a, 22w16a, 22w16b, 22w17a, 22w18a, 22w19a, 1.19-pre1, 1.19-pre2, 1.19-pre3, 1.19-pre4, 1.19-pre5, 1.19-rc1, 1.19-rc2, 1.19, 22w24a, 1.19.1-pre1, 1.19.1-rc1, 1.19.1-pre2, 1.19.1-pre3, 1.19.1-pre4, 1.19.1-pre5, 1.19.1-pre6, 1.19.1-rc2, 1.19.1-rc3, 1.19.1, 1.19.2-rc1, 1.19.2-rc2, 1.19.2, 22w42a, 22w43a, 22w44a, 22w45a, 22w46a, 1.19.3-pre1, 1.19.3-pre2, 1.19.3-pre3, 1.19.3-rc1, 1.19.3-rc2, 1.19.3-rc3, 1.19.3, 23w03a, 23w04a, 23w05a, 23w06a, 23w07a, 1.19.4-pre1, 1.19.4-pre2, 1.19.4-pre3, 1.19.4-pre4, 1.19.4-rc1, 1.19.4-rc2, 1.19.4-rc3, 1.19.4, 23w12a, 23w13a, 23w13a_or_b, 23w14a, 23w16a, 23w17a, 23w18a, 1.20-pre1, 1.20-pre2, 1.20-pre3, 1.20-pre4, 1.20-pre5, 1.20-pre6, 1.20-pre7, 1.20-rc1, 1.20, 1.20.1-rc1, 1.20.1, 23w31a, 23w32a, 23w33a, 23w35a, 1.20.2-pre1, 1.20.2-pre2, 1.20.2-pre3, 1.20.2-pre4, 1.20.2-rc1, 1.20.2-rc2, 1.20.2, 23w40a, 23w41a, 23w42a, 23w43a, 23w43b, 23w44a, 23w45a, 23w46a, 1.20.3-pre1, 1.20.3-pre2, 1.20.3-pre3, 1.20.3-pre4, 1.20.3-rc1, 1.20.3, 1.20.4-rc1, 1.20.4, 23w51a, 23w51b, 24w03a, 24w03b, 24w04a, 24w05a, 24w05b, 24w06a, 24w07a, 24w09a, 24w10a, 24w11a, 24w12a, 24w13a, 24w14potato, 24w14a, 1.20.5-pre1, 1.20.5-pre2, 1.20.5-pre3, 1.20.5-pre4, 1.20.5-rc1, 1.20.5-rc2, 1.20.5-rc3, 1.20.5, 1.20.6-rc1, 1.20.6, 24w18a, 24w19a, 24w19b, 24w20a, 24w21a, 24w21b, 1.21-pre1, 1.21-pre2, 1.21-pre3, 1.21-pre4, 1.21-rc1, 1.21, 1.21.1-rc1, 1.21.1, 24w33a, 24w34a, 24w35a, 24w36a, 24w37a, 24w38a, 24w39a, 24w40a, 1.21.2-pre1, 1.21.2-pre2, 1.21.2-pre3, 1.21.2-pre4, 1.21.2-pre5, 1.21.2-rc1, 1.21.2-rc2, 1.21.2, 1.21.3, 24w44a, 24w45a, 24w46a, 1.21.4-pre1, 1.21.4-pre2, 1.21.4-pre3, 1.21.4-rc1, 1.21.4-rc2, 1.21.4-rc3, 1.21.4, 25w02a, 25w03a, 25w04a, 25w05a, 25w06a, 25w07a, 25w08a, 25w09a, 25w09b, 25w10a, 1.21.5-pre1, 1.21.5-pre2, 1.21.5-pre3, 1.21.5-rc1, 1.21.5-rc2, 1.21.5, 25w14craftmine, 25w15a, 25w16a, 25w17a, 25w18a, 25w19a, 25w20a, 25w21a, 1.21.6-pre1, 1.21.6-pre2, 1.21.6-pre3, 1.21.6-pre4, 1.21.6-rc1, 1.21.6, 1.21.7-rc1, 1.21.7-rc2, 1.21.7, 1.21.8-rc1, 1.21.8, 25w31a, 25w32a, 25w33a, 25w34a, 25w34b, 25w35a, 25w36a, 25w36b, 25w37a, 1.21.9-pre1, 1.21.9-pre2, 1.21.9-pre3, 1.21.9-pre4, 1.21.9-rc1, 1.21.9, 1.21.10-rc1, 1.21.10, 25w41a, 25w42a, 25w43a, 25w44a, 25w45a, 25w46a, 1.21.11-pre1, 1.21.11-pre2, 1.21.11-pre3, 1.21.11-pre4, 1.21.11-pre5, 1.21.11-rc1, 1.21.11-rc2, 1.21.11-rc3, 1.21.11, 26.1-snapshot-1, 26.1-snapshot-2, 26.1-snapshot-3, 26.1-snapshot-4, 26.1-snapshot-5, 26.1-snapshot-6, 26.1-snapshot-7, 26.1-snapshot-8, 26.1-snapshot-9, 26.1-snapshot-10, 26.1-snapshot-11, 26.1-pre-1, 26.1-pre-2, 26.1-pre-3, 26.1-rc-1, 26.1-rc-2, 26.1-rc-3, 26.1, 26.1.1-rc-1, 26.1.1bukkit, folia, paper, purpur, spigot
Скачать
Что нового
# 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 snapshot` and implementation/risk badges for this build stream. - **Configurable minimum racers to start**: added `racing.min-players-to-start` as a global race-start threshold, with per-track override support via `tracks/<name>.yml` under `racing.min-players-to-start`. - **Localized minimum-player warning**: added `race.not-enough-players` to 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-SNAPSHOT` in `pom.xml`. - **Stable tag status**: stable `1.1.4` publication 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_Fixed` fallback implementation that probes compatible `handleInventoryCloseEvent` signatures 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.
release

BoatRacing 1.1.3

1.1.3
30 мар. 2026 г.109Minecraft: 22w11a, 22w12a, 22w13a, 22w13oneblockatatime, 22w14a, 22w15a, 22w16a, 22w16b, 22w17a, 22w18a, 22w19a, 1.19-pre1, 1.19-pre2, 1.19-pre3, 1.19-pre4, 1.19-pre5, 1.19-rc1, 1.19-rc2, 1.19, 22w24a, 1.19.1-pre1, 1.19.1-rc1, 1.19.1-pre2, 1.19.1-pre3, 1.19.1-pre4, 1.19.1-pre5, 1.19.1-pre6, 1.19.1-rc2, 1.19.1-rc3, 1.19.1, 1.19.2-rc1, 1.19.2-rc2, 1.19.2, 22w42a, 22w43a, 22w44a, 22w45a, 22w46a, 1.19.3-pre1, 1.19.3-pre2, 1.19.3-pre3, 1.19.3-rc1, 1.19.3-rc2, 1.19.3-rc3, 1.19.3, 23w03a, 23w04a, 23w05a, 23w06a, 23w07a, 1.19.4-pre1, 1.19.4-pre2, 1.19.4-pre3, 1.19.4-pre4, 1.19.4-rc1, 1.19.4-rc2, 1.19.4-rc3, 1.19.4, 23w12a, 23w13a, 23w13a_or_b, 23w14a, 23w16a, 23w17a, 23w18a, 1.20-pre1, 1.20-pre2, 1.20-pre3, 1.20-pre4, 1.20-pre5, 1.20-pre6, 1.20-pre7, 1.20-rc1, 1.20, 1.20.1-rc1, 1.20.1, 23w31a, 23w32a, 23w33a, 23w35a, 1.20.2-pre1, 1.20.2-pre2, 1.20.2-pre3, 1.20.2-pre4, 1.20.2-rc1, 1.20.2-rc2, 1.20.2, 23w40a, 23w41a, 23w42a, 23w43a, 23w43b, 23w44a, 23w45a, 23w46a, 1.20.3-pre1, 1.20.3-pre2, 1.20.3-pre3, 1.20.3-pre4, 1.20.3-rc1, 1.20.3, 1.20.4-rc1, 1.20.4, 23w51a, 23w51b, 24w03a, 24w03b, 24w04a, 24w05a, 24w05b, 24w06a, 24w07a, 24w09a, 24w10a, 24w11a, 24w12a, 24w13a, 24w14potato, 24w14a, 1.20.5-pre1, 1.20.5-pre2, 1.20.5-pre3, 1.20.5-pre4, 1.20.5-rc1, 1.20.5-rc2, 1.20.5-rc3, 1.20.5, 1.20.6-rc1, 1.20.6, 24w18a, 24w19a, 24w19b, 24w20a, 24w21a, 24w21b, 1.21-pre1, 1.21-pre2, 1.21-pre3, 1.21-pre4, 1.21-rc1, 1.21, 1.21.1-rc1, 1.21.1, 24w33a, 24w34a, 24w35a, 24w36a, 24w37a, 24w38a, 24w39a, 24w40a, 1.21.2-pre1, 1.21.2-pre2, 1.21.2-pre3, 1.21.2-pre4, 1.21.2-pre5, 1.21.2-rc1, 1.21.2-rc2, 1.21.2, 1.21.3, 24w44a, 24w45a, 24w46a, 1.21.4-pre1, 1.21.4-pre2, 1.21.4-pre3, 1.21.4-rc1, 1.21.4-rc2, 1.21.4-rc3, 1.21.4, 25w02a, 25w03a, 25w04a, 25w05a, 25w06a, 25w07a, 25w08a, 25w09a, 25w09b, 25w10a, 1.21.5-pre1, 1.21.5-pre2, 1.21.5-pre3, 1.21.5-rc1, 1.21.5-rc2, 1.21.5, 25w14craftmine, 25w15a, 25w16a, 25w17a, 25w18a, 25w19a, 25w20a, 25w21a, 1.21.6-pre1, 1.21.6-pre2, 1.21.6-pre3, 1.21.6-pre4, 1.21.6-rc1, 1.21.6, 1.21.7-rc1, 1.21.7-rc2, 1.21.7, 1.21.8-rc1, 1.21.8, 25w31a, 25w32a, 25w33a, 25w34a, 25w34b, 25w35a, 25w36a, 25w36b, 25w37a, 1.21.9-pre1, 1.21.9-pre2, 1.21.9-pre3, 1.21.9-pre4, 1.21.9-rc1, 1.21.9, 1.21.10-rc1, 1.21.10, 25w41a, 25w42a, 25w43a, 25w44a, 25w45a, 25w46a, 1.21.11-pre1, 1.21.11-pre2, 1.21.11-pre3, 1.21.11-pre4, 1.21.11-pre5, 1.21.11-rc1, 1.21.11-rc2, 1.21.11-rc3, 1.21.11bukkit, folia, paper, purpur, spigot
Скачать
Что нового
# 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 default `OAK`. - **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 legacy `command` (single string), with safer fallback behavior for missing per-position keys (including position `1`). ### 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.
release

BoatRacing 1.1.2

1.1.2
29 мар. 2026 г.22Minecraft: 22w11a, 22w12a, 22w13a, 22w13oneblockatatime, 22w14a, 22w15a, 22w16a, 22w16b, 22w17a, 22w18a, 22w19a, 1.19-pre1, 1.19-pre2, 1.19-pre3, 1.19-pre4, 1.19-pre5, 1.19-rc1, 1.19-rc2, 1.19, 22w24a, 1.19.1-pre1, 1.19.1-rc1, 1.19.1-pre2, 1.19.1-pre3, 1.19.1-pre4, 1.19.1-pre5, 1.19.1-pre6, 1.19.1-rc2, 1.19.1-rc3, 1.19.1, 1.19.2-rc1, 1.19.2-rc2, 1.19.2, 22w42a, 22w43a, 22w44a, 22w45a, 22w46a, 1.19.3-pre1, 1.19.3-pre2, 1.19.3-pre3, 1.19.3-rc1, 1.19.3-rc2, 1.19.3-rc3, 1.19.3, 23w03a, 23w04a, 23w05a, 23w06a, 23w07a, 1.19.4-pre1, 1.19.4-pre2, 1.19.4-pre3, 1.19.4-pre4, 1.19.4-rc1, 1.19.4-rc2, 1.19.4-rc3, 1.19.4, 23w12a, 23w13a, 23w13a_or_b, 23w14a, 23w16a, 23w17a, 23w18a, 1.20-pre1, 1.20-pre2, 1.20-pre3, 1.20-pre4, 1.20-pre5, 1.20-pre6, 1.20-pre7, 1.20-rc1, 1.20, 1.20.1-rc1, 1.20.1, 23w31a, 23w32a, 23w33a, 23w35a, 1.20.2-pre1, 1.20.2-pre2, 1.20.2-pre3, 1.20.2-pre4, 1.20.2-rc1, 1.20.2-rc2, 1.20.2, 23w40a, 23w41a, 23w42a, 23w43a, 23w43b, 23w44a, 23w45a, 23w46a, 1.20.3-pre1, 1.20.3-pre2, 1.20.3-pre3, 1.20.3-pre4, 1.20.3-rc1, 1.20.3, 1.20.4-rc1, 1.20.4, 23w51a, 23w51b, 24w03a, 24w03b, 24w04a, 24w05a, 24w05b, 24w06a, 24w07a, 24w09a, 24w10a, 24w11a, 24w12a, 24w13a, 24w14potato, 24w14a, 1.20.5-pre1, 1.20.5-pre2, 1.20.5-pre3, 1.20.5-pre4, 1.20.5-rc1, 1.20.5-rc2, 1.20.5-rc3, 1.20.5, 1.20.6-rc1, 1.20.6, 24w18a, 24w19a, 24w19b, 24w20a, 24w21a, 24w21b, 1.21-pre1, 1.21-pre2, 1.21-pre3, 1.21-pre4, 1.21-rc1, 1.21, 1.21.1-rc1, 1.21.1, 24w33a, 24w34a, 24w35a, 24w36a, 24w37a, 24w38a, 24w39a, 24w40a, 1.21.2-pre1, 1.21.2-pre2, 1.21.2-pre3, 1.21.2-pre4, 1.21.2-pre5, 1.21.2-rc1, 1.21.2-rc2, 1.21.2, 1.21.3, 24w44a, 24w45a, 24w46a, 1.21.4-pre1, 1.21.4-pre2, 1.21.4-pre3, 1.21.4-rc1, 1.21.4-rc2, 1.21.4-rc3, 1.21.4, 25w02a, 25w03a, 25w04a, 25w05a, 25w06a, 25w07a, 25w08a, 25w09a, 25w09b, 25w10a, 1.21.5-pre1, 1.21.5-pre2, 1.21.5-pre3, 1.21.5-rc1, 1.21.5-rc2, 1.21.5, 25w14craftmine, 25w15a, 25w16a, 25w17a, 25w18a, 25w19a, 25w20a, 25w21a, 1.21.6-pre1, 1.21.6-pre2, 1.21.6-pre3, 1.21.6-pre4, 1.21.6-rc1, 1.21.6, 1.21.7-rc1, 1.21.7-rc2, 1.21.7, 1.21.8-rc1, 1.21.8, 25w31a, 25w32a, 25w33a, 25w34a, 25w34b, 25w35a, 25w36a, 25w36b, 25w37a, 1.21.9-pre1, 1.21.9-pre2, 1.21.9-pre3, 1.21.9-pre4, 1.21.9-rc1, 1.21.9, 1.21.10-rc1, 1.21.10, 25w41a, 25w42a, 25w43a, 25w44a, 25w45a, 25w46a, 1.21.11-pre1, 1.21.11-pre2, 1.21.11-pre3, 1.21.11-pre4, 1.21.11-pre5, 1.21.11-rc1, 1.21.11-rc2, 1.21.11-rc3, 1.21.11bukkit, folia, paper, purpur, spigot
Скачать
Что нового
# Changelog ## 1.1.2 — 2026-03-29 ### Added - **PlaceholderAPI integration**: BoatRacing now registers `%boatracing_*%` placeholders for holograms/scoreboards. - **Persistent aggregate stats**: new `stats.yml` storage for player wins, team wins, best race, and best lap values used by placeholders. - **Race back command**: added `/boatracing race back` so 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`, and `messages_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 of `config.yml`. - **Registration announce placeholders**: `race.registration.announce` now 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 back` is now included in help output and tab suggestions for players with `boatracing.race.back`. - **Language bundle loading**: language selection now supports bundled and custom `messages_<lang>.yml` files from the plugin folder, with safe fallback to English. - **Translation status headers**: bundled language headers now consistently mark `messages_en.yml` and `messages_es.yml` as official translations, and all other bundled languages as unofficial community translations. - **Chinese locale split**: kept `messages_zh_TW.yml` for Taiwan Traditional Chinese and added `messages_zh_CN.yml` for Mainland Simplified Chinese. - **Race back window configurability**: the `/boatracing race back` availability window is now configurable with `racing.lobby.back-window-seconds`. ### Fixed - **Build break in TeamManager**: fixed malformed package declaration in `TeamManager.java` that 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 back` flow and 3-minute return window as part of 1.1.2.
release

BoatRacing 1.1.1

1.1.1
13 мар. 2026 г.54Minecraft: 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 23w12a, 23w13a, 23w13a_or_b, 23w14a, 23w16a, 23w17a, 23w18a, 1.20-pre1, 1.20-pre2, 1.20-pre3, 1.20-pre4, 1.20-pre5, 1.20-pre6, 1.20-pre7, 1.20-rc1, 1.20, 1.20.1-rc1, 1.20.1, 23w31a, 23w32a, 23w33a, 23w35a, 1.20.2-pre1, 1.20.2-pre2, 1.20.2-pre3, 1.20.2-pre4, 1.20.2-rc1, 1.20.2-rc2, 1.20.2, 23w40a, 23w41a, 23w42a, 23w43a, 23w43b, 23w44a, 23w45a, 23w46a, 1.20.3-pre1, 1.20.3-pre2, 1.20.3-pre3, 1.20.3-pre4, 1.20.3-rc1, 1.20.3, 1.20.4-rc1, 1.20.4, 23w51a, 23w51b, 24w03a, 24w03b, 24w04a, 24w05a, 24w05b, 24w06a, 24w07a, 24w09a, 24w10a, 24w11a, 24w12a, 24w13a, 24w14potato, 24w14a, 1.20.5-pre1, 1.20.5-pre2, 1.20.5-pre3, 1.20.5-pre4, 1.20.5-rc1, 1.20.5-rc2, 1.20.5-rc3, 1.20.5, 1.20.6-rc1, 1.20.6, 24w18a, 24w19a, 24w19b, 24w20a, 24w21a, 24w21b, 1.21-pre1, 1.21-pre2, 1.21-pre3, 1.21-pre4, 1.21-rc1, 1.21, 1.21.1-rc1, 1.21.1, 24w33a, 24w34a, 24w35a, 24w36a, 24w37a, 24w38a, 24w39a, 24w40a, 1.21.2-pre1, 1.21.2-pre2, 1.21.2-pre3, 1.21.2-pre4, 1.21.2-pre5, 1.21.2-rc1, 1.21.2-rc2, 1.21.2, 1.21.3, 24w44a, 24w45a, 24w46a, 1.21.4-pre1, 1.21.4-pre2, 1.21.4-pre3, 1.21.4-rc1, 1.21.4-rc2, 1.21.4-rc3, 1.21.4, 25w02a, 25w03a, 25w04a, 25w05a, 25w06a, 25w07a, 25w08a, 25w09a, 25w09b, 25w10a, 1.21.5-pre1, 1.21.5-pre2, 1.21.5-pre3, 1.21.5-rc1, 1.21.5-rc2, 1.21.5, 25w14craftmine, 25w15a, 25w16a, 25w17a, 25w18a, 25w19a, 25w20a, 25w21a, 1.21.6-pre1, 1.21.6-pre2, 1.21.6-pre3, 1.21.6-pre4, 1.21.6-rc1, 1.21.6, 1.21.7-rc1, 1.21.7-rc2, 1.21.7, 1.21.8-rc1, 1.21.8, 25w31a, 25w32a, 25w33a, 25w34a, 25w34b, 25w35a, 25w36a, 25w36b, 25w37a, 1.21.9-pre1, 1.21.9-pre2, 1.21.9-pre3, 1.21.9-pre4, 1.21.9-rc1, 1.21.9, 1.21.10-rc1, 1.21.10, 25w41a, 25w42a, 25w43a, 25w44a, 25w45a, 25w46a, 1.21.11-pre1, 1.21.11-pre2, 1.21.11-pre3, 1.21.11-pre4, 1.21.11-pre5, 1.21.11-rc1, 1.21.11-rc2, 1.21.11-rc3, 1.21.11bukkit, folia, paper, purpur, spigot
Скачать
Что нового
# Changelog ## 1.1.1 — 2026-03-13 ### Added - **Registration lobby mechanic (optional)**: new `racing.lobby.*` config block to send registered players to a lobby location while registration is open, with optional return to their previous location on leave/cancel. - **Lobby setup command**: added `/boatracing setup setlobby` to save the admin's current position as the registration lobby and enable it instantly. - **Lobby i18n messages**: added localized feedback when players are teleported to the race lobby and when they are returned. - **SimpleScore integration hook**: when SimpleScore is present, BoatRacing now uses its viewer hide/show flow during races to avoid sidebar ownership conflicts and restore the external scoreboard cleanly after stop/cancel. ### Fixed - **Race track selection flow for active track**: `race open/join/leave/force/start/stop/status` no longer force a disk reload when the requested track is already the active one (notably `unsaved`), preventing stale-state issues. - **Track reload consistency**: `TrackConfig.load()` now clears all in-memory collections (`customStartSlots`, `bestTimes`, and others) before reading from disk. - **Registration timer race-loop bug**: fixed a state bug where `race open` timer callbacks could survive manual `start/force/stop` flows and re-trigger race starts (infinite restart behavior). Registration sessions are now invalidated/cancelled atomically. - **Manual start stale-callback guard**: `/boatracing race start <track>` now closes the registration window first to prevent old registration callbacks from restarting/overlapping race state. - **External sidebar handoff reliability**: improved race HUD/sidebar cleanup so external sidebar plugins (notably SimpleScore and TAB) recover cleanly after race stop/cancel without requiring relog. ### Changed - **Setup click actions UX**: setup wizard and admin setup tips now use suggest-in-chat behavior for commands requiring arguments, so players can tab-complete before executing. - **Compatibility matrix clarified**: this plugin jar is intended for Bukkit-family servers (CraftBukkit/Spigot/Paper/Purpur) and now includes Folia-compatible scheduling paths. ### Docs - **Platform scope documented**: README/CHECKLIST now explicitly state that Sponge requires a separate platform port and that Velocity/BungeeCord (proxy layer) cannot run gameplay logic from this plugin jar. - **Explicit SimpleScore compatibility note**: docs now explicitly list compatibility with SimpleScore (GitHub: https://github.com/RuiPereiraDev/SimpleScore, Modrinth: https://modrinth.com/plugin/simplescore). - **Explicit TAB compatibility note**: docs now explicitly list compatibility with TAB (GitHub: https://github.com/NEZNAMY/TAB, Modrinth: https://modrinth.com/plugin/tab-was-taken).