Class SessionUiCoordinatorService

java.lang.Object
dev.deepcore.challenge.session.SessionUiCoordinatorService

public final class SessionUiCoordinatorService extends Object
Coordinates run action-bar updates and lobby sidebar refresh scheduling.
  • Constructor Details

    • SessionUiCoordinatorService

      public SessionUiCoordinatorService(org.bukkit.plugin.java.JavaPlugin plugin, TaskGroup taskGroup, String lobbySidebarTaskKey, ActionBarTickerService actionBarTickerService, RunStatusService runStatusService, SessionState sessionState, Supplier<List<org.bukkit.entity.Player>> onlineParticipantsSupplier, ParticipantsView participantsView, SidebarModelFactory sidebarModelFactory, Supplier<RunRecordsService> recordsServiceSupplier, IntSupplier readyCountSupplier, LobbySidebarCoordinatorService lobbySidebarCoordinatorService, LobbySidebarService lobbySidebarService)
      Creates a session UI coordinator service.
      Parameters:
      plugin - plugin scheduler and lifecycle owner
      taskGroup - grouped task lifecycle manager
      lobbySidebarTaskKey - task key for lobby sidebar updates
      actionBarTickerService - action-bar ticker service
      runStatusService - run status/timing announcer service
      sessionState - mutable session phase/state container
      onlineParticipantsSupplier - supplier for currently online participants
      participantsView - participant roster and counts view
      sidebarModelFactory - sidebar model builder
      recordsServiceSupplier - supplier for run records service
      readyCountSupplier - supplier for current ready player count
      lobbySidebarCoordinatorService - sidebar refresh coordinator service
      lobbySidebarService - sidebar rendering/clear service
  • Method Details

    • startActionBarTask

      public void startActionBarTask()
      Starts the action-bar ticker for live run status updates.
    • startLobbySidebarTask

      public void startLobbySidebarTask()
      Starts periodic lobby sidebar refresh scheduling.
    • clearLobbySidebar

      public void clearLobbySidebar(org.bukkit.entity.Player player)
      Clears the lobby sidebar for a specific player.
      Parameters:
      player - player whose lobby sidebar should be cleared