HyCodeYourTale
classpublicPriority 3

UnarmedInteractions

com.hypixel.hytale.server.core.modules.interaction.interaction.UnarmedInteractions

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

4

Methods

4

Public Methods

4

Fields

1

Constructors

Constants

AssetBuilderCodec<String, UnarmedInteractions>CODEC= AssetBuilderCodec.builder( UnarmedInteractions.class, UnarmedInteractions::new, Codec.ST...
StringDEFAULT_UNARMED_ID= "Empty"

Constructors

public
UnarmedInteractions()

Methods

Public Methods (4)

publicstatic
DefaultAssetMap<String, UnarmedInteractions> getAssetMap()
public
String getId()
public
Map<InteractionType, String> getInteractions()
public
String toString()
@Nonnull@Override

Fields

Protected Fields (3)

protectedAssetExtraInfo.Data data
protectedString id
protectedMap<InteractionType, String> interactions

Private/Package Fields (1)

privateDefaultAssetMap<String, UnarmedInteractions> ASSET_MAP

Inheritance

Parent
Current
Interface
Child

Use mouse wheel to zoom, drag to pan. Click nodes to navigate.

Related Classes

Source Code

package com.hypixel.hytale.server.core.modules.interaction.interaction;

import com.hypixel.hytale.assetstore.AssetExtraInfo;
import com.hypixel.hytale.assetstore.codec.AssetBuilderCodec;
import com.hypixel.hytale.assetstore.map.DefaultAssetMap;
import com.hypixel.hytale.assetstore.map.JsonAssetWithMap;
import com.hypixel.hytale.codec.Codec;
import com.hypixel.hytale.codec.KeyedCodec;
import com.hypixel.hytale.codec.codecs.map.EnumMapCodec;
import com.hypixel.hytale.protocol.InteractionType;
import com.hypixel.hytale.server.core.modules.interaction.interaction.config.RootInteraction;
import com.hypixel.hytale.server.core.modules.interaction.interaction.config.none.ChangeActiveSlotInteraction;
import java.util.Collections;
import java.util.EnumMap;
import java.util.Map;
import javax.annotation.Nonnull;

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

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

   public UnarmedInteractions() {
   }

   public static DefaultAssetMap<String, UnarmedInteractions> getAssetMap() {
      // $VF: Couldn't be decompiled
      // Please report this to the Vineflower issue tracker, at https://github.com/Vineflower/vineflower/issues with a copy of the class file (if you have the rights to distribute it!)
      // java.lang.StackOverflowError
      //   at java.base/java.util.HashMap.hash(HashMap.java:338)
      //   at java.base/java.util.HashMap.getNode(HashMap.java:577)
      //   at java.base/java.util.HashMap.containsKey(HashMap.java:603)
      //   at org.jetbrains.java.decompiler.struct.gen.VarType.remap(VarType.java:428)
      //   at org.jetbrains.java.decompiler.struct.gen.generics.GenericType.remap(GenericType.java:350)
      //   at org.jetbrains.java.decompiler.struct.gen.generics.GenericType.getGenericSuperType(GenericType.java:693)
      //   at org.jetbrains.java.decompiler.modules.decompiler.exps.InvocationExprent.lambda$isMappingInBounds$18(InvocationExprent.java:1608)
      //   at org.jetbrains.java.decompiler.modules.decompiler.exps.InvocationExprent.lambda$isMappingInBounds$19(InvocationExprent.java:1648)
      //
      // Bytecode:
      // 00: getstatic com/hypixel/hytale/server/core/modules/interaction/interaction/UnarmedInteractions.ASSET_MAP Lcom/hypixel/hytale/assetstore/map/DefaultAssetMap;
      // 03: ifnonnull 14
      // 06: ldc com/hypixel/hytale/server/core/modules/interaction/interaction/UnarmedInteractions
      // 08: invokestatic com/hypixel/hytale/assetstore/AssetRegistry.getAssetStore (Ljava/lang/Class;)Lcom/hypixel/hytale/assetstore/AssetStore;
      // 0b: invokevirtual com/hypixel/hytale/assetstore/AssetStore.getAssetMap ()Lcom/hypixel/hytale/assetstore/AssetMap;
      // 0e: checkcast com/hypixel/hytale/assetstore/map/DefaultAssetMap
      // 11: putstatic com/hypixel/hytale/server/core/modules/interaction/interaction/UnarmedInteractions.ASSET_MAP Lcom/hypixel/hytale/assetstore/map/DefaultAssetMap;
      // 14: getstatic com/hypixel/hytale/server/core/modules/interaction/interaction/UnarmedInteractions.ASSET_MAP Lcom/hypixel/hytale/assetstore/map/DefaultAssetMap;
      // 17: areturn
   }

   public String getId() {
      return this.id;
   }

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

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