UnarmedInteractions class

Пакет: com.hypixel.hytale.server.core.modules.interaction.interaction

Файл: com/hypixel/hytale/server/core/modules/interaction/interaction/UnarmedInteractions.java

implements: JsonAssetWithMap<String, DefaultAssetMap<String, UnarmedInteractions>>

Поля (2)

МодификаторыТипИмя
ASSET_MAP
final String DEFAULT_UNARMED_ID

Методы (5)

МодификаторыВозвратСигнатура
static DefaultAssetMap<String, UnarmedInteractions> getAssetMapDefaultAssetMap<String, UnarmedInteractions> getAssetMap()
public String getIdString getId()
public Map<InteractionType, String> getInteractionsMap<InteractionType, String> getInteractions()
if if(var0.interactions == null)
if if(ASSET_MAP == null)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.modules.interaction.interaction;

class="kw">import com.hypixel.hytale.assetstore.AssetExtraInfo;
class="kw">import com.hypixel.hytale.assetstore.AssetRegistry;
class="kw">import com.hypixel.hytale.assetstore.codec.AssetBuilderCodec;
class="kw">import com.hypixel.hytale.assetstore.map.DefaultAssetMap;
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.codecs.map.EnumMapCodec;
class="kw">import com.hypixel.hytale.protocol.InteractionType;
class="kw">import com.hypixel.hytale.server.core.modules.interaction.interaction.config.RootInteraction;
class="kw">import com.hypixel.hytale.server.core.modules.interaction.interaction.config.none.ChangeActiveSlotInteraction;
class="kw">import java.util.Collections;
class="kw">import java.util.EnumMap;
class="kw">import java.util.Map;
class="kw">import javax.annotation.Nonnull;

class="kw">public class UnarmedInteractions class="kw">implements JsonAssetWithMap<String, DefaultAssetMap<String, UnarmedInteractions>> {
   class="kw">public class="kw">static class="kw">final String DEFAULT_UNARMED_ID = "Empty";
   class="kw">public class="kw">static class="kw">final AssetBuilderCodec<String, UnarmedInteractions> CODEC = AssetBuilderCodec.builder(
         UnarmedInteractions.class,
         UnarmedInteractions::new,
         Codec.STRING,
         (var0, var1) -> var0.id = var1,
         var0 -> var0.id,
         (var0, var1) -> var0.data = var1,
         var0 -> var0.data
      )
      .appendInherited(
         new KeyedCodec<>("Interactions", new EnumMapCodec<>(InteractionType.class, RootInteraction.CHILD_ASSET_CODEC, false)),
         (var0, var1) -> var0.interactions = var1,
         var0 -> var0.interactions,
         (var0, var1) -> var0.interactions = var1.interactions
      )
      .addValidator(RootInteraction.VALIDATOR_CACHE.getMapValueValidator())
      .add()
      .afterDecode(var0 -> {
         if (var0.interactions == null) {
            var0.interactions = new EnumMap<>(InteractionType.class);
         }

         var0.interactions.putIfAbsent(InteractionType.SwapFrom, ChangeActiveSlotInteraction.DEFAULT_ROOT.getId());
         var0.interactions = Collections.unmodifiableMap(var0.interactions);
      })
      .build();
   class="kw">private class="kw">static DefaultAssetMap<String, UnarmedInteractions> ASSET_MAP;
   class="kw">protected AssetExtraInfo.Data data;
   class="kw">protected String id;
   class="kw">protected Map<InteractionType, String> interactions;

   class="kw">public UnarmedInteractions() {
   }

   class="kw">public class="kw">static DefaultAssetMap<String, UnarmedInteractions> getAssetMap() {
      if (ASSET_MAP == null) {
         ASSET_MAP = (DefaultAssetMap<String, UnarmedInteractions>)AssetRegistry.getAssetStore(UnarmedInteractions.class).getAssetMap();
      }

      class="kw">return ASSET_MAP;
   }

   class="kw">public String getId() {
      class="kw">return this.id;
   }

   class="kw">public Map<InteractionType, String> getInteractions() {
      class="kw">return this.interactions;
   }

   @Nonnull
   @Override
   class="kw">public String toString() {
      class="kw">return "UnarmedInteractions{id=" + this.id + ", interactions=" + this.interactions + "}";
   }
}