Services.java

net.minecraft.server.Services

信息

  • 全限定名:net.minecraft.server.Services
  • 类型:public record
  • 包:net.minecraft.server
  • 源码路径:src/main/java/net/minecraft/server/Services.java
  • 起始行号:L15
  • 职责:

    TODO

字段/常量

  • USERID_CACHE_FILE
    • 类型: String
    • 修饰符: private static final
    • 源码定位: L22
    • 说明:

      TODO

内部类/嵌套类型

构造器

方法

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

public static Services create(YggdrasilAuthenticationService serviceAccess, File nameCacheDir) @ L24

  • 方法名:create
  • 源码定位:L24
  • 返回类型:Services
  • 修饰符:public static

参数:

  • serviceAccess: YggdrasilAuthenticationService
  • nameCacheDir: File

说明:

TODO

public SignatureValidator profileKeySignatureValidator() @ L32

  • 方法名:profileKeySignatureValidator
  • 源码定位:L32
  • 返回类型:SignatureValidator
  • 修饰符:public

参数:

说明:

TODO

public boolean canValidateProfileKeys() @ L36

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

参数:

说明:

TODO

代码

public record Services(
    MinecraftSessionService sessionService,
    ServicesKeySet servicesKeySet,
    GameProfileRepository profileRepository,
    UserNameToIdResolver nameToIdCache,
    ProfileResolver profileResolver
) {
    private static final String USERID_CACHE_FILE = "usercache.json";
 
    public static Services create(YggdrasilAuthenticationService serviceAccess, File nameCacheDir) {
        MinecraftSessionService sessionService = serviceAccess.createMinecraftSessionService();
        GameProfileRepository profileRepository = serviceAccess.createProfileRepository();
        UserNameToIdResolver profileCache = new CachedUserNameToIdResolver(profileRepository, new File(nameCacheDir, "usercache.json"));
        ProfileResolver profileResolver = new ProfileResolver.Cached(sessionService, profileCache);
        return new Services(sessionService, serviceAccess.getServicesKeySet(), profileRepository, profileCache, profileResolver);
    }
 
    public @Nullable SignatureValidator profileKeySignatureValidator() {
        return SignatureValidator.from(this.servicesKeySet, ServicesKeyType.PROFILE_KEY);
    }
 
    public boolean canValidateProfileKeys() {
        return !this.servicesKeySet.keys(ServicesKeyType.PROFILE_KEY).isEmpty();
    }
}

引用的其他类