19 Commits
Author SHA1 Message Date
Michael BurgessandClaude Sonnet 5 61c09a5b4d Announce powerup spawns to arena participants
Build / build (push) Successful in 1m18s
maybeSpawn() now returns the spawned type (or null) so Arena can broadcast
the existing but previously-unused powerup.spawned message plus a new
powerup-spawn sound cue whenever one actually appears on the floor.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-08-08 17:19:38 -04:00
Michael BurgessandClaude Sonnet 5 039cfab92d Make powerups claim-then-use, fix right-click, disable player collision
- Merge missing config.yml keys from the bundled defaults into an existing
  file on load, so upgrading over an old config no longer silently drops
  newer sections (this is what caused powerups to never spawn).
- Claiming a powerup now gives an inventory item instead of applying its
  effect instantly; right-click the item later to activate it.
- Switch the held item's material off placeable blocks (TORCH/END_ROD) to
  non-block items (SUGAR/FEATHER, configurable) - block items only fire a
  right-click event when aimed at a block, which made the powerup unusable
  unless the player was looking at the floor.
- Disable player collision by default (gameplay.disable-player-collision)
  so participants stop shoving each other around on a shrinking floor.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-08-08 17:15:36 -04:00
Michael Burgess cbef1d7a88 Document round-difficulty ramp and powerups config in README
Build / build (push) Successful in 1m17s
2026-08-08 11:36:29 -04:00
Michael BurgessandClaude Sonnet 5 4c4f5a1215 Scale round difficulty over time and add claimable powerups
Build / build (push) Successful in 1m17s
Reshuffles the floor so the target color's share shrinks each round
(TargetDensityCalculator) instead of always averaging ~1/paletteSize,
making later rounds progressively harder to read.

Adds Super Speed and Air Blast powerups that spawn on the floor each
round, claimable by walking over or left-clicking their marker, expiring
after 2-3 unclaimed rounds. Usage is tracked in player stats.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-08-08 11:31:30 -04:00
Michael Burgess 8049aa04af Add self-hostable jukebox voting web page
Build / build (push) Successful in 1m17s
2026-08-07 11:51:21 -04:00
Michael Burgess bdb18f9952 Add optional web jukebox: vote for arena music tracks via a small HTTP API
Build / build (push) Successful in 1m19s
2026-08-07 11:46:43 -04:00
Michael Burgess a29f359009 Shuffle floor colors each round, keep eliminated players out of spectator mode, add optional match music
Build / build (push) Successful in 1m17s
2026-08-07 11:24:43 -04:00
Michael Burgess 796f8bd1de Support multiple named billboards per arena
Build / build (push) Successful in 1m16s
2026-08-07 11:13:50 -04:00
Michael Burgess 412c9411b8 Add optional WorldEdit soft-dependency; use its wand selection for pos1/pos2
Build / build (push) Successful in 1m19s
2026-08-07 10:43:06 -04:00
Michael Burgess d1d61c5d68 Fix MySQL/MariaDB round-stats SQL (GREATEST vs MAX) and throttle DB failure logging
Build / build (push) Successful in 1m14s
2026-08-07 09:37:34 -04:00
Michael Burgess 3a87afd3c8 Use Vault Economy API for winner money rewards instead of eco console commands
Build / build (push) Successful in 1m16s
2026-08-07 09:32:24 -04:00
Michael Burgess 86f118f9e6 Make floor restore instant and play sounds per-player instead of at a fixed location
Build / build (push) Successful in 1m13s
2026-08-07 08:20:15 -04:00
Michael Burgess 07d210d8db Fix solo-play win condition, floor-spawn clipping, and make round-end block removal instantaneous
Build / build (push) Successful in 1m17s
2026-08-07 08:09:45 -04:00
Michael Burgess c78d35d104 Add optional round-target billboard display
Build / build (push) Successful in 1m14s
2026-08-07 07:52:14 -04:00
Michael Burgess 2a04392942 Fix instant-win bug: first round no longer skipped when min-players is 1
Build / build (push) Successful in 1m15s
2026-08-07 07:37:29 -04:00
Michael Burgess f470b30130 Replace MySQL use-ssl boolean with explicit connection-parameters (sslMode)
Build / build (push) Successful in 1m12s
2026-08-07 07:21:43 -04:00
Michael Burgess 1c16f9a83b Add optional MySQL support for statistics storage
Build / build (push) Successful in 1m15s
2026-08-07 06:09:24 -04:00
Michael Burgess bcb603dadf Fix CI: mark gradlew executable for Gitea Actions runner
Build / build (push) Successful in 1m10s
2026-08-07 06:04:33 -04:00
Michael BurgessandClaude Sonnet 5 7b02b7efb7 Build configurable BlockParty minigame
Build / build (push) Failing after 27s
Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-08-07 05:47:55 -04:00