Class NodePlayerManager

java.lang.Object
eu.cloudnetservice.modules.bridge.impl.node.player.NodePlayerManager
All Implemented Interfaces:
eu.cloudnetservice.modules.bridge.player.PlayerManager

@Singleton @Provides(eu.cloudnetservice.modules.bridge.player.PlayerManager.class) public class NodePlayerManager extends Object implements eu.cloudnetservice.modules.bridge.player.PlayerManager
  • Field Details

    • databaseName

      protected final String databaseName
    • eventManager

      protected final eu.cloudnetservice.driver.event.EventManager eventManager
    • commandProvider

      protected final eu.cloudnetservice.node.command.CommandProvider commandProvider
    • nodeDatabaseProvider

      protected final eu.cloudnetservice.node.impl.database.AbstractNodeDatabaseProvider nodeDatabaseProvider
    • onlinePlayers

      protected final Map<UUID, eu.cloudnetservice.modules.bridge.player.CloudPlayer> onlinePlayers
    • allPlayerProvider

      protected final eu.cloudnetservice.modules.bridge.player.PlayerProvider allPlayerProvider
    • playerReadWriteLocks

      protected final com.google.common.util.concurrent.Striped<Lock> playerReadWriteLocks
    • offlinePlayerCache

      protected final com.github.benmanes.caffeine.cache.LoadingCache<UUID, Optional<eu.cloudnetservice.modules.bridge.player.CloudOfflinePlayer>> offlinePlayerCache
  • Constructor Details

    • NodePlayerManager

      @Inject public NodePlayerManager(@NonNull @NonNull eu.cloudnetservice.driver.event.EventManager eventManager, @NonNull @NonNull eu.cloudnetservice.driver.network.rpc.factory.RPCFactory providerFactory, @NonNull @NonNull eu.cloudnetservice.node.command.CommandProvider commandProvider, @NonNull @NonNull eu.cloudnetservice.node.cluster.sync.DataSyncRegistry dataSyncRegistry, @NonNull @NonNull eu.cloudnetservice.driver.network.rpc.handler.RPCHandlerRegistry handlerRegistry, @NonNull @NonNull eu.cloudnetservice.node.impl.database.AbstractNodeDatabaseProvider nodeDatabaseProvider)
  • Method Details

    • registerPlayerCommand

      @Inject private void registerPlayerCommand()
    • registerListeners

      @Inject private void registerListeners()
    • onlineCount

      public int onlineCount()
      Specified by:
      onlineCount in interface eu.cloudnetservice.modules.bridge.player.PlayerManager
    • registeredCount

      public long registeredCount()
      Specified by:
      registeredCount in interface eu.cloudnetservice.modules.bridge.player.PlayerManager
    • onlinePlayer

      @Nullable public @Nullable eu.cloudnetservice.modules.bridge.player.CloudPlayer onlinePlayer(@NonNull @NonNull UUID uniqueId)
      Specified by:
      onlinePlayer in interface eu.cloudnetservice.modules.bridge.player.PlayerManager
    • firstOnlinePlayer

      @Nullable public @Nullable eu.cloudnetservice.modules.bridge.player.CloudPlayer firstOnlinePlayer(@NonNull @NonNull String name)
      Specified by:
      firstOnlinePlayer in interface eu.cloudnetservice.modules.bridge.player.PlayerManager
    • onlinePlayers

      @NonNull public @NonNull List<eu.cloudnetservice.modules.bridge.player.CloudPlayer> onlinePlayers(@NonNull @NonNull String name)
      Specified by:
      onlinePlayers in interface eu.cloudnetservice.modules.bridge.player.PlayerManager
    • environmentOnlinePlayers

      @NonNull public @NonNull List<eu.cloudnetservice.modules.bridge.player.CloudPlayer> environmentOnlinePlayers(@NonNull @NonNull eu.cloudnetservice.driver.service.ServiceEnvironmentType environment)
      Specified by:
      environmentOnlinePlayers in interface eu.cloudnetservice.modules.bridge.player.PlayerManager
    • onlinePlayers

      @NonNull public @NonNull eu.cloudnetservice.modules.bridge.player.PlayerProvider onlinePlayers()
      Specified by:
      onlinePlayers in interface eu.cloudnetservice.modules.bridge.player.PlayerManager
    • taskOnlinePlayers

      @NonNull public @NonNull eu.cloudnetservice.modules.bridge.player.PlayerProvider taskOnlinePlayers(@NonNull @NonNull String task)
      Specified by:
      taskOnlinePlayers in interface eu.cloudnetservice.modules.bridge.player.PlayerManager
    • groupOnlinePlayers

      @NonNull public @NonNull eu.cloudnetservice.modules.bridge.player.PlayerProvider groupOnlinePlayers(@NonNull @NonNull String group)
      Specified by:
      groupOnlinePlayers in interface eu.cloudnetservice.modules.bridge.player.PlayerManager
    • offlinePlayer

      @Nullable public @Nullable eu.cloudnetservice.modules.bridge.player.CloudOfflinePlayer offlinePlayer(@NonNull @NonNull UUID uniqueId)
      Specified by:
      offlinePlayer in interface eu.cloudnetservice.modules.bridge.player.PlayerManager
    • firstOfflinePlayer

      @Nullable public @Nullable eu.cloudnetservice.modules.bridge.player.CloudOfflinePlayer firstOfflinePlayer(@NonNull @NonNull String name)
      Specified by:
      firstOfflinePlayer in interface eu.cloudnetservice.modules.bridge.player.PlayerManager
    • offlinePlayers

      @NonNull public @NonNull List<eu.cloudnetservice.modules.bridge.player.CloudOfflinePlayer> offlinePlayers(@NonNull @NonNull String name)
      Specified by:
      offlinePlayers in interface eu.cloudnetservice.modules.bridge.player.PlayerManager
    • registeredPlayers

      @NonNull public @NonNull List<eu.cloudnetservice.modules.bridge.player.CloudOfflinePlayer> registeredPlayers()
      Specified by:
      registeredPlayers in interface eu.cloudnetservice.modules.bridge.player.PlayerManager
    • updateOfflinePlayer

      public void updateOfflinePlayer(@NonNull @NonNull eu.cloudnetservice.modules.bridge.player.CloudOfflinePlayer player)
      Specified by:
      updateOfflinePlayer in interface eu.cloudnetservice.modules.bridge.player.PlayerManager
    • updateOnlinePlayer

      public void updateOnlinePlayer(@NonNull @NonNull eu.cloudnetservice.modules.bridge.player.CloudPlayer cloudPlayer)
      Specified by:
      updateOnlinePlayer in interface eu.cloudnetservice.modules.bridge.player.PlayerManager
    • deleteCloudOfflinePlayer

      public void deleteCloudOfflinePlayer(@NonNull @NonNull eu.cloudnetservice.modules.bridge.player.CloudOfflinePlayer cloudOfflinePlayer)
      Specified by:
      deleteCloudOfflinePlayer in interface eu.cloudnetservice.modules.bridge.player.PlayerManager
    • onlineCountAsync

      @NonNull public @NonNull CompletableFuture<Integer> onlineCountAsync()
      Specified by:
      onlineCountAsync in interface eu.cloudnetservice.modules.bridge.player.PlayerManager
    • registeredCountAsync

      @NonNull public @NonNull CompletableFuture<Long> registeredCountAsync()
      Specified by:
      registeredCountAsync in interface eu.cloudnetservice.modules.bridge.player.PlayerManager
    • onlinePlayerAsync

      @NonNull public @NonNull CompletableFuture<eu.cloudnetservice.modules.bridge.player.CloudPlayer> onlinePlayerAsync(@NonNull @NonNull UUID uniqueId)
      Specified by:
      onlinePlayerAsync in interface eu.cloudnetservice.modules.bridge.player.PlayerManager
    • firstOnlinePlayerAsync

      @NonNull public @NonNull CompletableFuture<eu.cloudnetservice.modules.bridge.player.CloudPlayer> firstOnlinePlayerAsync(@NonNull @NonNull String name)
      Specified by:
      firstOnlinePlayerAsync in interface eu.cloudnetservice.modules.bridge.player.PlayerManager
    • onlinePlayersAsync

      @NonNull public @NonNull CompletableFuture<List<eu.cloudnetservice.modules.bridge.player.CloudPlayer>> onlinePlayersAsync(@NonNull @NonNull String name)
      Specified by:
      onlinePlayersAsync in interface eu.cloudnetservice.modules.bridge.player.PlayerManager
    • environmentOnlinePlayersAsync

      @NonNull public @NonNull CompletableFuture<List<eu.cloudnetservice.modules.bridge.player.CloudPlayer>> environmentOnlinePlayersAsync(@NonNull @NonNull eu.cloudnetservice.driver.service.ServiceEnvironmentType env)
      Specified by:
      environmentOnlinePlayersAsync in interface eu.cloudnetservice.modules.bridge.player.PlayerManager
    • offlinePlayerAsync

      @NonNull public @NonNull CompletableFuture<eu.cloudnetservice.modules.bridge.player.CloudOfflinePlayer> offlinePlayerAsync(@NonNull @NonNull UUID uniqueId)
      Specified by:
      offlinePlayerAsync in interface eu.cloudnetservice.modules.bridge.player.PlayerManager
    • firstOfflinePlayerAsync

      @NonNull public @NonNull CompletableFuture<eu.cloudnetservice.modules.bridge.player.CloudOfflinePlayer> firstOfflinePlayerAsync(@NonNull @NonNull String name)
      Specified by:
      firstOfflinePlayerAsync in interface eu.cloudnetservice.modules.bridge.player.PlayerManager
    • offlinePlayersAsync

      @NonNull public @NonNull CompletableFuture<List<eu.cloudnetservice.modules.bridge.player.CloudOfflinePlayer>> offlinePlayersAsync(@NonNull @NonNull String name)
      Specified by:
      offlinePlayersAsync in interface eu.cloudnetservice.modules.bridge.player.PlayerManager
    • updateOfflinePlayerAsync

      @NonNull public @NonNull CompletableFuture<Void> updateOfflinePlayerAsync(@NonNull @NonNull eu.cloudnetservice.modules.bridge.player.CloudOfflinePlayer cloudOfflinePlayer)
      Specified by:
      updateOfflinePlayerAsync in interface eu.cloudnetservice.modules.bridge.player.PlayerManager
    • updateOnlinePlayerAsync

      @NonNull public @NonNull CompletableFuture<Void> updateOnlinePlayerAsync(@NonNull @NonNull eu.cloudnetservice.modules.bridge.player.CloudPlayer cloudPlayer)
      Specified by:
      updateOnlinePlayerAsync in interface eu.cloudnetservice.modules.bridge.player.PlayerManager
    • deleteCloudOfflinePlayerAsync

      @NonNull public @NonNull CompletableFuture<Void> deleteCloudOfflinePlayerAsync(@NonNull @NonNull eu.cloudnetservice.modules.bridge.player.CloudOfflinePlayer cloudOfflinePlayer)
      Specified by:
      deleteCloudOfflinePlayerAsync in interface eu.cloudnetservice.modules.bridge.player.PlayerManager
    • globalPlayerExecutor

      @NonNull public @NonNull eu.cloudnetservice.modules.bridge.player.executor.PlayerExecutor globalPlayerExecutor()
      Specified by:
      globalPlayerExecutor in interface eu.cloudnetservice.modules.bridge.player.PlayerManager
    • playerExecutor

      @NonNull public @NonNull eu.cloudnetservice.modules.bridge.player.executor.PlayerExecutor playerExecutor(@NonNull @NonNull UUID uniqueId)
      Specified by:
      playerExecutor in interface eu.cloudnetservice.modules.bridge.player.PlayerManager
    • pushOfflinePlayerCache

      public void pushOfflinePlayerCache(@NonNull @NonNull UUID uniqueId, @Nullable @Nullable eu.cloudnetservice.modules.bridge.player.CloudOfflinePlayer cloudOfflinePlayer)
    • pushOnlinePlayerCache

      public void pushOnlinePlayerCache(@NonNull @NonNull eu.cloudnetservice.modules.bridge.player.CloudPlayer cloudPlayer)
    • database

      @NonNull protected @NonNull eu.cloudnetservice.node.database.LocalDatabase database()
    • players

      @NonNull public @NonNull Map<UUID, eu.cloudnetservice.modules.bridge.player.CloudPlayer> players()
    • loginPlayer

      public void loginPlayer(@NonNull @NonNull eu.cloudnetservice.modules.bridge.player.NetworkPlayerProxyInfo networkPlayerProxyInfo, @Nullable @Nullable eu.cloudnetservice.modules.bridge.player.NetworkServiceInfo joinedServiceInfo)
    • loginPlayer0

      protected void loginPlayer0(@NonNull @NonNull eu.cloudnetservice.modules.bridge.player.NetworkPlayerProxyInfo networkPlayerProxyInfo, @Nullable @Nullable eu.cloudnetservice.modules.bridge.player.NetworkServiceInfo joinedServiceInfo)
    • selectPlayerForLogin

      @NonNull protected @NonNull eu.cloudnetservice.modules.bridge.player.CloudPlayer selectPlayerForLogin(@NonNull @NonNull eu.cloudnetservice.modules.bridge.player.NetworkPlayerProxyInfo connectionInfo, @Nullable @Nullable eu.cloudnetservice.modules.bridge.player.NetworkServiceInfo joinedServiceInfo)
    • processLogin

      protected void processLogin(@NonNull @NonNull eu.cloudnetservice.modules.bridge.player.CloudPlayer cloudPlayer)
    • processLoginMessage

      public void processLoginMessage(@NonNull @NonNull eu.cloudnetservice.modules.bridge.player.CloudPlayer cloudPlayer)
    • getOrRegisterOfflinePlayer

      @NonNull public @NonNull eu.cloudnetservice.modules.bridge.player.CloudOfflinePlayer getOrRegisterOfflinePlayer(@NonNull @NonNull eu.cloudnetservice.modules.bridge.player.NetworkPlayerProxyInfo proxyInfo)
    • logoutPlayer

      public void logoutPlayer(@NonNull @NonNull eu.cloudnetservice.modules.bridge.player.CloudPlayer cloudPlayer)
    • logoutPlayer0

      private void logoutPlayer0(@NonNull @NonNull eu.cloudnetservice.modules.bridge.player.CloudPlayer cloudPlayer)
    • logoutPlayer

      @Contract("!null, !null, _ -> _; !null, null, _ -> _; null, !null, _ -> _; null, null, _ -> fail") public void logoutPlayer(@Nullable @Nullable UUID uniqueId, @Nullable @Nullable String name, @Nullable @Nullable Predicate<eu.cloudnetservice.modules.bridge.player.CloudPlayer> tester)