BlockPlacementSettings class

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

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

Поля (7)

МодификаторыТипИмя
final int NULLABLE_BIT_FIELD_SIZE
BlockPlacementSettings var1
long var2
BlockPlacementSettings var3
byte var3
var3
var3

Методы (39)

МодификаторыВозвратСигнатура
public BlockPlacementSettings cloneBlockPlacementSettings clone()
public int computeSizeint computeSize()
static boolean getAllowBreakReplaceboolean getAllowBreakReplace(MemorySegment var0)
static boolean getAllowBreakReplaceboolean getAllowBreakReplace(MemorySegment var0, int var1)
abstract return getAllowBreakReplacereturn getAllowBreakReplace(var0, 0)
static boolean getAllowRotationKeyboolean getAllowRotationKey(MemorySegment var0)
static boolean getAllowRotationKeyboolean getAllowRotationKey(MemorySegment var0, int var1)
abstract return getAllowRotationKeyreturn getAllowRotationKey(var0, 0)
static int getCeilingPlacementOverrideBlockIdint getCeilingPlacementOverrideBlockId(MemorySegment var0)
static int getCeilingPlacementOverrideBlockIdint getCeilingPlacementOverrideBlockId(MemorySegment var0, int var1)
abstract return getCeilingPlacementOverrideBlockIdreturn getCeilingPlacementOverrideBlockId(var0, 0)
static int getFloorPlacementOverrideBlockIdint getFloorPlacementOverrideBlockId(MemorySegment var0)
static int getFloorPlacementOverrideBlockIdint getFloorPlacementOverrideBlockId(MemorySegment var0, int var1)
abstract return getFloorPlacementOverrideBlockIdreturn getFloorPlacementOverrideBlockId(var0, 0)
static boolean getPlaceInEmptyBlocksboolean getPlaceInEmptyBlocks(MemorySegment var0)
static boolean getPlaceInEmptyBlocksboolean getPlaceInEmptyBlocks(MemorySegment var0, int var1)
abstract return getPlaceInEmptyBlocksreturn getPlaceInEmptyBlocks(var0, 0)
static BlockPreviewVisibility getPreviewVisibilityBlockPreviewVisibility getPreviewVisibility(MemorySegment var0)
static BlockPreviewVisibility getPreviewVisibilityBlockPreviewVisibility getPreviewVisibility(MemorySegment var0, int var1)
abstract return getPreviewVisibilityreturn getPreviewVisibility(var0, 0)
static BlockPlacementRotationMode getRotationModeBlockPlacementRotationMode getRotationMode(MemorySegment var0)
static BlockPlacementRotationMode getRotationModeBlockPlacementRotationMode getRotationMode(MemorySegment var0, int var1)
abstract return getRotationModereturn getRotationMode(var0, 0)
static int getWallPlacementOverrideBlockIdint getWallPlacementOverrideBlockId(MemorySegment var0)
static int getWallPlacementOverrideBlockIdint getWallPlacementOverrideBlockId(MemorySegment var0, int var1)
abstract return getWallPlacementOverrideBlockIdreturn getWallPlacementOverrideBlockId(var0, 0)
if if(var1 < 0)
if if(var2 != null)
if if(this.allowRotationKey)
if if(this.placeInEmptyBlocks)
if if(this == var1)
static void requireBoundsvoid requireBounds(MemorySegment var0, int var1)
abstract requireBounds requireBounds(var0, var1)
public int serializeint serialize(@Nonnull MemorySegment var1, int var2)
static BlockPlacementSettings toObjectBlockPlacementSettings toObject(MemorySegment var0)
static BlockPlacementSettings toObjectBlockPlacementSettings toObject(MemorySegment var0, int var1)
static BlockPlacementSettings toObjectBlockPlacementSettings 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 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 BlockPlacementSettings {
   class="kw">public class="kw">static class="kw">final int NULLABLE_BIT_FIELD_SIZE = 0;
   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 = 0;
   class="kw">public class="kw">static class="kw">final int VARIABLE_BLOCK_START = 16;
   class="kw">public class="kw">static class="kw">final int MAX_SIZE = 16;
   class="kw">public boolean allowRotationKey;
   class="kw">public boolean placeInEmptyBlocks;
   @Nonnull
   class="kw">public BlockPreviewVisibility previewVisibility = BlockPreviewVisibility.AlwaysVisible;
   @Nonnull
   class="kw">public BlockPlacementRotationMode rotationMode = BlockPlacementRotationMode.FacingPlayer;
   class="kw">public int wallPlacementOverrideBlockId;
   class="kw">public int floorPlacementOverrideBlockId;
   class="kw">public int ceilingPlacementOverrideBlockId;
   class="kw">public boolean allowBreakReplace;

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

   class="kw">public BlockPlacementSettings(
      boolean var1, boolean var2, @Nonnull BlockPreviewVisibility var3, @Nonnull BlockPlacementRotationMode var4, int var5, int var6, int var7, boolean var8
   ) {
      this.allowRotationKey = var1;
      this.placeInEmptyBlocks = var2;
      this.previewVisibility = var3;
      this.rotationMode = var4;
      this.wallPlacementOverrideBlockId = var5;
      this.floorPlacementOverrideBlockId = var6;
      this.ceilingPlacementOverrideBlockId = var7;
      this.allowBreakReplace = var8;
   }

   class="kw">public BlockPlacementSettings(@Nonnull BlockPlacementSettings var1) {
      this.allowRotationKey = var1.allowRotationKey;
      this.placeInEmptyBlocks = var1.placeInEmptyBlocks;
      this.previewVisibility = var1.previewVisibility;
      this.rotationMode = var1.rotationMode;
      this.wallPlacementOverrideBlockId = var1.wallPlacementOverrideBlockId;
      this.floorPlacementOverrideBlockId = var1.floorPlacementOverrideBlockId;
      this.ceilingPlacementOverrideBlockId = var1.ceilingPlacementOverrideBlockId;
      this.allowBreakReplace = var1.allowBreakReplace;
   }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

   class="kw">public class="kw">static BlockPlacementSettings toObject(MemorySegment var0, int var1, @Nullable ReadCursor var2) {
      requireBounds(var0, var1);
      BlockPlacementSettings var3 = new BlockPlacementSettings(
         (var0.get(PacketIO.PROTO_BYTE, var1 + 0) & 1) != 0,
         (var0.get(PacketIO.PROTO_BYTE, var1 + 0) & 2) != 0,
         BlockPreviewVisibility.fromValue(var0.get(PacketIO.PROTO_BYTE, var1 + 1)),
         BlockPlacementRotationMode.fromValue(var0.get(PacketIO.PROTO_BYTE, var1 + 2)),
         var0.get(PacketIO.PROTO_INT, var1 + 3),
         var0.get(PacketIO.PROTO_INT, var1 + 7),
         var0.get(PacketIO.PROTO_INT, var1 + 11),
         var0.get(PacketIO.PROTO_BOOL, var1 + 15)
      );
      if (var2 != null) {
         var2.position = var1 + 16;
      }

      class="kw">return var3;
   }

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

      if (this.placeInEmptyBlocks) {
         var3 = (byte)(var3 | 2);
      }

      var1.set(PacketIO.PROTO_BYTE, var2 + 0 + 0, var3);
      var1.set(PacketIO.PROTO_BYTE, var2 + 1, (byte)this.previewVisibility.getValue());
      var1.set(PacketIO.PROTO_BYTE, var2 + 2, (byte)this.rotationMode.getValue());
      var1.set(PacketIO.PROTO_INT, var2 + 3, this.wallPlacementOverrideBlockId);
      var1.set(PacketIO.PROTO_INT, var2 + 7, this.floorPlacementOverrideBlockId);
      var1.set(PacketIO.PROTO_INT, var2 + 11, this.ceilingPlacementOverrideBlockId);
      var1.set(PacketIO.PROTO_BOOL, var2 + 15, this.allowBreakReplace);
      class="kw">return 16;
   }

   class="kw">public int computeSize() {
      class="kw">return 16;
   }

   class="kw">public BlockPlacementSettings clone() {
      BlockPlacementSettings var1 = new BlockPlacementSettings();
      var1.allowRotationKey = this.allowRotationKey;
      var1.placeInEmptyBlocks = this.placeInEmptyBlocks;
      var1.previewVisibility = this.previewVisibility;
      var1.rotationMode = this.rotationMode;
      var1.wallPlacementOverrideBlockId = this.wallPlacementOverrideBlockId;
      var1.floorPlacementOverrideBlockId = this.floorPlacementOverrideBlockId;
      var1.ceilingPlacementOverrideBlockId = this.ceilingPlacementOverrideBlockId;
      var1.allowBreakReplace = this.allowBreakReplace;
      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 BlockPlacementSettings var2)
            ? false
            : this.allowRotationKey == var2.allowRotationKey
               && this.placeInEmptyBlocks == var2.placeInEmptyBlocks
               && Objects.equals(this.previewVisibility, var2.previewVisibility)
               && Objects.equals(this.rotationMode, var2.rotationMode)
               && this.wallPlacementOverrideBlockId == var2.wallPlacementOverrideBlockId
               && this.floorPlacementOverrideBlockId == var2.floorPlacementOverrideBlockId
               && this.ceilingPlacementOverrideBlockId == var2.ceilingPlacementOverrideBlockId
               && this.allowBreakReplace == var2.allowBreakReplace;
      }
   }

   @Override
   class="kw">public int hashCode() {
      class="kw">return Objects.hash(
         this.allowRotationKey,
         this.placeInEmptyBlocks,
         this.previewVisibility,
         this.rotationMode,
         this.wallPlacementOverrideBlockId,
         this.floorPlacementOverrideBlockId,
         this.ceilingPlacementOverrideBlockId,
         this.allowBreakReplace
      );
   }
}