PlayInteractionFor class

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

Файл: com/hypixel/hytale/protocol/packets/interaction/PlayInteractionFor.java

implements: Packet, ToClientPacket

Поля (23)

МодификаторыТипИмя
final int PACKET_ID
int var1
PlayInteractionFor var1
PlayInteractionFor var11
long var2
byte var2
byte var2
int var3
byte var3
var3
var3
int var4
int var4
var4
int var4
int var5
ReadCursor var5
ForkedChainId var6
var6
String var7
var7
int var8
long var9

Методы (46)

МодификаторыВозвратСигнатура
public PlayInteractionFor clonePlayInteractionFor clone()
static boolean getCancelboolean getCancel(MemorySegment var0)
static boolean getCancelboolean getCancel(MemorySegment var0, int var1)
abstract return getCancelreturn getCancel(var0, 0)
static int getChainIdint getChainId(MemorySegment var0)
static int getChainIdint getChainId(MemorySegment var0, int var1)
abstract return getChainIdreturn getChainId(var0, 0)
static int getEntityIdint getEntityId(MemorySegment var0)
static int getEntityIdint getEntityId(MemorySegment var0, int var1)
abstract return getEntityIdreturn getEntityId(var0, 0)
abstract return getForkedIdreturn getForkedId(var0, 0)
abstract return getInteractedItemIdreturn getInteractedItemId(var0, 0)
static int getInteractionIdint getInteractionId(MemorySegment var0)
static int getInteractionIdint getInteractionId(MemorySegment var0, int var1)
abstract return getInteractionIdreturn getInteractionId(var0, 0)
static InteractionType getInteractionTypeInteractionType getInteractionType(MemorySegment var0)
static InteractionType getInteractionTypeInteractionType getInteractionType(MemorySegment var0, int var1)
abstract return getInteractionTypereturn getInteractionType(var0, 0)
static int getOperationIndexint getOperationIndex(MemorySegment var0)
static int getOperationIndexint getOperationIndex(MemorySegment var0, int var1)
abstract return getOperationIndexreturn getOperationIndex(var0, 0)
static int getValidatedOffsetint getValidatedOffset(MemorySegment var0, int var1, int var2, int var3, String var4)
static boolean hasForkedIdboolean hasForkedId(MemorySegment var0, int var1)
static boolean hasInteractedItemIdboolean hasInteractedItemId(MemorySegment var0, int var1)
if if(var1 < 0)
if if(var4 != var2)
if if(var2 != null)
if if(this.forkedId != null)
if if(this.interactedItemId != null)
if if(this.forkedId != null)
if if(this.interactedItemId != null)
if if(this.forkedId != null)
if if(this.interactedItemId != null)
if if(this == var1)
static void requireBoundsvoid requireBounds(MemorySegment var0, int var1)
abstract requireBounds requireBounds(var0, var1)
static void requireSlotvoid requireSlot(MemorySegment var0, int var1, int var2, String var3)
abstract requireSlot requireSlot(var0, var1 + 19, var4, "ForkedId")
abstract requireSlot requireSlot(var0, var1 + 19, -1, "ForkedId")
abstract requireSlot requireSlot(var0, var1 + 23, var4, "InteractedItemId")
abstract requireSlot requireSlot(var0, var1 + 23, -1, "InteractedItemId")
static PlayInteractionFor toObjectPlayInteractionFor toObject(MemorySegment var0)
static PlayInteractionFor toObjectPlayInteractionFor toObject(MemorySegment var0, int var1)
static PlayInteractionFor toObjectPlayInteractionFor 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.interaction;

class="kw">import com.hypixel.hytale.protocol.ForkedChainId;
class="kw">import com.hypixel.hytale.protocol.InteractionType;
class="kw">import com.hypixel.hytale.protocol.NetworkChannel;
class="kw">import com.hypixel.hytale.protocol.Packet;
class="kw">import com.hypixel.hytale.protocol.ToClientPacket;
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 com.hypixel.hytale.protocol.io.VarInt;
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 PlayInteractionFor class="kw">implements Packet, ToClientPacket {
   class="kw">public class="kw">static class="kw">final int PACKET_ID = 292;
   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 = 1;
   class="kw">public class="kw">static class="kw">final int FIXED_BLOCK_SIZE = 19;
   class="kw">public class="kw">static class="kw">final int VARIABLE_FIELD_COUNT = 2;
   class="kw">public class="kw">static class="kw">final int VARIABLE_BLOCK_START = 27;
   class="kw">public class="kw">static class="kw">final int MAX_SIZE = 16385065;
   class="kw">public int entityId;
   class="kw">public int chainId;
   @Nullable
   class="kw">public ForkedChainId forkedId;
   class="kw">public int operationIndex;
   class="kw">public int interactionId;
   @Nullable
   class="kw">public String interactedItemId;
   @Nonnull
   class="kw">public InteractionType interactionType = InteractionType.Primary;
   class="kw">public boolean cancel;

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

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

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

   class="kw">public PlayInteractionFor(
      int var1, int var2, @Nullable ForkedChainId var3, int var4, int var5, @Nullable String var6, @Nonnull InteractionType var7, boolean var8
   ) {
      this.entityId = var1;
      this.chainId = var2;
      this.forkedId = var3;
      this.operationIndex = var4;
      this.interactionId = var5;
      this.interactedItemId = var6;
      this.interactionType = var7;
      this.cancel = var8;
   }

   class="kw">public PlayInteractionFor(@Nonnull PlayInteractionFor var1) {
      this.entityId = var1.entityId;
      this.chainId = var1.chainId;
      this.forkedId = var1.forkedId;
      this.operationIndex = var1.operationIndex;
      this.interactionId = var1.interactionId;
      this.interactedItemId = var1.interactedItemId;
      this.interactionType = var1.interactionType;
      this.cancel = var1.cancel;
   }

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

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

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

   class="kw">public class="kw">static int getEntityId(MemorySegment var0, int var1) {
      class="kw">return var0.get(PacketIO.PROTO_INT, var1 + 1);
   }

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

   class="kw">public class="kw">static int getChainId(MemorySegment var0, int var1) {
      class="kw">return var0.get(PacketIO.PROTO_INT, var1 + 5);
   }

   @Nullable
   class="kw">public class="kw">static ForkedChainId getForkedId(MemorySegment var0) {
      class="kw">return getForkedId(var0, 0);
   }

   @Nullable
   class="kw">public class="kw">static ForkedChainId getForkedId(MemorySegment var0, int var1) {
      class="kw">return hasForkedId(var0, var1) ? ForkedChainId.toObject(var0, var1 + getValidatedOffset(var0, var1, 19, 27, "ForkedId")) : null;
   }

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

   class="kw">public class="kw">static int getOperationIndex(MemorySegment var0, int var1) {
      class="kw">return var0.get(PacketIO.PROTO_INT, var1 + 9);
   }

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

   class="kw">public class="kw">static int getInteractionId(MemorySegment var0, int var1) {
      class="kw">return var0.get(PacketIO.PROTO_INT, var1 + 13);
   }

   @Nullable
   class="kw">public class="kw">static String getInteractedItemId(MemorySegment var0) {
      class="kw">return getInteractedItemId(var0, 0);
   }

   @Nullable
   class="kw">public class="kw">static String getInteractedItemId(MemorySegment var0, int var1) {
      class="kw">return hasInteractedItemId(var0, var1)
         ? PacketIO.readVarString("InteractedItemId", var0, var1 + getValidatedOffset(var0, var1, 23, 27, "InteractedItemId"), 4096000)
         : null;
   }

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

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

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

   class="kw">public class="kw">static boolean getCancel(MemorySegment var0, int var1) {
      class="kw">return var0.get(PacketIO.PROTO_BOOL, var1 + 18);
   }

   class="kw">public class="kw">static boolean hasForkedId(MemorySegment var0, int var1) {
      byte var2 = var0.get(PacketIO.PROTO_BYTE, var1 + 0);
      class="kw">return (var2 & 1) != 0;
   }

   class="kw">public class="kw">static boolean hasInteractedItemId(MemorySegment var0, int var1) {
      byte var2 = var0.get(PacketIO.PROTO_BYTE, var1 + 0);
      class="kw">return (var2 & 2) != 0;
   }

   class="kw">private class="kw">static int getValidatedOffset(MemorySegment var0, int var1, int var2, int var3, String var4) {
      int var5 = var0.get(PacketIO.PROTO_INT, var1 + var2);
      if (var5 >= 0 && var5 <= var0.byteSize() - var1 - var3) {
         class="kw">return var3 + var5;
      } else {
         throw ProtocolException.invalidOffset(var4, var5, (int)var0.byteSize());
      }
   }

   class="kw">private class="kw">static void requireSlot(MemorySegment var0, int var1, int var2, String var3) {
      int var4 = var0.get(PacketIO.PROTO_INT, var1);
      if (var4 != var2) {
         throw ProtocolException.nonCanonicalLayout(var3, var4, var2);
      }
   }

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

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

   class="kw">public class="kw">static PlayInteractionFor toObject(MemorySegment var0, int var1, @Nullable ReadCursor var2) {
      requireBounds(var0, var1);
      int var3 = var1 + 27;
      int var4 = 0;
      ReadCursor var5 = var2 != null ? var2 : new ReadCursor();
      ForkedChainId var6 = null;
      if (hasForkedId(var0, var1)) {
         requireSlot(var0, var1 + 19, var4, "ForkedId");
         var6 = ForkedChainId.toObject(var0, var3 + var4, var5);
         var4 = var5.position - var3;
      } else {
         requireSlot(var0, var1 + 19, -1, "ForkedId");
      }

      String var7 = null;
      if (hasInteractedItemId(var0, var1)) {
         requireSlot(var0, var1 + 23, var4, "InteractedItemId");
         int var8 = var3 + var4;
         long var9 = VarInt.getWithLength(var0, var8);
         var7 = PacketIO.readVarString("InteractedItemId", var0, var8, 0, 4096000, var9);
         var4 += (int)var9 + (int)(var9 >>> 32);
      } else {
         requireSlot(var0, var1 + 23, -1, "InteractedItemId");
      }

      PlayInteractionFor var11 = new PlayInteractionFor(
         var0.get(PacketIO.PROTO_INT, var1 + 1),
         var0.get(PacketIO.PROTO_INT, var1 + 5),
         var6,
         var0.get(PacketIO.PROTO_INT, var1 + 9),
         var0.get(PacketIO.PROTO_INT, var1 + 13),
         var7,
         InteractionType.fromValue(var0.get(PacketIO.PROTO_BYTE, var1 + 17)),
         var0.get(PacketIO.PROTO_BOOL, var1 + 18)
      );
      if (var2 != null) {
         var2.position = var3 + var4;
      }

      class="kw">return var11;
   }

   @Override
   class="kw">public int serialize(@Nonnull MemorySegment var1, int var2) {
      byte var3 = 0;
      if (this.forkedId != null) {
         var3 = (byte)(var3 | 1);
      }

      if (this.interactedItemId != null) {
         var3 = (byte)(var3 | 2);
      }

      var1.set(PacketIO.PROTO_BYTE, var2 + 0, var3);
      var1.set(PacketIO.PROTO_INT, var2 + 1, this.entityId);
      var1.set(PacketIO.PROTO_INT, var2 + 5, this.chainId);
      var1.set(PacketIO.PROTO_INT, var2 + 9, this.operationIndex);
      var1.set(PacketIO.PROTO_INT, var2 + 13, this.interactionId);
      var1.set(PacketIO.PROTO_BYTE, var2 + 17, (byte)this.interactionType.getValue());
      var1.set(PacketIO.PROTO_BOOL, var2 + 18, this.cancel);
      int var4 = var2 + 27;
      if (this.forkedId != null) {
         var1.set(PacketIO.PROTO_INT, var2 + 19, var4 - var2 - 27);
         var4 += this.forkedId.serialize(var1, var4);
      } else {
         var1.set(PacketIO.PROTO_INT, var2 + 19, -1);
      }

      if (this.interactedItemId != null) {
         var1.set(PacketIO.PROTO_INT, var2 + 23, var4 - var2 - 27);
         var4 += PacketIO.writeVarString(var1, var4, this.interactedItemId, 4096000);
      } else {
         var1.set(PacketIO.PROTO_INT, var2 + 23, -1);
      }

      class="kw">return var4 - var2;
   }

   @Override
   class="kw">public int computeSize() {
      int var1 = 27;
      if (this.forkedId != null) {
         var1 += this.forkedId.computeSize();
      }

      if (this.interactedItemId != null) {
         var1 += PacketIO.stringSize(this.interactedItemId);
      }

      class="kw">return var1;
   }

   class="kw">public PlayInteractionFor clone() {
      PlayInteractionFor var1 = new PlayInteractionFor();
      var1.entityId = this.entityId;
      var1.chainId = this.chainId;
      var1.forkedId = this.forkedId != null ? this.forkedId.clone() : null;
      var1.operationIndex = this.operationIndex;
      var1.interactionId = this.interactionId;
      var1.interactedItemId = this.interactedItemId;
      var1.interactionType = this.interactionType;
      var1.cancel = this.cancel;
      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 PlayInteractionFor var2)
            ? false
            : this.entityId == var2.entityId
               && this.chainId == var2.chainId
               && Objects.equals(this.forkedId, var2.forkedId)
               && this.operationIndex == var2.operationIndex
               && this.interactionId == var2.interactionId
               && Objects.equals(this.interactedItemId, var2.interactedItemId)
               && Objects.equals(this.interactionType, var2.interactionType)
               && this.cancel == var2.cancel;
      }
   }

   @Override
   class="kw">public int hashCode() {
      class="kw">return Objects.hash(
         this.entityId, this.chainId, this.forkedId, this.operationIndex, this.interactionId, this.interactedItemId, this.interactionType, this.cancel
      );
   }
}