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