Package net.minecraft.client.session
Class ProfileKeysImpl
java.lang.Object
net.minecraft.client.session.ProfileKeysImpl
- All Implemented Interfaces:
ProfileKeys
A class to fetch, load, and save the player's public and private keys.
- Mappings:
Namespace Name official fiq
intermediary net/minecraft/class_7434
named net/minecraft/client/session/ProfileKeysImpl
-
Field Summary
Modifier and TypeFieldDescriptionprivate Instant
private final Path
private CompletableFuture<Optional<PlayerKeyPair>>
private static final Logger
private static final Path
private static final Duration
private final com.mojang.authlib.minecraft.UserApiService
Fields inherited from interface net.minecraft.client.session.ProfileKeys
MISSING
-
Constructor Summary
ConstructorDescriptionProfileKeysImpl
(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<PlayerKeyPair>>
getKeyPair
(Optional<PlayerKeyPair> currentKey) Gets the key pair from the file cache, or if it is unavailable or expired, the Mojang server.boolean
private Optional<PlayerKeyPair>
Returns the profile keys from the local cache.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 b
Lfiq;b:Lorg/slf4j/Logger;
intermediary field_39074
Lnet/minecraft/class_7434;field_39074:Lorg/slf4j/Logger;
named LOGGER
Lnet/minecraft/client/session/ProfileKeysImpl;LOGGER:Lorg/slf4j/Logger;
-
TIME_UNTIL_FIRST_EXPIRY_CHECK
- Mappings:
Namespace Name Mixin selector official c
Lfiq;c:Ljava/time/Duration;
intermediary field_40797
Lnet/minecraft/class_7434;field_40797:Ljava/time/Duration;
named TIME_UNTIL_FIRST_EXPIRY_CHECK
Lnet/minecraft/client/session/ProfileKeysImpl;TIME_UNTIL_FIRST_EXPIRY_CHECK:Ljava/time/Duration;
-
PROFILE_KEYS_PATH
- Mappings:
Namespace Name Mixin selector official d
Lfiq;d:Ljava/nio/file/Path;
intermediary field_39075
Lnet/minecraft/class_7434;field_39075:Ljava/nio/file/Path;
named PROFILE_KEYS_PATH
Lnet/minecraft/client/session/ProfileKeysImpl;PROFILE_KEYS_PATH:Ljava/nio/file/Path;
-
userApiService
private final com.mojang.authlib.minecraft.UserApiService userApiService- Mappings:
Namespace Name Mixin selector official e
Lfiq;e:Lcom/mojang/authlib/minecraft/UserApiService;
intermediary field_39958
Lnet/minecraft/class_7434;field_39958:Lcom/mojang/authlib/minecraft/UserApiService;
named userApiService
Lnet/minecraft/client/session/ProfileKeysImpl;userApiService:Lcom/mojang/authlib/minecraft/UserApiService;
-
jsonPath
- Mappings:
Namespace Name Mixin selector official f
Lfiq;f:Ljava/nio/file/Path;
intermediary field_39076
Lnet/minecraft/class_7434;field_39076:Ljava/nio/file/Path;
named jsonPath
Lnet/minecraft/client/session/ProfileKeysImpl;jsonPath:Ljava/nio/file/Path;
-
keyFuture
- Mappings:
Namespace Name Mixin selector official g
Lfiq;g:Ljava/util/concurrent/CompletableFuture;
intermediary field_39959
Lnet/minecraft/class_7434;field_39959:Ljava/util/concurrent/CompletableFuture;
named keyFuture
Lnet/minecraft/client/session/ProfileKeysImpl;keyFuture:Ljava/util/concurrent/CompletableFuture;
-
expiryCheckTime
- Mappings:
Namespace Name Mixin selector official h
Lfiq;h:Ljava/time/Instant;
intermediary field_40798
Lnet/minecraft/class_7434;field_40798:Ljava/time/Instant;
named expiryCheckTime
Lnet/minecraft/client/session/ProfileKeysImpl;expiryCheckTime:Ljava/time/Instant;
-
-
Constructor Details
-
ProfileKeysImpl
public ProfileKeysImpl(com.mojang.authlib.minecraft.UserApiService userApiService, UUID uuid, Path root) - Mappings:
Namespace Name Mixin selector official <init>
Lfiq;<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/session/ProfileKeysImpl;<init>(Lcom/mojang/authlib/minecraft/UserApiService;Ljava/util/UUID;Ljava/nio/file/Path;)V
-
-
Method Details
-
fetchKeyPair
- Specified by:
fetchKeyPair
in interfaceProfileKeys
- Mappings:
Namespace Name Mixin selector official a
Lfjg;a()Ljava/util/concurrent/CompletableFuture;
intermediary method_46522
Lnet/minecraft/class_7853;method_46522()Ljava/util/concurrent/CompletableFuture;
named fetchKeyPair
Lnet/minecraft/client/session/ProfileKeys;fetchKeyPair()Ljava/util/concurrent/CompletableFuture;
-
isExpired
public boolean isExpired()- Specified by:
isExpired
in interfaceProfileKeys
- Mappings:
Namespace Name Mixin selector official b
Lfjg;b()Z
intermediary method_46523
Lnet/minecraft/class_7853;method_46523()Z
named isExpired
Lnet/minecraft/client/session/ProfileKeys;isExpired()Z
-
getKeyPair
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
Lfiq;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/session/ProfileKeysImpl;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 c
Lfiq;c()Ljava/util/Optional;
intermediary method_43606
Lnet/minecraft/class_7434;method_43606()Ljava/util/Optional;
named loadKeyPairFromFile
Lnet/minecraft/client/session/ProfileKeysImpl;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
Lfiq;a(Lcbw;)V
intermediary method_43600
Lnet/minecraft/class_7434;method_43600(Lnet/minecraft/class_7427;)V
named saveKeyPairToFile
Lnet/minecraft/client/session/ProfileKeysImpl;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
Lfiq;a(Lcom/mojang/authlib/minecraft/UserApiService;)Lcbw;
intermediary method_43605
Lnet/minecraft/class_7434;method_43605(Lcom/mojang/authlib/minecraft/UserApiService;)Lnet/minecraft/class_7427;
named fetchKeyPair
Lnet/minecraft/client/session/ProfileKeysImpl;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
Lfiq;a(Lcom/mojang/authlib/yggdrasil/response/KeyPairResponse;)Lcbx$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/session/ProfileKeysImpl;decodeKeyPairResponse(Lcom/mojang/authlib/yggdrasil/response/KeyPairResponse;)Lnet/minecraft/network/encryption/PlayerPublicKey$PublicKeyData;
-