AuthStatusCommand class

Пакет: com.hypixel.hytale.server.core.command.commands.server.auth

Файл: com/hypixel/hytale/server/core/command/commands/server/auth/AuthStatusCommand.java

extends: CommandBase

Поля (23)

МодификаторыТипИмя
Message var10
var10
var10
Instant var11
long var12
String var13
long var14
long var16
long var18
ServerAuthManager var2
Message var20
Message var21
var21
var21
SessionServiceClient.GameProfile[] var22
Message var3
ServerAuthManager.AuthMode var4
Message var5
String var6
var6
SessionServiceClient.GameProfile var7
String var8
Message var9

Методы (5)

МодификаторыВозвратСигнатура
if if(var7 != null)
if if(var11 != null)
if if(var12 > 0L)
if if(var22 != null)
abstract super super("status", "server.commands.auth.status.desc")

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.command.commands.server.auth;

class="kw">import com.hypixel.hytale.server.core.Message;
class="kw">import com.hypixel.hytale.server.core.Options;
class="kw">import com.hypixel.hytale.server.core.auth.ServerAuthManager;
class="kw">import com.hypixel.hytale.server.core.auth.SessionServiceClient;
class="kw">import com.hypixel.hytale.server.core.command.system.CommandContext;
class="kw">import com.hypixel.hytale.server.core.command.system.basecommands.CommandBase;
class="kw">import java.awt.Color;
class="kw">import java.time.Instant;
class="kw">import javax.annotation.Nonnull;

class="kw">public class AuthStatusCommand class="kw">extends CommandBase {
   @Nonnull
   class="kw">private class="kw">static class="kw">final Message MESSAGE_STATUS_CONNECTION_MODE_AUTHENTICATED = Message.translation("server.commands.auth.status.connectionMode.authenticated")
      .color(Color.GREEN);
   @Nonnull
   class="kw">private class="kw">static class="kw">final Message MESSAGE_STATUS_CONNECTION_MODE_OFFLINE = Message.translation("server.commands.auth.status.connectionMode.offline")
      .color(Color.YELLOW);
   @Nonnull
   class="kw">private class="kw">static class="kw">final Message MESSAGE_STATUS_CONNECTION_MODE_INSECURE = Message.translation("server.commands.auth.status.connectionMode.insecure")
      .color(Color.ORANGE);
   @Nonnull
   class="kw">private class="kw">static class="kw">final Message MESSAGE_STATUS_MODE_NONE = Message.translation("server.commands.auth.status.mode.none").color(Color.RED);
   @Nonnull
   class="kw">private class="kw">static class="kw">final Message MESSAGE_STATUS_MODE_SINGLEPLAYER = Message.translation("server.commands.auth.status.mode.singleplayer").color(Color.GREEN);
   @Nonnull
   class="kw">private class="kw">static class="kw">final Message MESSAGE_STATUS_MODE_EXTERNAL = Message.translation("server.commands.auth.status.mode.external").color(Color.GREEN);
   @Nonnull
   class="kw">private class="kw">static class="kw">final Message MESSAGE_STATUS_MODE_OAUTH_BROWSER = Message.translation("server.commands.auth.status.mode.oauthBrowser").color(Color.GREEN);
   @Nonnull
   class="kw">private class="kw">static class="kw">final Message MESSAGE_STATUS_MODE_OAUTH_DEVICE = Message.translation("server.commands.auth.status.mode.oauthDevice").color(Color.GREEN);
   @Nonnull
   class="kw">private class="kw">static class="kw">final Message MESSAGE_STATUS_MODE_OAUTH_STORE = Message.translation("server.commands.auth.status.mode.oauthStore").color(Color.GREEN);
   @Nonnull
   class="kw">private class="kw">static class="kw">final Message MESSAGE_STATUS_TOKEN_PRESENT = Message.translation("server.commands.auth.status.tokenPresent").color(Color.GREEN);
   @Nonnull
   class="kw">private class="kw">static class="kw">final Message MESSAGE_STATUS_TOKEN_MISSING = Message.translation("server.commands.auth.status.tokenMissing").color(Color.RED);
   @Nonnull
   class="kw">private class="kw">static class="kw">final Message MESSAGE_STATUS_HELP = Message.translation("server.commands.auth.status.help").color(Color.YELLOW);
   @Nonnull
   class="kw">private class="kw">static class="kw">final Message MESSAGE_STATUS_PENDING = Message.translation("server.commands.auth.status.pending").color(Color.YELLOW);

   class="kw">public AuthStatusCommand() {
      super("status", "server.commands.auth.status.desc");
   }

   @Override
   class="kw">protected void executeSync(@Nonnull CommandContext var1) {
      ServerAuthManager var2 = ServerAuthManager.getInstance();

      Message var3 = class="kw">switch ((Options.AuthMode)Options.getOptionSet().valueOf(Options.AUTH_MODE)) {
         case AUTHENTICATED -> MESSAGE_STATUS_CONNECTION_MODE_AUTHENTICATED;
         case OFFLINE -> MESSAGE_STATUS_CONNECTION_MODE_OFFLINE;
         case INSECURE -> MESSAGE_STATUS_CONNECTION_MODE_INSECURE;
      };
      ServerAuthManager.AuthMode var4 = var2.getAuthMode();

      Message var5 = class="kw">switch (var4) {
         case NONE -> MESSAGE_STATUS_MODE_NONE;
         case SINGLEPLAYER -> MESSAGE_STATUS_MODE_SINGLEPLAYER;
         case EXTERNAL_SESSION -> MESSAGE_STATUS_MODE_EXTERNAL;
         case OAUTH_BROWSER -> MESSAGE_STATUS_MODE_OAUTH_BROWSER;
         case OAUTH_DEVICE -> MESSAGE_STATUS_MODE_OAUTH_DEVICE;
         case OAUTH_STORE -> MESSAGE_STATUS_MODE_OAUTH_STORE;
      };
      String var6 = "";
      SessionServiceClient.GameProfile var7 = var2.getSelectedProfile();
      if (var7 != null) {
         String var8 = var7.username != null ? var7.username : "Unknown";
         var6 = var8 + " (" + var7.uuid + ")";
      }

      Message var20 = var2.hasSessionToken() ? MESSAGE_STATUS_TOKEN_PRESENT : MESSAGE_STATUS_TOKEN_MISSING;
      Message var9 = var2.hasIdentityToken() ? MESSAGE_STATUS_TOKEN_PRESENT : MESSAGE_STATUS_TOKEN_MISSING;
      Message var10 = Message.empty();
      Instant var11 = var2.getTokenExpiry();
      if (var11 != null) {
         long var12 = var11.getEpochSecond() - Instant.now().getEpochSecond();
         if (var12 > 0L) {
            long var14 = var12 / 3600L;
            long var16 = var12 % 3600L / 60L;
            long var18 = var12 % 60L;
            var10 = Message.translation("server.commands.auth.status.remaining")
               .param("hours", String.format("%02d", var14))
               .param("minutes", String.format("%02d", var16))
               .param("seconds", String.format("%02d", var18));
         } else {
            var10 = Message.translation("server.commands.auth.status.expired");
         }
      }

      Message var21;
      if (var2.getServerCertificate() != null) {
         String var13 = var2.getServerCertificateFingerprint();
         var21 = var13 != null ? Message.raw(var13.substring(0, 16) + "...") : Message.translation("server.commands.auth.status.certificate.unknown");
      } else {
         var21 = Message.translation("server.commands.auth.status.certificate.notLoaded");
      }

      var1.sendMessage(
         Message.translation("server.commands.auth.status.format")
            .param("connectionMode", var3)
            .param("tokenMode", var5)
            .param("profile", var6)
            .param("sessionToken", var20)
            .param("identityToken", var9)
            .param("expiry", var10)
            .param("certificate", var21)
      );
      if (var4 == ServerAuthManager.AuthMode.NONE && !var2.isSingleplayer()) {
         if (var2.hasPendingProfiles()) {
            var1.sendMessage(MESSAGE_STATUS_PENDING);
            SessionServiceClient.GameProfile[] var22 = var2.getPendingProfiles();
            if (var22 != null) {
               AuthSelectCommand.sendProfileList(var1, var22);
            }
         } else {
            var1.sendMessage(MESSAGE_STATUS_HELP);
         }
      }
   }
}