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