AuthHandlerSupplier interface

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

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

Методы (1)

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

Исходный код

Показать/скрыть
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);
   }
}