Commit graph

2 commits

Author SHA1 Message Date
4263df50a2
refactor: split 6 oversized packages into semantic subpackages
Structure debt list is now empty (FOLDER_DEBT = Set.of()), every folder
holds at most 4 java files:

- elytra/{mode,generator} -> elytra/core plus per-mode slices (close,
  minspeed, obstacle, speeddemon, timetrial), 2 files each
- command/schematic -> command/schematic (4) + wand/ (2)
- generator/jump: JumpType -> jump/model/, SchematicBlockPlacer ->
  jump/placement/schematic/
- player/core -> player/core (4) + PlayerSpawnSetup -> player/service (4)

18 files moved, imports/tests updated, 5 classes widened to public for
cross-package calls. No behavior change; check and build stay green.
2026-10-06 15:00:04 +02:00
3b5d3d97d5
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
2026-08-05 21:49:11 +02:00