EmoteAsset class
Пакет: com.hypixel.hytale.server.core.cosmetics
Файл: com/hypixel/hytale/server/core/cosmetics/EmoteAsset.java
implements: JsonAssetWithMap<String, IndexedLookupTableAssetMap<String, EmoteAsset>>, NetworkSerializable<ProtocolEmote>
Поля (3)
| Модификаторы | Тип | Имя |
|---|---|---|
|
|
ASSET_STORE |
final |
AssetBuilderCodec<String, EmoteAsset> |
CODEC |
|
ProtocolEmote |
var1 |
Методы (5)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
static |
IndexedLookupTableAssetMap<String, EmoteAsset> |
getAssetMapIndexedLookupTableAssetMap<String, EmoteAsset> getAssetMap() |
static |
AssetStore<String, EmoteAsset, IndexedLookupTableAssetMap<String, EmoteAsset>> |
getAssetStoreAssetStore<String, EmoteAsset, IndexedLookupTableAssetMap<String, EmoteAsset>> getAssetStore() |
public |
String |
getIdString getId() |
|
|
if if(ASSET_STORE == null) |
public |
ProtocolEmote |
toPacketProtocolEmote toPacket() |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.cosmetics;
class="kw">import com.hypixel.hytale.assetstore.AssetExtraInfo;
class="kw">import com.hypixel.hytale.assetstore.AssetKeyValidator;
class="kw">import com.hypixel.hytale.assetstore.AssetRegistry;
class="kw">import com.hypixel.hytale.assetstore.AssetStore;
class="kw">import com.hypixel.hytale.assetstore.codec.AssetBuilderCodec;
class="kw">import com.hypixel.hytale.assetstore.map.IndexedLookupTableAssetMap;
class="kw">import com.hypixel.hytale.assetstore.map.JsonAssetWithMap;
class="kw">import com.hypixel.hytale.codec.Codec;
class="kw">import com.hypixel.hytale.codec.KeyedCodec;
class="kw">import com.hypixel.hytale.codec.validation.ValidatorCache;
class="kw">import com.hypixel.hytale.codec.validation.Validators;
class="kw">import com.hypixel.hytale.protocol.ProtocolEmote;
class="kw">import com.hypixel.hytale.server.core.asset.common.CommonAssetValidator;
class="kw">import com.hypixel.hytale.server.core.io.NetworkSerializable;
class="kw">public class EmoteAsset class="kw">implements JsonAssetWithMap<String, IndexedLookupTableAssetMap<String, EmoteAsset>>, NetworkSerializable<ProtocolEmote> {
class="kw">public class="kw">static class="kw">final AssetBuilderCodec<String, EmoteAsset> CODEC = AssetBuilderCodec.builder(
EmoteAsset.class, EmoteAsset::new, Codec.STRING, (var0, var1) -> var0.id = var1, var0 -> var0.id, (var0, var1) -> var0.data = var1, var0 -> var0.data
)
.append(new KeyedCodec<>("Name", Codec.STRING), (var0, var1) -> var0.name = var1, var0 -> var0.name)
.documentation("The localization key of the emote name.")
.addValidator(Validators.nonNull())
.addValidator(Validators.nonEmptyString())
.add()
.<String>append(new KeyedCodec<>("Animation", Codec.STRING), (var0, var1) -> var0.animationPath = var1, var0 -> var0.animationPath)
.documentation("The path to the animation file (must be located in HytaleAssets/Common/Characters).")
.addValidator(Validators.nonNull())
.addValidator(CommonAssetValidator.ANIMATION_EMOTE)
.add()
.<String>append(new KeyedCodec<>("Icon", Codec.STRING), (var0, var1) -> var0.iconPath = var1, var0 -> var0.iconPath)
.documentation("The path to the icon file (must be located in HytaleAssets/Common/Icons/Emotes).")
.addValidator(Validators.nonNull())
.addValidator(CommonAssetValidator.ICON_EMOTE)
.add()
.append(new KeyedCodec<>("IsLooping", Codec.BOOLEAN), (var0, var1) -> var0.isLooping = var1, var0 -> var0.isLooping)
.add()
.<Boolean>append(new KeyedCodec<>("HideItemInHand", Codec.BOOLEAN), (var0, var1) -> var0.hideItemInHand = var1, var0 -> var0.hideItemInHand)
.documentation("If set to true, the player's held item is hidden while this emote plays.")
.add()
.build();
class="kw">public class="kw">static class="kw">final ValidatorCache<String> VALIDATOR_CACHE = new ValidatorCache<>(new AssetKeyValidator<>(EmoteAsset::getAssetStore));
class="kw">private class="kw">static AssetStore<String, EmoteAsset, IndexedLookupTableAssetMap<String, EmoteAsset>> ASSET_STORE;
class="kw">protected AssetExtraInfo.Data data;
class="kw">protected String id;
class="kw">protected String name;
class="kw">protected String animationPath;
class="kw">protected String iconPath;
class="kw">protected boolean isLooping;
class="kw">protected boolean hideItemInHand;
class="kw">public class="kw">static AssetStore<String, EmoteAsset, IndexedLookupTableAssetMap<String, EmoteAsset>> getAssetStore() {
if (ASSET_STORE == null) {
ASSET_STORE = AssetRegistry.getAssetStore(EmoteAsset.class);
}
class="kw">return ASSET_STORE;
}
class="kw">public class="kw">static IndexedLookupTableAssetMap<String, EmoteAsset> getAssetMap() {
class="kw">return (IndexedLookupTableAssetMap<String, EmoteAsset>)getAssetStore().getAssetMap();
}
class="kw">public EmoteAsset() {
}
class="kw">public EmoteAsset(String var1) {
this.id = var1;
}
class="kw">public String getId() {
class="kw">return this.id;
}
class="kw">public ProtocolEmote toPacket() {
ProtocolEmote var1 = new ProtocolEmote();
var1.id = this.id;
var1.name = this.name;
var1.animation = this.animationPath;
var1.icon = this.iconPath;
var1.isLooping = this.isLooping;
var1.hideItemInHand = this.hideItemInHand;
class="kw">return var1;
}
}