ClientDisconnect class

Пакет: com.hypixel.hytale.protocol.packets.connection

Файл: com/hypixel/hytale/protocol/packets/connection/ClientDisconnect.java

implements: Packet, ToServerPacket

Поля (4)

МодификаторыТипИмя
final int PACKET_ID
ClientDisconnect var1
long var2
ClientDisconnect var3

Методы (17)

МодификаторыВозвратСигнатура
public ClientDisconnect cloneClientDisconnect clone()
static ClientDisconnectReason getReasonClientDisconnectReason getReason(MemorySegment var0)
static ClientDisconnectReason getReasonClientDisconnectReason getReason(MemorySegment var0, int var1)
abstract return getReasonreturn getReason(var0, 0)
static DisconnectType getTypeDisconnectType getType(MemorySegment var0)
static DisconnectType getTypeDisconnectType getType(MemorySegment var0, int var1)
abstract return getTypereturn getType(var0, 0)
if if(var1 < 0)
if if(var2 != null)
if if(this == var1)
static void requireBoundsvoid requireBounds(MemorySegment var0, int var1)
abstract requireBounds requireBounds(var0, var1)
static ClientDisconnect toObjectClientDisconnect toObject(MemorySegment var0)
static ClientDisconnect toObjectClientDisconnect toObject(MemorySegment var0, int var1)
static ClientDisconnect toObjectClientDisconnect toObject(MemorySegment var0, int var1, @Nullable ReadCursor var2)
abstract return toObjectreturn toObject(var0, 0, null)
abstract return toObjectreturn toObject(var0, var1, null)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.protocol.packets.connection;

class="kw">import com.hypixel.hytale.protocol.NetworkChannel;
class="kw">import com.hypixel.hytale.protocol.Packet;
class="kw">import com.hypixel.hytale.protocol.ToServerPacket;
class="kw">import com.hypixel.hytale.protocol.io.PacketIO;
class="kw">import com.hypixel.hytale.protocol.io.ProtocolException;
class="kw">import com.hypixel.hytale.protocol.io.ReadCursor;
class="kw">import java.lang.foreign.MemorySegment;
class="kw">import java.util.Objects;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class ClientDisconnect class="kw">implements Packet, ToServerPacket {
   class="kw">public class="kw">static class="kw">final int PACKET_ID = 1;
   class="kw">public class="kw">static class="kw">final boolean IS_COMPRESSED = false;
   class="kw">public class="kw">static class="kw">final int NULLABLE_BIT_FIELD_SIZE = 0;
   class="kw">public class="kw">static class="kw">final int FIXED_BLOCK_SIZE = 2;
   class="kw">public class="kw">static class="kw">final int VARIABLE_FIELD_COUNT = 0;
   class="kw">public class="kw">static class="kw">final int VARIABLE_BLOCK_START = 2;
   class="kw">public class="kw">static class="kw">final int MAX_SIZE = 2;
   @Nonnull
   class="kw">public ClientDisconnectReason reason = ClientDisconnectReason.PlayerLeave;
   @Nonnull
   class="kw">public DisconnectType type = DisconnectType.Disconnect;

   @Override
   class="kw">public int getId() {
      class="kw">return 1;
   }

   @Override
   class="kw">public NetworkChannel getChannel() {
      class="kw">return NetworkChannel.Default;
   }

   class="kw">public ClientDisconnect() {
   }

   class="kw">public ClientDisconnect(@Nonnull ClientDisconnectReason var1, @Nonnull DisconnectType var2) {
      this.reason = var1;
      this.type = var2;
   }

   class="kw">public ClientDisconnect(@Nonnull ClientDisconnect var1) {
      this.reason = var1.reason;
      this.type = var1.type;
   }

   class="kw">public class="kw">static void requireBounds(MemorySegment var0, int var1) {
      if (var1 < 0) {
         throw ProtocolException.invalidOffset("ClientDisconnect", var1, (int)var0.byteSize());
      }

      long var2 = var1 + 2L;
      if (var2 > var0.byteSize()) {
         throw ProtocolException.bufferTooSmall("ClientDisconnect", (int)Math.min(var2, 2147483647L), (int)var0.byteSize());
      }
   }

   class="kw">public class="kw">static ClientDisconnectReason getReason(MemorySegment var0) {
      class="kw">return getReason(var0, 0);
   }

   class="kw">public class="kw">static ClientDisconnectReason getReason(MemorySegment var0, int var1) {
      class="kw">return ClientDisconnectReason.fromValue(var0.get(PacketIO.PROTO_BYTE, var1 + 0));
   }

   class="kw">public class="kw">static DisconnectType getType(MemorySegment var0) {
      class="kw">return getType(var0, 0);
   }

   class="kw">public class="kw">static DisconnectType getType(MemorySegment var0, int var1) {
      class="kw">return DisconnectType.fromValue(var0.get(PacketIO.PROTO_BYTE, var1 + 1));
   }

   class="kw">public class="kw">static ClientDisconnect toObject(MemorySegment var0) {
      class="kw">return toObject(var0, 0, null);
   }

   class="kw">public class="kw">static ClientDisconnect toObject(MemorySegment var0, int var1) {
      class="kw">return toObject(var0, var1, null);
   }

   class="kw">public class="kw">static ClientDisconnect toObject(MemorySegment var0, int var1, @Nullable ReadCursor var2) {
      requireBounds(var0, var1);
      ClientDisconnect var3 = new ClientDisconnect(
         ClientDisconnectReason.fromValue(var0.get(PacketIO.PROTO_BYTE, var1 + 0)), DisconnectType.fromValue(var0.get(PacketIO.PROTO_BYTE, var1 + 1))
      );
      if (var2 != null) {
         var2.position = var1 + 2;
      }

      class="kw">return var3;
   }

   @Override
   class="kw">public int serialize(@Nonnull MemorySegment var1, int var2) {
      var1.set(PacketIO.PROTO_BYTE, var2 + 0, (byte)this.reason.getValue());
      var1.set(PacketIO.PROTO_BYTE, var2 + 1, (byte)this.type.getValue());
      class="kw">return 2;
   }

   @Override
   class="kw">public int computeSize() {
      class="kw">return 2;
   }

   class="kw">public ClientDisconnect clone() {
      ClientDisconnect var1 = new ClientDisconnect();
      var1.reason = this.reason;
      var1.type = this.type;
      class="kw">return var1;
   }

   @Override
   class="kw">public boolean equals(Object var1) {
      if (this == var1) {
         class="kw">return true;
      } else {
         class="kw">return !(var1 class="kw">instanceof ClientDisconnect var2) ? false : Objects.equals(this.reason, var2.reason) && Objects.equals(this.type, var2.type);
      }
   }

   @Override
   class="kw">public int hashCode() {
      class="kw">return Objects.hash(this.reason, this.type);
   }
}