AmbienceFXConditions class

Пакет: com.hypixel.hytale.server.core.asset.type.ambiencefx.config

Файл: com/hypixel/hytale/server/core/asset/type/ambiencefx/config/AmbienceFXConditions.java

implements: NetworkSerializable<com.hypixel.hytale.protocol.AmbienceFXConditions>

Поля (2)

МодификаторыТипИмя
final BuilderCodec<AmbienceFXConditions> CODEC
com.hypixel.hytale.protocol.AmbienceFXConditions var1

Методы (34)

МодификаторыВозвратСигнатура
for for(int var1 = 0; var1 < this.environmentIds.length; var1++)
for for(int var2 = 0; var2 < this.weatherIds.length; var2++)
for for(int var3 = 0; var3 < this.fluidFXIds.length; var3++)
public Range getAltitudeRange getAltitude()
public Rangef getDayTimeRangef getDayTime()
public String[] getEnvironmentIdsString[] getEnvironmentIds()
public int[] getEnvironmentIndicesint[] getEnvironmentIndices()
public boolean getFloorboolean getFloor()
public String[] getFluidFXIdsString[] getFluidFXIds()
public int[] getFluidFXIndicesint[] getFluidFXIndices()
public Rangeb getGlobalLightLevelRangeb getGlobalLightLevel()
public boolean getRoofboolean getRoof()
public Rangeb getSunLightLevelRangeb getSunLightLevel()
public AmbienceFXBlockSoundSet[] getSurroundingBlockSoundSetsAmbienceFXBlockSoundSet[] getSurroundingBlockSoundSets()
public Rangeb getTorchLightLevelRangeb getTorchLightLevel()
public Rangeb getWallsRangeb getWalls()
public String[] getWeatherIdsString[] getWeatherIds()
public int[] getWeatherIndicesint[] getWeatherIndices()
if if(this.environmentIndices != null && this.environmentIndices.length > 0)
if if(this.environmentTagPattern != null)
if if(this.weatherIndices != null && this.weatherIndices.length > 0)
if if(this.weatherTagPattern != null)
if if(this.fluidFXIndices != null)
if if(this.surroundingBlockSoundSets != null && this.surroundingBlockSoundSets.length > 0)
if if(this.roofMaterialTagPattern != null)
if if(this.surfacePhysicalMaterials != null && this.surfacePhysicalMaterials.length > 0)
if if(this.exteriorRoofPhysicalMaterials != null && this.exteriorRoofPhysicalMaterials.length > 0)
if if(this.environmentIds != null)
if if(this.weatherIds != null)
if if(this.fluidFXIds != null)
public boolean isFloorboolean isFloor()
public boolean isNeverboolean isNever()
public boolean isRoofboolean isRoof()
protected void processConfigvoid processConfig()

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.asset.type.ambiencefx.config;

class="kw">import com.hypixel.hytale.codec.Codec;
class="kw">import com.hypixel.hytale.codec.KeyedCodec;
class="kw">import com.hypixel.hytale.codec.builder.BuilderCodec;
class="kw">import com.hypixel.hytale.codec.codecs.EnumCodec;
class="kw">import com.hypixel.hytale.codec.codecs.array.ArrayCodec;
class="kw">import com.hypixel.hytale.codec.validation.Validators;
class="kw">import com.hypixel.hytale.common.util.ArrayUtil;
class="kw">import com.hypixel.hytale.protocol.Range;
class="kw">import com.hypixel.hytale.protocol.Rangeb;
class="kw">import com.hypixel.hytale.protocol.Rangef;
class="kw">import com.hypixel.hytale.protocol.RoofState;
class="kw">import com.hypixel.hytale.protocol.ShelterType;
class="kw">import com.hypixel.hytale.protocol.SpaceSize;
class="kw">import com.hypixel.hytale.protocol.SurfaceType;
class="kw">import com.hypixel.hytale.server.core.asset.type.environment.config.Environment;
class="kw">import com.hypixel.hytale.server.core.asset.type.fluidfx.config.FluidFX;
class="kw">import com.hypixel.hytale.server.core.asset.type.tagpattern.config.TagPattern;
class="kw">import com.hypixel.hytale.server.core.asset.type.weather.config.Weather;
class="kw">import com.hypixel.hytale.server.core.codec.ProtocolCodecs;
class="kw">import com.hypixel.hytale.server.core.io.NetworkSerializable;
class="kw">import java.util.Arrays;
class="kw">import javax.annotation.Nonnull;

class="kw">public class AmbienceFXConditions class="kw">implements NetworkSerializable<com.hypixel.hytale.protocol.AmbienceFXConditions> {
   class="kw">public class="kw">static class="kw">final BuilderCodec<AmbienceFXConditions> CODEC = BuilderCodec.builder(AmbienceFXConditions.class, AmbienceFXConditions::new)
      .appendInherited(new KeyedCodec<>("Never", Codec.BOOLEAN), (var0, var1) -> var0.never = var1, var0 -> var0.never, (var0, var1) -> var0.never = var1.never)
      .documentation("If true, this Ambience will never conditionally trigger (but can be set server-side, for example).")
      .add()
      .<String[]>appendInherited(
         new KeyedCodec<>("EnvironmentIds", Codec.STRING_ARRAY),
         (var0, var1) -> var0.environmentIds = var1,
         var0 -> var0.environmentIds,
         (var0, var1) -> var0.environmentIds = var1.environmentIds
      )
      .addValidator(Environment.VALIDATOR_CACHE.getArrayValidator())
      .add()
      .<String>appendInherited(
         new KeyedCodec<>("EnvironmentTagPattern", TagPattern.CHILD_ASSET_CODEC),
         (var0, var1) -> var0.environmentTagPattern = var1,
         var0 -> var0.environmentTagPattern,
         (var0, var1) -> var0.environmentTagPattern = var1.environmentTagPattern
      )
      .addValidator(TagPattern.VALIDATOR_CACHE.getValidator())
      .documentation("A tag pattern to use for matching environments.")
      .add()
      .<String>appendInherited(
         new KeyedCodec<>("WeatherTagPattern", TagPattern.CHILD_ASSET_CODEC),
         (var0, var1) -> var0.weatherTagPattern = var1,
         var0 -> var0.weatherTagPattern,
         (var0, var1) -> var0.weatherTagPattern = var1.weatherTagPattern
      )
      .addValidator(TagPattern.VALIDATOR_CACHE.getValidator())
      .documentation("A tag pattern to use for matching weathers.")
      .add()
      .<String[]>appendInherited(
         new KeyedCodec<>("WeatherIds", Codec.STRING_ARRAY),
         (var0, var1) -> var0.weatherIds = var1,
         var0 -> var0.weatherIds,
         (var0, var1) -> var0.weatherIds = var1.weatherIds
      )
      .addValidator(Weather.VALIDATOR_CACHE.getArrayValidator())
      .add()
      .<String[]>appendInherited(
         new KeyedCodec<>("FluidFXIds", Codec.STRING_ARRAY),
         (var0, var1) -> var0.fluidFXIds = var1,
         var0 -> var0.fluidFXIds,
         (var0, var1) -> var0.fluidFXIds = var1.fluidFXIds
      )
      .addValidator(FluidFX.VALIDATOR_CACHE.getArrayValidator())
      .add()
      .appendInherited(
         new KeyedCodec<>("SurroundingBlockSoundSets", new ArrayCodec<>(AmbienceFXBlockSoundSet.CODEC, AmbienceFXBlockSoundSet[]::new)),
         (var0, var1) -> var0.surroundingBlockSoundSets = var1,
         var0 -> var0.surroundingBlockSoundSets,
         (var0, var1) -> var0.surroundingBlockSoundSets = var1.surroundingBlockSoundSets
      )
      .add()
      .<Range>appendInherited(
         new KeyedCodec<>("Altitude", ProtocolCodecs.RANGE),
         (var0, var1) -> var0.altitude = var1,
         var0 -> var0.altitude,
         (var0, var1) -> var0.altitude = var1.altitude
      )
      .addValidator(Validators.nonNull())
      .add()
      .<Rangeb>appendInherited(
         new KeyedCodec<>("Walls", ProtocolCodecs.RANGEB), (var0, var1) -> var0.walls = var1, var0 -> var0.walls, (var0, var1) -> var0.walls = var1.walls
      )
      .addValidator(Validators.nonNull())
      .add()
      .<Boolean>appendInherited(
         new KeyedCodec<>("Roof", Codec.BOOLEAN), (var0, var1) -> var0.roof = var1, var0 -> var0.roof, (var0, var1) -> var0.roof = var1.roof
      )
      .documentation("Deprecated: Use RoofState instead.")
      .addValidator(Validators.deprecated())
      .add()
      .<String>appendInherited(
         new KeyedCodec<>("RoofMaterialTagPattern", TagPattern.CHILD_ASSET_CODEC),
         (var0, var1) -> var0.roofMaterialTagPattern = var1,
         var0 -> var0.roofMaterialTagPattern,
         (var0, var1) -> var0.roofMaterialTagPattern = var1.roofMaterialTagPattern
      )
      .addValidator(TagPattern.VALIDATOR_CACHE.getValidator())
      .documentation("A tag pattern to use for matching roof material. If Roof is not required, will only be matched if a roof is present.")
      .add()
      .appendInherited(new KeyedCodec<>("Floor", Codec.BOOLEAN), (var0, var1) -> var0.floor = var1, var0 -> var0.floor, (var0, var1) -> var0.floor = var1.floor)
      .add()
      .<Rangeb>appendInherited(
         new KeyedCodec<>("SunLightLevel", ProtocolCodecs.RANGEB),
         (var0, var1) -> var0.sunLightLevel = var1,
         var0 -> var0.sunLightLevel,
         (var0, var1) -> var0.sunLightLevel = var1.sunLightLevel
      )
      .addValidator(Validators.nonNull())
      .add()
      .<Rangeb>appendInherited(
         new KeyedCodec<>("TorchLightLevel", ProtocolCodecs.RANGEB),
         (var0, var1) -> var0.torchLightLevel = var1,
         var0 -> var0.torchLightLevel,
         (var0, var1) -> var0.torchLightLevel = var1.torchLightLevel
      )
      .addValidator(Validators.nonNull())
      .add()
      .<Rangeb>appendInherited(
         new KeyedCodec<>("GlobalLightLevel", ProtocolCodecs.RANGEB),
         (var0, var1) -> var0.globalLightLevel = var1,
         var0 -> var0.globalLightLevel,
         (var0, var1) -> var0.globalLightLevel = var1.globalLightLevel
      )
      .addValidator(Validators.nonNull())
      .add()
      .<Rangef>appendInherited(
         new KeyedCodec<>("DayTime", ProtocolCodecs.RANGEF),
         (var0, var1) -> var0.dayTime = var1,
         var0 -> var0.dayTime,
         (var0, var1) -> var0.dayTime = var1.dayTime
      )
      .addValidator(Validators.nonNull())
      .add()
      .<SpaceSize[]>appendInherited(
         new KeyedCodec<>("Space", new ArrayCodec<>(new EnumCodec<>(SpaceSize.class), SpaceSize[]::new)),
         (var0, var1) -> var0.space = var1,
         var0 -> var0.space,
         (var0, var1) -> var0.space = var1.space
      )
      .documentation("The rough scale of the space to match.")
      .add()
      .<ShelterType[]>appendInherited(
         new KeyedCodec<>("Shelter", new ArrayCodec<>(new EnumCodec<>(ShelterType.class), ShelterType[]::new)),
         (var0, var1) -> var0.shelter = var1,
         var0 -> var0.shelter,
         (var0, var1) -> var0.shelter = var1.shelter
      )
      .documentation("The rough amount of shelter from exterior elements to match.")
      .add()
      .<SurfaceType[]>appendInherited(
         new KeyedCodec<>("Surfaces", new ArrayCodec<>(new EnumCodec<>(SurfaceType.class), SurfaceType[]::new)),
         (var0, var1) -> var0.surfaces = var1,
         var0 -> var0.surfaces,
         (var0, var1) -> var0.surfaces = var1.surfaces
      )
      .documentation("Reflectivity of surfaces within the space to match.")
      .add()
      .<RoofState>appendInherited(
         new KeyedCodec<>("RoofState", new EnumCodec<>(RoofState.class)),
         (var0, var1) -> var0.roofState = var1,
         var0 -> var0.roofState,
         (var0, var1) -> var0.roofState = var1.roofState
      )
      .documentation("Whether or not a roof must be present to match (or can be set to not care).")
      .add()
      .appendInherited(
         new KeyedCodec<>("SpaceScaleRange", ProtocolCodecs.RANGEF),
         (var0, var1) -> var0.spaceScaleRange = var1,
         var0 -> var0.spaceScaleRange,
         (var0, var1) -> var0.spaceScaleRange = var1.spaceScaleRange
      )
      .add()
      .appendInherited(
         new KeyedCodec<>("SpaceScaleMinRange", ProtocolCodecs.RANGEF),
         (var0, var1) -> var0.spaceScaleMinRange = var1,
         var0 -> var0.spaceScaleMinRange,
         (var0, var1) -> var0.spaceScaleMinRange = var1.spaceScaleMinRange
      )
      .add()
      .appendInherited(
         new KeyedCodec<>("SpaceScaleMaxRange", ProtocolCodecs.RANGEF),
         (var0, var1) -> var0.spaceScaleMaxRange = var1,
         var0 -> var0.spaceScaleMaxRange,
         (var0, var1) -> var0.spaceScaleMaxRange = var1.spaceScaleMaxRange
      )
      .add()
      .appendInherited(
         new KeyedCodec<>("EscapedRayPercentRange", ProtocolCodecs.RANGEF),
         (var0, var1) -> var0.escapedRayPercentRange = var1,
         var0 -> var0.escapedRayPercentRange,
         (var0, var1) -> var0.escapedRayPercentRange = var1.escapedRayPercentRange
      )
      .add()
      .appendInherited(
         new KeyedCodec<>("ReflectionCoeffRange", ProtocolCodecs.RANGEF),
         (var0, var1) -> var0.reflectionCoeffRange = var1,
         var0 -> var0.reflectionCoeffRange,
         (var0, var1) -> var0.reflectionCoeffRange = var1.reflectionCoeffRange
      )
      .add()
      .appendInherited(
         new KeyedCodec<>("AbsorptionCoeffRange", ProtocolCodecs.RANGEF),
         (var0, var1) -> var0.absorptionCoeffRange = var1,
         var0 -> var0.absorptionCoeffRange,
         (var0, var1) -> var0.absorptionCoeffRange = var1.absorptionCoeffRange
      )
      .add()
      .appendInherited(
         new KeyedCodec<>("RoofDistanceRange", ProtocolCodecs.RANGEF),
         (var0, var1) -> var0.roofDistanceRange = var1,
         var0 -> var0.roofDistanceRange,
         (var0, var1) -> var0.roofDistanceRange = var1.roofDistanceRange
      )
      .add()
      .appendInherited(
         new KeyedCodec<>("SurfacePhysicalMaterials", new ArrayCodec<>(AmbienceFXPhysicalMaterial.CODEC, AmbienceFXPhysicalMaterial[]::new)),
         (var0, var1) -> var0.surfacePhysicalMaterials = var1,
         var0 -> var0.surfacePhysicalMaterials,
         (var0, var1) -> var0.surfacePhysicalMaterials = var1.surfacePhysicalMaterials
      )
      .add()
      .<Boolean>appendInherited(
         new KeyedCodec<>("SurfacePhysicalMaterialsMatchAny", Codec.BOOLEAN),
         (var0, var1) -> var0.surfacePhysicalMaterialsMatchAny = var1,
         var0 -> var0.surfacePhysicalMaterialsMatchAny,
         (var0, var1) -> var0.surfacePhysicalMaterialsMatchAny = var1.surfacePhysicalMaterialsMatchAny
      )
      .documentation("When true, the SurfacePhysicalMaterials condition matches if any entry matches (OR semantics). By class="kw">default all must much.")
      .add()
      .<AmbienceFXPhysicalMaterial[]>appendInherited(
         new KeyedCodec<>("ExteriorRoofPhysicalMaterials", new ArrayCodec<>(AmbienceFXPhysicalMaterial.CODEC, AmbienceFXPhysicalMaterial[]::new)),
         (var0, var1) -> var0.exteriorRoofPhysicalMaterials = var1,
         var0 -> var0.exteriorRoofPhysicalMaterials,
         (var0, var1) -> var0.exteriorRoofPhysicalMaterials = var1.exteriorRoofPhysicalMaterials
      )
      .documentation("The percentage ratios of the last physical material encountered before a probe ray escapes, i.e. the inferred \"roof\" materials.")
      .add()
      .<Boolean>appendInherited(
         new KeyedCodec<>("ExteriorRoofPhysicalMaterialsMatchAny", Codec.BOOLEAN),
         (var0, var1) -> var0.exteriorRoofPhysicalMaterialsMatchAny = var1,
         var0 -> var0.exteriorRoofPhysicalMaterialsMatchAny,
         (var0, var1) -> var0.exteriorRoofPhysicalMaterialsMatchAny = var1.exteriorRoofPhysicalMaterialsMatchAny
      )
      .documentation("When true, the ExteriorRoofPhysicalMaterials condition matches if any entry matches (OR semantics). By class="kw">default all must match.")
      .add()
      .afterDecode(AmbienceFXConditions::processConfig)
      .build();
   class="kw">public class="kw">static class="kw">final Range DEFAULT_ALTITUDE = new Range(0, 512);
   class="kw">public class="kw">static class="kw">final Rangeb DEFAULT_WALLS = new Rangeb((byte)0, (byte)4);
   class="kw">public class="kw">static class="kw">final Rangeb DEFAULT_LIGHT_LEVEL = new Rangeb((byte)0, (byte)15);
   class="kw">public class="kw">static class="kw">final Rangef DEFAULT_DAY_TIME = new Rangef(0.0F, 24.0F);
   class="kw">protected boolean never;
   class="kw">protected String[] environmentIds;
   class="kw">protected class="kw">transient int[] environmentIndices;
   class="kw">protected String[] weatherIds;
   class="kw">protected class="kw">transient int[] weatherIndices;
   class="kw">protected String environmentTagPattern;
   class="kw">protected String weatherTagPattern;
   class="kw">protected String[] fluidFXIds;
   class="kw">protected class="kw">transient int[] fluidFXIndices;
   class="kw">protected AmbienceFXBlockSoundSet[] surroundingBlockSoundSets;
   class="kw">protected Range altitude = DEFAULT_ALTITUDE;
   class="kw">protected Rangeb walls = DEFAULT_WALLS;
   @Deprecated
   class="kw">protected boolean roof;
   class="kw">protected String roofMaterialTagPattern;
   class="kw">protected boolean floor;
   class="kw">protected Rangeb sunLightLevel = DEFAULT_LIGHT_LEVEL;
   class="kw">protected Rangeb torchLightLevel = DEFAULT_LIGHT_LEVEL;
   class="kw">protected Rangeb globalLightLevel = DEFAULT_LIGHT_LEVEL;
   class="kw">protected Rangef dayTime = DEFAULT_DAY_TIME;
   class="kw">protected SpaceSize[] space;
   class="kw">protected ShelterType[] shelter;
   class="kw">protected SurfaceType[] surfaces;
   class="kw">protected RoofState roofState = RoofState.Any;
   class="kw">protected Rangef spaceScaleRange;
   class="kw">protected Rangef spaceScaleMinRange;
   class="kw">protected Rangef spaceScaleMaxRange;
   class="kw">protected Rangef escapedRayPercentRange;
   class="kw">protected Rangef reflectionCoeffRange;
   class="kw">protected Rangef absorptionCoeffRange;
   class="kw">protected Rangef roofDistanceRange;
   class="kw">protected AmbienceFXPhysicalMaterial[] surfacePhysicalMaterials;
   class="kw">protected boolean surfacePhysicalMaterialsMatchAny;
   class="kw">protected AmbienceFXPhysicalMaterial[] exteriorRoofPhysicalMaterials;
   class="kw">protected boolean exteriorRoofPhysicalMaterialsMatchAny;

   class="kw">protected AmbienceFXConditions() {
   }

   @Nonnull
   class="kw">public com.hypixel.hytale.protocol.AmbienceFXConditions toPacket() {
      com.hypixel.hytale.protocol.AmbienceFXConditions var1 = new com.hypixel.hytale.protocol.AmbienceFXConditions();
      var1.never = this.never;
      if (this.environmentIndices != null && this.environmentIndices.length > 0) {
         var1.environmentIndices = this.environmentIndices;
      }

      if (this.environmentTagPattern != null) {
         var1.environmentTagPatternIndex = TagPattern.getAssetMap().getIndex(this.environmentTagPattern);
      } else {
         var1.environmentTagPatternIndex = -1;
      }

      if (this.weatherIndices != null && this.weatherIndices.length > 0) {
         var1.weatherIndices = this.weatherIndices;
      }

      if (this.weatherTagPattern != null) {
         var1.weatherTagPatternIndex = TagPattern.getAssetMap().getIndex(this.weatherTagPattern);
      } else {
         var1.weatherTagPatternIndex = -1;
      }

      if (this.fluidFXIndices != null) {
         var1.fluidFXIndices = this.fluidFXIndices;
      }

      if (this.surroundingBlockSoundSets != null && this.surroundingBlockSoundSets.length > 0) {
         var1.surroundingBlockSoundSets = ArrayUtil.copyAndMutate(
            this.surroundingBlockSoundSets, AmbienceFXBlockSoundSet::toPacket, com.hypixel.hytale.protocol.AmbienceFXBlockSoundSet[]::new
         );
      }

      var1.altitude = this.altitude;
      var1.walls = this.walls;
      var1.roof = this.roof;
      if (this.roofMaterialTagPattern != null) {
         var1.roofMaterialTagPatternIndex = TagPattern.getAssetMap().getIndex(this.roofMaterialTagPattern);
      } else {
         var1.roofMaterialTagPatternIndex = -1;
      }

      var1.floor = this.floor;
      var1.sunLightLevel = this.sunLightLevel;
      var1.torchLightLevel = this.torchLightLevel;
      var1.globalLightLevel = this.globalLightLevel;
      var1.dayTime = this.dayTime;
      var1.space = this.space;
      var1.shelter = this.shelter;
      var1.surfaces = this.surfaces;
      var1.roofState = this.roofState;
      var1.spaceScaleRange = this.spaceScaleRange;
      var1.spaceScaleMinRange = this.spaceScaleMinRange;
      var1.spaceScaleMaxRange = this.spaceScaleMaxRange;
      var1.escapedRayPercentRange = this.escapedRayPercentRange;
      var1.reflectionCoeffRange = this.reflectionCoeffRange;
      var1.absorptionCoeffRange = this.absorptionCoeffRange;
      var1.roofDistanceRange = this.roofDistanceRange;
      if (this.surfacePhysicalMaterials != null && this.surfacePhysicalMaterials.length > 0) {
         var1.surfacePhysicalMaterials = ArrayUtil.copyAndMutate(
            this.surfacePhysicalMaterials, AmbienceFXPhysicalMaterial::toPacket, com.hypixel.hytale.protocol.AmbienceFXPhysicalMaterial[]::new
         );
      }

      var1.surfacePhysicalMaterialsMatchAny = this.surfacePhysicalMaterialsMatchAny;
      if (this.exteriorRoofPhysicalMaterials != null && this.exteriorRoofPhysicalMaterials.length > 0) {
         var1.exteriorRoofPhysicalMaterials = ArrayUtil.copyAndMutate(
            this.exteriorRoofPhysicalMaterials, AmbienceFXPhysicalMaterial::toPacket, com.hypixel.hytale.protocol.AmbienceFXPhysicalMaterial[]::new
         );
      }

      var1.exteriorRoofPhysicalMaterialsMatchAny = this.exteriorRoofPhysicalMaterialsMatchAny;
      class="kw">return var1;
   }

   class="kw">public boolean isNever() {
      class="kw">return this.never;
   }

   class="kw">public String[] getEnvironmentIds() {
      class="kw">return this.environmentIds;
   }

   class="kw">public int[] getEnvironmentIndices() {
      class="kw">return this.environmentIndices;
   }

   class="kw">public String[] getWeatherIds() {
      class="kw">return this.weatherIds;
   }

   class="kw">public int[] getWeatherIndices() {
      class="kw">return this.weatherIndices;
   }

   class="kw">public String[] getFluidFXIds() {
      class="kw">return this.fluidFXIds;
   }

   class="kw">public int[] getFluidFXIndices() {
      class="kw">return this.fluidFXIndices;
   }

   class="kw">public AmbienceFXBlockSoundSet[] getSurroundingBlockSoundSets() {
      class="kw">return this.surroundingBlockSoundSets;
   }

   class="kw">public Range getAltitude() {
      class="kw">return this.altitude;
   }

   class="kw">public Rangeb getWalls() {
      class="kw">return this.walls;
   }

   class="kw">public boolean getRoof() {
      class="kw">return this.roof;
   }

   class="kw">public boolean getFloor() {
      class="kw">return this.floor;
   }

   class="kw">public Rangeb getSunLightLevel() {
      class="kw">return this.sunLightLevel;
   }

   class="kw">public Rangeb getTorchLightLevel() {
      class="kw">return this.torchLightLevel;
   }

   class="kw">public Rangeb getGlobalLightLevel() {
      class="kw">return this.globalLightLevel;
   }

   class="kw">public Rangef getDayTime() {
      class="kw">return this.dayTime;
   }

   class="kw">public boolean isRoof() {
      class="kw">return this.roof;
   }

   class="kw">public boolean isFloor() {
      class="kw">return this.floor;
   }

   class="kw">protected void processConfig() {
      if (this.environmentIds != null) {
         this.environmentIndices = new int[this.environmentIds.length];

         for (int var1 = 0; var1 < this.environmentIds.length; var1++) {
            this.environmentIndices[var1] = Environment.getAssetMap().getIndex(this.environmentIds[var1]);
         }
      }

      if (this.weatherIds != null) {
         this.weatherIndices = new int[this.weatherIds.length];

         for (int var2 = 0; var2 < this.weatherIds.length; var2++) {
            this.weatherIndices[var2] = Weather.getAssetMap().getIndex(this.weatherIds[var2]);
         }
      }

      if (this.fluidFXIds != null) {
         this.fluidFXIndices = new int[this.fluidFXIds.length];

         for (int var3 = 0; var3 < this.fluidFXIds.length; var3++) {
            this.fluidFXIndices[var3] = FluidFX.getAssetMap().getIndex(this.fluidFXIds[var3]);
         }
      }
   }

   @Nonnull
   @Override
   class="kw">public String toString() {
      class="kw">return "AmbienceFXConditions{never="
         + this.never
         + ", environmentIds="
         + Arrays.toString(this.environmentIds)
         + ", environmentIndices="
         + Arrays.toString(this.environmentIndices)
         + ", environmentTagPattern="
         + this.environmentTagPattern
         + ", weatherIds="
         + Arrays.toString(this.weatherIds)
         + ", weatherIndices="
         + Arrays.toString(this.weatherIndices)
         + ", fluidFXIds="
         + Arrays.toString(this.fluidFXIds)
         + ", fluidFXIndices="
         + Arrays.toString(this.fluidFXIndices)
         + ", surroundingBlockSoundSets="
         + Arrays.toString(this.surroundingBlockSoundSets)
         + ", altitude="
         + this.altitude
         + ", walls="
         + this.walls
         + ", roof="
         + this.roof
         + ", roofMaterialTagPattern="
         + this.roofMaterialTagPattern
         + ", floor="
         + this.floor
         + ", sunLightLevel="
         + this.sunLightLevel
         + ", torchLightLevel="
         + this.torchLightLevel
         + ", globalLightLevel="
         + this.globalLightLevel
         + ", dayTime="
         + this.dayTime
         + "}";
   }
}