LocalPlayerResolver.java

net.minecraft.client.player.LocalPlayerResolver

信息

  • 全限定名:net.minecraft.client.player.LocalPlayerResolver
  • 类型:public class
  • 包:net.minecraft.client.player
  • 源码路径:src/main/java/net/minecraft/client/player/LocalPlayerResolver.java
  • 起始行号:L14
  • 实现:ProfileResolver
  • 职责:

    TODO

字段/常量

  • minecraft

    • 类型: Minecraft
    • 修饰符: private final
    • 源码定位: L15
    • 说明:

      TODO

  • parentResolver

    • 类型: ProfileResolver
    • 修饰符: private final
    • 源码定位: L16
    • 说明:

      TODO

内部类/嵌套类型

构造器

public LocalPlayerResolver(Minecraft minecraft, ProfileResolver parentResolver) @ L18

  • 构造器名:LocalPlayerResolver
  • 源码定位:L18
  • 修饰符:public

参数:

  • minecraft: Minecraft
  • parentResolver: ProfileResolver

说明:

TODO

方法

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

public Optional<GameProfile> fetchByName(String name) @ L23

  • 方法名:fetchByName
  • 源码定位:L23
  • 返回类型:Optional
  • 修饰符:public

参数:

  • name: String

说明:

TODO

public Optional<GameProfile> fetchById(UUID id) @ L36

  • 方法名:fetchById
  • 源码定位:L36
  • 返回类型:Optional
  • 修饰符:public

参数:

  • id: UUID

说明:

TODO

代码

@OnlyIn(Dist.CLIENT)
public class LocalPlayerResolver implements ProfileResolver {
    private final Minecraft minecraft;
    private final ProfileResolver parentResolver;
 
    public LocalPlayerResolver(Minecraft minecraft, ProfileResolver parentResolver) {
        this.minecraft = minecraft;
        this.parentResolver = parentResolver;
    }
 
    @Override
    public Optional<GameProfile> fetchByName(String name) {
        ClientPacketListener connection = this.minecraft.getConnection();
        if (connection != null) {
            PlayerInfo playerInfo = connection.getPlayerInfoIgnoreCase(name);
            if (playerInfo != null) {
                return Optional.of(playerInfo.getProfile());
            }
        }
 
        return this.parentResolver.fetchByName(name);
    }
 
    @Override
    public Optional<GameProfile> fetchById(UUID id) {
        ClientPacketListener connection = this.minecraft.getConnection();
        if (connection != null) {
            PlayerInfo playerInfo = connection.getPlayerInfo(id);
            if (playerInfo != null) {
                return Optional.of(playerInfo.getProfile());
            }
        }
 
        return this.parentResolver.fetchById(id);
    }
}

引用的其他类