minecraft-src/net/minecraft/client/multiplayer/ProfileKeyPairManager.java
2025-07-04 01:41:11 +03:00

35 lines
1.1 KiB
Java

package net.minecraft.client.multiplayer;
import com.mojang.authlib.minecraft.UserApiService;
import java.nio.file.Path;
import java.util.Optional;
import java.util.concurrent.CompletableFuture;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.client.User;
import net.minecraft.world.entity.player.ProfileKeyPair;
@Environment(EnvType.CLIENT)
public interface ProfileKeyPairManager {
ProfileKeyPairManager EMPTY_KEY_MANAGER = new ProfileKeyPairManager() {
@Override
public CompletableFuture<Optional<ProfileKeyPair>> prepareKeyPair() {
return CompletableFuture.completedFuture(Optional.empty());
}
@Override
public boolean shouldRefreshKeyPair() {
return false;
}
};
static ProfileKeyPairManager create(UserApiService userApiService, User user, Path gameDirectory) {
return (ProfileKeyPairManager)(user.getType() == User.Type.MSA
? new AccountProfileKeyPairManager(userApiService, user.getProfileId(), gameDirectory)
: EMPTY_KEY_MANAGER);
}
CompletableFuture<Optional<ProfileKeyPair>> prepareKeyPair();
boolean shouldRefreshKeyPair();
}