ConnectedBlockShape class

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

Файл: com/hypixel/hytale/protocol/ConnectedBlockShape.java

Поля (5)

МодификаторыТипИмя
final int MAX_SIZE
long var3
int var3
int var5
int var6

Методы (12)

МодификаторыВозвратСигнатура
abstract abstract int computeSizeint computeSize()
public int computeSizeWithTypeIdint computeSizeWithTypeId()
public int getTypeIdint getTypeId()
if if(this instanceof TagPatternConnectedBlockShape var4)
abstract abstract int serializeint serialize(@Nonnull MemorySegment var1, int var2)
public int serializeWithTypeIdint serializeWithTypeId(@Nonnull MemorySegment var1, int var2)
return switchreturn switch(var5)
static ConnectedBlockShape toObjectConnectedBlockShape toObject(MemorySegment var0)
static ConnectedBlockShape toObjectConnectedBlockShape toObject(MemorySegment var0, int var1)
static ConnectedBlockShape toObjectConnectedBlockShape 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;

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 javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class="kw">abstract class ConnectedBlockShape {
   class="kw">public class="kw">static class="kw">final int MAX_SIZE = 1677721605;
   @Nullable
   class="kw">public ConnectedBlockFaceTags faceTags;
   class="kw">public int relativeRotationIndex;

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

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

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

   class="kw">public class="kw">static ConnectedBlockShape toObject(MemorySegment var0, int var1, @Nullable ReadCursor var2) {
      long var3 = VarInt.getWithLength(var0, var1);
      int var5 = (int)var3;
      int var6 = (int)(var3 >>> 32);

      class="kw">return class="kw">switch (var5) {
         case 0 -> TagPatternConnectedBlockShape.toObject(var0, var1 + var6, var2);
         case 1 -> TemplatedConnectedBlockShape.toObject(var0, var1 + var6, var2);
         case 2 -> BlockTypeConnectedBlockShape.toObject(var0, var1 + var6, var2);
         class="kw">default -> throw ProtocolException.unknownPolymorphicType("ConnectedBlockShape", var5);
      };
   }

   class="kw">public int getTypeId() {
      if (this class="kw">instanceof TagPatternConnectedBlockShape var4) {
         class="kw">return 0;
      } else if (this class="kw">instanceof TemplatedConnectedBlockShape var3) {
         class="kw">return 1;
      } else if (this class="kw">instanceof BlockTypeConnectedBlockShape var1) {
         class="kw">return 2;
      } else {
         throw new IllegalStateException("Unknown subtype: " + this.getClass().getName());
      }
   }

   class="kw">public class="kw">abstract int serialize(@Nonnull MemorySegment var1, int var2);

   class="kw">public class="kw">abstract int computeSize();

   class="kw">public int serializeWithTypeId(@Nonnull MemorySegment var1, int var2) {
      int var3 = VarInt.set(var1, var2, this.getTypeId());
      class="kw">return var3 + this.serialize(var1, var2 + var3);
   }

   class="kw">public int computeSizeWithTypeId() {
      class="kw">return VarInt.size(this.getTypeId()) + this.computeSize();
   }
}