WindowAction class

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

Файл: com/hypixel/hytale/protocol/packets/window/WindowAction.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 CraftRecipeAction var10)
abstract abstract int serializeint serialize(@Nonnull MemorySegment var1, int var2)
public int serializeWithTypeIdint serializeWithTypeId(@Nonnull MemorySegment var1, int var2)
return switchreturn switch(var5)
static WindowAction toObjectWindowAction toObject(MemorySegment var0)
static WindowAction toObjectWindowAction toObject(MemorySegment var0, int var1)
static WindowAction toObjectWindowAction 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.window;

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 WindowAction {
   class="kw">public class="kw">static class="kw">final int MAX_SIZE = 32768023;

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

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

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

   class="kw">public class="kw">static WindowAction 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 -> CraftRecipeAction.toObject(var0, var1 + var6, var2);
         case 1 -> TierUpgradeAction.toObject(var0, var1 + var6, var2);
         case 2 -> SelectSlotAction.toObject(var0, var1 + var6, var2);
         case 3 -> ChangeBlockAction.toObject(var0, var1 + var6, var2);
         case 4 -> SetActiveAction.toObject(var0, var1 + var6, var2);
         case 5 -> CraftItemAction.toObject(var0, var1 + var6, var2);
         case 6 -> UpdateCategoryAction.toObject(var0, var1 + var6, var2);
         case 7 -> CancelCraftingAction.toObject(var0, var1 + var6, var2);
         case 8 -> SortItemsAction.toObject(var0, var1 + var6, var2);
         class="kw">default -> throw ProtocolException.unknownPolymorphicType("WindowAction", var5);
      };
   }

   class="kw">public int getTypeId() {
      if (this class="kw">instanceof CraftRecipeAction var10) {
         class="kw">return 0;
      } else if (this class="kw">instanceof TierUpgradeAction var9) {
         class="kw">return 1;
      } else if (this class="kw">instanceof SelectSlotAction var8) {
         class="kw">return 2;
      } else if (this class="kw">instanceof ChangeBlockAction var7) {
         class="kw">return 3;
      } else if (this class="kw">instanceof SetActiveAction var6) {
         class="kw">return 4;
      } else if (this class="kw">instanceof CraftItemAction var5) {
         class="kw">return 5;
      } else if (this class="kw">instanceof UpdateCategoryAction var4) {
         class="kw">return 6;
      } else if (this class="kw">instanceof CancelCraftingAction var3) {
         class="kw">return 7;
      } else if (this class="kw">instanceof SortItemsAction var1) {
         class="kw">return 8;
      } 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();
   }
}