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);
}
}