|
|
5707cf2d24
|
feat: duels player colors + elytra sub-modes (M-level)
- Add ParkourGenerator.selectBlockData() hook (forced course material);
BlockSelector checks it first; SingleDuelsGenerator overrides to use the
player's color (16 concrete colors) and forces only DEFAULT block type
- Elytra sub-modes: SpeedDemonGenerator (max-speed score), MinSpeedGenerator
(min-speed check, reset on 6 slow ticks), TimeTrialGenerator (score cap),
CloseGenerator (FLAT rings); + SpeedDemon/MinSpeed/TimeTrial/Close modes,
registration, locales play.elytra.*, config mode-settings.*
- Config.getDouble(path, default) + ConfigAccessor overload
- checkstyle 0/0, PMD 0, build green
|
2026-08-05 21:32:54 +02:00 |
|
|
|
acb884b70b
|
feat: add Duels mode (MultiMode, generator-per-player)
- duels/: DuelsMode (MultiMode), DuelsGenerator (owner: per-player
SingleDuelsGenerator map, allowJoining, goal), SingleDuelsGenerator
(getPlayers()=List.of(own player) -> independent course/score; score
reaches goal -> win), DuelsCountdown (10s countdown + race start)
- win(): sorted scoreboard, victory/loss titles, return to default after 10s;
leave() only removePlayer (no Coop recursion)
- config modes.duels.{enabled,max-players,goal,island-distance}, locales
play.multi.duels.* (ru/en), registered in Modes/PluginBootstrap
- checkstyle 0/0, PMD 0, build green
|
2026-08-05 21:16:00 +02:00 |
|