StateTransitionConfig class
Пакет: com.hypixel.hytale.server.core.asset.type.audiostate.config
Файл: com/hypixel/hytale/server/core/asset/type/audiostate/config/StateTransitionConfig.java
Поля (2)
| Модификаторы | Тип | Имя |
|---|---|---|
final |
String |
WILDCARD |
|
StateTransition |
var1 |
Методы (1)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
public |
StateTransition |
toPacketStateTransition toPacket() |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.asset.type.audiostate.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.UIDisplayMode;
class="kw">import com.hypixel.hytale.codec.validation.Validators;
class="kw">import com.hypixel.hytale.protocol.FadeCurve;
class="kw">import com.hypixel.hytale.protocol.StateTransition;
class="kw">import com.hypixel.hytale.protocol.SyncPoint;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">public class StateTransitionConfig {
class="kw">public class="kw">static class="kw">final String WILDCARD = "*";
class="kw">public class="kw">static class="kw">final int WILDCARD_INDEX = -1;
@Nonnull
class="kw">public class="kw">static class="kw">final BuilderCodec<StateTransitionConfig> CODEC = BuilderCodec.builder(StateTransitionConfig.class, StateTransitionConfig::new)
.metadata(UIDisplayMode.COMPACT)
.<String>append(new KeyedCodec<>("From", Codec.STRING), (var0, var1) -> var0.fromValueName = var1, var0 -> var0.fromValueName)
.documentation("State value name this edge transitions from. '*' for wildcard. Unused when used as an override.")
.add()
.<String>append(new KeyedCodec<>("To", Codec.STRING), (var0, var1) -> var0.toValueName = var1, var0 -> var0.toValueName)
.documentation("State value name this edge transitions to. '*' for wildcard. Unused when used as an override.")
.add()
.<Float>append(new KeyedCodec<>("DurationMs", Codec.FLOAT), (var0, var1) -> var0.durationMs = var1, var0 -> var0.durationMs)
.addValidator(Validators.min(0.0F))
.documentation("Transition duration in milliseconds.")
.add()
.<FadeCurve>append(new KeyedCodec<>("Curve", AudioStateCodecs.FADE_CURVE), (var0, var1) -> var0.curve = var1, var0 -> var0.curve)
.documentation("Interpolation curve shape. Linear if omitted.")
.add()
.<SyncPoint>append(new KeyedCodec<>("SyncTo", AudioStateCodecs.SYNC_POINT), (var0, var1) -> var0.syncTo = var1, var0 -> var0.syncTo)
.documentation("Optional per-edge sync override. Axis DefaultSyncTo is used if omitted.")
.add()
.build();
@Nullable
class="kw">protected String fromValueName;
@Nullable
class="kw">protected String toValueName;
class="kw">protected float durationMs;
@Nonnull
class="kw">protected FadeCurve curve = FadeCurve.Linear;
@Nullable
class="kw">protected SyncPoint syncTo;
class="kw">transient int fromValueIndex = -1;
class="kw">transient int toValueIndex = -1;
class="kw">public StateTransitionConfig() {
}
class="kw">public StateTransition toPacket() {
StateTransition var1 = new StateTransition();
var1.fromValueIndex = this.fromValueIndex;
var1.toValueIndex = this.toValueIndex;
var1.durationMs = this.durationMs;
var1.curve = this.curve;
var1.syncTo = this.syncTo;
class="kw">return var1;
}
}