StageAsset class
Пакет: com.hypixel.hytale.builtin.adventure.worldevents.event
Файл: com/hypixel/hytale/builtin/adventure/worldevents/event/StageAsset.java
implements: JsonAssetWithMap<String, DefaultAssetMap<String, StageAsset>>
Поля (2)
| Модификаторы | Тип | Имя |
|---|---|---|
final |
RefCodec<Fork.Config> |
FORK_REF_CODEC |
|
Stage |
var2 |
Методы (3)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
|
|
for for(int var3 = 0; var3 < this.forks.length; var3++) |
protected |
void |
setAssetDatavoid setAssetData(@Nullable AssetExtraInfo.Data var1) |
protected |
void |
setAssetIdvoid setAssetId(@Nonnull String var1) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.adventure.worldevents.event;
class="kw">import com.hypixel.hytale.assetstore.AssetExtraInfo;
class="kw">import com.hypixel.hytale.assetstore.codec.AssetBuilderCodec;
class="kw">import com.hypixel.hytale.assetstore.codec.ContainedAssetCodec;
class="kw">import com.hypixel.hytale.assetstore.map.DefaultAssetMap;
class="kw">import com.hypixel.hytale.assetstore.map.JsonAssetWithMap;
class="kw">import com.hypixel.hytale.builtin.adventure.worldevents.util.RefCodec;
class="kw">import com.hypixel.hytale.codec.Codec;
class="kw">import com.hypixel.hytale.codec.KeyedCodec;
class="kw">import com.hypixel.hytale.codec.codecs.array.ArrayCodec;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">public class StageAsset class="kw">implements JsonAssetWithMap<String, DefaultAssetMap<String, StageAsset>> {
class="kw">static class="kw">final RefCodec<Fork.Config> FORK_REF_CODEC = new RefCodec<>();
class="kw">public class="kw">static class="kw">final AssetBuilderCodec<String, StageAsset> CODEC = AssetBuilderCodec.builder(
StageAsset.class, StageAsset::new, Codec.STRING, StageAsset::setAssetId, StageAsset::getAssetId, StageAsset::setAssetData, StageAsset::getAssetData
)
.documentation("Represents a step in a world-event's timeline. May consist of multiple different forks that are taken depending on their conditions.")
.<Fork.Config[]>appendInherited(
new KeyedCodec<>("Forks", new ArrayCodec<>(FORK_REF_CODEC, Fork.Config[]::new)),
(var0, var1) -> var0.forks = var1,
var0 -> var0.forks,
(var0, var1) -> var0.forks = var1.forks
)
.documentation(
"List of forks for the stage. Whichever fork's conditions complete first will be selected to run its actions and 'next' stage (if present)."
)
.add()
.build();
class="kw">public class="kw">static class="kw">final Codec<String> REF_CODEC = new ContainedAssetCodec<>(StageAsset.class, CODEC);
class="kw">public class="kw">static class="kw">final DefaultAssetMap<String, StageAsset> ASSET_MAP = new DefaultAssetMap<>();
class="kw">public class="kw">static class="kw">final String UNKNOWN_KEY = "Unknown";
class="kw">public class="kw">static class="kw">final StageAsset UNKNOWN = new StageAsset();
@Nonnull
class="kw">protected String assetId = "Unknown";
@Nullable
class="kw">protected AssetExtraInfo.Data assetData = null;
@Nonnull
class="kw">protected Fork.Config[] forks = Fork.Config.EMPTY_ARRAY;
class="kw">public StageAsset() {
}
@Nonnull
class="kw">public Stage build(@Nonnull StageId var1) {
Stage var2 = new Stage();
var2.id = var1.next();
var2.forks = new Fork[this.forks.length];
for (int var3 = 0; var3 < this.forks.length; var3++) {
var2.forks[var3] = this.forks[var3].build(var1);
}
class="kw">return var2;
}
@Nonnull
class="kw">public String getId() {
class="kw">return this.assetId;
}
@Nonnull
class="kw">protected String getAssetId() {
class="kw">return this.assetId;
}
class="kw">protected void setAssetId(@Nonnull String var1) {
this.assetId = var1;
}
@Nullable
class="kw">protected AssetExtraInfo.Data getAssetData() {
class="kw">return this.assetData;
}
class="kw">protected void setAssetData(@Nullable AssetExtraInfo.Data var1) {
this.assetData = var1;
}
@Nonnull
class="kw">public class="kw">static StageAsset getAssetOrUnknown(@Nonnull String var0) {
class="kw">return ASSET_MAP.getAssetMap().getOrDefault(var0, UNKNOWN);
}
}