35 lines
1.1 KiB
Java
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();
|
|
}
|