Class ProfileKeys

java.lang.Object
net.minecraft.client.util.ProfileKeys

@Environment(CLIENT) public class ProfileKeys extends Object
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
  • Field Details

    • LOGGER

      private static final Logger 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

      private static final Path 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

      private final Path 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

      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

      private Optional<PlayerKeyPair> 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

      private void saveKeyPairToFile(@Nullable @Nullable PlayerKeyPair keyPair)
      Saves the keyPair to the cache file if SharedConstants.isDevelopment is true; 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 malformed
      IOException - 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
      Returns keyPairResponse decoded to PlayerPublicKey.PublicKeyData.
      Returns:
      keyPairResponse decoded to PlayerPublicKey.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

      @Nullable public @Nullable Signer getSigner()
      Returns the signer, or null 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

      public Optional<PlayerPublicKey> getPublicKey()
      Returns the public key, or Optional.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;