AmbienceFXConditions class
Пакет: com.hypixel.hytale.protocol
Файл: com/hypixel/hytale/protocol/AmbienceFXConditions.java
Поля (186)
| Модификаторы | Тип | Имя |
|---|---|---|
final |
int |
NULLABLE_BIT_FIELD_SIZE |
|
int |
var1 |
|
AmbienceFXConditions |
var1 |
|
int |
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
int |
var10 |
|
int |
var11 |
|
int |
var12 |
|
int |
var13 |
|
long |
var2 |
|
int |
var2 |
|
int |
var2 |
|
int |
var2 |
|
int |
var2 |
|
int |
var2 |
|
int |
var2 |
|
int |
var2 |
|
int |
var2 |
|
int |
var2 |
|
byte |
var2 |
|
byte |
var2 |
|
byte |
var2 |
|
byte |
var2 |
|
byte |
var2 |
|
byte |
var2 |
|
byte |
var2 |
|
byte |
var2 |
|
byte |
var2 |
|
byte |
var2 |
|
byte |
var2 |
|
byte |
var2 |
|
byte |
var2 |
|
byte |
var2 |
|
byte |
var2 |
|
byte |
var2 |
|
int |
var20 |
|
int[] |
var21 |
|
|
var21 |
|
int |
var21 |
|
int |
var22 |
|
int[] |
var24 |
|
|
var24 |
|
int |
var25 |
|
AmbienceFXBlockSoundSet[] |
var27 |
|
|
var27 |
|
long |
var28 |
|
int |
var29 |
|
long |
var3 |
|
long |
var3 |
|
long |
var3 |
|
long |
var3 |
|
long |
var3 |
|
long |
var3 |
|
long |
var3 |
|
long |
var3 |
|
long |
var3 |
|
int |
var3 |
|
byte |
var3 |
|
|
var3 |
|
|
var3 |
|
|
var3 |
|
|
var3 |
|
|
var3 |
|
|
var3 |
|
|
var3 |
|
|
var3 |
|
|
var3 |
|
|
var3 |
|
|
var3 |
|
|
var3 |
|
|
var3 |
|
|
var3 |
|
|
var3 |
|
|
var3 |
|
|
var3 |
|
SpaceSize[] |
var31 |
|
|
var31 |
|
int |
var32 |
|
long |
var33 |
|
int |
var34 |
|
ShelterType[] |
var36 |
|
|
var36 |
|
int |
var37 |
|
long |
var38 |
|
int |
var39 |
|
int |
var4 |
|
int |
var4 |
|
|
var4 |
|
|
var4 |
|
|
var4 |
|
|
var4 |
|
|
var4 |
|
|
var4 |
|
|
var4 |
|
|
var4 |
|
|
var4 |
|
int |
var4 |
|
SurfaceType[] |
var41 |
|
|
var41 |
|
int |
var42 |
|
long |
var43 |
|
int |
var44 |
|
AmbienceFXPhysicalMaterial[] |
var46 |
|
|
var46 |
|
int |
var47 |
|
long |
var48 |
|
int |
var49 |
|
int |
var5 |
|
int |
var5 |
|
int |
var5 |
|
int |
var5 |
|
int |
var5 |
|
int |
var5 |
|
int |
var5 |
|
int |
var5 |
|
int |
var5 |
|
int |
var5 |
|
int[] |
var5 |
|
|
var5 |
|
int |
var5 |
|
AmbienceFXPhysicalMaterial[] |
var51 |
|
|
var51 |
|
int |
var52 |
|
int |
var53 |
|
long |
var54 |
|
int |
var55 |
|
AmbienceFXConditions |
var57 |
|
int |
var58 |
|
int |
var59 |
|
int |
var6 |
|
int |
var6 |
|
int |
var6 |
|
int |
var6 |
|
int |
var6 |
|
int |
var6 |
|
int |
var6 |
|
int |
var6 |
|
int |
var6 |
|
int |
var6 |
|
long |
var60 |
|
int |
var61 |
|
int |
var62 |
|
int |
var63 |
|
int |
var64 |
|
int |
var65 |
|
int[] |
var7 |
|
int[] |
var7 |
|
int[] |
var7 |
|
AmbienceFXBlockSoundSet[] |
var7 |
|
SpaceSize[] |
var7 |
|
ShelterType[] |
var7 |
|
SurfaceType[] |
var7 |
|
AmbienceFXPhysicalMaterial[] |
var7 |
|
AmbienceFXPhysicalMaterial[] |
var7 |
|
long |
var7 |
|
long |
var8 |
|
int |
var9 |
Методы (215)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
public |
AmbienceFXConditions |
cloneAmbienceFXConditions clone() |
public |
int |
computeSizeint computeSize() |
|
|
for for(int var8 = 0; var8 < var5; var8++) |
|
|
for for(int var8 = 0; var8 < var5; var8++) |
|
|
for for(int var8 = 0; var8 < var5; var8++) |
|
|
for for(int var8 = 0; var8 < var5; var8++) |
|
|
for for(int var8 = 0; var8 < var5; var8++) |
|
|
for for(int var8 = 0; var8 < var5; var8++) |
|
|
for for(int var14 = 0; var14 < var42; var14++) |
|
|
for for(int var15 = 0; var15 < var47; var15++) |
|
|
for for(int var16 = 0; var16 < var53; var16++) |
|
|
for for(int var17 = 0; var17 < var59; var17++) |
|
|
for for(int var18 = 0; var18 < var62; var18++) |
|
|
for for(int var19 = 0; var19 < var64; var19++) |
|
|
for for(int var6 = 0; var6 < this.surroundingBlockSoundSets.length; var6++) |
|
|
for for(int var17 = 0; var17 < this.space.length; var17++) |
|
|
for for(int var18 = 0; var18 < this.shelter.length; var18++) |
|
|
for for(int var19 = 0; var19 < this.surfaces.length; var19++) |
|
|
for for(int var22 = 0; var22 < this.surfacePhysicalMaterials.length; var22++) |
|
|
for for(int var23 = 0; var23 < this.exteriorRoofPhysicalMaterials.length; var23++) |
abstract |
return |
getAbsorptionCoeffRangereturn getAbsorptionCoeffRange(var0, 0) |
static |
Range |
getAltitudeRange getAltitude(MemorySegment var0) |
static |
Range |
getAltitudeRange getAltitude(MemorySegment var0, int var1) |
abstract |
return |
getAltitudereturn getAltitude(var0, 0) |
static |
Rangef |
getDayTimeRangef getDayTime(MemorySegment var0) |
static |
Rangef |
getDayTimeRangef getDayTime(MemorySegment var0, int var1) |
abstract |
return |
getDayTimereturn getDayTime(var0, 0) |
abstract |
return |
getEnvironmentIndicesreturn getEnvironmentIndices(var0, 0) |
static |
int |
getEnvironmentTagPatternIndexint getEnvironmentTagPatternIndex(MemorySegment var0) |
static |
int |
getEnvironmentTagPatternIndexint getEnvironmentTagPatternIndex(MemorySegment var0, int var1) |
abstract |
return |
getEnvironmentTagPatternIndexreturn getEnvironmentTagPatternIndex(var0, 0) |
abstract |
return |
getEscapedRayPercentRangereturn getEscapedRayPercentRange(var0, 0) |
abstract |
return |
getExteriorRoofPhysicalMaterialsreturn getExteriorRoofPhysicalMaterials(var0, 0) |
static |
boolean |
getExteriorRoofPhysicalMaterialsMatchAnyboolean getExteriorRoofPhysicalMaterialsMatchAny(MemorySegment var0) |
static |
boolean |
getExteriorRoofPhysicalMaterialsMatchAnyboolean getExteriorRoofPhysicalMaterialsMatchAny(MemorySegment var0, int var1) |
abstract |
return |
getExteriorRoofPhysicalMaterialsMatchAnyreturn getExteriorRoofPhysicalMaterialsMatchAny(var0, 0) |
static |
boolean |
getFloorboolean getFloor(MemorySegment var0) |
static |
boolean |
getFloorboolean getFloor(MemorySegment var0, int var1) |
abstract |
return |
getFloorreturn getFloor(var0, 0) |
abstract |
return |
getFluidFXIndicesreturn getFluidFXIndices(var0, 0) |
static |
Rangeb |
getGlobalLightLevelRangeb getGlobalLightLevel(MemorySegment var0) |
static |
Rangeb |
getGlobalLightLevelRangeb getGlobalLightLevel(MemorySegment var0, int var1) |
abstract |
return |
getGlobalLightLevelreturn getGlobalLightLevel(var0, 0) |
static |
boolean |
getNeverboolean getNever(MemorySegment var0) |
static |
boolean |
getNeverboolean getNever(MemorySegment var0, int var1) |
abstract |
return |
getNeverreturn getNever(var0, 0) |
abstract |
return |
getReflectionCoeffRangereturn getReflectionCoeffRange(var0, 0) |
static |
boolean |
getRoofboolean getRoof(MemorySegment var0) |
static |
boolean |
getRoofboolean getRoof(MemorySegment var0, int var1) |
abstract |
return |
getRoofreturn getRoof(var0, 0) |
abstract |
return |
getRoofDistanceRangereturn getRoofDistanceRange(var0, 0) |
static |
int |
getRoofMaterialTagPatternIndexint getRoofMaterialTagPatternIndex(MemorySegment var0) |
static |
int |
getRoofMaterialTagPatternIndexint getRoofMaterialTagPatternIndex(MemorySegment var0, int var1) |
abstract |
return |
getRoofMaterialTagPatternIndexreturn getRoofMaterialTagPatternIndex(var0, 0) |
static |
RoofState |
getRoofStateRoofState getRoofState(MemorySegment var0) |
static |
RoofState |
getRoofStateRoofState getRoofState(MemorySegment var0, int var1) |
abstract |
return |
getRoofStatereturn getRoofState(var0, 0) |
abstract |
return |
getShelterreturn getShelter(var0, 0) |
abstract |
return |
getSpacereturn getSpace(var0, 0) |
abstract |
return |
getSpaceScaleMaxRangereturn getSpaceScaleMaxRange(var0, 0) |
abstract |
return |
getSpaceScaleMinRangereturn getSpaceScaleMinRange(var0, 0) |
abstract |
return |
getSpaceScaleRangereturn getSpaceScaleRange(var0, 0) |
static |
Rangeb |
getSunLightLevelRangeb getSunLightLevel(MemorySegment var0) |
static |
Rangeb |
getSunLightLevelRangeb getSunLightLevel(MemorySegment var0, int var1) |
abstract |
return |
getSunLightLevelreturn getSunLightLevel(var0, 0) |
abstract |
return |
getSurfacePhysicalMaterialsreturn getSurfacePhysicalMaterials(var0, 0) |
static |
boolean |
getSurfacePhysicalMaterialsMatchAnyboolean getSurfacePhysicalMaterialsMatchAny(MemorySegment var0) |
static |
boolean |
getSurfacePhysicalMaterialsMatchAnyboolean getSurfacePhysicalMaterialsMatchAny(MemorySegment var0, int var1) |
abstract |
return |
getSurfacePhysicalMaterialsMatchAnyreturn getSurfacePhysicalMaterialsMatchAny(var0, 0) |
abstract |
return |
getSurfacesreturn getSurfaces(var0, 0) |
abstract |
return |
getSurroundingBlockSoundSetsreturn getSurroundingBlockSoundSets(var0, 0) |
static |
Rangeb |
getTorchLightLevelRangeb getTorchLightLevel(MemorySegment var0) |
static |
Rangeb |
getTorchLightLevelRangeb getTorchLightLevel(MemorySegment var0, int var1) |
abstract |
return |
getTorchLightLevelreturn getTorchLightLevel(var0, 0) |
static |
int |
getValidatedOffsetint getValidatedOffset(MemorySegment var0, int var1, int var2, int var3, String var4) |
static |
Rangeb |
getWallsRangeb getWalls(MemorySegment var0) |
static |
Rangeb |
getWallsRangeb getWalls(MemorySegment var0, int var1) |
abstract |
return |
getWallsreturn getWalls(var0, 0) |
abstract |
return |
getWeatherIndicesreturn getWeatherIndices(var0, 0) |
static |
int |
getWeatherTagPatternIndexint getWeatherTagPatternIndex(MemorySegment var0) |
static |
int |
getWeatherTagPatternIndexint getWeatherTagPatternIndex(MemorySegment var0, int var1) |
abstract |
return |
getWeatherTagPatternIndexreturn getWeatherTagPatternIndex(var0, 0) |
static |
boolean |
hasAbsorptionCoeffRangeboolean hasAbsorptionCoeffRange(MemorySegment var0, int var1) |
static |
boolean |
hasEnvironmentIndicesboolean hasEnvironmentIndices(MemorySegment var0, int var1) |
static |
boolean |
hasEscapedRayPercentRangeboolean hasEscapedRayPercentRange(MemorySegment var0, int var1) |
static |
boolean |
hasExteriorRoofPhysicalMaterialsboolean hasExteriorRoofPhysicalMaterials(MemorySegment var0, int var1) |
static |
boolean |
hasFluidFXIndicesboolean hasFluidFXIndices(MemorySegment var0, int var1) |
static |
boolean |
hasReflectionCoeffRangeboolean hasReflectionCoeffRange(MemorySegment var0, int var1) |
static |
boolean |
hasRoofDistanceRangeboolean hasRoofDistanceRange(MemorySegment var0, int var1) |
static |
boolean |
hasShelterboolean hasShelter(MemorySegment var0, int var1) |
static |
boolean |
hasSpaceboolean hasSpace(MemorySegment var0, int var1) |
static |
boolean |
hasSpaceScaleMaxRangeboolean hasSpaceScaleMaxRange(MemorySegment var0, int var1) |
static |
boolean |
hasSpaceScaleMinRangeboolean hasSpaceScaleMinRange(MemorySegment var0, int var1) |
static |
boolean |
hasSpaceScaleRangeboolean hasSpaceScaleRange(MemorySegment var0, int var1) |
static |
boolean |
hasSurfacePhysicalMaterialsboolean hasSurfacePhysicalMaterials(MemorySegment var0, int var1) |
static |
boolean |
hasSurfacesboolean hasSurfaces(MemorySegment var0, int var1) |
static |
boolean |
hasSurroundingBlockSoundSetsboolean hasSurroundingBlockSoundSets(MemorySegment var0, int var1) |
static |
boolean |
hasWeatherIndicesboolean hasWeatherIndices(MemorySegment var0, int var1) |
|
|
if if(var1 < 0) |
|
|
if if(var3 == -1L) |
|
|
if if(var5 > 4096000) |
|
|
if if(var3 == -1L) |
|
|
if if(var5 > 4096000) |
|
|
if if(var3 == -1L) |
|
|
if if(var5 > 4096000) |
|
|
if if(var3 == -1L) |
|
|
if if(var5 > 4096000) |
|
|
if if(var3 == -1L) |
|
|
if if(var5 > 4096000) |
|
|
if if(var3 == -1L) |
|
|
if if(var5 > 4096000) |
|
|
if if(var3 == -1L) |
|
|
if if(var5 > 4096000) |
|
|
if if(var3 == -1L) |
|
|
if if(var5 > 4096000) |
|
|
if if(var3 == -1L) |
|
|
if if(var5 > 4096000) |
|
|
if if(var4 != var2) |
|
|
if if(var7 == -1L) |
|
|
if if(var9 > 4096000) |
|
|
if if(var8 == -1L) |
|
|
if if(var32 > 4096000) |
|
|
if if(var28 == -1L) |
|
|
if if(var37 > 4096000) |
|
|
if if(var33 == -1L) |
|
|
if if(var42 > 4096000) |
|
|
if if(var38 == -1L) |
|
|
if if(var47 > 4096000) |
|
|
if if(var43 == -1L) |
|
|
if if(var53 > 4096000) |
|
|
if if(var48 == -1L) |
|
|
if if(var59 > 4096000) |
|
|
if if(var54 == -1L) |
|
|
if if(var62 > 4096000) |
|
|
if if(var60 == -1L) |
|
|
if if(var64 > 4096000) |
|
|
if if(var2 != null) |
|
|
if if(this.spaceScaleRange != null) |
|
|
if if(this.spaceScaleMinRange != null) |
|
|
if if(this.spaceScaleMaxRange != null) |
|
|
if if(this.escapedRayPercentRange != null) |
|
|
if if(this.reflectionCoeffRange != null) |
|
|
if if(this.absorptionCoeffRange != null) |
|
|
if if(this.roofDistanceRange != null) |
|
|
if if(this.environmentIndices != null) |
|
|
if if(this.weatherIndices != null) |
|
|
if if(this.fluidFXIndices != null) |
|
|
if if(this.surroundingBlockSoundSets != null) |
|
|
if if(this.space != null) |
|
|
if if(this.shelter != null) |
|
|
if if(this.surfaces != null) |
|
|
if if(this.surfacePhysicalMaterials != null) |
|
|
if if(this.exteriorRoofPhysicalMaterials != null) |
|
|
if if(this.spaceScaleRange != null) |
|
|
if if(this.spaceScaleMinRange != null) |
|
|
if if(this.spaceScaleMaxRange != null) |
|
|
if if(this.escapedRayPercentRange != null) |
|
|
if if(this.reflectionCoeffRange != null) |
|
|
if if(this.absorptionCoeffRange != null) |
|
|
if if(this.roofDistanceRange != null) |
|
|
if if(this.environmentIndices != null) |
|
|
if if(this.environmentIndices.length > 4096000) |
|
|
if if(this.weatherIndices != null) |
|
|
if if(this.weatherIndices.length > 4096000) |
|
|
if if(this.fluidFXIndices != null) |
|
|
if if(this.fluidFXIndices.length > 4096000) |
|
|
if if(this.surroundingBlockSoundSets != null) |
|
|
if if(this.surroundingBlockSoundSets.length > 4096000) |
|
|
if if(this.space != null) |
|
|
if if(this.space.length > 4096000) |
|
|
if if(this.shelter != null) |
|
|
if if(this.shelter.length > 4096000) |
|
|
if if(this.surfaces != null) |
|
|
if if(this.surfaces.length > 4096000) |
|
|
if if(this.surfacePhysicalMaterials != null) |
|
|
if if(this.surfacePhysicalMaterials.length > 4096000) |
|
|
if if(this.exteriorRoofPhysicalMaterials != null) |
|
|
if if(this.exteriorRoofPhysicalMaterials.length > 4096000) |
|
|
if if(this.environmentIndices != null) |
|
|
if if(this.weatherIndices != null) |
|
|
if if(this.fluidFXIndices != null) |
|
|
if if(this.surroundingBlockSoundSets != null) |
|
|
if if(this.space != null) |
|
|
if if(this.shelter != null) |
|
|
if if(this.surfaces != null) |
|
|
if if(this.surfacePhysicalMaterials != null) |
|
|
if if(this.exteriorRoofPhysicalMaterials != 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 + 100, var4, "EnvironmentIndices") |
abstract |
|
requireSlot requireSlot(var0, var1 + 100, -1, "EnvironmentIndices") |
abstract |
|
requireSlot requireSlot(var0, var1 + 104, var4, "WeatherIndices") |
abstract |
|
requireSlot requireSlot(var0, var1 + 104, -1, "WeatherIndices") |
abstract |
|
requireSlot requireSlot(var0, var1 + 108, var4, "FluidFXIndices") |
abstract |
|
requireSlot requireSlot(var0, var1 + 108, -1, "FluidFXIndices") |
abstract |
|
requireSlot requireSlot(var0, var1 + 112, var4, "SurroundingBlockSoundSets") |
abstract |
|
requireSlot requireSlot(var0, var1 + 112, -1, "SurroundingBlockSoundSets") |
abstract |
|
requireSlot requireSlot(var0, var1 + 116, var4, "Space") |
abstract |
|
requireSlot requireSlot(var0, var1 + 116, -1, "Space") |
abstract |
|
requireSlot requireSlot(var0, var1 + 120, var4, "Shelter") |
abstract |
|
requireSlot requireSlot(var0, var1 + 120, -1, "Shelter") |
abstract |
|
requireSlot requireSlot(var0, var1 + 124, var4, "Surfaces") |
abstract |
|
requireSlot requireSlot(var0, var1 + 124, -1, "Surfaces") |
abstract |
|
requireSlot requireSlot(var0, var1 + 128, var4, "SurfacePhysicalMaterials") |
abstract |
|
requireSlot requireSlot(var0, var1 + 128, -1, "SurfacePhysicalMaterials") |
abstract |
|
requireSlot requireSlot(var0, var1 + 132, var4, "ExteriorRoofPhysicalMaterials") |
abstract |
|
requireSlot requireSlot(var0, var1 + 132, -1, "ExteriorRoofPhysicalMaterials") |
public |
int |
serializeint serialize(@Nonnull MemorySegment var1, int var2) |
static |
AmbienceFXConditions |
toObjectAmbienceFXConditions toObject(MemorySegment var0) |
static |
AmbienceFXConditions |
toObjectAmbienceFXConditions toObject(MemorySegment var0, int var1) |
static |
AmbienceFXConditions |
toObjectAmbienceFXConditions 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 AmbienceFXConditions {
class="kw">public class="kw">static class="kw">final int NULLABLE_BIT_FIELD_SIZE = 2;
class="kw">public class="kw">static class="kw">final int FIXED_BLOCK_SIZE = 100;
class="kw">public class="kw">static class="kw">final int VARIABLE_FIELD_COUNT = 9;
class="kw">public class="kw">static class="kw">final int VARIABLE_BLOCK_START = 136;
class="kw">public class="kw">static class="kw">final int MAX_SIZE = 221184181;
class="kw">public boolean never;
@Nullable
class="kw">public int[] environmentIndices;
@Nullable
class="kw">public int[] weatherIndices;
@Nullable
class="kw">public int[] fluidFXIndices;
class="kw">public int environmentTagPatternIndex;
class="kw">public int weatherTagPatternIndex;
@Nullable
class="kw">public AmbienceFXBlockSoundSet[] surroundingBlockSoundSets;
@Nonnull
class="kw">public Range altitude = new Range();
@Nonnull
class="kw">public Rangeb walls = new Rangeb();
class="kw">public boolean roof;
class="kw">public int roofMaterialTagPatternIndex;
class="kw">public boolean floor;
@Nonnull
class="kw">public Rangeb sunLightLevel = new Rangeb();
@Nonnull
class="kw">public Rangeb torchLightLevel = new Rangeb();
@Nonnull
class="kw">public Rangeb globalLightLevel = new Rangeb();
@Nonnull
class="kw">public Rangef dayTime = new Rangef();
@Nullable
class="kw">public SpaceSize[] space;
@Nullable
class="kw">public ShelterType[] shelter;
@Nullable
class="kw">public SurfaceType[] surfaces;
@Nonnull
class="kw">public RoofState roofState = RoofState.Any;
@Nullable
class="kw">public Rangef spaceScaleRange;
@Nullable
class="kw">public Rangef spaceScaleMinRange;
@Nullable
class="kw">public Rangef spaceScaleMaxRange;
@Nullable
class="kw">public Rangef escapedRayPercentRange;
@Nullable
class="kw">public Rangef reflectionCoeffRange;
@Nullable
class="kw">public Rangef absorptionCoeffRange;
@Nullable
class="kw">public Rangef roofDistanceRange;
@Nullable
class="kw">public AmbienceFXPhysicalMaterial[] surfacePhysicalMaterials;
class="kw">public boolean surfacePhysicalMaterialsMatchAny;
@Nullable
class="kw">public AmbienceFXPhysicalMaterial[] exteriorRoofPhysicalMaterials;
class="kw">public boolean exteriorRoofPhysicalMaterialsMatchAny;
class="kw">public AmbienceFXConditions() {
}
class="kw">public AmbienceFXConditions(
boolean var1,
@Nullable int[] var2,
@Nullable int[] var3,
@Nullable int[] var4,
int var5,
int var6,
@Nullable AmbienceFXBlockSoundSet[] var7,
@Nonnull Range var8,
@Nonnull Rangeb var9,
boolean var10,
int var11,
boolean var12,
@Nonnull Rangeb var13,
@Nonnull Rangeb var14,
@Nonnull Rangeb var15,
@Nonnull Rangef var16,
@Nullable SpaceSize[] var17,
@Nullable ShelterType[] var18,
@Nullable SurfaceType[] var19,
@Nonnull RoofState var20,
@Nullable Rangef var21,
@Nullable Rangef var22,
@Nullable Rangef var23,
@Nullable Rangef var24,
@Nullable Rangef var25,
@Nullable Rangef var26,
@Nullable Rangef var27,
@Nullable AmbienceFXPhysicalMaterial[] var28,
boolean var29,
@Nullable AmbienceFXPhysicalMaterial[] var30,
boolean var31
) {
this.never = var1;
this.environmentIndices = var2;
this.weatherIndices = var3;
this.fluidFXIndices = var4;
this.environmentTagPatternIndex = var5;
this.weatherTagPatternIndex = var6;
this.surroundingBlockSoundSets = var7;
this.altitude = var8;
this.walls = var9;
this.roof = var10;
this.roofMaterialTagPatternIndex = var11;
this.floor = var12;
this.sunLightLevel = var13;
this.torchLightLevel = var14;
this.globalLightLevel = var15;
this.dayTime = var16;
this.space = var17;
this.shelter = var18;
this.surfaces = var19;
this.roofState = var20;
this.spaceScaleRange = var21;
this.spaceScaleMinRange = var22;
this.spaceScaleMaxRange = var23;
this.escapedRayPercentRange = var24;
this.reflectionCoeffRange = var25;
this.absorptionCoeffRange = var26;
this.roofDistanceRange = var27;
this.surfacePhysicalMaterials = var28;
this.surfacePhysicalMaterialsMatchAny = var29;
this.exteriorRoofPhysicalMaterials = var30;
this.exteriorRoofPhysicalMaterialsMatchAny = var31;
}
class="kw">public AmbienceFXConditions(@Nonnull AmbienceFXConditions var1) {
this.never = var1.never;
this.environmentIndices = var1.environmentIndices;
this.weatherIndices = var1.weatherIndices;
this.fluidFXIndices = var1.fluidFXIndices;
this.environmentTagPatternIndex = var1.environmentTagPatternIndex;
this.weatherTagPatternIndex = var1.weatherTagPatternIndex;
this.surroundingBlockSoundSets = var1.surroundingBlockSoundSets;
this.altitude = var1.altitude;
this.walls = var1.walls;
this.roof = var1.roof;
this.roofMaterialTagPatternIndex = var1.roofMaterialTagPatternIndex;
this.floor = var1.floor;
this.sunLightLevel = var1.sunLightLevel;
this.torchLightLevel = var1.torchLightLevel;
this.globalLightLevel = var1.globalLightLevel;
this.dayTime = var1.dayTime;
this.space = var1.space;
this.shelter = var1.shelter;
this.surfaces = var1.surfaces;
this.roofState = var1.roofState;
this.spaceScaleRange = var1.spaceScaleRange;
this.spaceScaleMinRange = var1.spaceScaleMinRange;
this.spaceScaleMaxRange = var1.spaceScaleMaxRange;
this.escapedRayPercentRange = var1.escapedRayPercentRange;
this.reflectionCoeffRange = var1.reflectionCoeffRange;
this.absorptionCoeffRange = var1.absorptionCoeffRange;
this.roofDistanceRange = var1.roofDistanceRange;
this.surfacePhysicalMaterials = var1.surfacePhysicalMaterials;
this.surfacePhysicalMaterialsMatchAny = var1.surfacePhysicalMaterialsMatchAny;
this.exteriorRoofPhysicalMaterials = var1.exteriorRoofPhysicalMaterials;
this.exteriorRoofPhysicalMaterialsMatchAny = var1.exteriorRoofPhysicalMaterialsMatchAny;
}
class="kw">public class="kw">static void requireBounds(MemorySegment var0, int var1) {
if (var1 < 0) {
throw ProtocolException.invalidOffset("AmbienceFXConditions", var1, (int)var0.byteSize());
}
long var2 = var1 + 136L;
if (var2 > var0.byteSize()) {
throw ProtocolException.bufferTooSmall("AmbienceFXConditions", (int)Math.min(var2, 2147483647L), (int)var0.byteSize());
}
}
class="kw">public class="kw">static boolean getNever(MemorySegment var0) {
class="kw">return getNever(var0, 0);
}
class="kw">public class="kw">static boolean getNever(MemorySegment var0, int var1) {
class="kw">return var0.get(PacketIO.PROTO_BOOL, var1 + 2);
}
@Nullable
class="kw">public class="kw">static int[] getEnvironmentIndices(MemorySegment var0) {
class="kw">return getEnvironmentIndices(var0, 0);
}
@Nullable
class="kw">public class="kw">static int[] getEnvironmentIndices(MemorySegment var0, int var1) {
if (!hasEnvironmentIndices(var0, var1)) {
class="kw">return null;
}
int var2 = var1 + getValidatedOffset(var0, var1, 100, 136, "EnvironmentIndices");
long var3 = VarInt.getWithLength(var0, var2);
if (var3 == -1L) {
throw ProtocolException.invalidVarInt("EnvironmentIndices");
}
int var5 = (int)var3;
if (var5 > 4096000) {
throw ProtocolException.arrayTooLong("EnvironmentIndices", var5, 4096000);
}
int var6 = (int)(var3 >>> 32);
if (var2 + var6 + var5 * 4L > var0.byteSize()) {
throw ProtocolException.bufferTooSmall("EnvironmentIndices", (int)Math.min(var2 + var6 + var5 * 4L, 2147483647L), (int)var0.byteSize());
}
var2 += var6;
int[] var7 = new int[var5];
MemorySegment.copy(var0, PacketIO.PROTO_INT, var2, var7, 0, var5);
class="kw">return var7;
}
@Nullable
class="kw">public class="kw">static int[] getWeatherIndices(MemorySegment var0) {
class="kw">return getWeatherIndices(var0, 0);
}
@Nullable
class="kw">public class="kw">static int[] getWeatherIndices(MemorySegment var0, int var1) {
if (!hasWeatherIndices(var0, var1)) {
class="kw">return null;
}
int var2 = var1 + getValidatedOffset(var0, var1, 104, 136, "WeatherIndices");
long var3 = VarInt.getWithLength(var0, var2);
if (var3 == -1L) {
throw ProtocolException.invalidVarInt("WeatherIndices");
}
int var5 = (int)var3;
if (var5 > 4096000) {
throw ProtocolException.arrayTooLong("WeatherIndices", var5, 4096000);
}
int var6 = (int)(var3 >>> 32);
if (var2 + var6 + var5 * 4L > var0.byteSize()) {
throw ProtocolException.bufferTooSmall("WeatherIndices", (int)Math.min(var2 + var6 + var5 * 4L, 2147483647L), (int)var0.byteSize());
}
var2 += var6;
int[] var7 = new int[var5];
MemorySegment.copy(var0, PacketIO.PROTO_INT, var2, var7, 0, var5);
class="kw">return var7;
}
@Nullable
class="kw">public class="kw">static int[] getFluidFXIndices(MemorySegment var0) {
class="kw">return getFluidFXIndices(var0, 0);
}
@Nullable
class="kw">public class="kw">static int[] getFluidFXIndices(MemorySegment var0, int var1) {
if (!hasFluidFXIndices(var0, var1)) {
class="kw">return null;
}
int var2 = var1 + getValidatedOffset(var0, var1, 108, 136, "FluidFXIndices");
long var3 = VarInt.getWithLength(var0, var2);
if (var3 == -1L) {
throw ProtocolException.invalidVarInt("FluidFXIndices");
}
int var5 = (int)var3;
if (var5 > 4096000) {
throw ProtocolException.arrayTooLong("FluidFXIndices", var5, 4096000);
}
int var6 = (int)(var3 >>> 32);
if (var2 + var6 + var5 * 4L > var0.byteSize()) {
throw ProtocolException.bufferTooSmall("FluidFXIndices", (int)Math.min(var2 + var6 + var5 * 4L, 2147483647L), (int)var0.byteSize());
}
var2 += var6;
int[] var7 = new int[var5];
MemorySegment.copy(var0, PacketIO.PROTO_INT, var2, var7, 0, var5);
class="kw">return var7;
}
class="kw">public class="kw">static int getEnvironmentTagPatternIndex(MemorySegment var0) {
class="kw">return getEnvironmentTagPatternIndex(var0, 0);
}
class="kw">public class="kw">static int getEnvironmentTagPatternIndex(MemorySegment var0, int var1) {
class="kw">return var0.get(PacketIO.PROTO_INT, var1 + 3);
}
class="kw">public class="kw">static int getWeatherTagPatternIndex(MemorySegment var0) {
class="kw">return getWeatherTagPatternIndex(var0, 0);
}
class="kw">public class="kw">static int getWeatherTagPatternIndex(MemorySegment var0, int var1) {
class="kw">return var0.get(PacketIO.PROTO_INT, var1 + 7);
}
@Nullable
class="kw">public class="kw">static AmbienceFXBlockSoundSet[] getSurroundingBlockSoundSets(MemorySegment var0) {
class="kw">return getSurroundingBlockSoundSets(var0, 0);
}
@Nullable
class="kw">public class="kw">static AmbienceFXBlockSoundSet[] getSurroundingBlockSoundSets(MemorySegment var0, int var1) {
if (!hasSurroundingBlockSoundSets(var0, var1)) {
class="kw">return null;
}
int var2 = var1 + getValidatedOffset(var0, var1, 112, 136, "SurroundingBlockSoundSets");
long var3 = VarInt.getWithLength(var0, var2);
if (var3 == -1L) {
throw ProtocolException.invalidVarInt("SurroundingBlockSoundSets");
}
int var5 = (int)var3;
if (var5 > 4096000) {
throw ProtocolException.arrayTooLong("SurroundingBlockSoundSets", var5, 4096000);
}
int var6 = (int)(var3 >>> 32);
if (var2 + var6 + var5 * 13L > var0.byteSize()) {
throw ProtocolException.bufferTooSmall("SurroundingBlockSoundSets", (int)Math.min(var2 + var6 + var5 * 13L, 2147483647L), (int)var0.byteSize());
}
var2 += var6;
AmbienceFXBlockSoundSet[] var7 = new AmbienceFXBlockSoundSet[var5];
for (int var8 = 0; var8 < var5; var8++) {
var7[var8] = AmbienceFXBlockSoundSet.toObject(var0, var2 + var8 * 13);
}
class="kw">return var7;
}
class="kw">public class="kw">static Range getAltitude(MemorySegment var0) {
class="kw">return getAltitude(var0, 0);
}
class="kw">public class="kw">static Range getAltitude(MemorySegment var0, int var1) {
class="kw">return Range.toObject(var0, var1 + 11);
}
class="kw">public class="kw">static Rangeb getWalls(MemorySegment var0) {
class="kw">return getWalls(var0, 0);
}
class="kw">public class="kw">static Rangeb getWalls(MemorySegment var0, int var1) {
class="kw">return Rangeb.toObject(var0, var1 + 19);
}
class="kw">public class="kw">static boolean getRoof(MemorySegment var0) {
class="kw">return getRoof(var0, 0);
}
class="kw">public class="kw">static boolean getRoof(MemorySegment var0, int var1) {
class="kw">return var0.get(PacketIO.PROTO_BOOL, var1 + 21);
}
class="kw">public class="kw">static int getRoofMaterialTagPatternIndex(MemorySegment var0) {
class="kw">return getRoofMaterialTagPatternIndex(var0, 0);
}
class="kw">public class="kw">static int getRoofMaterialTagPatternIndex(MemorySegment var0, int var1) {
class="kw">return var0.get(PacketIO.PROTO_INT, var1 + 22);
}
class="kw">public class="kw">static boolean getFloor(MemorySegment var0) {
class="kw">return getFloor(var0, 0);
}
class="kw">public class="kw">static boolean getFloor(MemorySegment var0, int var1) {
class="kw">return var0.get(PacketIO.PROTO_BOOL, var1 + 26);
}
class="kw">public class="kw">static Rangeb getSunLightLevel(MemorySegment var0) {
class="kw">return getSunLightLevel(var0, 0);
}
class="kw">public class="kw">static Rangeb getSunLightLevel(MemorySegment var0, int var1) {
class="kw">return Rangeb.toObject(var0, var1 + 27);
}
class="kw">public class="kw">static Rangeb getTorchLightLevel(MemorySegment var0) {
class="kw">return getTorchLightLevel(var0, 0);
}
class="kw">public class="kw">static Rangeb getTorchLightLevel(MemorySegment var0, int var1) {
class="kw">return Rangeb.toObject(var0, var1 + 29);
}
class="kw">public class="kw">static Rangeb getGlobalLightLevel(MemorySegment var0) {
class="kw">return getGlobalLightLevel(var0, 0);
}
class="kw">public class="kw">static Rangeb getGlobalLightLevel(MemorySegment var0, int var1) {
class="kw">return Rangeb.toObject(var0, var1 + 31);
}
class="kw">public class="kw">static Rangef getDayTime(MemorySegment var0) {
class="kw">return getDayTime(var0, 0);
}
class="kw">public class="kw">static Rangef getDayTime(MemorySegment var0, int var1) {
class="kw">return Rangef.toObject(var0, var1 + 33);
}
@Nullable
class="kw">public class="kw">static SpaceSize[] getSpace(MemorySegment var0) {
class="kw">return getSpace(var0, 0);
}
@Nullable
class="kw">public class="kw">static SpaceSize[] getSpace(MemorySegment var0, int var1) {
if (!hasSpace(var0, var1)) {
class="kw">return null;
}
int var2 = var1 + getValidatedOffset(var0, var1, 116, 136, "Space");
long var3 = VarInt.getWithLength(var0, var2);
if (var3 == -1L) {
throw ProtocolException.invalidVarInt("Space");
}
int var5 = (int)var3;
if (var5 > 4096000) {
throw ProtocolException.arrayTooLong("Space", var5, 4096000);
}
int var6 = (int)(var3 >>> 32);
if (var2 + var6 + var5 > var0.byteSize()) {
throw ProtocolException.bufferTooSmall("Space", Math.min(var2 + var6 + var5, Integer.MAX_VALUE), (int)var0.byteSize());
}
var2 += var6;
SpaceSize[] var7 = new SpaceSize[var5];
for (int var8 = 0; var8 < var5; var8++) {
var7[var8] = SpaceSize.fromValue(var0.get(PacketIO.PROTO_BYTE, var2 + var8 * 1));
}
class="kw">return var7;
}
@Nullable
class="kw">public class="kw">static ShelterType[] getShelter(MemorySegment var0) {
class="kw">return getShelter(var0, 0);
}
@Nullable
class="kw">public class="kw">static ShelterType[] getShelter(MemorySegment var0, int var1) {
if (!hasShelter(var0, var1)) {
class="kw">return null;
}
int var2 = var1 + getValidatedOffset(var0, var1, 120, 136, "Shelter");
long var3 = VarInt.getWithLength(var0, var2);
if (var3 == -1L) {
throw ProtocolException.invalidVarInt("Shelter");
}
int var5 = (int)var3;
if (var5 > 4096000) {
throw ProtocolException.arrayTooLong("Shelter", var5, 4096000);
}
int var6 = (int)(var3 >>> 32);
if (var2 + var6 + var5 > var0.byteSize()) {
throw ProtocolException.bufferTooSmall("Shelter", Math.min(var2 + var6 + var5, Integer.MAX_VALUE), (int)var0.byteSize());
}
var2 += var6;
ShelterType[] var7 = new ShelterType[var5];
for (int var8 = 0; var8 < var5; var8++) {
var7[var8] = ShelterType.fromValue(var0.get(PacketIO.PROTO_BYTE, var2 + var8 * 1));
}
class="kw">return var7;
}
@Nullable
class="kw">public class="kw">static SurfaceType[] getSurfaces(MemorySegment var0) {
class="kw">return getSurfaces(var0, 0);
}
@Nullable
class="kw">public class="kw">static SurfaceType[] getSurfaces(MemorySegment var0, int var1) {
if (!hasSurfaces(var0, var1)) {
class="kw">return null;
}
int var2 = var1 + getValidatedOffset(var0, var1, 124, 136, "Surfaces");
long var3 = VarInt.getWithLength(var0, var2);
if (var3 == -1L) {
throw ProtocolException.invalidVarInt("Surfaces");
}
int var5 = (int)var3;
if (var5 > 4096000) {
throw ProtocolException.arrayTooLong("Surfaces", var5, 4096000);
}
int var6 = (int)(var3 >>> 32);
if (var2 + var6 + var5 > var0.byteSize()) {
throw ProtocolException.bufferTooSmall("Surfaces", Math.min(var2 + var6 + var5, Integer.MAX_VALUE), (int)var0.byteSize());
}
var2 += var6;
SurfaceType[] var7 = new SurfaceType[var5];
for (int var8 = 0; var8 < var5; var8++) {
var7[var8] = SurfaceType.fromValue(var0.get(PacketIO.PROTO_BYTE, var2 + var8 * 1));
}
class="kw">return var7;
}
class="kw">public class="kw">static RoofState getRoofState(MemorySegment var0) {
class="kw">return getRoofState(var0, 0);
}
class="kw">public class="kw">static RoofState getRoofState(MemorySegment var0, int var1) {
class="kw">return RoofState.fromValue(var0.get(PacketIO.PROTO_BYTE, var1 + 41));
}
@Nullable
class="kw">public class="kw">static Rangef getSpaceScaleRange(MemorySegment var0) {
class="kw">return getSpaceScaleRange(var0, 0);
}
@Nullable
class="kw">public class="kw">static Rangef getSpaceScaleRange(MemorySegment var0, int var1) {
class="kw">return hasSpaceScaleRange(var0, var1) ? Rangef.toObject(var0, var1 + 42) : null;
}
@Nullable
class="kw">public class="kw">static Rangef getSpaceScaleMinRange(MemorySegment var0) {
class="kw">return getSpaceScaleMinRange(var0, 0);
}
@Nullable
class="kw">public class="kw">static Rangef getSpaceScaleMinRange(MemorySegment var0, int var1) {
class="kw">return hasSpaceScaleMinRange(var0, var1) ? Rangef.toObject(var0, var1 + 50) : null;
}
@Nullable
class="kw">public class="kw">static Rangef getSpaceScaleMaxRange(MemorySegment var0) {
class="kw">return getSpaceScaleMaxRange(var0, 0);
}
@Nullable
class="kw">public class="kw">static Rangef getSpaceScaleMaxRange(MemorySegment var0, int var1) {
class="kw">return hasSpaceScaleMaxRange(var0, var1) ? Rangef.toObject(var0, var1 + 58) : null;
}
@Nullable
class="kw">public class="kw">static Rangef getEscapedRayPercentRange(MemorySegment var0) {
class="kw">return getEscapedRayPercentRange(var0, 0);
}
@Nullable
class="kw">public class="kw">static Rangef getEscapedRayPercentRange(MemorySegment var0, int var1) {
class="kw">return hasEscapedRayPercentRange(var0, var1) ? Rangef.toObject(var0, var1 + 66) : null;
}
@Nullable
class="kw">public class="kw">static Rangef getReflectionCoeffRange(MemorySegment var0) {
class="kw">return getReflectionCoeffRange(var0, 0);
}
@Nullable
class="kw">public class="kw">static Rangef getReflectionCoeffRange(MemorySegment var0, int var1) {
class="kw">return hasReflectionCoeffRange(var0, var1) ? Rangef.toObject(var0, var1 + 74) : null;
}
@Nullable
class="kw">public class="kw">static Rangef getAbsorptionCoeffRange(MemorySegment var0) {
class="kw">return getAbsorptionCoeffRange(var0, 0);
}
@Nullable
class="kw">public class="kw">static Rangef getAbsorptionCoeffRange(MemorySegment var0, int var1) {
class="kw">return hasAbsorptionCoeffRange(var0, var1) ? Rangef.toObject(var0, var1 + 82) : null;
}
@Nullable
class="kw">public class="kw">static Rangef getRoofDistanceRange(MemorySegment var0) {
class="kw">return getRoofDistanceRange(var0, 0);
}
@Nullable
class="kw">public class="kw">static Rangef getRoofDistanceRange(MemorySegment var0, int var1) {
class="kw">return hasRoofDistanceRange(var0, var1) ? Rangef.toObject(var0, var1 + 90) : null;
}
@Nullable
class="kw">public class="kw">static AmbienceFXPhysicalMaterial[] getSurfacePhysicalMaterials(MemorySegment var0) {
class="kw">return getSurfacePhysicalMaterials(var0, 0);
}
@Nullable
class="kw">public class="kw">static AmbienceFXPhysicalMaterial[] getSurfacePhysicalMaterials(MemorySegment var0, int var1) {
if (!hasSurfacePhysicalMaterials(var0, var1)) {
class="kw">return null;
}
int var2 = var1 + getValidatedOffset(var0, var1, 128, 136, "SurfacePhysicalMaterials");
long var3 = VarInt.getWithLength(var0, var2);
if (var3 == -1L) {
throw ProtocolException.invalidVarInt("SurfacePhysicalMaterials");
}
int var5 = (int)var3;
if (var5 > 4096000) {
throw ProtocolException.arrayTooLong("SurfacePhysicalMaterials", var5, 4096000);
}
int var6 = (int)(var3 >>> 32);
if (var2 + var6 + var5 * 13L > var0.byteSize()) {
throw ProtocolException.bufferTooSmall("SurfacePhysicalMaterials", (int)Math.min(var2 + var6 + var5 * 13L, 2147483647L), (int)var0.byteSize());
}
var2 += var6;
AmbienceFXPhysicalMaterial[] var7 = new AmbienceFXPhysicalMaterial[var5];
for (int var8 = 0; var8 < var5; var8++) {
var7[var8] = AmbienceFXPhysicalMaterial.toObject(var0, var2 + var8 * 13);
}
class="kw">return var7;
}
class="kw">public class="kw">static boolean getSurfacePhysicalMaterialsMatchAny(MemorySegment var0) {
class="kw">return getSurfacePhysicalMaterialsMatchAny(var0, 0);
}
class="kw">public class="kw">static boolean getSurfacePhysicalMaterialsMatchAny(MemorySegment var0, int var1) {
class="kw">return var0.get(PacketIO.PROTO_BOOL, var1 + 98);
}
@Nullable
class="kw">public class="kw">static AmbienceFXPhysicalMaterial[] getExteriorRoofPhysicalMaterials(MemorySegment var0) {
class="kw">return getExteriorRoofPhysicalMaterials(var0, 0);
}
@Nullable
class="kw">public class="kw">static AmbienceFXPhysicalMaterial[] getExteriorRoofPhysicalMaterials(MemorySegment var0, int var1) {
if (!hasExteriorRoofPhysicalMaterials(var0, var1)) {
class="kw">return null;
}
int var2 = var1 + getValidatedOffset(var0, var1, 132, 136, "ExteriorRoofPhysicalMaterials");
long var3 = VarInt.getWithLength(var0, var2);
if (var3 == -1L) {
throw ProtocolException.invalidVarInt("ExteriorRoofPhysicalMaterials");
}
int var5 = (int)var3;
if (var5 > 4096000) {
throw ProtocolException.arrayTooLong("ExteriorRoofPhysicalMaterials", var5, 4096000);
}
int var6 = (int)(var3 >>> 32);
if (var2 + var6 + var5 * 13L > var0.byteSize()) {
throw ProtocolException.bufferTooSmall("ExteriorRoofPhysicalMaterials", (int)Math.min(var2 + var6 + var5 * 13L, 2147483647L), (int)var0.byteSize());
}
var2 += var6;
AmbienceFXPhysicalMaterial[] var7 = new AmbienceFXPhysicalMaterial[var5];
for (int var8 = 0; var8 < var5; var8++) {
var7[var8] = AmbienceFXPhysicalMaterial.toObject(var0, var2 + var8 * 13);
}
class="kw">return var7;
}
class="kw">public class="kw">static boolean getExteriorRoofPhysicalMaterialsMatchAny(MemorySegment var0) {
class="kw">return getExteriorRoofPhysicalMaterialsMatchAny(var0, 0);
}
class="kw">public class="kw">static boolean getExteriorRoofPhysicalMaterialsMatchAny(MemorySegment var0, int var1) {
class="kw">return var0.get(PacketIO.PROTO_BOOL, var1 + 99);
}
class="kw">public class="kw">static boolean hasSpaceScaleRange(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 hasSpaceScaleMinRange(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 hasSpaceScaleMaxRange(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 hasEscapedRayPercentRange(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 hasReflectionCoeffRange(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 hasAbsorptionCoeffRange(MemorySegment var0, int var1) {
byte var2 = var0.get(PacketIO.PROTO_BYTE, var1 + 0);
class="kw">return (var2 & 32) != 0;
}
class="kw">public class="kw">static boolean hasRoofDistanceRange(MemorySegment var0, int var1) {
byte var2 = var0.get(PacketIO.PROTO_BYTE, var1 + 0);
class="kw">return (var2 & 64) != 0;
}
class="kw">public class="kw">static boolean hasEnvironmentIndices(MemorySegment var0, int var1) {
byte var2 = var0.get(PacketIO.PROTO_BYTE, var1 + 0);
class="kw">return (var2 & 128) != 0;
}
class="kw">public class="kw">static boolean hasWeatherIndices(MemorySegment var0, int var1) {
byte var2 = var0.get(PacketIO.PROTO_BYTE, var1 + 1);
class="kw">return (var2 & 1) != 0;
}
class="kw">public class="kw">static boolean hasFluidFXIndices(MemorySegment var0, int var1) {
byte var2 = var0.get(PacketIO.PROTO_BYTE, var1 + 1);
class="kw">return (var2 & 2) != 0;
}
class="kw">public class="kw">static boolean hasSurroundingBlockSoundSets(MemorySegment var0, int var1) {
byte var2 = var0.get(PacketIO.PROTO_BYTE, var1 + 1);
class="kw">return (var2 & 4) != 0;
}
class="kw">public class="kw">static boolean hasSpace(MemorySegment var0, int var1) {
byte var2 = var0.get(PacketIO.PROTO_BYTE, var1 + 1);
class="kw">return (var2 & 8) != 0;
}
class="kw">public class="kw">static boolean hasShelter(MemorySegment var0, int var1) {
byte var2 = var0.get(PacketIO.PROTO_BYTE, var1 + 1);
class="kw">return (var2 & 16) != 0;
}
class="kw">public class="kw">static boolean hasSurfaces(MemorySegment var0, int var1) {
byte var2 = var0.get(PacketIO.PROTO_BYTE, var1 + 1);
class="kw">return (var2 & 32) != 0;
}
class="kw">public class="kw">static boolean hasSurfacePhysicalMaterials(MemorySegment var0, int var1) {
byte var2 = var0.get(PacketIO.PROTO_BYTE, var1 + 1);
class="kw">return (var2 & 64) != 0;
}
class="kw">public class="kw">static boolean hasExteriorRoofPhysicalMaterials(MemorySegment var0, int var1) {
byte var2 = var0.get(PacketIO.PROTO_BYTE, var1 + 1);
class="kw">return (var2 & 128) != 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 AmbienceFXConditions toObject(MemorySegment var0) {
class="kw">return toObject(var0, 0, null);
}
class="kw">public class="kw">static AmbienceFXConditions toObject(MemorySegment var0, int var1) {
class="kw">return toObject(var0, var1, null);
}
class="kw">public class="kw">static AmbienceFXConditions toObject(MemorySegment var0, int var1, @Nullable ReadCursor var2) {
requireBounds(var0, var1);
int var3 = var1 + 136;
int var4 = 0;
int[] var5 = null;
if (hasEnvironmentIndices(var0, var1)) {
requireSlot(var0, var1 + 100, var4, "EnvironmentIndices");
int var6 = var3 + var4;
long var7 = VarInt.getWithLength(var0, var6);
if (var7 == -1L) {
throw ProtocolException.invalidVarInt("EnvironmentIndices");
}
int var9 = (int)var7;
if (var9 > 4096000) {
throw ProtocolException.arrayTooLong("EnvironmentIndices", var9, 4096000);
}
int var10 = (int)(var7 >>> 32);
if (var6 + var10 + var9 * 4L > var0.byteSize()) {
throw ProtocolException.bufferTooSmall("EnvironmentIndices", (int)Math.min(var6 + var10 + var9 * 4L, 2147483647L), (int)var0.byteSize());
}
var6 += var10;
var5 = new int[var9];
MemorySegment.copy(var0, PacketIO.PROTO_INT, var6, var5, 0, var9);
var4 = var6 + var9 * 4 - var3;
} else {
requireSlot(var0, var1 + 100, -1, "EnvironmentIndices");
}
int[] var21 = null;
if (hasWeatherIndices(var0, var1)) {
requireSlot(var0, var1 + 104, var4, "WeatherIndices");
int var22 = var3 + var4;
long var8 = VarInt.getWithLength(var0, var22);
if (var8 == -1L) {
throw ProtocolException.invalidVarInt("WeatherIndices");
}
int var32 = (int)var8;
if (var32 > 4096000) {
throw ProtocolException.arrayTooLong("WeatherIndices", var32, 4096000);
}
int var11 = (int)(var8 >>> 32);
if (var22 + var11 + var32 * 4L > var0.byteSize()) {
throw ProtocolException.bufferTooSmall("WeatherIndices", (int)Math.min(var22 + var11 + var32 * 4L, 2147483647L), (int)var0.byteSize());
}
var22 += var11;
var21 = new int[var32];
MemorySegment.copy(var0, PacketIO.PROTO_INT, var22, var21, 0, var32);
var4 = var22 + var32 * 4 - var3;
} else {
requireSlot(var0, var1 + 104, -1, "WeatherIndices");
}
int[] var24 = null;
if (hasFluidFXIndices(var0, var1)) {
requireSlot(var0, var1 + 108, var4, "FluidFXIndices");
int var25 = var3 + var4;
long var28 = VarInt.getWithLength(var0, var25);
if (var28 == -1L) {
throw ProtocolException.invalidVarInt("FluidFXIndices");
}
int var37 = (int)var28;
if (var37 > 4096000) {
throw ProtocolException.arrayTooLong("FluidFXIndices", var37, 4096000);
}
int var12 = (int)(var28 >>> 32);
if (var25 + var12 + var37 * 4L > var0.byteSize()) {
throw ProtocolException.bufferTooSmall("FluidFXIndices", (int)Math.min(var25 + var12 + var37 * 4L, 2147483647L), (int)var0.byteSize());
}
var25 += var12;
var24 = new int[var37];
MemorySegment.copy(var0, PacketIO.PROTO_INT, var25, var24, 0, var37);
var4 = var25 + var37 * 4 - var3;
} else {
requireSlot(var0, var1 + 108, -1, "FluidFXIndices");
}
AmbienceFXBlockSoundSet[] var27 = null;
if (hasSurroundingBlockSoundSets(var0, var1)) {
requireSlot(var0, var1 + 112, var4, "SurroundingBlockSoundSets");
int var29 = var3 + var4;
long var33 = VarInt.getWithLength(var0, var29);
if (var33 == -1L) {
throw ProtocolException.invalidVarInt("SurroundingBlockSoundSets");
}
int var42 = (int)var33;
if (var42 > 4096000) {
throw ProtocolException.arrayTooLong("SurroundingBlockSoundSets", var42, 4096000);
}
int var13 = (int)(var33 >>> 32);
if (var29 + var13 + var42 * 13L > var0.byteSize()) {
throw ProtocolException.bufferTooSmall("SurroundingBlockSoundSets", (int)Math.min(var29 + var13 + var42 * 13L, 2147483647L), (int)var0.byteSize());
}
var29 += var13;
var27 = new AmbienceFXBlockSoundSet[var42];
for (int var14 = 0; var14 < var42; var14++) {
var27[var14] = AmbienceFXBlockSoundSet.toObject(var0, var29 + var14 * 13);
}
var4 = var29 + var42 * 13 - var3;
} else {
requireSlot(var0, var1 + 112, -1, "SurroundingBlockSoundSets");
}
SpaceSize[] var31 = null;
if (hasSpace(var0, var1)) {
requireSlot(var0, var1 + 116, var4, "Space");
int var34 = var3 + var4;
long var38 = VarInt.getWithLength(var0, var34);
if (var38 == -1L) {
throw ProtocolException.invalidVarInt("Space");
}
int var47 = (int)var38;
if (var47 > 4096000) {
throw ProtocolException.arrayTooLong("Space", var47, 4096000);
}
int var52 = (int)(var38 >>> 32);
if (var34 + var52 + var47 > var0.byteSize()) {
throw ProtocolException.bufferTooSmall("Space", Math.min(var34 + var52 + var47, Integer.MAX_VALUE), (int)var0.byteSize());
}
var34 += var52;
var31 = new SpaceSize[var47];
for (int var15 = 0; var15 < var47; var15++) {
var31[var15] = SpaceSize.fromValue(var0.get(PacketIO.PROTO_BYTE, var34 + var15 * 1));
}
var4 = var34 + var47 - var3;
} else {
requireSlot(var0, var1 + 116, -1, "Space");
}
ShelterType[] var36 = null;
if (hasShelter(var0, var1)) {
requireSlot(var0, var1 + 120, var4, "Shelter");
int var39 = var3 + var4;
long var43 = VarInt.getWithLength(var0, var39);
if (var43 == -1L) {
throw ProtocolException.invalidVarInt("Shelter");
}
int var53 = (int)var43;
if (var53 > 4096000) {
throw ProtocolException.arrayTooLong("Shelter", var53, 4096000);
}
int var58 = (int)(var43 >>> 32);
if (var39 + var58 + var53 > var0.byteSize()) {
throw ProtocolException.bufferTooSmall("Shelter", Math.min(var39 + var58 + var53, Integer.MAX_VALUE), (int)var0.byteSize());
}
var39 += var58;
var36 = new ShelterType[var53];
for (int var16 = 0; var16 < var53; var16++) {
var36[var16] = ShelterType.fromValue(var0.get(PacketIO.PROTO_BYTE, var39 + var16 * 1));
}
var4 = var39 + var53 - var3;
} else {
requireSlot(var0, var1 + 120, -1, "Shelter");
}
SurfaceType[] var41 = null;
if (hasSurfaces(var0, var1)) {
requireSlot(var0, var1 + 124, var4, "Surfaces");
int var44 = var3 + var4;
long var48 = VarInt.getWithLength(var0, var44);
if (var48 == -1L) {
throw ProtocolException.invalidVarInt("Surfaces");
}
int var59 = (int)var48;
if (var59 > 4096000) {
throw ProtocolException.arrayTooLong("Surfaces", var59, 4096000);
}
int var61 = (int)(var48 >>> 32);
if (var44 + var61 + var59 > var0.byteSize()) {
throw ProtocolException.bufferTooSmall("Surfaces", Math.min(var44 + var61 + var59, Integer.MAX_VALUE), (int)var0.byteSize());
}
var44 += var61;
var41 = new SurfaceType[var59];
for (int var17 = 0; var17 < var59; var17++) {
var41[var17] = SurfaceType.fromValue(var0.get(PacketIO.PROTO_BYTE, var44 + var17 * 1));
}
var4 = var44 + var59 - var3;
} else {
requireSlot(var0, var1 + 124, -1, "Surfaces");
}
AmbienceFXPhysicalMaterial[] var46 = null;
if (hasSurfacePhysicalMaterials(var0, var1)) {
requireSlot(var0, var1 + 128, var4, "SurfacePhysicalMaterials");
int var49 = var3 + var4;
long var54 = VarInt.getWithLength(var0, var49);
if (var54 == -1L) {
throw ProtocolException.invalidVarInt("SurfacePhysicalMaterials");
}
int var62 = (int)var54;
if (var62 > 4096000) {
throw ProtocolException.arrayTooLong("SurfacePhysicalMaterials", var62, 4096000);
}
int var63 = (int)(var54 >>> 32);
if (var49 + var63 + var62 * 13L > var0.byteSize()) {
throw ProtocolException.bufferTooSmall("SurfacePhysicalMaterials", (int)Math.min(var49 + var63 + var62 * 13L, 2147483647L), (int)var0.byteSize());
}
var49 += var63;
var46 = new AmbienceFXPhysicalMaterial[var62];
for (int var18 = 0; var18 < var62; var18++) {
var46[var18] = AmbienceFXPhysicalMaterial.toObject(var0, var49 + var18 * 13);
}
var4 = var49 + var62 * 13 - var3;
} else {
requireSlot(var0, var1 + 128, -1, "SurfacePhysicalMaterials");
}
AmbienceFXPhysicalMaterial[] var51 = null;
if (hasExteriorRoofPhysicalMaterials(var0, var1)) {
requireSlot(var0, var1 + 132, var4, "ExteriorRoofPhysicalMaterials");
int var55 = var3 + var4;
long var60 = VarInt.getWithLength(var0, var55);
if (var60 == -1L) {
throw ProtocolException.invalidVarInt("ExteriorRoofPhysicalMaterials");
}
int var64 = (int)var60;
if (var64 > 4096000) {
throw ProtocolException.arrayTooLong("ExteriorRoofPhysicalMaterials", var64, 4096000);
}
int var65 = (int)(var60 >>> 32);
if (var55 + var65 + var64 * 13L > var0.byteSize()) {
throw ProtocolException.bufferTooSmall(
"ExteriorRoofPhysicalMaterials", (int)Math.min(var55 + var65 + var64 * 13L, 2147483647L), (int)var0.byteSize()
);
}
var55 += var65;
var51 = new AmbienceFXPhysicalMaterial[var64];
for (int var19 = 0; var19 < var64; var19++) {
var51[var19] = AmbienceFXPhysicalMaterial.toObject(var0, var55 + var19 * 13);
}
var4 = var55 + var64 * 13 - var3;
} else {
requireSlot(var0, var1 + 132, -1, "ExteriorRoofPhysicalMaterials");
}
AmbienceFXConditions var57 = new AmbienceFXConditions(
var0.get(PacketIO.PROTO_BOOL, var1 + 2),
var5,
var21,
var24,
var0.get(PacketIO.PROTO_INT, var1 + 3),
var0.get(PacketIO.PROTO_INT, var1 + 7),
var27,
Range.toObject(var0, var1 + 11),
Rangeb.toObject(var0, var1 + 19),
var0.get(PacketIO.PROTO_BOOL, var1 + 21),
var0.get(PacketIO.PROTO_INT, var1 + 22),
var0.get(PacketIO.PROTO_BOOL, var1 + 26),
Rangeb.toObject(var0, var1 + 27),
Rangeb.toObject(var0, var1 + 29),
Rangeb.toObject(var0, var1 + 31),
Rangef.toObject(var0, var1 + 33),
var31,
var36,
var41,
RoofState.fromValue(var0.get(PacketIO.PROTO_BYTE, var1 + 41)),
hasSpaceScaleRange(var0, var1) ? Rangef.toObject(var0, var1 + 42) : null,
hasSpaceScaleMinRange(var0, var1) ? Rangef.toObject(var0, var1 + 50) : null,
hasSpaceScaleMaxRange(var0, var1) ? Rangef.toObject(var0, var1 + 58) : null,
hasEscapedRayPercentRange(var0, var1) ? Rangef.toObject(var0, var1 + 66) : null,
hasReflectionCoeffRange(var0, var1) ? Rangef.toObject(var0, var1 + 74) : null,
hasAbsorptionCoeffRange(var0, var1) ? Rangef.toObject(var0, var1 + 82) : null,
hasRoofDistanceRange(var0, var1) ? Rangef.toObject(var0, var1 + 90) : null,
var46,
var0.get(PacketIO.PROTO_BOOL, var1 + 98),
var51,
var0.get(PacketIO.PROTO_BOOL, var1 + 99)
);
if (var2 != null) {
var2.position = var3 + var4;
}
class="kw">return var57;
}
class="kw">public int serialize(@Nonnull MemorySegment var1, int var2) {
byte var3 = 0;
if (this.spaceScaleRange != null) {
var3 = (byte)(var3 | 1);
}
if (this.spaceScaleMinRange != null) {
var3 = (byte)(var3 | 2);
}
if (this.spaceScaleMaxRange != null) {
var3 = (byte)(var3 | 4);
}
if (this.escapedRayPercentRange != null) {
var3 = (byte)(var3 | 8);
}
if (this.reflectionCoeffRange != null) {
var3 = (byte)(var3 | 16);
}
if (this.absorptionCoeffRange != null) {
var3 = (byte)(var3 | 32);
}
if (this.roofDistanceRange != null) {
var3 = (byte)(var3 | 64);
}
if (this.environmentIndices != null) {
var3 = (byte)(var3 | 128);
}
var1.set(PacketIO.PROTO_BYTE, var2 + 0, var3);
var3 = 0;
if (this.weatherIndices != null) {
var3 = (byte)(var3 | 1);
}
if (this.fluidFXIndices != null) {
var3 = (byte)(var3 | 2);
}
if (this.surroundingBlockSoundSets != null) {
var3 = (byte)(var3 | 4);
}
if (this.space != null) {
var3 = (byte)(var3 | 8);
}
if (this.shelter != null) {
var3 = (byte)(var3 | 16);
}
if (this.surfaces != null) {
var3 = (byte)(var3 | 32);
}
if (this.surfacePhysicalMaterials != null) {
var3 = (byte)(var3 | 64);
}
if (this.exteriorRoofPhysicalMaterials != null) {
var3 = (byte)(var3 | 128);
}
var1.set(PacketIO.PROTO_BYTE, var2 + 1, var3);
var1.set(PacketIO.PROTO_BOOL, var2 + 2, this.never);
var1.set(PacketIO.PROTO_INT, var2 + 3, this.environmentTagPatternIndex);
var1.set(PacketIO.PROTO_INT, var2 + 7, this.weatherTagPatternIndex);
this.altitude.serialize(var1, var2 + 11);
this.walls.serialize(var1, var2 + 19);
var1.set(PacketIO.PROTO_BOOL, var2 + 21, this.roof);
var1.set(PacketIO.PROTO_INT, var2 + 22, this.roofMaterialTagPatternIndex);
var1.set(PacketIO.PROTO_BOOL, var2 + 26, this.floor);
this.sunLightLevel.serialize(var1, var2 + 27);
this.torchLightLevel.serialize(var1, var2 + 29);
this.globalLightLevel.serialize(var1, var2 + 31);
this.dayTime.serialize(var1, var2 + 33);
var1.set(PacketIO.PROTO_BYTE, var2 + 41, (byte)this.roofState.getValue());
if (this.spaceScaleRange != null) {
this.spaceScaleRange.serialize(var1, var2 + 42);
} else {
var1.asSlice(var2 + 42, 8L).fill((byte)0);
}
if (this.spaceScaleMinRange != null) {
this.spaceScaleMinRange.serialize(var1, var2 + 50);
} else {
var1.asSlice(var2 + 50, 8L).fill((byte)0);
}
if (this.spaceScaleMaxRange != null) {
this.spaceScaleMaxRange.serialize(var1, var2 + 58);
} else {
var1.asSlice(var2 + 58, 8L).fill((byte)0);
}
if (this.escapedRayPercentRange != null) {
this.escapedRayPercentRange.serialize(var1, var2 + 66);
} else {
var1.asSlice(var2 + 66, 8L).fill((byte)0);
}
if (this.reflectionCoeffRange != null) {
this.reflectionCoeffRange.serialize(var1, var2 + 74);
} else {
var1.asSlice(var2 + 74, 8L).fill((byte)0);
}
if (this.absorptionCoeffRange != null) {
this.absorptionCoeffRange.serialize(var1, var2 + 82);
} else {
var1.asSlice(var2 + 82, 8L).fill((byte)0);
}
if (this.roofDistanceRange != null) {
this.roofDistanceRange.serialize(var1, var2 + 90);
} else {
var1.asSlice(var2 + 90, 8L).fill((byte)0);
}
var1.set(PacketIO.PROTO_BOOL, var2 + 98, this.surfacePhysicalMaterialsMatchAny);
var1.set(PacketIO.PROTO_BOOL, var2 + 99, this.exteriorRoofPhysicalMaterialsMatchAny);
int var4 = var2 + 136;
if (this.environmentIndices != null) {
var1.set(PacketIO.PROTO_INT, var2 + 100, var4 - var2 - 136);
if (this.environmentIndices.length > 4096000) {
throw ProtocolException.arrayTooLong("EnvironmentIndices", this.environmentIndices.length, 4096000);
}
var4 += VarInt.set(var1, var4, this.environmentIndices.length);
MemorySegment.copy(this.environmentIndices, 0, var1, PacketIO.PROTO_INT, var4, this.environmentIndices.length);
var4 += this.environmentIndices.length * 4;
} else {
var1.set(PacketIO.PROTO_INT, var2 + 100, -1);
}
if (this.weatherIndices != null) {
var1.set(PacketIO.PROTO_INT, var2 + 104, var4 - var2 - 136);
if (this.weatherIndices.length > 4096000) {
throw ProtocolException.arrayTooLong("WeatherIndices", this.weatherIndices.length, 4096000);
}
var4 += VarInt.set(var1, var4, this.weatherIndices.length);
MemorySegment.copy(this.weatherIndices, 0, var1, PacketIO.PROTO_INT, var4, this.weatherIndices.length);
var4 += this.weatherIndices.length * 4;
} else {
var1.set(PacketIO.PROTO_INT, var2 + 104, -1);
}
if (this.fluidFXIndices != null) {
var1.set(PacketIO.PROTO_INT, var2 + 108, var4 - var2 - 136);
if (this.fluidFXIndices.length > 4096000) {
throw ProtocolException.arrayTooLong("FluidFXIndices", this.fluidFXIndices.length, 4096000);
}
var4 += VarInt.set(var1, var4, this.fluidFXIndices.length);
MemorySegment.copy(this.fluidFXIndices, 0, var1, PacketIO.PROTO_INT, var4, this.fluidFXIndices.length);
var4 += this.fluidFXIndices.length * 4;
} else {
var1.set(PacketIO.PROTO_INT, var2 + 108, -1);
}
if (this.surroundingBlockSoundSets != null) {
var1.set(PacketIO.PROTO_INT, var2 + 112, var4 - var2 - 136);
if (this.surroundingBlockSoundSets.length > 4096000) {
throw ProtocolException.arrayTooLong("SurroundingBlockSoundSets", this.surroundingBlockSoundSets.length, 4096000);
}
var4 += VarInt.set(var1, var4, this.surroundingBlockSoundSets.length);
int var5 = 0;
for (int var6 = 0; var6 < this.surroundingBlockSoundSets.length; var6++) {
var5 += this.surroundingBlockSoundSets[var6].serialize(var1, var4 + var5);
}
var4 += var5;
} else {
var1.set(PacketIO.PROTO_INT, var2 + 112, -1);
}
if (this.space != null) {
var1.set(PacketIO.PROTO_INT, var2 + 116, var4 - var2 - 136);
if (this.space.length > 4096000) {
throw ProtocolException.arrayTooLong("Space", this.space.length, 4096000);
}
var4 += VarInt.set(var1, var4, this.space.length);
for (int var17 = 0; var17 < this.space.length; var17++) {
var1.set(PacketIO.PROTO_BYTE, var4 + var17 * 1, (byte)this.space[var17].getValue());
}
var4 += this.space.length * 1;
} else {
var1.set(PacketIO.PROTO_INT, var2 + 116, -1);
}
if (this.shelter != null) {
var1.set(PacketIO.PROTO_INT, var2 + 120, var4 - var2 - 136);
if (this.shelter.length > 4096000) {
throw ProtocolException.arrayTooLong("Shelter", this.shelter.length, 4096000);
}
var4 += VarInt.set(var1, var4, this.shelter.length);
for (int var18 = 0; var18 < this.shelter.length; var18++) {
var1.set(PacketIO.PROTO_BYTE, var4 + var18 * 1, (byte)this.shelter[var18].getValue());
}
var4 += this.shelter.length * 1;
} else {
var1.set(PacketIO.PROTO_INT, var2 + 120, -1);
}
if (this.surfaces != null) {
var1.set(PacketIO.PROTO_INT, var2 + 124, var4 - var2 - 136);
if (this.surfaces.length > 4096000) {
throw ProtocolException.arrayTooLong("Surfaces", this.surfaces.length, 4096000);
}
var4 += VarInt.set(var1, var4, this.surfaces.length);
for (int var19 = 0; var19 < this.surfaces.length; var19++) {
var1.set(PacketIO.PROTO_BYTE, var4 + var19 * 1, (byte)this.surfaces[var19].getValue());
}
var4 += this.surfaces.length * 1;
} else {
var1.set(PacketIO.PROTO_INT, var2 + 124, -1);
}
if (this.surfacePhysicalMaterials != null) {
var1.set(PacketIO.PROTO_INT, var2 + 128, var4 - var2 - 136);
if (this.surfacePhysicalMaterials.length > 4096000) {
throw ProtocolException.arrayTooLong("SurfacePhysicalMaterials", this.surfacePhysicalMaterials.length, 4096000);
}
var4 += VarInt.set(var1, var4, this.surfacePhysicalMaterials.length);
int var20 = 0;
for (int var22 = 0; var22 < this.surfacePhysicalMaterials.length; var22++) {
var20 += this.surfacePhysicalMaterials[var22].serialize(var1, var4 + var20);
}
var4 += var20;
} else {
var1.set(PacketIO.PROTO_INT, var2 + 128, -1);
}
if (this.exteriorRoofPhysicalMaterials != null) {
var1.set(PacketIO.PROTO_INT, var2 + 132, var4 - var2 - 136);
if (this.exteriorRoofPhysicalMaterials.length > 4096000) {
throw ProtocolException.arrayTooLong("ExteriorRoofPhysicalMaterials", this.exteriorRoofPhysicalMaterials.length, 4096000);
}
var4 += VarInt.set(var1, var4, this.exteriorRoofPhysicalMaterials.length);
int var21 = 0;
for (int var23 = 0; var23 < this.exteriorRoofPhysicalMaterials.length; var23++) {
var21 += this.exteriorRoofPhysicalMaterials[var23].serialize(var1, var4 + var21);
}
var4 += var21;
} else {
var1.set(PacketIO.PROTO_INT, var2 + 132, -1);
}
class="kw">return var4 - var2;
}
class="kw">public int computeSize() {
int var1 = 136;
if (this.environmentIndices != null) {
var1 += VarInt.size(this.environmentIndices.length) + this.environmentIndices.length * 4;
}
if (this.weatherIndices != null) {
var1 += VarInt.size(this.weatherIndices.length) + this.weatherIndices.length * 4;
}
if (this.fluidFXIndices != null) {
var1 += VarInt.size(this.fluidFXIndices.length) + this.fluidFXIndices.length * 4;
}
if (this.surroundingBlockSoundSets != null) {
var1 += VarInt.size(this.surroundingBlockSoundSets.length) + this.surroundingBlockSoundSets.length * 13;
}
if (this.space != null) {
var1 += VarInt.size(this.space.length) + this.space.length * 1;
}
if (this.shelter != null) {
var1 += VarInt.size(this.shelter.length) + this.shelter.length * 1;
}
if (this.surfaces != null) {
var1 += VarInt.size(this.surfaces.length) + this.surfaces.length * 1;
}
if (this.surfacePhysicalMaterials != null) {
var1 += VarInt.size(this.surfacePhysicalMaterials.length) + this.surfacePhysicalMaterials.length * 13;
}
if (this.exteriorRoofPhysicalMaterials != null) {
var1 += VarInt.size(this.exteriorRoofPhysicalMaterials.length) + this.exteriorRoofPhysicalMaterials.length * 13;
}
class="kw">return var1;
}
class="kw">public AmbienceFXConditions clone() {
AmbienceFXConditions var1 = new AmbienceFXConditions();
var1.never = this.never;
var1.environmentIndices = this.environmentIndices != null ? Arrays.copyOf(this.environmentIndices, this.environmentIndices.length) : null;
var1.weatherIndices = this.weatherIndices != null ? Arrays.copyOf(this.weatherIndices, this.weatherIndices.length) : null;
var1.fluidFXIndices = this.fluidFXIndices != null ? Arrays.copyOf(this.fluidFXIndices, this.fluidFXIndices.length) : null;
var1.environmentTagPatternIndex = this.environmentTagPatternIndex;
var1.weatherTagPatternIndex = this.weatherTagPatternIndex;
var1.surroundingBlockSoundSets = this.surroundingBlockSoundSets != null
? Arrays.stream(this.surroundingBlockSoundSets).map(var0 -> var0.clone()).toArray(AmbienceFXBlockSoundSet[]::new)
: null;
var1.altitude = this.altitude.clone();
var1.walls = this.walls.clone();
var1.roof = this.roof;
var1.roofMaterialTagPatternIndex = this.roofMaterialTagPatternIndex;
var1.floor = this.floor;
var1.sunLightLevel = this.sunLightLevel.clone();
var1.torchLightLevel = this.torchLightLevel.clone();
var1.globalLightLevel = this.globalLightLevel.clone();
var1.dayTime = this.dayTime.clone();
var1.space = this.space != null ? Arrays.copyOf(this.space, this.space.length) : null;
var1.shelter = this.shelter != null ? Arrays.copyOf(this.shelter, this.shelter.length) : null;
var1.surfaces = this.surfaces != null ? Arrays.copyOf(this.surfaces, this.surfaces.length) : null;
var1.roofState = this.roofState;
var1.spaceScaleRange = this.spaceScaleRange != null ? this.spaceScaleRange.clone() : null;
var1.spaceScaleMinRange = this.spaceScaleMinRange != null ? this.spaceScaleMinRange.clone() : null;
var1.spaceScaleMaxRange = this.spaceScaleMaxRange != null ? this.spaceScaleMaxRange.clone() : null;
var1.escapedRayPercentRange = this.escapedRayPercentRange != null ? this.escapedRayPercentRange.clone() : null;
var1.reflectionCoeffRange = this.reflectionCoeffRange != null ? this.reflectionCoeffRange.clone() : null;
var1.absorptionCoeffRange = this.absorptionCoeffRange != null ? this.absorptionCoeffRange.clone() : null;
var1.roofDistanceRange = this.roofDistanceRange != null ? this.roofDistanceRange.clone() : null;
var1.surfacePhysicalMaterials = this.surfacePhysicalMaterials != null
? Arrays.stream(this.surfacePhysicalMaterials).map(var0 -> var0.clone()).toArray(AmbienceFXPhysicalMaterial[]::new)
: null;
var1.surfacePhysicalMaterialsMatchAny = this.surfacePhysicalMaterialsMatchAny;
var1.exteriorRoofPhysicalMaterials = this.exteriorRoofPhysicalMaterials != null
? Arrays.stream(this.exteriorRoofPhysicalMaterials).map(var0 -> var0.clone()).toArray(AmbienceFXPhysicalMaterial[]::new)
: null;
var1.exteriorRoofPhysicalMaterialsMatchAny = this.exteriorRoofPhysicalMaterialsMatchAny;
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 AmbienceFXConditions var2)
? false
: this.never == var2.never
&& Arrays.equals(this.environmentIndices, var2.environmentIndices)
&& Arrays.equals(this.weatherIndices, var2.weatherIndices)
&& Arrays.equals(this.fluidFXIndices, var2.fluidFXIndices)
&& this.environmentTagPatternIndex == var2.environmentTagPatternIndex
&& this.weatherTagPatternIndex == var2.weatherTagPatternIndex
&& Arrays.equals(this.surroundingBlockSoundSets, var2.surroundingBlockSoundSets)
&& Objects.equals(this.altitude, var2.altitude)
&& Objects.equals(this.walls, var2.walls)
&& this.roof == var2.roof
&& this.roofMaterialTagPatternIndex == var2.roofMaterialTagPatternIndex
&& this.floor == var2.floor
&& Objects.equals(this.sunLightLevel, var2.sunLightLevel)
&& Objects.equals(this.torchLightLevel, var2.torchLightLevel)
&& Objects.equals(this.globalLightLevel, var2.globalLightLevel)
&& Objects.equals(this.dayTime, var2.dayTime)
&& Arrays.equals(this.space, var2.space)
&& Arrays.equals(this.shelter, var2.shelter)
&& Arrays.equals(this.surfaces, var2.surfaces)
&& Objects.equals(this.roofState, var2.roofState)
&& Objects.equals(this.spaceScaleRange, var2.spaceScaleRange)
&& Objects.equals(this.spaceScaleMinRange, var2.spaceScaleMinRange)
&& Objects.equals(this.spaceScaleMaxRange, var2.spaceScaleMaxRange)
&& Objects.equals(this.escapedRayPercentRange, var2.escapedRayPercentRange)
&& Objects.equals(this.reflectionCoeffRange, var2.reflectionCoeffRange)
&& Objects.equals(this.absorptionCoeffRange, var2.absorptionCoeffRange)
&& Objects.equals(this.roofDistanceRange, var2.roofDistanceRange)
&& Arrays.equals(this.surfacePhysicalMaterials, var2.surfacePhysicalMaterials)
&& this.surfacePhysicalMaterialsMatchAny == var2.surfacePhysicalMaterialsMatchAny
&& Arrays.equals(this.exteriorRoofPhysicalMaterials, var2.exteriorRoofPhysicalMaterials)
&& this.exteriorRoofPhysicalMaterialsMatchAny == var2.exteriorRoofPhysicalMaterialsMatchAny;
}
}
@Override
class="kw">public int hashCode() {
int var1 = 1;
var1 = 31 * var1 + Boolean.hashCode(this.never);
var1 = 31 * var1 + Arrays.hashCode(this.environmentIndices);
var1 = 31 * var1 + Arrays.hashCode(this.weatherIndices);
var1 = 31 * var1 + Arrays.hashCode(this.fluidFXIndices);
var1 = 31 * var1 + Integer.hashCode(this.environmentTagPatternIndex);
var1 = 31 * var1 + Integer.hashCode(this.weatherTagPatternIndex);
var1 = 31 * var1 + Arrays.hashCode(this.surroundingBlockSoundSets);
var1 = 31 * var1 + Objects.hashCode(this.altitude);
var1 = 31 * var1 + Objects.hashCode(this.walls);
var1 = 31 * var1 + Boolean.hashCode(this.roof);
var1 = 31 * var1 + Integer.hashCode(this.roofMaterialTagPatternIndex);
var1 = 31 * var1 + Boolean.hashCode(this.floor);
var1 = 31 * var1 + Objects.hashCode(this.sunLightLevel);
var1 = 31 * var1 + Objects.hashCode(this.torchLightLevel);
var1 = 31 * var1 + Objects.hashCode(this.globalLightLevel);
var1 = 31 * var1 + Objects.hashCode(this.dayTime);
var1 = 31 * var1 + Arrays.hashCode(this.space);
var1 = 31 * var1 + Arrays.hashCode(this.shelter);
var1 = 31 * var1 + Arrays.hashCode(this.surfaces);
var1 = 31 * var1 + Objects.hashCode(this.roofState);
var1 = 31 * var1 + Objects.hashCode(this.spaceScaleRange);
var1 = 31 * var1 + Objects.hashCode(this.spaceScaleMinRange);
var1 = 31 * var1 + Objects.hashCode(this.spaceScaleMaxRange);
var1 = 31 * var1 + Objects.hashCode(this.escapedRayPercentRange);
var1 = 31 * var1 + Objects.hashCode(this.reflectionCoeffRange);
var1 = 31 * var1 + Objects.hashCode(this.absorptionCoeffRange);
var1 = 31 * var1 + Objects.hashCode(this.roofDistanceRange);
var1 = 31 * var1 + Arrays.hashCode(this.surfacePhysicalMaterials);
var1 = 31 * var1 + Boolean.hashCode(this.surfacePhysicalMaterialsMatchAny);
var1 = 31 * var1 + Arrays.hashCode(this.exteriorRoofPhysicalMaterials);
class="kw">return 31 * var1 + Boolean.hashCode(this.exteriorRoofPhysicalMaterialsMatchAny);
}
}