MinecraftPlayerListService.java

net.minecraft.server.jsonrpc.internalapi.MinecraftPlayerListService

信息

  • 全限定名:net.minecraft.server.jsonrpc.internalapi.MinecraftPlayerListService
  • 类型:public interface
  • 包:net.minecraft.server.jsonrpc.internalapi
  • 源码路径:src/main/java/net/minecraft/server/jsonrpc/internalapi/MinecraftPlayerListService.java
  • 起始行号:L13
  • 职责:

    TODO

字段/常量

内部类/嵌套类型

构造器

方法

下面的方法块按源码顺序生成。

List<ServerPlayer> getPlayers() @ L14

  • 方法名:getPlayers
  • 源码定位:L14
  • 返回类型:List
  • 修饰符:package-private

参数:

说明:

TODO

ServerPlayer getPlayer(UUID uuid) @ L16

  • 方法名:getPlayer
  • 源码定位:L16
  • 返回类型:ServerPlayer
  • 修饰符:package-private

参数:

  • uuid: UUID

说明:

TODO

default CompletableFuture<Optional<NameAndId>> getUser(Optional<UUID> id, Optional<String> name) @ L18

  • 方法名:getUser
  • 源码定位:L18
  • 返回类型:CompletableFuture<Optional>
  • 修饰符:default

参数:

  • id: Optional
  • name: Optional

说明:

TODO

Optional<NameAndId> fetchUserByName(String name) @ L31

  • 方法名:fetchUserByName
  • 源码定位:L31
  • 返回类型:Optional
  • 修饰符:package-private

参数:

  • name: String

说明:

TODO

Optional<NameAndId> fetchUserById(UUID id) @ L33

  • 方法名:fetchUserById
  • 源码定位:L33
  • 返回类型:Optional
  • 修饰符:package-private

参数:

  • id: UUID

说明:

TODO

Optional<NameAndId> getCachedUserById(UUID id) @ L35

  • 方法名:getCachedUserById
  • 源码定位:L35
  • 返回类型:Optional
  • 修饰符:package-private

参数:

  • id: UUID

说明:

TODO

Optional<ServerPlayer> getPlayer(Optional<UUID> id, Optional<String> name) @ L37

  • 方法名:getPlayer
  • 源码定位:L37
  • 返回类型:Optional
  • 修饰符:package-private

参数:

  • id: Optional
  • name: Optional

说明:

TODO

List<ServerPlayer> getPlayersWithAddress(String ip) @ L39

  • 方法名:getPlayersWithAddress
  • 源码定位:L39
  • 返回类型:List
  • 修饰符:package-private

参数:

  • ip: String

说明:

TODO

ServerPlayer getPlayerByName(String name) @ L41

  • 方法名:getPlayerByName
  • 源码定位:L41
  • 返回类型:ServerPlayer
  • 修饰符:package-private

参数:

  • name: String

说明:

TODO

void remove(ServerPlayer player, ClientInfo clientInfo) @ L43

  • 方法名:remove
  • 源码定位:L43
  • 返回类型:void
  • 修饰符:package-private

参数:

  • player: ServerPlayer
  • clientInfo: ClientInfo

说明:

TODO

代码

public interface MinecraftPlayerListService {
    List<ServerPlayer> getPlayers();
 
    @Nullable ServerPlayer getPlayer(UUID uuid);
 
    default CompletableFuture<Optional<NameAndId>> getUser(Optional<UUID> id, Optional<String> name) {
        if (id.isPresent()) {
            Optional<NameAndId> nameAndId = this.getCachedUserById(id.get());
            return nameAndId.isPresent()
                ? CompletableFuture.completedFuture(nameAndId)
                : CompletableFuture.supplyAsync(() -> this.fetchUserById(id.get()), Util.nonCriticalIoPool());
        } else {
            return name.isPresent()
                ? CompletableFuture.supplyAsync(() -> this.fetchUserByName(name.get()), Util.nonCriticalIoPool())
                : CompletableFuture.completedFuture(Optional.empty());
        }
    }
 
    Optional<NameAndId> fetchUserByName(String name);
 
    Optional<NameAndId> fetchUserById(UUID id);
 
    Optional<NameAndId> getCachedUserById(UUID id);
 
    Optional<ServerPlayer> getPlayer(Optional<UUID> id, Optional<String> name);
 
    List<ServerPlayer> getPlayersWithAddress(String ip);
 
    @Nullable ServerPlayer getPlayerByName(String name);
 
    void remove(ServerPlayer player, ClientInfo clientInfo);
}

引用的其他类

  • ClientInfo

    • 引用位置: 参数
  • ServerPlayer

    • 引用位置: 参数/返回值
  • NameAndId

    • 引用位置: 返回值
  • Util

    • 引用位置: 方法调用
    • 关联成员: Util.nonCriticalIoPool()