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 + "}";
}
}