HorizontalMusicContainer class
Пакет: com.hypixel.hytale.server.core.asset.type.musiccontainer.config
Файл: com/hypixel/hytale/server/core/asset/type/musiccontainer/config/HorizontalMusicContainer.java
extends: MusicContainer
Поля (2)
| Модификаторы | Тип | Имя |
|---|---|---|
|
com.hypixel.hytale.protocol.HorizontalMusicContainer |
var1 |
|
IndexedAssetMap |
var2 |
Методы (3)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
|
|
for for(int var3 = 0; var3 < this.children.length; var3++) |
|
|
if if(this.children != null && this.children.length > 0) |
abstract |
|
super super(var1) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.asset.type.musiccontainer.config;
class="kw">import com.hypixel.hytale.assetstore.map.IndexedAssetMap;
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.protocol.MusicTransitionType;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">public class HorizontalMusicContainer class="kw">extends MusicContainer {
@Nonnull
class="kw">public class="kw">static class="kw">final BuilderCodec<HorizontalMusicContainer> CODEC = BuilderCodec.<MusicContainer>builder(
HorizontalMusicContainer.class, HorizontalMusicContainer::new, MusicContainer.ABSTRACT_CODEC
)
.documentation("A music container designed for horizontal dynamic music, where transitions go from segment to segment.")
.<MusicTransitionType>appendInherited(
new KeyedCodec<>("DefaultPhaseTransitionType", new EnumCodec<>(MusicTransitionType.class)),
(var0, var1) -> var0.defaultPhaseTransitionType = var1,
var0 -> var0.defaultPhaseTransitionType,
(var0, var1) -> var0.defaultPhaseTransitionType = var1.defaultPhaseTransitionType
)
.documentation("Default transition type for all phase transitions. Children can override via their own TransitionType.")
.add()
.<Float>appendInherited(
new KeyedCodec<>("DefaultPhaseTransitionDuration", Codec.FLOAT),
(var0, var1) -> var0.defaultPhaseTransitionDuration = var1,
var0 -> var0.defaultPhaseTransitionDuration,
(var0, var1) -> var0.defaultPhaseTransitionDuration = var1.defaultPhaseTransitionDuration
)
.documentation("Default transition duration for all phase transitions.")
.add()
.<String[]>appendInherited(
new KeyedCodec<>("Children", new ArrayCodec<>(MusicContainer.CHILD_ASSET_CODEC, String[]::new)),
(var0, var1) -> var0.children = var1,
var0 -> var0.children,
(var0, var1) -> var0.children = var1.children
)
.addValidator(Validators.nonEmptyArray())
.addValidatorLate(() -> MusicContainer.VALIDATOR_CACHE.getArrayValidator().late())
.add()
.build();
@Nonnull
class="kw">protected MusicTransitionType defaultPhaseTransitionType = MusicTransitionType.Crossfade;
class="kw">protected float defaultPhaseTransitionDuration;
@Nullable
class="kw">protected String[] children;
class="kw">protected HorizontalMusicContainer() {
}
class="kw">public HorizontalMusicContainer(@Nonnull String var1) {
super(var1);
}
@Nonnull
@Override
class="kw">public String[] getChildIds() {
class="kw">return this.children != null ? this.children : new String[0];
}
@Nonnull
class="kw">public com.hypixel.hytale.protocol.MusicContainer toPacket() {
com.hypixel.hytale.protocol.HorizontalMusicContainer var1 = new com.hypixel.hytale.protocol.HorizontalMusicContainer();
this.fillBasePacketFields(var1);
var1.defaultPhaseTransitionType = this.defaultPhaseTransitionType;
var1.defaultPhaseTransitionDuration = this.defaultPhaseTransitionDuration;
if (this.children != null && this.children.length > 0) {
IndexedAssetMap var2 = MusicContainer.getAssetMap();
var1.children = new int[this.children.length];
for (int var3 = 0; var3 < this.children.length; var3++) {
var1.children[var3] = var2.getIndex(this.children[var3]);
}
}
class="kw">return var1;
}
}