Class RunStartService

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

public final class RunStartService extends Object
Coordinates run start transitions and participant preparation.
  • Constructor Details

    • RunStartService

      public RunStartService(org.bukkit.plugin.java.JavaPlugin plugin, SessionState sessionState, ChallengeManager challengeManager, Set<UUID> participants, Set<UUID> readyPlayers, PrepAreaService prepAreaService, WorldClassificationService worldClassificationService, PreviewOrchestratorService previewOrchestratorService, RunProgressService runProgressService, RunStatusService runStatusService, Supplier<List<org.bukkit.entity.Player>> onlineParticipantsSupplier, Supplier<WorldResetManager> worldResetManagerSupplier, PrepBookService prepBookService, Consumer<org.bukkit.entity.Player> clearLobbySidebar, Runnable clearPausedSnapshots, Runnable syncWorldRules, Runnable startActionBarTask, Runnable snapshotEquippedWearablesForParticipants, Consumer<org.bukkit.entity.Player> enforceInventorySlotCap, Runnable startDegradingInventoryTaskWithReset, BooleanSupplier isSharedInventoryEnabled, Runnable syncSharedInventoryFromFirstParticipant, Runnable syncSharedHealthFromFirstParticipant, Runnable syncSharedHungerFromMostFilledParticipant, Runnable applyInitialHalfHeartIfEnabled, BooleanSupplier isDiscoPreviewBlockingChallengeStart, Runnable announceDiscoPreviewStartBlocked, Runnable refreshOpenPrepGuis, DeepCoreLogger log)
      Creates a run start service.
      Parameters:
      plugin - plugin scheduler and lifecycle owner
      sessionState - mutable session phase/state container
      challengeManager - challenge settings and component manager
      participants - active run participants
      readyPlayers - players marked ready during prep
      prepAreaService - prep area border and region service
      worldClassificationService - world classification helper service
      previewOrchestratorService - lobby preview orchestration service
      runProgressService - run milestone progress tracker
      runStatusService - run status/timing announcer service
      onlineParticipantsSupplier - supplier for currently online participants
      worldResetManagerSupplier - supplier for current world reset manager
      prepBookService - prep guide book service
      clearLobbySidebar - consumer clearing a player's lobby sidebar
      clearPausedSnapshots - runnable clearing paused run snapshots
      syncWorldRules - runnable that reapplies world rule policies
      startActionBarTask - runnable starting action-bar updates
      snapshotEquippedWearablesForParticipants - runnable snapshotting wearables
      enforceInventorySlotCap - consumer enforcing inventory slot limits
      startDegradingInventoryTaskWithReset - runnable starting degrading inventory task
      isSharedInventoryEnabled - supplier indicating shared inventory mode
      syncSharedInventoryFromFirstParticipant - runnable syncing shared inventory
      syncSharedHealthFromFirstParticipant - runnable syncing shared health
      syncSharedHungerFromMostFilledParticipant - runnable syncing shared hunger
      applyInitialHalfHeartIfEnabled - runnable applying half-heart mode if enabled
      isDiscoPreviewBlockingChallengeStart - supplier for disco-start blocking state
      announceDiscoPreviewStartBlocked - runnable announcing disco start block
      refreshOpenPrepGuis - runnable refreshing prep GUIs
      log - challenge logger for player/admin messaging
  • Method Details

    • startRun

      public void startRun()
      Starts a challenge run after validating preconditions and preparing players.