AmbienceFXMusic class

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

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

Поля (1)

МодификаторыТипИмя
final BuilderCodec<AmbienceFXMusic> CODEC

Методы (4)

МодификаторыВозвратСигнатура
public float getDecibelsfloat getDecibels()
public String[] getTracksString[] getTracks()
public float getVolumefloat getVolume()
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.schema.metadata.ui.UIEditor;
class="kw">import com.hypixel.hytale.codec.validation.Validators;
class="kw">import com.hypixel.hytale.codec.validation.validator.ArrayValidator;
class="kw">import com.hypixel.hytale.common.util.AudioUtil;
class="kw">import com.hypixel.hytale.server.core.asset.common.CommonAssetValidator;
class="kw">import java.util.Arrays;
class="kw">import javax.annotation.Nonnull;

class="kw">public class AmbienceFXMusic {
   class="kw">public class="kw">static class="kw">final BuilderCodec<AmbienceFXMusic> CODEC = BuilderCodec.builder(AmbienceFXMusic.class, AmbienceFXMusic::new)
      .appendInherited(
         new KeyedCodec<>("Tracks", Codec.STRING_ARRAY), (var0, var1) -> var0.tracks = var1, var0 -> var0.tracks, (var0, var1) -> var0.tracks = var1.tracks
      )
      .addValidator(Validators.nonEmptyArray())
      .addValidator(new ArrayValidator<>(CommonAssetValidator.MUSIC))
      .add()
      .<Float>appendInherited(
         new KeyedCodec<>("Volume", Codec.FLOAT), (var0, var1) -> var0.decibels = var1, var0 -> var0.decibels, (var0, var1) -> var0.decibels = var1.decibels
      )
      .metadata(new UIEditor(new UIEditor.FormattedNumber(null, " dB", null)))
      .addValidator(Validators.range(-100.0F, 10.0F))
      .add()
      .afterDecode(AmbienceFXMusic::processConfig)
      .build();
   class="kw">protected String[] tracks;
   class="kw">protected float decibels = 0.0F;
   class="kw">protected class="kw">transient float volume = 1.0F;

   class="kw">public AmbienceFXMusic(String[] var1, float var2) {
      this.tracks = var1;
      this.decibels = var2;
   }

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

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

   class="kw">public float getDecibels() {
      class="kw">return this.decibels;
   }

   class="kw">public float getVolume() {
      class="kw">return this.volume;
   }

   class="kw">protected void processConfig() {
      this.volume = AudioUtil.decibelsToLinearGain(this.decibels);
   }

   @Nonnull
   @Override
   class="kw">public String toString() {
      class="kw">return "AmbienceFXMusic{tracks=" + Arrays.toString(this.tracks) + ", decibels=" + this.decibels + ", volume=" + this.volume + "}";
   }
}