Klasse PlayerActivityService

java.lang.Object
de.delinkedde.areashopreborn.application.PlayerActivityService
Alle implementierten Schnittstellen:
org.bukkit.event.Listener

public final class PlayerActivityService extends Object implements org.bukkit.event.Listener
Tracks authoritative login activity without performing destructive inactivity actions.
  • Konstruktordetails

    • PlayerActivityService

      public PlayerActivityService(Database database, PlayerActivityRepository repository, Logger logger, PermissionGateway permissions, ThreadBridge threads, MessageService messages)
      Creates a service using the system UTC clock.
      Parameter:
      database - asynchronous database executor
      repository - activity repository
      logger - plugin logger
      permissions - offline-capable permission adapter
      threads - server-thread bridge
      messages - configurable message renderer
  • Methodendetails

    • onJoin

      public void onJoin(org.bukkit.event.player.PlayerJoinEvent event)
      Records successful joins asynchronously and resets already-issued inactivity warnings.
      Parameter:
      event - completed player join
    • recordSeen

      public CompletableFuture<Void> recordSeen(UUID playerId, String name)
      Records an observation, primarily for startup registration of players already online.
      Parameter:
      playerId - player identifier
      name - current account name
      Gibt zurück:
      completion future
    • preview

      public CompletableFuture<List<InactiveOwner>> preview(Duration inactiveFor, int limit)
      Produces a non-mutating inactivity preview.
      Parameter:
      inactiveFor - minimum absence duration
      limit - maximum result count
      Gibt zurück:
      future containing oldest tracked owners first
    • scanWarnings

      public CompletableFuture<Integer> scanWarnings(int releaseAfterDays, List<Integer> warningDaysBeforeRelease)
      Claims and delivers configured warning stages without changing estate ownership.
      Parameter:
      releaseAfterDays - planned release threshold
      warningDaysBeforeRelease - warning stages before that threshold
      Gibt zurück:
      future containing the number of newly claimed warnings