ConnectedBlockRuleSet class

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

Файл: com/hypixel/hytale/protocol/ConnectedBlockRuleSet.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 StairConnectedBlockRuleSet 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 ConnectedBlockRuleSet toObjectConnectedBlockRuleSet toObject(MemorySegment var0)
static ConnectedBlockRuleSet toObjectConnectedBlockRuleSet toObject(MemorySegment var0, int var1)
static ConnectedBlockRuleSet toObjectConnectedBlockRuleSet 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 ConnectedBlockRuleSet {
   class="kw">public class="kw">static class="kw">final int MAX_SIZE = 1677721605;

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

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

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

   class="kw">public class="kw">static ConnectedBlockRuleSet 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 -> StairConnectedBlockRuleSet.toObject(var0, var1 + var6, var2);
         case 1 -> RoofConnectedBlockRuleSet.toObject(var0, var1 + var6, var2);
         case 2 -> PatternedConnectedBlockRuleSet.toObject(var0, var1 + var6, var2);
         class="kw">default -> throw ProtocolException.unknownPolymorphicType("ConnectedBlockRuleSet", var5);
      };
   }

   class="kw">public int getTypeId() {
      if (this class="kw">instanceof StairConnectedBlockRuleSet var4) {
         class="kw">return 0;
      } else if (this class="kw">instanceof RoofConnectedBlockRuleSet var3) {
         class="kw">return 1;
      } else if (this class="kw">instanceof PatternedConnectedBlockRuleSet 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();
   }
}