Commit Graph
4 Commits
Author SHA1 Message Date
Michael BurgessandClaude Sonnet 5 b56d4b064b Add player stat collection with pluggable YAML/MySQL storage
CI / build (push) Successful in 1m58s
Tracks races played, wins, total laps, and best times per player and
per race, recorded off the main thread after each finish. Backed by
a StatsStorage interface with two implementations: the default
YamlStatsStorage (stats.yml, zero setup) and MySqlStatsStorage
(HikariCP-pooled, auto-creates its tables, configured via
config.yml). MySQL init failures fall back to YAML rather than
blocking plugin startup. Adds /boatparty stats and /boatparty top
commands. Bundles and relocates HikariCP + MySQL Connector/J via
shadow (bumped to 9.0.2, the prior 8.3.5 couldn't shade Java 25
class files).

Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-08-08 09:00:13 -04:00
Michael BurgessandClaude Sonnet 5 d6f1f53681 Fix CI: use upload-artifact@v3 for Gitea Actions compatibility
CI / build (push) Successful in 1m35s
actions/upload-artifact@v4 depends on @actions/artifact v2, which
refuses to run against Gitea's self-hosted Actions runner (it
identifies itself as GHES, which v2 explicitly blocks). The Gradle
build itself now succeeds on JDK 25; only the artifact upload step
was failing.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-08-08 08:50:05 -04:00
Michael BurgessandClaude Sonnet 5 38fbdd22ab Fix CI: run Gradle on JDK 21, let toolchain resolve JDK 25
CI / build (push) Failing after 1m31s
Gradle 8.11.1 can target JDK 25 via toolchains but can't launch its
own daemon on it yet. Install both JDKs in CI with 21 last so it
becomes JAVA_HOME, while JDK 25 stays available for the toolchain via
JAVA_HOME_25_X64 (same fix validated in the local build).

Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-08-08 08:45:34 -04:00
Michael BurgessandClaude Sonnet 5 8a6b835c50 Add BoatParty ice-boat racing plugin for PaperMC
CI / build (push) Failing after 45s
Gradle-based plugin targeting the latest Paper API (26.2), with
configurable races (laps, checkpoints, lobby/start, min players,
countdown), a /boatparty command suite, and lap/checkpoint tracking
via player movement. Includes Gitea Actions CI to build with JDK 25.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-08-08 08:38:54 -04:00