AuthenticationPacketHandler class

Пакет: com.hypixel.hytale.server.core.io.handlers.login

Файл: com/hypixel/hytale/server/core/io/handlers/login/AuthenticationPacketHandler.java

extends: HandshakeHandler

Поля (2)

МодификаторыТипИмя
final AuthenticationPacketHandler.AuthHandlerSupplier authHandlerSupplier
int var2

Методы (2)

МодификаторыВозвратСигнатура
abstract PacketHandler createPacketHandler create(ChannelConnection var1, ProtocolVersion var2, String var3, PlayerAuthentication var4)
abstract super super(var1, var2, var3, var5, var6, var7, var8)

Исходный код

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

class="kw">import com.hypixel.hytale.protocol.HostAddress;
class="kw">import com.hypixel.hytale.protocol.io.ChannelConnection;
class="kw">import com.hypixel.hytale.protocol.io.ConnectionHandler;
class="kw">import com.hypixel.hytale.protocol.packets.connection.ClientType;
class="kw">import com.hypixel.hytale.server.core.HytaleServer;
class="kw">import com.hypixel.hytale.server.core.Message;
class="kw">import com.hypixel.hytale.server.core.auth.PlayerAuthentication;
class="kw">import com.hypixel.hytale.server.core.io.PacketHandler;
class="kw">import com.hypixel.hytale.server.core.io.ProtocolVersion;
class="kw">import com.hypixel.hytale.server.core.universe.Universe;
class="kw">import java.util.logging.Level;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class AuthenticationPacketHandler class="kw">extends HandshakeHandler {
   class="kw">private class="kw">final AuthenticationPacketHandler.AuthHandlerSupplier authHandlerSupplier;

   class="kw">public AuthenticationPacketHandler(
      @Nonnull ChannelConnection var1,
      @Nonnull ProtocolVersion var2,
      @Nonnull String var3,
      @Nonnull AuthenticationPacketHandler.AuthHandlerSupplier var4,
      @Nonnull ClientType var5,
      @Nonnull String var6,
      @Nullable byte[] var7,
      @Nullable HostAddress var8
   ) {
      super(var1, var2, var3, var5, var6, var7, var8);
      this.authHandlerSupplier = var4;
   }

   @Nonnull
   @Override
   class="kw">public String getIdentifier() {
      class="kw">return "{Authenticating(" + this.getChannel().formatRemoteAddress() + "), authHandlerSupplier=" + this.authHandlerSupplier + "}";
   }

   @Override
   class="kw">public void registered0(ConnectionHandler var1) {
      int var2 = HytaleServer.get().getConfig().getMaxPlayers();
      if (var2 > 0 && Universe.get().getPlayerCount() >= var2) {
         this.disconnect(Message.translation("client.general.disconnect.serverFull"));
      } else {
         super.registered0(var1);
      }
   }

   @Override
   class="kw">protected void onAuthenticated(byte[] var1) {
      this.getChannel().logConnectionTimings("Authenticated", Level.FINE);
      this.getChannel()
         .setChannelHandler(
            new PasswordPacketHandler(
               this.getChannel(),
               this.protocolVersion,
               this.language,
               this.auth,
               var1,
               (var1x, var2, var3, var4) -> this.authHandlerSupplier.create(var1x, var2, var3, var4)
            )
         );
   }

   @FunctionalInterface
   class="kw">public class="kw">interface AuthHandlerSupplier {
      PacketHandler create(ChannelConnection var1, ProtocolVersion var2, String var3, PlayerAuthentication var4);
   }
}