FluidFX class

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

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

Поля (31)

МодификаторыТипИмя
final int NULLABLE_BIT_FIELD_SIZE
int var1
FluidFX var1
FluidParticle var10
var10
FluidFX var11
long var2
byte var2
byte var2
byte var2
byte var2
byte var2
byte var2
int var3
byte var3
var3
var3
var3
var3
var3
var3
int var4
int var4
var4
int var4
int var5
ReadCursor var5
String var6
var6
int var7
long var8

Методы (67)

МодификаторыВозвратСигнатура
public FluidFX cloneFluidFX clone()
public int computeSizeint computeSize()
abstract return getColorFilterreturn getColorFilter(var0, 0)
static float getColorSaturationfloat getColorSaturation(MemorySegment var0)
static float getColorSaturationfloat getColorSaturation(MemorySegment var0, int var1)
abstract return getColorSaturationreturn getColorSaturation(var0, 0)
static float getDistortionAmplitudefloat getDistortionAmplitude(MemorySegment var0)
static float getDistortionAmplitudefloat getDistortionAmplitude(MemorySegment var0, int var1)
abstract return getDistortionAmplitudereturn getDistortionAmplitude(var0, 0)
static float getDistortionFrequencyfloat getDistortionFrequency(MemorySegment var0)
static float getDistortionFrequencyfloat getDistortionFrequency(MemorySegment var0, int var1)
abstract return getDistortionFrequencyreturn getDistortionFrequency(var0, 0)
abstract return getFogColorreturn getFogColor(var0, 0)
static float getFogDepthFallofffloat getFogDepthFalloff(MemorySegment var0)
static float getFogDepthFallofffloat getFogDepthFalloff(MemorySegment var0, int var1)
abstract return getFogDepthFalloffreturn getFogDepthFalloff(var0, 0)
static float getFogDepthStartfloat getFogDepthStart(MemorySegment var0)
static float getFogDepthStartfloat getFogDepthStart(MemorySegment var0, int var1)
abstract return getFogDepthStartreturn getFogDepthStart(var0, 0)
abstract return getFogDistancereturn getFogDistance(var0, 0)
static FluidFog getFogModeFluidFog getFogMode(MemorySegment var0)
static FluidFog getFogModeFluidFog getFogMode(MemorySegment var0, int var1)
abstract return getFogModereturn getFogMode(var0, 0)
abstract return getIdreturn getId(var0, 0)
abstract return getMovementSettingsreturn getMovementSettings(var0, 0)
abstract return getParticlereturn getParticle(var0, 0)
static ShaderType getShaderShaderType getShader(MemorySegment var0)
static ShaderType getShaderShaderType getShader(MemorySegment var0, int var1)
abstract return getShaderreturn getShader(var0, 0)
static int getValidatedOffsetint getValidatedOffset(MemorySegment var0, int var1, int var2, int var3, String var4)
static boolean hasColorFilterboolean hasColorFilter(MemorySegment var0, int var1)
static boolean hasFogColorboolean hasFogColor(MemorySegment var0, int var1)
static boolean hasFogDistanceboolean hasFogDistance(MemorySegment var0, int var1)
static boolean hasIdboolean hasId(MemorySegment var0, int var1)
static boolean hasMovementSettingsboolean hasMovementSettings(MemorySegment var0, int var1)
static boolean hasParticleboolean hasParticle(MemorySegment var0, int var1)
if if(var1 < 0)
if if(var4 != var2)
if if(var2 != null)
if if(this.fogColor != null)
if if(this.fogDistance != null)
if if(this.colorFilter != null)
if if(this.movementSettings != null)
if if(this.id != null)
if if(this.particle != null)
if if(this.fogColor != null)
if if(this.fogDistance != null)
if if(this.colorFilter != null)
if if(this.movementSettings != null)
if if(this.id != null)
if if(this.particle != null)
if if(this.id != null)
if if(this.particle != 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 + 61, var4, "Id")
abstract requireSlot requireSlot(var0, var1 + 61, -1, "Id")
abstract requireSlot requireSlot(var0, var1 + 65, var4, "Particle")
abstract requireSlot requireSlot(var0, var1 + 65, -1, "Particle")
public int serializeint serialize(@Nonnull MemorySegment var1, int var2)
static FluidFX toObjectFluidFX toObject(MemorySegment var0)
static FluidFX toObjectFluidFX toObject(MemorySegment var0, int var1)
static FluidFX toObjectFluidFX 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.Objects;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class FluidFX {
   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 = 61;
   class="kw">public class="kw">static class="kw">final int VARIABLE_FIELD_COUNT = 2;
   class="kw">public class="kw">static class="kw">final int VARIABLE_BLOCK_START = 69;
   class="kw">public class="kw">static class="kw">final int MAX_SIZE = 32768087;
   @Nullable
   class="kw">public String id;
   @Nonnull
   class="kw">public ShaderType shader = ShaderType.None;
   @Nonnull
   class="kw">public FluidFog fogMode = FluidFog.Color;
   @Nullable
   class="kw">public Color fogColor;
   @Nullable
   class="kw">public NearFar fogDistance;
   class="kw">public float fogDepthStart;
   class="kw">public float fogDepthFalloff;
   @Nullable
   class="kw">public Color colorFilter;
   class="kw">public float colorSaturation;
   class="kw">public float distortionAmplitude;
   class="kw">public float distortionFrequency;
   @Nullable
   class="kw">public FluidParticle particle;
   @Nullable
   class="kw">public FluidFXMovementSettings movementSettings;

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

   class="kw">public FluidFX(
      @Nullable String var1,
      @Nonnull ShaderType var2,
      @Nonnull FluidFog var3,
      @Nullable Color var4,
      @Nullable NearFar var5,
      float var6,
      float var7,
      @Nullable Color var8,
      float var9,
      float var10,
      float var11,
      @Nullable FluidParticle var12,
      @Nullable FluidFXMovementSettings var13
   ) {
      this.id = var1;
      this.shader = var2;
      this.fogMode = var3;
      this.fogColor = var4;
      this.fogDistance = var5;
      this.fogDepthStart = var6;
      this.fogDepthFalloff = var7;
      this.colorFilter = var8;
      this.colorSaturation = var9;
      this.distortionAmplitude = var10;
      this.distortionFrequency = var11;
      this.particle = var12;
      this.movementSettings = var13;
   }

   class="kw">public FluidFX(@Nonnull FluidFX var1) {
      this.id = var1.id;
      this.shader = var1.shader;
      this.fogMode = var1.fogMode;
      this.fogColor = var1.fogColor;
      this.fogDistance = var1.fogDistance;
      this.fogDepthStart = var1.fogDepthStart;
      this.fogDepthFalloff = var1.fogDepthFalloff;
      this.colorFilter = var1.colorFilter;
      this.colorSaturation = var1.colorSaturation;
      this.distortionAmplitude = var1.distortionAmplitude;
      this.distortionFrequency = var1.distortionFrequency;
      this.particle = var1.particle;
      this.movementSettings = var1.movementSettings;
   }

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

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

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

   @Nullable
   class="kw">public class="kw">static String getId(MemorySegment var0, int var1) {
      class="kw">return hasId(var0, var1) ? PacketIO.readVarString("Id", var0, var1 + getValidatedOffset(var0, var1, 61, 69, "Id"), 4096000) : null;
   }

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

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

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

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

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

   @Nullable
   class="kw">public class="kw">static Color getFogColor(MemorySegment var0, int var1) {
      class="kw">return hasFogColor(var0, var1) ? Color.toObject(var0, var1 + 3) : null;
   }

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

   @Nullable
   class="kw">public class="kw">static NearFar getFogDistance(MemorySegment var0, int var1) {
      class="kw">return hasFogDistance(var0, var1) ? NearFar.toObject(var0, var1 + 6) : null;
   }

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

   class="kw">public class="kw">static float getFogDepthStart(MemorySegment var0, int var1) {
      class="kw">return PacketIO.requireFinite(var0.get(PacketIO.PROTO_FLOAT, var1 + 14), "FogDepthStart");
   }

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

   class="kw">public class="kw">static float getFogDepthFalloff(MemorySegment var0, int var1) {
      class="kw">return PacketIO.requireFinite(var0.get(PacketIO.PROTO_FLOAT, var1 + 18), "FogDepthFalloff");
   }

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

   @Nullable
   class="kw">public class="kw">static Color getColorFilter(MemorySegment var0, int var1) {
      class="kw">return hasColorFilter(var0, var1) ? Color.toObject(var0, var1 + 22) : null;
   }

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

   class="kw">public class="kw">static float getColorSaturation(MemorySegment var0, int var1) {
      class="kw">return PacketIO.requireFinite(var0.get(PacketIO.PROTO_FLOAT, var1 + 25), "ColorSaturation");
   }

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

   class="kw">public class="kw">static float getDistortionAmplitude(MemorySegment var0, int var1) {
      class="kw">return PacketIO.requireFinite(var0.get(PacketIO.PROTO_FLOAT, var1 + 29), "DistortionAmplitude");
   }

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

   class="kw">public class="kw">static float getDistortionFrequency(MemorySegment var0, int var1) {
      class="kw">return PacketIO.requireFinite(var0.get(PacketIO.PROTO_FLOAT, var1 + 33), "DistortionFrequency");
   }

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

   @Nullable
   class="kw">public class="kw">static FluidParticle getParticle(MemorySegment var0, int var1) {
      class="kw">return hasParticle(var0, var1) ? FluidParticle.toObject(var0, var1 + getValidatedOffset(var0, var1, 65, 69, "Particle")) : null;
   }

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

   @Nullable
   class="kw">public class="kw">static FluidFXMovementSettings getMovementSettings(MemorySegment var0, int var1) {
      class="kw">return hasMovementSettings(var0, var1) ? FluidFXMovementSettings.toObject(var0, var1 + 37) : null;
   }

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

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

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

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

   class="kw">public class="kw">static FluidFX toObject(MemorySegment var0, int var1, @Nullable ReadCursor var2) {
      requireBounds(var0, var1);
      int var3 = var1 + 69;
      int var4 = 0;
      ReadCursor var5 = var2 != null ? var2 : new ReadCursor();
      String var6 = null;
      if (hasId(var0, var1)) {
         requireSlot(var0, var1 + 61, var4, "Id");
         int var7 = var3 + var4;
         long var8 = VarInt.getWithLength(var0, var7);
         var6 = PacketIO.readVarString("Id", var0, var7, 0, 4096000, var8);
         var4 += (int)var8 + (int)(var8 >>> 32);
      } else {
         requireSlot(var0, var1 + 61, -1, "Id");
      }

      FluidParticle var10 = null;
      if (hasParticle(var0, var1)) {
         requireSlot(var0, var1 + 65, var4, "Particle");
         var10 = FluidParticle.toObject(var0, var3 + var4, var5);
         var4 = var5.position - var3;
      } else {
         requireSlot(var0, var1 + 65, -1, "Particle");
      }

      FluidFX var11 = new FluidFX(
         var6,
         ShaderType.fromValue(var0.get(PacketIO.PROTO_BYTE, var1 + 1)),
         FluidFog.fromValue(var0.get(PacketIO.PROTO_BYTE, var1 + 2)),
         hasFogColor(var0, var1) ? Color.toObject(var0, var1 + 3) : null,
         hasFogDistance(var0, var1) ? NearFar.toObject(var0, var1 + 6) : null,
         PacketIO.requireFinite(var0.get(PacketIO.PROTO_FLOAT, var1 + 14), "FogDepthStart"),
         PacketIO.requireFinite(var0.get(PacketIO.PROTO_FLOAT, var1 + 18), "FogDepthFalloff"),
         hasColorFilter(var0, var1) ? Color.toObject(var0, var1 + 22) : null,
         PacketIO.requireFinite(var0.get(PacketIO.PROTO_FLOAT, var1 + 25), "ColorSaturation"),
         PacketIO.requireFinite(var0.get(PacketIO.PROTO_FLOAT, var1 + 29), "DistortionAmplitude"),
         PacketIO.requireFinite(var0.get(PacketIO.PROTO_FLOAT, var1 + 33), "DistortionFrequency"),
         var10,
         hasMovementSettings(var0, var1) ? FluidFXMovementSettings.toObject(var0, var1 + 37) : null
      );
      if (var2 != null) {
         var2.position = var3 + var4;
      }

      class="kw">return var11;
   }

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

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

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

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

      if (this.id != null) {
         var3 = (byte)(var3 | 16);
      }

      if (this.particle != null) {
         var3 = (byte)(var3 | 32);
      }

      var1.set(PacketIO.PROTO_BYTE, var2 + 0, var3);
      var1.set(PacketIO.PROTO_BYTE, var2 + 1, (byte)this.shader.getValue());
      var1.set(PacketIO.PROTO_BYTE, var2 + 2, (byte)this.fogMode.getValue());
      if (this.fogColor != null) {
         this.fogColor.serialize(var1, var2 + 3);
      } else {
         var1.asSlice(var2 + 3, 3L).fill((byte)0);
      }

      if (this.fogDistance != null) {
         this.fogDistance.serialize(var1, var2 + 6);
      } else {
         var1.asSlice(var2 + 6, 8L).fill((byte)0);
      }

      PacketIO.requireFinite(this.fogDepthStart, "FogDepthStart");
      var1.set(PacketIO.PROTO_FLOAT, var2 + 14, this.fogDepthStart);
      PacketIO.requireFinite(this.fogDepthFalloff, "FogDepthFalloff");
      var1.set(PacketIO.PROTO_FLOAT, var2 + 18, this.fogDepthFalloff);
      if (this.colorFilter != null) {
         this.colorFilter.serialize(var1, var2 + 22);
      } else {
         var1.asSlice(var2 + 22, 3L).fill((byte)0);
      }

      PacketIO.requireFinite(this.colorSaturation, "ColorSaturation");
      var1.set(PacketIO.PROTO_FLOAT, var2 + 25, this.colorSaturation);
      PacketIO.requireFinite(this.distortionAmplitude, "DistortionAmplitude");
      var1.set(PacketIO.PROTO_FLOAT, var2 + 29, this.distortionAmplitude);
      PacketIO.requireFinite(this.distortionFrequency, "DistortionFrequency");
      var1.set(PacketIO.PROTO_FLOAT, var2 + 33, this.distortionFrequency);
      if (this.movementSettings != null) {
         this.movementSettings.serialize(var1, var2 + 37);
      } else {
         var1.asSlice(var2 + 37, 24L).fill((byte)0);
      }

      int var4 = var2 + 69;
      if (this.id != null) {
         var1.set(PacketIO.PROTO_INT, var2 + 61, var4 - var2 - 69);
         var4 += PacketIO.writeVarString(var1, var4, this.id, 4096000);
      } else {
         var1.set(PacketIO.PROTO_INT, var2 + 61, -1);
      }

      if (this.particle != null) {
         var1.set(PacketIO.PROTO_INT, var2 + 65, var4 - var2 - 69);
         var4 += this.particle.serialize(var1, var4);
      } else {
         var1.set(PacketIO.PROTO_INT, var2 + 65, -1);
      }

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

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

      if (this.particle != null) {
         var1 += this.particle.computeSize();
      }

      class="kw">return var1;
   }

   class="kw">public FluidFX clone() {
      FluidFX var1 = new FluidFX();
      var1.id = this.id;
      var1.shader = this.shader;
      var1.fogMode = this.fogMode;
      var1.fogColor = this.fogColor != null ? this.fogColor.clone() : null;
      var1.fogDistance = this.fogDistance != null ? this.fogDistance.clone() : null;
      var1.fogDepthStart = this.fogDepthStart;
      var1.fogDepthFalloff = this.fogDepthFalloff;
      var1.colorFilter = this.colorFilter != null ? this.colorFilter.clone() : null;
      var1.colorSaturation = this.colorSaturation;
      var1.distortionAmplitude = this.distortionAmplitude;
      var1.distortionFrequency = this.distortionFrequency;
      var1.particle = this.particle != null ? this.particle.clone() : null;
      var1.movementSettings = this.movementSettings != null ? this.movementSettings.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 FluidFX var2)
            ? false
            : Objects.equals(this.id, var2.id)
               && Objects.equals(this.shader, var2.shader)
               && Objects.equals(this.fogMode, var2.fogMode)
               && Objects.equals(this.fogColor, var2.fogColor)
               && Objects.equals(this.fogDistance, var2.fogDistance)
               && this.fogDepthStart == var2.fogDepthStart
               && this.fogDepthFalloff == var2.fogDepthFalloff
               && Objects.equals(this.colorFilter, var2.colorFilter)
               && this.colorSaturation == var2.colorSaturation
               && this.distortionAmplitude == var2.distortionAmplitude
               && this.distortionFrequency == var2.distortionFrequency
               && Objects.equals(this.particle, var2.particle)
               && Objects.equals(this.movementSettings, var2.movementSettings);
      }
   }

   @Override
   class="kw">public int hashCode() {
      class="kw">return Objects.hash(
         this.id,
         this.shader,
         this.fogMode,
         this.fogColor,
         this.fogDistance,
         this.fogDepthStart,
         this.fogDepthFalloff,
         this.colorFilter,
         this.colorSaturation,
         this.distortionAmplitude,
         this.distortionFrequency,
         this.particle,
         this.movementSettings
      );
   }
}