Skip to content

bug: Phase transitions not wired — map never loads when game starts #94

@TheMeinerLP

Description

@TheMeinerLP

Description

`LobbyPhase.onFinish()` does not call `GameOrchestrator.loadNextMap()`. The Game phase therefore starts with `ActiveMapComponent.currentMap == null`. Any system that reads the active map (ring collision, HUD) will throw a NullPointerException or silently skip processing. A player joining today watches a 6-second countdown and then nothing happens.

Acceptance Criteria

  • `LobbyPhase.onFinish()` triggers map loading via `GameOrchestrator` (or equivalent service)
  • `ActiveMapComponent.currentMap` is non-null by the time `GamePhase.onStart()` runs
  • The Minestom instance for the loaded map is created and players are teleported to the start position
  • Phase transition is logged (info level) for observability

Technical Details

  • `LobbyPhase` is in `server/src/main/java/.../phase/`
  • `AnvilMapInstanceService` handles world loading — wire it here
  • `CupComponent` on the game entity already tracks the current cup and map index — use it
  • Map loading is async (Minestom chunk loading); teleport must happen in the callback

Dependencies

None (blocking all other gameplay)

Estimate

M

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions