RequiredBlockFaceSupport class

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

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

Поля (58)

МодификаторыТипИмя
final int NULLABLE_BIT_FIELD_SIZE
int var1
RequiredBlockFaceSupport var1
int var1
var1
var1
var1
var1
var1
var1
var1
var1
var1
var1
long var10
int var12
int var13
String var15
var15
int var16
String var17
var17
int var18
Vector3i[] var19
var19
long var2
int var2
byte var2
byte var2
byte var2
byte var2
int var20
RequiredBlockFaceSupport var22
long var3
int var3
byte var3
var3
var3
var3
var3
int var4
int var4
var4
byte var4
var4
var4
int var5
int var5
String var5
var5
int var5
int var6
int var6
int var6
Vector3i[] var7
long var7
long var8
long var9

Методы (75)

МодификаторыВозвратСигнатура
public RequiredBlockFaceSupport cloneRequiredBlockFaceSupport clone()
public int computeSizeint computeSize()
for for(int var8 = 0; var8 < var5; var8++)
for for(int var14 = 0; var14 < var12; var14++)
for for(int var7 = 0; var7 < this.filler.length; var7++)
static boolean getAllowSupportPropagationboolean getAllowSupportPropagation(MemorySegment var0)
static boolean getAllowSupportPropagationboolean getAllowSupportPropagation(MemorySegment var0, int var1)
abstract return getAllowSupportPropagationreturn getAllowSupportPropagation(var0, 0)
abstract return getBlockSetIdreturn getBlockSetId(var0, 0)
static int getBlockTypeIdint getBlockTypeId(MemorySegment var0)
static int getBlockTypeIdint getBlockTypeId(MemorySegment var0, int var1)
abstract return getBlockTypeIdreturn getBlockTypeId(var0, 0)
abstract return getFaceTypereturn getFaceType(var0, 0)
abstract return getFillerreturn getFiller(var0, 0)
static int getFluidIdint getFluidId(MemorySegment var0)
static int getFluidIdint getFluidId(MemorySegment var0, int var1)
abstract return getFluidIdreturn getFluidId(var0, 0)
static SupportMatch getMatchSelfSupportMatch getMatchSelf(MemorySegment var0)
static SupportMatch getMatchSelfSupportMatch getMatchSelf(MemorySegment var0, int var1)
abstract return getMatchSelfreturn getMatchSelf(var0, 0)
static boolean getRotateboolean getRotate(MemorySegment var0)
static boolean getRotateboolean getRotate(MemorySegment var0, int var1)
abstract return getRotatereturn getRotate(var0, 0)
abstract return getSelfFaceTypereturn getSelfFaceType(var0, 0)
static SupportMatch getSupportSupportMatch getSupport(MemorySegment var0)
static SupportMatch getSupportSupportMatch getSupport(MemorySegment var0, int var1)
abstract return getSupportreturn getSupport(var0, 0)
static int getTagIndexint getTagIndex(MemorySegment var0)
static int getTagIndexint getTagIndex(MemorySegment var0, int var1)
abstract return getTagIndexreturn getTagIndex(var0, 0)
static int getValidatedOffsetint getValidatedOffset(MemorySegment var0, int var1, int var2, int var3, String var4)
static boolean hasBlockSetIdboolean hasBlockSetId(MemorySegment var0, int var1)
static boolean hasFaceTypeboolean hasFaceType(MemorySegment var0, int var1)
static boolean hasFillerboolean hasFiller(MemorySegment var0, int var1)
static boolean hasSelfFaceTypeboolean hasSelfFaceType(MemorySegment var0, int var1)
if if(var1 < 0)
if if(var3 == -1L)
if if(var5 > 4096000)
if if(var4 != var2)
if if(var10 == -1L)
if if(var12 > 4096000)
if if(var2 != null)
if if(this.faceType != null)
if if(this.selfFaceType != null)
if if(this.blockSetId != null)
if if(this.filler != null)
if if(this.allowSupportPropagation)
if if(this.rotate)
if if(this.faceType != null)
if if(this.selfFaceType != null)
if if(this.blockSetId != null)
if if(this.filler != null)
if if(this.filler.length > 4096000)
if if(this.faceType != null)
if if(this.selfFaceType != null)
if if(this.blockSetId != null)
if if(this.filler != 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 + 16, var4, "FaceType")
abstract requireSlot requireSlot(var0, var1 + 16, -1, "FaceType")
abstract requireSlot requireSlot(var0, var1 + 20, var4, "SelfFaceType")
abstract requireSlot requireSlot(var0, var1 + 20, -1, "SelfFaceType")
abstract requireSlot requireSlot(var0, var1 + 24, var4, "BlockSetId")
abstract requireSlot requireSlot(var0, var1 + 24, -1, "BlockSetId")
abstract requireSlot requireSlot(var0, var1 + 28, var4, "Filler")
abstract requireSlot requireSlot(var0, var1 + 28, -1, "Filler")
public int serializeint serialize(@Nonnull MemorySegment var1, int var2)
static RequiredBlockFaceSupport toObjectRequiredBlockFaceSupport toObject(MemorySegment var0)
static RequiredBlockFaceSupport toObjectRequiredBlockFaceSupport toObject(MemorySegment var0, int var1)
static RequiredBlockFaceSupport toObjectRequiredBlockFaceSupport 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.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.Arrays;
class="kw">import java.util.Objects;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class RequiredBlockFaceSupport {
   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 = 16;
   class="kw">public class="kw">static class="kw">final int VARIABLE_FIELD_COUNT = 4;
   class="kw">public class="kw">static class="kw">final int VARIABLE_BLOCK_START = 32;
   class="kw">public class="kw">static class="kw">final int MAX_SIZE = 98304052;
   @Nullable
   class="kw">public String faceType;
   @Nullable
   class="kw">public String selfFaceType;
   @Nullable
   class="kw">public String blockSetId;
   class="kw">public int blockTypeId;
   class="kw">public int tagIndex;
   class="kw">public int fluidId;
   @Nonnull
   class="kw">public SupportMatch support = SupportMatch.Ignored;
   @Nonnull
   class="kw">public SupportMatch matchSelf = SupportMatch.Ignored;
   class="kw">public boolean allowSupportPropagation;
   class="kw">public boolean rotate;
   @Nullable
   class="kw">public Vector3i[] filler;

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

   class="kw">public RequiredBlockFaceSupport(
      @Nullable String var1,
      @Nullable String var2,
      @Nullable String var3,
      int var4,
      int var5,
      int var6,
      @Nonnull SupportMatch var7,
      @Nonnull SupportMatch var8,
      boolean var9,
      boolean var10,
      @Nullable Vector3i[] var11
   ) {
      this.faceType = var1;
      this.selfFaceType = var2;
      this.blockSetId = var3;
      this.blockTypeId = var4;
      this.tagIndex = var5;
      this.fluidId = var6;
      this.support = var7;
      this.matchSelf = var8;
      this.allowSupportPropagation = var9;
      this.rotate = var10;
      this.filler = var11;
   }

   class="kw">public RequiredBlockFaceSupport(@Nonnull RequiredBlockFaceSupport var1) {
      this.faceType = var1.faceType;
      this.selfFaceType = var1.selfFaceType;
      this.blockSetId = var1.blockSetId;
      this.blockTypeId = var1.blockTypeId;
      this.tagIndex = var1.tagIndex;
      this.fluidId = var1.fluidId;
      this.support = var1.support;
      this.matchSelf = var1.matchSelf;
      this.allowSupportPropagation = var1.allowSupportPropagation;
      this.rotate = var1.rotate;
      this.filler = var1.filler;
   }

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

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

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

   @Nullable
   class="kw">public class="kw">static String getFaceType(MemorySegment var0, int var1) {
      class="kw">return hasFaceType(var0, var1) ? PacketIO.readVarString("FaceType", var0, var1 + getValidatedOffset(var0, var1, 16, 32, "FaceType"), 4096000) : null;
   }

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

   @Nullable
   class="kw">public class="kw">static String getSelfFaceType(MemorySegment var0, int var1) {
      class="kw">return hasSelfFaceType(var0, var1)
         ? PacketIO.readVarString("SelfFaceType", var0, var1 + getValidatedOffset(var0, var1, 20, 32, "SelfFaceType"), 4096000)
         : null;
   }

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

   @Nullable
   class="kw">public class="kw">static String getBlockSetId(MemorySegment var0, int var1) {
      class="kw">return hasBlockSetId(var0, var1)
         ? PacketIO.readVarString("BlockSetId", var0, var1 + getValidatedOffset(var0, var1, 24, 32, "BlockSetId"), 4096000)
         : null;
   }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

   @Nullable
   class="kw">public class="kw">static Vector3i[] getFiller(MemorySegment var0) {
      class="kw">return getFiller(var0, 0);
   }

   @Nullable
   class="kw">public class="kw">static Vector3i[] getFiller(MemorySegment var0, int var1) {
      if (!hasFiller(var0, var1)) {
         class="kw">return null;
      }

      int var2 = var1 + getValidatedOffset(var0, var1, 28, 32, "Filler");
      long var3 = VarInt.getWithLength(var0, var2);
      if (var3 == -1L) {
         throw ProtocolException.invalidVarInt("Filler");
      }

      int var5 = (int)var3;
      if (var5 > 4096000) {
         throw ProtocolException.arrayTooLong("Filler", var5, 4096000);
      }

      int var6 = (int)(var3 >>> 32);
      if (var2 + var6 + var5 * 12L > var0.byteSize()) {
         throw ProtocolException.bufferTooSmall("Filler", (int)Math.min(var2 + var6 + var5 * 12L, 2147483647L), (int)var0.byteSize());
      }

      var2 += var6;
      Vector3i[] var7 = new Vector3i[var5];

      for (int var8 = 0; var8 < var5; var8++) {
         var7[var8] = Vector3i.toObject(var0, var2 + var8 * 12);
      }

      class="kw">return var7;
   }

   class="kw">public class="kw">static boolean hasFaceType(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 hasSelfFaceType(MemorySegment var0, int var1) {
      byte var2 = var0.get(PacketIO.PROTO_BYTE, var1 + 0);
      class="kw">return (var2 & 2) != 0;
   }

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

   class="kw">public class="kw">static boolean hasFiller(MemorySegment var0, int var1) {
      byte var2 = var0.get(PacketIO.PROTO_BYTE, var1 + 0);
      class="kw">return (var2 & 8) != 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 RequiredBlockFaceSupport toObject(MemorySegment var0) {
      class="kw">return toObject(var0, 0, null);
   }

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

   class="kw">public class="kw">static RequiredBlockFaceSupport toObject(MemorySegment var0, int var1, @Nullable ReadCursor var2) {
      requireBounds(var0, var1);
      int var3 = var1 + 32;
      int var4 = 0;
      String var5 = null;
      if (hasFaceType(var0, var1)) {
         requireSlot(var0, var1 + 16, var4, "FaceType");
         int var6 = var3 + var4;
         long var7 = VarInt.getWithLength(var0, var6);
         var5 = PacketIO.readVarString("FaceType", var0, var6, 0, 4096000, var7);
         var4 += (int)var7 + (int)(var7 >>> 32);
      } else {
         requireSlot(var0, var1 + 16, -1, "FaceType");
      }

      String var15 = null;
      if (hasSelfFaceType(var0, var1)) {
         requireSlot(var0, var1 + 20, var4, "SelfFaceType");
         int var16 = var3 + var4;
         long var8 = VarInt.getWithLength(var0, var16);
         var15 = PacketIO.readVarString("SelfFaceType", var0, var16, 0, 4096000, var8);
         var4 += (int)var8 + (int)(var8 >>> 32);
      } else {
         requireSlot(var0, var1 + 20, -1, "SelfFaceType");
      }

      String var17 = null;
      if (hasBlockSetId(var0, var1)) {
         requireSlot(var0, var1 + 24, var4, "BlockSetId");
         int var18 = var3 + var4;
         long var9 = VarInt.getWithLength(var0, var18);
         var17 = PacketIO.readVarString("BlockSetId", var0, var18, 0, 4096000, var9);
         var4 += (int)var9 + (int)(var9 >>> 32);
      } else {
         requireSlot(var0, var1 + 24, -1, "BlockSetId");
      }

      Vector3i[] var19 = null;
      if (hasFiller(var0, var1)) {
         requireSlot(var0, var1 + 28, var4, "Filler");
         int var20 = var3 + var4;
         long var10 = VarInt.getWithLength(var0, var20);
         if (var10 == -1L) {
            throw ProtocolException.invalidVarInt("Filler");
         }

         int var12 = (int)var10;
         if (var12 > 4096000) {
            throw ProtocolException.arrayTooLong("Filler", var12, 4096000);
         }

         int var13 = (int)(var10 >>> 32);
         if (var20 + var13 + var12 * 12L > var0.byteSize()) {
            throw ProtocolException.bufferTooSmall("Filler", (int)Math.min(var20 + var13 + var12 * 12L, 2147483647L), (int)var0.byteSize());
         }

         var20 += var13;
         var19 = new Vector3i[var12];

         for (int var14 = 0; var14 < var12; var14++) {
            var19[var14] = Vector3i.toObject(var0, var20 + var14 * 12);
         }

         var4 = var20 + var12 * 12 - var3;
      } else {
         requireSlot(var0, var1 + 28, -1, "Filler");
      }

      RequiredBlockFaceSupport var22 = new RequiredBlockFaceSupport(
         var5,
         var15,
         var17,
         var0.get(PacketIO.PROTO_INT, var1 + 1),
         var0.get(PacketIO.PROTO_INT, var1 + 5),
         var0.get(PacketIO.PROTO_INT, var1 + 9),
         SupportMatch.fromValue(var0.get(PacketIO.PROTO_BYTE, var1 + 13)),
         SupportMatch.fromValue(var0.get(PacketIO.PROTO_BYTE, var1 + 14)),
         (var0.get(PacketIO.PROTO_BYTE, var1 + 15) & 1) != 0,
         (var0.get(PacketIO.PROTO_BYTE, var1 + 15) & 2) != 0,
         var19
      );
      if (var2 != null) {
         var2.position = var3 + var4;
      }

      class="kw">return var22;
   }

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

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

      if (this.blockSetId != null) {
         var3 = (byte)(var3 | 4);
      }

      if (this.filler != null) {
         var3 = (byte)(var3 | 8);
      }

      var1.set(PacketIO.PROTO_BYTE, var2 + 0, var3);
      var1.set(PacketIO.PROTO_INT, var2 + 1, this.blockTypeId);
      var1.set(PacketIO.PROTO_INT, var2 + 5, this.tagIndex);
      var1.set(PacketIO.PROTO_INT, var2 + 9, this.fluidId);
      var1.set(PacketIO.PROTO_BYTE, var2 + 13, (byte)this.support.getValue());
      var1.set(PacketIO.PROTO_BYTE, var2 + 14, (byte)this.matchSelf.getValue());
      byte var4 = 0;
      if (this.allowSupportPropagation) {
         var4 = (byte)(var4 | 1);
      }

      if (this.rotate) {
         var4 = (byte)(var4 | 2);
      }

      var1.set(PacketIO.PROTO_BYTE, var2 + 15 + 0, var4);
      int var5 = var2 + 32;
      if (this.faceType != null) {
         var1.set(PacketIO.PROTO_INT, var2 + 16, var5 - var2 - 32);
         var5 += PacketIO.writeVarString(var1, var5, this.faceType, 4096000);
      } else {
         var1.set(PacketIO.PROTO_INT, var2 + 16, -1);
      }

      if (this.selfFaceType != null) {
         var1.set(PacketIO.PROTO_INT, var2 + 20, var5 - var2 - 32);
         var5 += PacketIO.writeVarString(var1, var5, this.selfFaceType, 4096000);
      } else {
         var1.set(PacketIO.PROTO_INT, var2 + 20, -1);
      }

      if (this.blockSetId != null) {
         var1.set(PacketIO.PROTO_INT, var2 + 24, var5 - var2 - 32);
         var5 += PacketIO.writeVarString(var1, var5, this.blockSetId, 4096000);
      } else {
         var1.set(PacketIO.PROTO_INT, var2 + 24, -1);
      }

      if (this.filler != null) {
         var1.set(PacketIO.PROTO_INT, var2 + 28, var5 - var2 - 32);
         if (this.filler.length > 4096000) {
            throw ProtocolException.arrayTooLong("Filler", this.filler.length, 4096000);
         }

         var5 += VarInt.set(var1, var5, this.filler.length);
         int var6 = 0;

         for (int var7 = 0; var7 < this.filler.length; var7++) {
            var6 += this.filler[var7].serialize(var1, var5 + var6);
         }

         var5 += var6;
      } else {
         var1.set(PacketIO.PROTO_INT, var2 + 28, -1);
      }

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

   class="kw">public int computeSize() {
      int var1 = 32;
      if (this.faceType != null) {
         var1 += PacketIO.stringSize(this.faceType);
      }

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

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

      if (this.filler != null) {
         var1 += VarInt.size(this.filler.length) + this.filler.length * 12;
      }

      class="kw">return var1;
   }

   class="kw">public RequiredBlockFaceSupport clone() {
      RequiredBlockFaceSupport var1 = new RequiredBlockFaceSupport();
      var1.faceType = this.faceType;
      var1.selfFaceType = this.selfFaceType;
      var1.blockSetId = this.blockSetId;
      var1.blockTypeId = this.blockTypeId;
      var1.tagIndex = this.tagIndex;
      var1.fluidId = this.fluidId;
      var1.support = this.support;
      var1.matchSelf = this.matchSelf;
      var1.allowSupportPropagation = this.allowSupportPropagation;
      var1.rotate = this.rotate;
      var1.filler = this.filler != null ? Arrays.stream(this.filler).map(var0 -> var0.clone()).toArray(Vector3i[]::new) : null;
      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 RequiredBlockFaceSupport var2)
            ? false
            : Objects.equals(this.faceType, var2.faceType)
               && Objects.equals(this.selfFaceType, var2.selfFaceType)
               && Objects.equals(this.blockSetId, var2.blockSetId)
               && this.blockTypeId == var2.blockTypeId
               && this.tagIndex == var2.tagIndex
               && this.fluidId == var2.fluidId
               && Objects.equals(this.support, var2.support)
               && Objects.equals(this.matchSelf, var2.matchSelf)
               && this.allowSupportPropagation == var2.allowSupportPropagation
               && this.rotate == var2.rotate
               && Arrays.equals(this.filler, var2.filler);
      }
   }

   @Override
   class="kw">public int hashCode() {
      int var1 = 1;
      var1 = 31 * var1 + Objects.hashCode(this.faceType);
      var1 = 31 * var1 + Objects.hashCode(this.selfFaceType);
      var1 = 31 * var1 + Objects.hashCode(this.blockSetId);
      var1 = 31 * var1 + Integer.hashCode(this.blockTypeId);
      var1 = 31 * var1 + Integer.hashCode(this.tagIndex);
      var1 = 31 * var1 + Integer.hashCode(this.fluidId);
      var1 = 31 * var1 + Objects.hashCode(this.support);
      var1 = 31 * var1 + Objects.hashCode(this.matchSelf);
      var1 = 31 * var1 + Boolean.hashCode(this.allowSupportPropagation);
      var1 = 31 * var1 + Boolean.hashCode(this.rotate);
      class="kw">return 31 * var1 + Arrays.hashCode(this.filler);
   }
}