Package net.minecraft.client.util
Class ProfileKeys
java.lang.Object
net.minecraft.client.util.ProfileKeys
A class to fetch, load, and save the player's public and private keys.
- Mappings:
Namespace Name official eva
intermediary net/minecraft/class_7434
named net/minecraft/client/util/ProfileKeys
-
Nested Class Summary
-
Field Summary
Modifier and TypeFieldDescriptionprivate final Path
private CompletableFuture<Optional<ProfileKeys.SignableKey>>
private static final Logger
private static final Path
private final com.mojang.authlib.minecraft.UserApiService
-
Constructor Summary
ConstructorDescriptionProfileKeys
(com.mojang.authlib.minecraft.UserApiService userApiService, UUID uuid, Path root) -
Method Summary
Modifier and TypeMethodDescriptionprivate static PlayerPublicKey.PublicKeyData
decodeKeyPairResponse
(com.mojang.authlib.yggdrasil.response.KeyPairResponse keyPairResponse) ReturnskeyPairResponse
decoded toPlayerPublicKey.PublicKeyData
.private PlayerKeyPair
fetchKeyPair
(com.mojang.authlib.minecraft.UserApiService userApiService) Returns the key pair fetched from Mojang's server.private CompletableFuture<Optional<ProfileKeys.SignableKey>>
getKeyPair
(Optional<PlayerKeyPair> currentKey) Gets the key pair from the file cache, or if it is unavailable or expired, the Mojang server.Returns the public key, orOptional.empty()
if there is no public key associated with the profile.Returns the signer, ornull
if there is no key pair associated with the profile.private Optional<PlayerKeyPair>
Returns the profile keys from the local cache.refresh()
private void
saveKeyPairToFile
(@Nullable PlayerKeyPair keyPair) Saves thekeyPair
to the cache file ifSharedConstants.isDevelopment
istrue
; otherwise, just deletes the cache file.
-
Field Details
-
LOGGER
- Mappings:
Namespace Name Mixin selector official a
Leva;a:Lorg/slf4j/Logger;
intermediary field_39074
Lnet/minecraft/class_7434;field_39074:Lorg/slf4j/Logger;
named LOGGER
Lnet/minecraft/client/util/ProfileKeys;LOGGER:Lorg/slf4j/Logger;
-
PROFILE_KEYS_PATH
- Mappings:
Namespace Name Mixin selector official b
Leva;b:Ljava/nio/file/Path;
intermediary field_39075
Lnet/minecraft/class_7434;field_39075:Ljava/nio/file/Path;
named PROFILE_KEYS_PATH
Lnet/minecraft/client/util/ProfileKeys;PROFILE_KEYS_PATH:Ljava/nio/file/Path;
-
userApiService
private final com.mojang.authlib.minecraft.UserApiService userApiService- Mappings:
Namespace Name Mixin selector official c
Leva;c:Lcom/mojang/authlib/minecraft/UserApiService;
intermediary field_39958
Lnet/minecraft/class_7434;field_39958:Lcom/mojang/authlib/minecraft/UserApiService;
named userApiService
Lnet/minecraft/client/util/ProfileKeys;userApiService:Lcom/mojang/authlib/minecraft/UserApiService;
-
jsonPath
- Mappings:
Namespace Name Mixin selector official d
Leva;d:Ljava/nio/file/Path;
intermediary field_39076
Lnet/minecraft/class_7434;field_39076:Ljava/nio/file/Path;
named jsonPath
Lnet/minecraft/client/util/ProfileKeys;jsonPath:Ljava/nio/file/Path;
-
keyFuture
- Mappings:
Namespace Name Mixin selector official e
Leva;e:Ljava/util/concurrent/CompletableFuture;
intermediary field_39959
Lnet/minecraft/class_7434;field_39959:Ljava/util/concurrent/CompletableFuture;
named keyFuture
Lnet/minecraft/client/util/ProfileKeys;keyFuture:Ljava/util/concurrent/CompletableFuture;
-
-
Constructor Details
-
ProfileKeys
public ProfileKeys(com.mojang.authlib.minecraft.UserApiService userApiService, UUID uuid, Path root) - Mappings:
Namespace Name Mixin selector official <init>
Leva;<init>(Lcom/mojang/authlib/minecraft/UserApiService;Ljava/util/UUID;Ljava/nio/file/Path;)V
intermediary <init>
Lnet/minecraft/class_7434;<init>(Lcom/mojang/authlib/minecraft/UserApiService;Ljava/util/UUID;Ljava/nio/file/Path;)V
named <init>
Lnet/minecraft/client/util/ProfileKeys;<init>(Lcom/mojang/authlib/minecraft/UserApiService;Ljava/util/UUID;Ljava/nio/file/Path;)V
-
-
Method Details
-
refresh
- Mappings:
Namespace Name Mixin selector official a
Leva;a()Ljava/util/concurrent/CompletableFuture;
intermediary method_45104
Lnet/minecraft/class_7434;method_45104()Ljava/util/concurrent/CompletableFuture;
named refresh
Lnet/minecraft/client/util/ProfileKeys;refresh()Ljava/util/concurrent/CompletableFuture;
-
getKeyPair
private CompletableFuture<Optional<ProfileKeys.SignableKey>> getKeyPair(Optional<PlayerKeyPair> currentKey) Gets the key pair from the file cache, or if it is unavailable or expired, the Mojang server.- Mappings:
Namespace Name Mixin selector official a
Leva;a(Ljava/util/Optional;)Ljava/util/concurrent/CompletableFuture;
intermediary method_43602
Lnet/minecraft/class_7434;method_43602(Ljava/util/Optional;)Ljava/util/concurrent/CompletableFuture;
named getKeyPair
Lnet/minecraft/client/util/ProfileKeys;getKeyPair(Ljava/util/Optional;)Ljava/util/concurrent/CompletableFuture;
-
loadKeyPairFromFile
Returns the profile keys from the local cache.This can return expired keys.
- Returns:
- the profile keys from the local cache
- Implementation Note:
- The cache file is stored at
.minecraft/profilekeys/<uuid>.json
. - Mappings:
Namespace Name Mixin selector official d
Leva;d()Ljava/util/Optional;
intermediary method_43606
Lnet/minecraft/class_7434;method_43606()Ljava/util/Optional;
named loadKeyPairFromFile
Lnet/minecraft/client/util/ProfileKeys;loadKeyPairFromFile()Ljava/util/Optional;
-
saveKeyPairToFile
Saves thekeyPair
to the cache file ifSharedConstants.isDevelopment
istrue
; otherwise, just deletes the cache file.- Mappings:
Namespace Name Mixin selector official a
Leva;a(Lbue;)V
intermediary method_43600
Lnet/minecraft/class_7434;method_43600(Lnet/minecraft/class_7427;)V
named saveKeyPairToFile
Lnet/minecraft/client/util/ProfileKeys;saveKeyPairToFile(Lnet/minecraft/network/encryption/PlayerKeyPair;)V
-
fetchKeyPair
private PlayerKeyPair fetchKeyPair(com.mojang.authlib.minecraft.UserApiService userApiService) throws NetworkEncryptionException, IOException Returns the key pair fetched from Mojang's server.- Returns:
- the key pair fetched from Mojang's server
- Throws:
NetworkEncryptionException
- when the fetched key is malformedIOException
- when fetching fails- Mappings:
Namespace Name Mixin selector official a
Leva;a(Lcom/mojang/authlib/minecraft/UserApiService;)Lbue;
intermediary method_43605
Lnet/minecraft/class_7434;method_43605(Lcom/mojang/authlib/minecraft/UserApiService;)Lnet/minecraft/class_7427;
named fetchKeyPair
Lnet/minecraft/client/util/ProfileKeys;fetchKeyPair(Lcom/mojang/authlib/minecraft/UserApiService;)Lnet/minecraft/network/encryption/PlayerKeyPair;
-
decodeKeyPairResponse
private static PlayerPublicKey.PublicKeyData decodeKeyPairResponse(com.mojang.authlib.yggdrasil.response.KeyPairResponse keyPairResponse) throws NetworkEncryptionException ReturnskeyPairResponse
decoded toPlayerPublicKey.PublicKeyData
.- Returns:
keyPairResponse
decoded toPlayerPublicKey.PublicKeyData
- Throws:
NetworkEncryptionException
- when the response is malformed- Mappings:
Namespace Name Mixin selector official a
Leva;a(Lcom/mojang/authlib/yggdrasil/response/KeyPairResponse;)Lbuf$a;
intermediary method_44076
Lnet/minecraft/class_7434;method_44076(Lcom/mojang/authlib/yggdrasil/response/KeyPairResponse;)Lnet/minecraft/class_7428$class_7443;
named decodeKeyPairResponse
Lnet/minecraft/client/util/ProfileKeys;decodeKeyPairResponse(Lcom/mojang/authlib/yggdrasil/response/KeyPairResponse;)Lnet/minecraft/network/encryption/PlayerPublicKey$PublicKeyData;
-
getSigner
Returns the signer, ornull
if there is no key pair associated with the profile.- Returns:
- the signer, or
null
if there is no key pair associated with the profile - Mappings:
Namespace Name Mixin selector official b
Leva;b()Lamq;
intermediary method_44287
Lnet/minecraft/class_7434;method_44287()Lnet/minecraft/class_7501;
named getSigner
Lnet/minecraft/client/util/ProfileKeys;getSigner()Lnet/minecraft/network/encryption/Signer;
-
getPublicKey
Returns the public key, orOptional.empty()
if there is no public key associated with the profile.- Returns:
- the public key, or
Optional.empty()
if there is no public key associated with the profile - Mappings:
Namespace Name Mixin selector official c
Leva;c()Ljava/util/Optional;
intermediary method_43603
Lnet/minecraft/class_7434;method_43603()Ljava/util/Optional;
named getPublicKey
Lnet/minecraft/client/util/ProfileKeys;getPublicKey()Ljava/util/Optional;
-