feat: elytra firework boost, obstacle mode, duels menu, tests

- ElytraBoost: one-shot firework boost (v*0.7+dir*0.6, FIREWORKS_SPARK,
  rocket sounds) on entering ascending section + sustained thrust; Particle.
  FIREWORK doesn't exist in spigot-api 1.20.4 -> FIREWORKS_SPARK
- ObstacleGenerator (client-side obstacles: PILLARS/LINES/HOLE_IN_WALL/
  CIRCLE/DIAMOND via ClientBlockChanger.sendNow) + ObstacleMode + locales
- DuelsMenu (lists open duels sessions, click to join) + /parkour duels
  command + tab completion + locales play.multi.duels.{name,menu_empty}
- Tests: ElytraSection/PointType/KnotDirector/SingleDuelsGenerator (15 new)
- checkstyle 0/0 (main+test), PMD 0, 41 tests pass
This commit is contained in:
loki5512344 2026-08-05 21:49:11 +02:00
parent 5707cf2d24
commit 3b5d3d97d5
Signed by: boba
GPG key ID: 253067914055423B
19 changed files with 804 additions and 28 deletions

View file

@ -72,6 +72,11 @@ play:
name: "&#00D4FF&lБлизко"
lore: "&#404040Летай сквозь плоские кольца||&#404040расположенные вплотную."
obstacle:
material: "barrier"
name: "&#00D4FF&lПрепятствия"
lore: "&#404040Облетай препятствия,||&#404040появляющиеся на трассе."
spectator:
name: "&#FFFFFFНаблюдатель"
@ -104,6 +109,8 @@ play:
name: "&#00D4FF&lДуэли"
lore: ""
go: "&#55FF55&lВПЕРЁД!"
name: "&#FFFFFFДуэли"
menu_empty: "&#A0A0A0Сейчас нет открытых дуэлей."
overview: "&#FFD700&l%s &#A0A0A0победил в дуэли! Время: &#FFFFFF%s"
place: "&#0072B3#%s &#A0A0A0%s &#404040- &#A0A0A0%s"
victory: "&#55FF55&lПОБЕДА!"