MapChunk class

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

Файл: com/hypixel/hytale/protocol/packets/worldmap/MapChunk.java

Поля (15)

МодификаторыТипИмя
final int NULLABLE_BIT_FIELD_SIZE
int var1
MapChunk var1
long var2
byte var2
int var3
byte var3
var3
int var4
var4
int var4
ReadCursor var5
MapImage var6
var6
MapChunk var7

Методы (24)

МодификаторыВозвратСигнатура
public MapChunk cloneMapChunk clone()
public int computeSizeint computeSize()
static int getChunkXint getChunkX(MemorySegment var0)
static int getChunkXint getChunkX(MemorySegment var0, int var1)
abstract return getChunkXreturn getChunkX(var0, 0)
static int getChunkZint getChunkZ(MemorySegment var0)
static int getChunkZint getChunkZ(MemorySegment var0, int var1)
abstract return getChunkZreturn getChunkZ(var0, 0)
abstract return getImagereturn getImage(var0, 0)
static boolean hasImageboolean hasImage(MemorySegment var0, int var1)
if if(var1 < 0)
if if(var2 != null)
if if(this.image != null)
if if(this.image != null)
if if(this.image != null)
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 MapChunk toObjectMapChunk toObject(MemorySegment var0)
static MapChunk toObjectMapChunk toObject(MemorySegment var0, int var1)
static MapChunk toObjectMapChunk 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.worldmap;

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 MapChunk {
   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 = 9;
   class="kw">public class="kw">static class="kw">final int VARIABLE_FIELD_COUNT = 1;
   class="kw">public class="kw">static class="kw">final int VARIABLE_BLOCK_START = 9;
   class="kw">public class="kw">static class="kw">final int MAX_SIZE = 20480037;
   class="kw">public int chunkX;
   class="kw">public int chunkZ;
   @Nullable
   class="kw">public MapImage image;

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

   class="kw">public MapChunk(int var1, int var2, @Nullable MapImage var3) {
      this.chunkX = var1;
      this.chunkZ = var2;
      this.image = var3;
   }

   class="kw">public MapChunk(@Nonnull MapChunk var1) {
      this.chunkX = var1.chunkX;
      this.chunkZ = var1.chunkZ;
      this.image = var1.image;
   }

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

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

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

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

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

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

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

   @Nullable
   class="kw">public class="kw">static MapImage getImage(MemorySegment var0, int var1) {
      class="kw">return hasImage(var0, var1) ? MapImage.toObject(var0, var1 + 9) : null;
   }

   class="kw">public class="kw">static boolean hasImage(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 MapChunk toObject(MemorySegment var0) {
      class="kw">return toObject(var0, 0, null);
   }

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

   class="kw">public class="kw">static MapChunk toObject(MemorySegment var0, int var1, @Nullable ReadCursor var2) {
      requireBounds(var0, var1);
      int var3 = var1 + 9;
      int var4 = 0;
      ReadCursor var5 = var2 != null ? var2 : new ReadCursor();
      MapImage var6 = null;
      if (hasImage(var0, var1)) {
         var6 = MapImage.toObject(var0, var3 + var4, var5);
         var4 = var5.position - var3;
      }

      MapChunk var7 = new MapChunk(var0.get(PacketIO.PROTO_INT, var1 + 1), var0.get(PacketIO.PROTO_INT, var1 + 5), var6);
      if (var2 != null) {
         var2.position = var3 + var4;
      }

      class="kw">return var7;
   }

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

      var1.set(PacketIO.PROTO_BYTE, var2 + 0, var3);
      var1.set(PacketIO.PROTO_INT, var2 + 1, this.chunkX);
      var1.set(PacketIO.PROTO_INT, var2 + 5, this.chunkZ);
      int var4 = var2 + 9;
      if (this.image != null) {
         var4 += this.image.serialize(var1, var4);
      }

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

   class="kw">public int computeSize() {
      int var1 = 9;
      if (this.image != null) {
         var1 += this.image.computeSize();
      }

      class="kw">return var1;
   }

   class="kw">public MapChunk clone() {
      MapChunk var1 = new MapChunk();
      var1.chunkX = this.chunkX;
      var1.chunkZ = this.chunkZ;
      var1.image = this.image != null ? this.image.clone() : 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 MapChunk var2) ? false : this.chunkX == var2.chunkX && this.chunkZ == var2.chunkZ && Objects.equals(this.image, var2.image);
      }
   }

   @Override
   class="kw">public int hashCode() {
      class="kw">return Objects.hash(this.chunkX, this.chunkZ, this.image);
   }
}