// 
// Decompiled by Procyon v0.6.0
// 

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

import com.hypixel.hytale.codec.Codec;
import com.hypixel.hytale.server.core.modules.entity.EntityModule;
import com.hypixel.hytale.server.core.modules.interaction.interaction.config.none.simple.SendMessageInteraction;
import com.hypixel.hytale.protocol.packets.interface_.CustomPageLifetime;
import com.hypixel.hytale.server.core.universe.world.meta.state.LaunchPad;
import com.hypixel.hytale.server.core.entity.entities.player.pages.CustomUIPage;
import com.hypixel.hytale.event.IEventDispatcher;
import com.hypixel.hytale.server.core.entity.Entity;
import com.hypixel.hytale.protocol.BlockPosition;
import com.hypixel.hytale.protocol.WorldInteraction;
import com.hypixel.hytale.server.core.asset.type.item.config.Item;
import com.hypixel.hytale.server.core.inventory.ItemStack;
import com.hypixel.hytale.server.core.inventory.Inventory;
import com.hypixel.hytale.math.vector.Vector2d;
import com.hypixel.hytale.server.core.event.events.player.PlayerMouseMotionEvent;
import com.hypixel.hytale.server.core.event.events.player.PlayerMouseButtonEvent;
import com.hypixel.hytale.server.core.HytaleServer;
import com.hypixel.hytale.server.core.entity.entities.player.CameraManager;
import com.hypixel.hytale.server.core.entity.EntityUtils;
import com.hypixel.hytale.math.vector.Vector3i;
import com.hypixel.hytale.protocol.MouseButtonType;
import com.hypixel.hytale.server.core.Message;
import com.hypixel.hytale.server.core.universe.PlayerRef;
import com.hypixel.hytale.server.core.entity.entities.Player;
import com.hypixel.hytale.protocol.packets.player.MouseInteraction;
import com.hypixel.hytale.component.ComponentAccessor;
import com.hypixel.hytale.component.Ref;
import com.hypixel.hytale.assetstore.event.RemovedAssetsEvent;
import com.hypixel.hytale.assetstore.JsonAsset;
import java.util.Map;
import com.hypixel.hytale.server.core.modules.interaction.interaction.config.Interaction;
import java.util.Iterator;
import com.hypixel.hytale.server.core.modules.interaction.interaction.config.RootInteraction;
import com.hypixel.hytale.assetstore.event.LoadedAssetsEvent;
import com.hypixel.hytale.server.core.plugin.JavaPluginInit;
import com.hypixel.hytale.server.core.modules.interaction.blocktrack.TrackedPlacement;
import com.hypixel.hytale.server.core.modules.interaction.blocktrack.BlockCounter;
import com.hypixel.hytale.component.ResourceType;
import com.hypixel.hytale.server.core.modules.interaction.components.PlacedByInteractionComponent;
import com.hypixel.hytale.server.core.universe.world.storage.ChunkStore;
import com.hypixel.hytale.server.core.modules.interaction.interaction.config.client.ChainingInteraction;
import com.hypixel.hytale.server.core.entity.InteractionManager;
import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
import com.hypixel.hytale.component.ComponentType;
import java.util.EnumSet;
import com.hypixel.hytale.codec.codecs.set.SetCodec;
import com.hypixel.hytale.protocol.InteractionType;
import com.hypixel.hytale.codec.codecs.EnumCodec;
import javax.annotation.Nonnull;
import com.hypixel.hytale.common.plugin.PluginManifest;
import com.hypixel.hytale.server.core.plugin.JavaPlugin;

public class InteractionModule extends JavaPlugin
{
    @Nonnull
    public static final PluginManifest MANIFEST;
    @Nonnull
    public static final EnumCodec<InteractionType> INTERACTION_TYPE_CODEC;
    @Nonnull
    public static final SetCodec<InteractionType, EnumSet<InteractionType>> INTERACTION_TYPE_SET_CODEC;
    private static InteractionModule instance;
    private ComponentType<EntityStore, InteractionManager> interactionManagerComponent;
    private ComponentType<EntityStore, ChainingInteraction.Data> chainingDataComponent;
    private ComponentType<EntityStore, Interactions> interactionsComponentType;
    private ComponentType<ChunkStore, PlacedByInteractionComponent> placedByComponentType;
    private ResourceType<ChunkStore, BlockCounter> blockCounterResourceType;
    private ComponentType<ChunkStore, TrackedPlacement> trackedPlacementComponentType;
    
    @Nonnull
    public static InteractionModule get() {
        return InteractionModule.instance;
    }
    
    public InteractionModule(@Nonnull final JavaPluginInit init) {
        super(init);
        InteractionModule.instance = this;
    }
    
    @Override
    protected void setup() {
        // 
        // This method could not be decompiled.
        // 
        // Original Bytecode:
        // 
        //     1: invokevirtual   com/hypixel/hytale/server/core/modules/interaction/InteractionModule.getEventRegistry:()Lcom/hypixel/hytale/event/EventRegistry;
        //     4: astore_1        /* eventRegistry */
        //     5: aload_0         /* this */
        //     6: invokevirtual   com/hypixel/hytale/server/core/modules/interaction/InteractionModule.getEntityStoreRegistry:()Lcom/hypixel/hytale/component/ComponentRegistryProxy;
        //     9: astore_2        /* entityStoreRegistry */
        //    10: aload_0         /* this */
        //    11: invokevirtual   com/hypixel/hytale/server/core/modules/interaction/InteractionModule.getCommandRegistry:()Lcom/hypixel/hytale/server/core/command/system/CommandRegistry;
        //    14: new             Lcom/hypixel/hytale/server/core/modules/interaction/commands/InteractionCommand;
        //    17: dup            
        //    18: invokespecial   com/hypixel/hytale/server/core/modules/interaction/commands/InteractionCommand.<init>:()V
        //    21: invokevirtual   com/hypixel/hytale/server/core/command/system/CommandRegistry.registerCommand:(Lcom/hypixel/hytale/server/core/command/system/AbstractCommand;)Lcom/hypixel/hytale/server/core/command/system/CommandRegistration;
        //    24: pop            
        //    25: ldc             Lcom/hypixel/hytale/server/core/modules/interaction/interaction/UnarmedInteractions;.class
        //    27: new             Lcom/hypixel/hytale/assetstore/map/DefaultAssetMap;
        //    30: dup            
        //    31: invokespecial   com/hypixel/hytale/assetstore/map/DefaultAssetMap.<init>:()V
        //    34: invokestatic    com/hypixel/hytale/server/core/asset/HytaleAssetStore.builder:(Ljava/lang/Class;Lcom/hypixel/hytale/assetstore/AssetMap;)Lcom/hypixel/hytale/server/core/asset/HytaleAssetStore$Builder;
        //    37: ldc             "Item/Unarmed/Interactions"
        //    39: invokevirtual   com/hypixel/hytale/server/core/asset/HytaleAssetStore$Builder.setPath:(Ljava/lang/String;)Lcom/hypixel/hytale/assetstore/AssetStore$Builder;
        //    42: checkcast       Lcom/hypixel/hytale/server/core/asset/HytaleAssetStore$Builder;
        //    45: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/UnarmedInteractions.CODEC:Lcom/hypixel/hytale/assetstore/codec/AssetBuilderCodec;
        //    48: invokevirtual   com/hypixel/hytale/server/core/asset/HytaleAssetStore$Builder.setCodec:(Lcom/hypixel/hytale/assetstore/codec/AssetCodec;)Lcom/hypixel/hytale/assetstore/AssetStore$Builder;
        //    51: checkcast       Lcom/hypixel/hytale/server/core/asset/HytaleAssetStore$Builder;
        //    54: invokedynamic   BootstrapMethod #0, apply:()Ljava/util/function/Function;
        //    59: invokevirtual   com/hypixel/hytale/server/core/asset/HytaleAssetStore$Builder.setKeyFunction:(Ljava/util/function/Function;)Lcom/hypixel/hytale/assetstore/AssetStore$Builder;
        //    62: checkcast       Lcom/hypixel/hytale/server/core/asset/HytaleAssetStore$Builder;
        //    65: iconst_1       
        //    66: anewarray       Ljava/lang/Class;
        //    69: dup            
        //    70: iconst_0       
        //    71: ldc             Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/RootInteraction;.class
        //    73: aastore        
        //    74: invokevirtual   com/hypixel/hytale/server/core/asset/HytaleAssetStore$Builder.loadsAfter:([Ljava/lang/Class;)Lcom/hypixel/hytale/assetstore/AssetStore$Builder;
        //    77: checkcast       Lcom/hypixel/hytale/server/core/asset/HytaleAssetStore$Builder;
        //    80: new             Lcom/hypixel/hytale/server/core/modules/interaction/interaction/UnarmedInteractionsPacketGenerator;
        //    83: dup            
        //    84: invokespecial   com/hypixel/hytale/server/core/modules/interaction/interaction/UnarmedInteractionsPacketGenerator.<init>:()V
        //    87: invokevirtual   com/hypixel/hytale/server/core/asset/HytaleAssetStore$Builder.setPacketGenerator:(Lcom/hypixel/hytale/server/core/asset/packet/AssetPacketGenerator;)Lcom/hypixel/hytale/server/core/asset/HytaleAssetStore$Builder;
        //    90: invokevirtual   com/hypixel/hytale/server/core/asset/HytaleAssetStore$Builder.build:()Lcom/hypixel/hytale/server/core/asset/HytaleAssetStore;
        //    93: invokestatic    com/hypixel/hytale/assetstore/AssetRegistry.register:(Lcom/hypixel/hytale/assetstore/AssetStore;)Lcom/hypixel/hytale/assetstore/AssetStore;
        //    96: pop            
        //    97: ldc             Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/Interaction;.class
        //    99: new             Lcom/hypixel/hytale/assetstore/map/IndexedLookupTableAssetMap;
        //   102: dup            
        //   103: invokedynamic   BootstrapMethod #1, apply:()Ljava/util/function/IntFunction;
        //   108: invokespecial   com/hypixel/hytale/assetstore/map/IndexedLookupTableAssetMap.<init>:(Ljava/util/function/IntFunction;)V
        //   111: invokestatic    com/hypixel/hytale/server/core/asset/HytaleAssetStore.builder:(Ljava/lang/Class;Lcom/hypixel/hytale/assetstore/AssetMap;)Lcom/hypixel/hytale/server/core/asset/HytaleAssetStore$Builder;
        //   114: ldc             "Item/Interactions"
        //   116: invokevirtual   com/hypixel/hytale/server/core/asset/HytaleAssetStore$Builder.setPath:(Ljava/lang/String;)Lcom/hypixel/hytale/assetstore/AssetStore$Builder;
        //   119: checkcast       Lcom/hypixel/hytale/server/core/asset/HytaleAssetStore$Builder;
        //   122: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/Interaction.CODEC:Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //   125: invokevirtual   com/hypixel/hytale/server/core/asset/HytaleAssetStore$Builder.setCodec:(Lcom/hypixel/hytale/assetstore/codec/AssetCodec;)Lcom/hypixel/hytale/assetstore/AssetStore$Builder;
        //   128: checkcast       Lcom/hypixel/hytale/server/core/asset/HytaleAssetStore$Builder;
        //   131: invokedynamic   BootstrapMethod #2, apply:()Ljava/util/function/Function;
        //   136: invokevirtual   com/hypixel/hytale/server/core/asset/HytaleAssetStore$Builder.setKeyFunction:(Ljava/util/function/Function;)Lcom/hypixel/hytale/assetstore/AssetStore$Builder;
        //   139: checkcast       Lcom/hypixel/hytale/server/core/asset/HytaleAssetStore$Builder;
        //   142: invokedynamic   BootstrapMethod #3, apply:()Ljava/util/function/Function;
        //   147: invokevirtual   com/hypixel/hytale/server/core/asset/HytaleAssetStore$Builder.setReplaceOnRemove:(Ljava/util/function/Function;)Lcom/hypixel/hytale/assetstore/AssetStore$Builder;
        //   150: checkcast       Lcom/hypixel/hytale/server/core/asset/HytaleAssetStore$Builder;
        //   153: invokedynamic   BootstrapMethod #4, test:()Ljava/util/function/Predicate;
        //   158: invokevirtual   com/hypixel/hytale/server/core/asset/HytaleAssetStore$Builder.setIsUnknown:(Ljava/util/function/Predicate;)Lcom/hypixel/hytale/assetstore/AssetStore$Builder;
        //   161: checkcast       Lcom/hypixel/hytale/server/core/asset/HytaleAssetStore$Builder;
        //   164: new             Lcom/hypixel/hytale/server/core/modules/interaction/interaction/InteractionPacketGenerator;
        //   167: dup            
        //   168: invokespecial   com/hypixel/hytale/server/core/modules/interaction/interaction/InteractionPacketGenerator.<init>:()V
        //   171: invokevirtual   com/hypixel/hytale/server/core/asset/HytaleAssetStore$Builder.setPacketGenerator:(Lcom/hypixel/hytale/server/core/asset/packet/AssetPacketGenerator;)Lcom/hypixel/hytale/server/core/asset/HytaleAssetStore$Builder;
        //   174: bipush          8
        //   176: anewarray       Ljava/lang/Class;
        //   179: dup            
        //   180: iconst_0       
        //   181: ldc             Lcom/hypixel/hytale/server/core/modules/entitystats/asset/EntityStatType;.class
        //   183: aastore        
        //   184: dup            
        //   185: iconst_1       
        //   186: ldc             Lcom/hypixel/hytale/server/core/asset/type/entityeffect/config/EntityEffect;.class
        //   188: aastore        
        //   189: dup            
        //   190: iconst_2       
        //   191: ldc             Lcom/hypixel/hytale/server/core/asset/type/trail/config/Trail;.class
        //   193: aastore        
        //   194: dup            
        //   195: iconst_3       
        //   196: ldc             Lcom/hypixel/hytale/server/core/asset/type/itemanimation/config/ItemPlayerAnimations;.class
        //   198: aastore        
        //   199: dup            
        //   200: iconst_4       
        //   201: ldc             Lcom/hypixel/hytale/server/core/asset/type/soundevent/config/SoundEvent;.class
        //   203: aastore        
        //   204: dup            
        //   205: iconst_5       
        //   206: ldc             Lcom/hypixel/hytale/server/core/asset/type/particle/config/ParticleSystem;.class
        //   208: aastore        
        //   209: dup            
        //   210: bipush          6
        //   212: ldc             Lcom/hypixel/hytale/server/core/asset/type/model/config/ModelAsset;.class
        //   214: aastore        
        //   215: dup            
        //   216: bipush          7
        //   218: ldc             Lcom/hypixel/hytale/server/core/modules/entity/hitboxcollision/HitboxCollisionConfig;.class
        //   220: aastore        
        //   221: invokevirtual   com/hypixel/hytale/server/core/asset/HytaleAssetStore$Builder.loadsAfter:([Ljava/lang/Class;)Lcom/hypixel/hytale/assetstore/AssetStore$Builder;
        //   224: checkcast       Lcom/hypixel/hytale/server/core/asset/HytaleAssetStore$Builder;
        //   227: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/none/ChangeActiveSlotInteraction.DEFAULT_INTERACTION:Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/none/ChangeActiveSlotInteraction;
        //   230: invokestatic    java/util/List.of:(Ljava/lang/Object;)Ljava/util/List;
        //   233: invokevirtual   com/hypixel/hytale/server/core/asset/HytaleAssetStore$Builder.preLoadAssets:(Ljava/util/List;)Lcom/hypixel/hytale/assetstore/AssetStore$Builder;
        //   236: checkcast       Lcom/hypixel/hytale/server/core/asset/HytaleAssetStore$Builder;
        //   239: invokevirtual   com/hypixel/hytale/server/core/asset/HytaleAssetStore$Builder.build:()Lcom/hypixel/hytale/server/core/asset/HytaleAssetStore;
        //   242: invokestatic    com/hypixel/hytale/assetstore/AssetRegistry.register:(Lcom/hypixel/hytale/assetstore/AssetStore;)Lcom/hypixel/hytale/assetstore/AssetStore;
        //   245: pop            
        //   246: ldc             Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/RootInteraction;.class
        //   248: new             Lcom/hypixel/hytale/assetstore/map/IndexedLookupTableAssetMap;
        //   251: dup            
        //   252: invokedynamic   BootstrapMethod #5, apply:()Ljava/util/function/IntFunction;
        //   257: invokespecial   com/hypixel/hytale/assetstore/map/IndexedLookupTableAssetMap.<init>:(Ljava/util/function/IntFunction;)V
        //   260: invokestatic    com/hypixel/hytale/server/core/asset/HytaleAssetStore.builder:(Ljava/lang/Class;Lcom/hypixel/hytale/assetstore/AssetMap;)Lcom/hypixel/hytale/server/core/asset/HytaleAssetStore$Builder;
        //   263: ldc             "Item/RootInteractions"
        //   265: invokevirtual   com/hypixel/hytale/server/core/asset/HytaleAssetStore$Builder.setPath:(Ljava/lang/String;)Lcom/hypixel/hytale/assetstore/AssetStore$Builder;
        //   268: checkcast       Lcom/hypixel/hytale/server/core/asset/HytaleAssetStore$Builder;
        //   271: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/RootInteraction.CODEC:Lcom/hypixel/hytale/assetstore/codec/AssetBuilderCodec;
        //   274: invokevirtual   com/hypixel/hytale/server/core/asset/HytaleAssetStore$Builder.setCodec:(Lcom/hypixel/hytale/assetstore/codec/AssetCodec;)Lcom/hypixel/hytale/assetstore/AssetStore$Builder;
        //   277: checkcast       Lcom/hypixel/hytale/server/core/asset/HytaleAssetStore$Builder;
        //   280: invokedynamic   BootstrapMethod #6, apply:()Ljava/util/function/Function;
        //   285: invokevirtual   com/hypixel/hytale/server/core/asset/HytaleAssetStore$Builder.setKeyFunction:(Ljava/util/function/Function;)Lcom/hypixel/hytale/assetstore/AssetStore$Builder;
        //   288: checkcast       Lcom/hypixel/hytale/server/core/asset/HytaleAssetStore$Builder;
        //   291: invokedynamic   BootstrapMethod #7, apply:()Ljava/util/function/Function;
        //   296: invokevirtual   com/hypixel/hytale/server/core/asset/HytaleAssetStore$Builder.setReplaceOnRemove:(Ljava/util/function/Function;)Lcom/hypixel/hytale/assetstore/AssetStore$Builder;
        //   299: checkcast       Lcom/hypixel/hytale/server/core/asset/HytaleAssetStore$Builder;
        //   302: new             Lcom/hypixel/hytale/server/core/modules/interaction/interaction/RootInteractionPacketGenerator;
        //   305: dup            
        //   306: invokespecial   com/hypixel/hytale/server/core/modules/interaction/interaction/RootInteractionPacketGenerator.<init>:()V
        //   309: invokevirtual   com/hypixel/hytale/server/core/asset/HytaleAssetStore$Builder.setPacketGenerator:(Lcom/hypixel/hytale/server/core/asset/packet/AssetPacketGenerator;)Lcom/hypixel/hytale/server/core/asset/HytaleAssetStore$Builder;
        //   312: iconst_1       
        //   313: anewarray       Ljava/lang/Class;
        //   316: dup            
        //   317: iconst_0       
        //   318: ldc             Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/Interaction;.class
        //   320: aastore        
        //   321: invokevirtual   com/hypixel/hytale/server/core/asset/HytaleAssetStore$Builder.loadsAfter:([Ljava/lang/Class;)Lcom/hypixel/hytale/assetstore/AssetStore$Builder;
        //   324: checkcast       Lcom/hypixel/hytale/server/core/asset/HytaleAssetStore$Builder;
        //   327: iconst_2       
        //   328: anewarray       Ljava/lang/Class;
        //   331: dup            
        //   332: iconst_0       
        //   333: ldc             Lcom/hypixel/hytale/server/core/asset/type/blocktype/config/BlockType;.class
        //   335: aastore        
        //   336: dup            
        //   337: iconst_1       
        //   338: ldc             Lcom/hypixel/hytale/server/core/asset/type/item/config/Item;.class
        //   340: aastore        
        //   341: invokevirtual   com/hypixel/hytale/server/core/asset/HytaleAssetStore$Builder.loadsBefore:([Ljava/lang/Class;)Lcom/hypixel/hytale/assetstore/AssetStore$Builder;
        //   344: checkcast       Lcom/hypixel/hytale/server/core/asset/HytaleAssetStore$Builder;
        //   347: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/none/ChangeActiveSlotInteraction.DEFAULT_ROOT:Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/RootInteraction;
        //   350: invokestatic    java/util/List.of:(Ljava/lang/Object;)Ljava/util/List;
        //   353: invokevirtual   com/hypixel/hytale/server/core/asset/HytaleAssetStore$Builder.preLoadAssets:(Ljava/util/List;)Lcom/hypixel/hytale/assetstore/AssetStore$Builder;
        //   356: checkcast       Lcom/hypixel/hytale/server/core/asset/HytaleAssetStore$Builder;
        //   359: invokevirtual   com/hypixel/hytale/server/core/asset/HytaleAssetStore$Builder.build:()Lcom/hypixel/hytale/server/core/asset/HytaleAssetStore;
        //   362: invokestatic    com/hypixel/hytale/assetstore/AssetRegistry.register:(Lcom/hypixel/hytale/assetstore/AssetStore;)Lcom/hypixel/hytale/assetstore/AssetStore;
        //   365: pop            
        //   366: aload_0         /* this */
        //   367: aload_0         /* this */
        //   368: invokevirtual   com/hypixel/hytale/server/core/modules/interaction/InteractionModule.getEntityStoreRegistry:()Lcom/hypixel/hytale/component/ComponentRegistryProxy;
        //   371: ldc             Lcom/hypixel/hytale/server/core/entity/InteractionManager;.class
        //   373: invokedynamic   BootstrapMethod #8, get:()Ljava/util/function/Supplier;
        //   378: invokevirtual   com/hypixel/hytale/component/ComponentRegistryProxy.registerComponent:(Ljava/lang/Class;Ljava/util/function/Supplier;)Lcom/hypixel/hytale/component/ComponentType;
        //   381: putfield        com/hypixel/hytale/server/core/modules/interaction/InteractionModule.interactionManagerComponent:Lcom/hypixel/hytale/component/ComponentType;
        //   384: aload_0         /* this */
        //   385: aload_0         /* this */
        //   386: invokevirtual   com/hypixel/hytale/server/core/modules/interaction/InteractionModule.getEntityStoreRegistry:()Lcom/hypixel/hytale/component/ComponentRegistryProxy;
        //   389: ldc             Lcom/hypixel/hytale/server/core/modules/interaction/Interactions;.class
        //   391: ldc             "Interactions"
        //   393: getstatic       com/hypixel/hytale/server/core/modules/interaction/Interactions.CODEC:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //   396: invokevirtual   com/hypixel/hytale/component/ComponentRegistryProxy.registerComponent:(Ljava/lang/Class;Ljava/lang/String;Lcom/hypixel/hytale/codec/builder/BuilderCodec;)Lcom/hypixel/hytale/component/ComponentType;
        //   399: putfield        com/hypixel/hytale/server/core/modules/interaction/InteractionModule.interactionsComponentType:Lcom/hypixel/hytale/component/ComponentType;
        //   402: aload_0         /* this */
        //   403: aload_0         /* this */
        //   404: invokevirtual   com/hypixel/hytale/server/core/modules/interaction/InteractionModule.getChunkStoreRegistry:()Lcom/hypixel/hytale/component/ComponentRegistryProxy;
        //   407: ldc             Lcom/hypixel/hytale/server/core/modules/interaction/components/PlacedByInteractionComponent;.class
        //   409: ldc             "PlacedByInteraction"
        //   411: getstatic       com/hypixel/hytale/server/core/modules/interaction/components/PlacedByInteractionComponent.CODEC:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //   414: invokevirtual   com/hypixel/hytale/component/ComponentRegistryProxy.registerComponent:(Ljava/lang/Class;Ljava/lang/String;Lcom/hypixel/hytale/codec/builder/BuilderCodec;)Lcom/hypixel/hytale/component/ComponentType;
        //   417: putfield        com/hypixel/hytale/server/core/modules/interaction/InteractionModule.placedByComponentType:Lcom/hypixel/hytale/component/ComponentType;
        //   420: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/Interaction.CODEC:Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //   423: ldc             "Simple"
        //   425: ldc             Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/SimpleInteraction;.class
        //   427: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/SimpleInteraction.CODEC:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //   430: invokevirtual   com/hypixel/hytale/assetstore/codec/AssetCodecMapCodec.register:(Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/builder/BuilderCodec;)Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //   433: pop            
        //   434: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/Interaction.CODEC:Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //   437: ldc             "PlaceBlock"
        //   439: ldc             Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/client/PlaceBlockInteraction;.class
        //   441: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/client/PlaceBlockInteraction.CODEC:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //   444: invokevirtual   com/hypixel/hytale/assetstore/codec/AssetCodecMapCodec.register:(Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/builder/BuilderCodec;)Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //   447: pop            
        //   448: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/Interaction.CODEC:Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //   451: ldc             "PlaceFluid"
        //   453: ldc             Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/client/PlaceFluidInteraction;.class
        //   455: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/client/PlaceFluidInteraction.CODEC:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //   458: invokevirtual   com/hypixel/hytale/assetstore/codec/AssetCodecMapCodec.register:(Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/builder/BuilderCodec;)Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //   461: pop            
        //   462: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/Interaction.CODEC:Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //   465: ldc             "BreakBlock"
        //   467: ldc             ldc            !!! ERROR
        //   469: getstatic       getstatic      !!! ERROR
        //   472: invokevirtual   com/hypixel/hytale/assetstore/codec/AssetCodecMapCodec.register:(Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/builder/BuilderCodec;)Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //   475: pop            
        //   476: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/Interaction.CODEC:Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //   479: ldc             "PickBlock"
        //   481: ldc             Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/client/PickBlockInteraction;.class
        //   483: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/client/PickBlockInteraction.CODEC:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //   486: invokevirtual   com/hypixel/hytale/assetstore/codec/AssetCodecMapCodec.register:(Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/builder/BuilderCodec;)Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //   489: pop            
        //   490: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/Interaction.CODEC:Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //   493: ldc             "UseBlock"
        //   495: ldc             Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/client/UseBlockInteraction;.class
        //   497: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/client/UseBlockInteraction.CODEC:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //   500: invokevirtual   com/hypixel/hytale/assetstore/codec/AssetCodecMapCodec.register:(Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/builder/BuilderCodec;)Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //   503: pop            
        //   504: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/Interaction.CODEC:Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //   507: ldc             "BlockCondition"
        //   509: ldc_w           Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/client/BlockConditionInteraction;.class
        //   512: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/client/BlockConditionInteraction.CODEC:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //   515: invokevirtual   com/hypixel/hytale/assetstore/codec/AssetCodecMapCodec.register:(Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/builder/BuilderCodec;)Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //   518: pop            
        //   519: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/Interaction.CODEC:Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //   522: ldc_w           "ChangeBlock"
        //   525: ldc_w           Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/client/ChangeBlockInteraction;.class
        //   528: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/client/ChangeBlockInteraction.CODEC:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //   531: invokevirtual   com/hypixel/hytale/assetstore/codec/AssetCodecMapCodec.register:(Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/builder/BuilderCodec;)Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //   534: pop            
        //   535: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/Interaction.CODEC:Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //   538: ldc_w           "ChangeState"
        //   541: ldc_w           Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/client/ChangeStateInteraction;.class
        //   544: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/client/ChangeStateInteraction.CODEC:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //   547: invokevirtual   com/hypixel/hytale/assetstore/codec/AssetCodecMapCodec.register:(Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/builder/BuilderCodec;)Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //   550: pop            
        //   551: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/Interaction.CODEC:Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //   554: ldc_w           "UseEntity"
        //   557: ldc_w           Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/client/UseEntityInteraction;.class
        //   560: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/client/UseEntityInteraction.CODEC:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //   563: invokevirtual   com/hypixel/hytale/assetstore/codec/AssetCodecMapCodec.register:(Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/builder/BuilderCodec;)Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //   566: pop            
        //   567: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/Interaction.CODEC:Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //   570: ldc_w           "BuilderTool"
        //   573: ldc_w           Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/none/BuilderToolInteraction;.class
        //   576: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/none/BuilderToolInteraction.CODEC:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //   579: invokevirtual   com/hypixel/hytale/assetstore/codec/AssetCodecMapCodec.register:(Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/builder/BuilderCodec;)Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //   582: pop            
        //   583: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/Interaction.CODEC:Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //   586: ldc_w           "ModifyInventory"
        //   589: ldc_w           Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/server/ModifyInventoryInteraction;.class
        //   592: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/server/ModifyInventoryInteraction.CODEC:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //   595: invokevirtual   com/hypixel/hytale/assetstore/codec/AssetCodecMapCodec.register:(Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/builder/BuilderCodec;)Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //   598: pop            
        //   599: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/Interaction.CODEC:Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //   602: ldc_w           "Charging"
        //   605: ldc_w           Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/client/ChargingInteraction;.class
        //   608: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/client/ChargingInteraction.CODEC:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //   611: invokevirtual   com/hypixel/hytale/assetstore/codec/AssetCodecMapCodec.register:(Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/builder/BuilderCodec;)Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //   614: pop            
        //   615: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/Interaction.CODEC:Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //   618: ldc_w           "DestroyBlock"
        //   621: ldc_w           Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/client/DestroyBlockInteraction;.class
        //   624: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/client/DestroyBlockInteraction.CODEC:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //   627: invokevirtual   com/hypixel/hytale/assetstore/codec/AssetCodecMapCodec.register:(Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/builder/BuilderCodec;)Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //   630: pop            
        //   631: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/Interaction.CODEC:Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //   634: ldc_w           "CycleBlockGroup"
        //   637: ldc_w           Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/client/CycleBlockGroupInteraction;.class
        //   640: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/client/CycleBlockGroupInteraction.CODEC:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //   643: invokevirtual   com/hypixel/hytale/assetstore/codec/AssetCodecMapCodec.register:(Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/builder/BuilderCodec;)Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //   646: pop            
        //   647: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/Interaction.CODEC:Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //   650: ldc_w           "Explode"
        //   653: ldc_w           Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/client/ExplodeInteraction;.class
        //   656: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/client/ExplodeInteraction.CODEC:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //   659: invokevirtual   com/hypixel/hytale/assetstore/codec/AssetCodecMapCodec.register:(Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/builder/BuilderCodec;)Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //   662: pop            
        //   663: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/Interaction.CODEC:Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //   666: ldc_w           "Chaining"
        //   669: ldc_w           Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/client/ChainingInteraction;.class
        //   672: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/client/ChainingInteraction.CODEC:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //   675: invokevirtual   com/hypixel/hytale/assetstore/codec/AssetCodecMapCodec.register:(Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/builder/BuilderCodec;)Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //   678: pop            
        //   679: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/Interaction.CODEC:Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //   682: ldc_w           "ChainFlag"
        //   685: ldc_w           Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/none/ChainFlagInteraction;.class
        //   688: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/none/ChainFlagInteraction.CODEC:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //   691: invokevirtual   com/hypixel/hytale/assetstore/codec/AssetCodecMapCodec.register:(Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/builder/BuilderCodec;)Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //   694: pop            
        //   695: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/Interaction.CODEC:Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //   698: ldc_w           "CancelChain"
        //   701: ldc_w           Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/none/CancelChainInteraction;.class
        //   704: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/none/CancelChainInteraction.CODEC:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //   707: invokevirtual   com/hypixel/hytale/assetstore/codec/AssetCodecMapCodec.register:(Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/builder/BuilderCodec;)Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //   710: pop            
        //   711: aload_0         /* this */
        //   712: aload_0         /* this */
        //   713: invokevirtual   com/hypixel/hytale/server/core/modules/interaction/InteractionModule.getEntityStoreRegistry:()Lcom/hypixel/hytale/component/ComponentRegistryProxy;
        //   716: ldc_w           Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/client/ChainingInteraction$Data;.class
        //   719: invokedynamic   BootstrapMethod #9, get:()Ljava/util/function/Supplier;
        //   724: invokevirtual   com/hypixel/hytale/component/ComponentRegistryProxy.registerComponent:(Ljava/lang/Class;Ljava/util/function/Supplier;)Lcom/hypixel/hytale/component/ComponentType;
        //   727: putfield        com/hypixel/hytale/server/core/modules/interaction/InteractionModule.chainingDataComponent:Lcom/hypixel/hytale/component/ComponentType;
        //   730: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/Interaction.CODEC:Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //   733: ldc_w           "Condition"
        //   736: ldc_w           Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/none/ConditionInteraction;.class
        //   739: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/none/ConditionInteraction.CODEC:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //   742: invokevirtual   com/hypixel/hytale/assetstore/codec/AssetCodecMapCodec.register:(Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/builder/BuilderCodec;)Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //   745: pop            
        //   746: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/Interaction.CODEC:Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //   749: ldc_w           "FirstClick"
        //   752: ldc_w           Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/client/FirstClickInteraction;.class
        //   755: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/client/FirstClickInteraction.CODEC:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //   758: invokevirtual   com/hypixel/hytale/assetstore/codec/AssetCodecMapCodec.register:(Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/builder/BuilderCodec;)Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //   761: pop            
        //   762: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/Interaction.CODEC:Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //   765: ldc_w           "Repeat"
        //   768: ldc_w           Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/none/RepeatInteraction;.class
        //   771: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/none/RepeatInteraction.CODEC:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //   774: invokevirtual   com/hypixel/hytale/assetstore/codec/AssetCodecMapCodec.register:(Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/builder/BuilderCodec;)Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //   777: pop            
        //   778: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/Interaction.CODEC:Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //   781: ldc_w           "Parallel"
        //   784: ldc_w           Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/none/ParallelInteraction;.class
        //   787: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/none/ParallelInteraction.CODEC:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //   790: invokevirtual   com/hypixel/hytale/assetstore/codec/AssetCodecMapCodec.register:(Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/builder/BuilderCodec;)Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //   793: pop            
        //   794: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/Interaction.CODEC:Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //   797: ldc_w           "Serial"
        //   800: ldc_w           Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/none/SerialInteraction;.class
        //   803: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/none/SerialInteraction.CODEC:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //   806: invokevirtual   com/hypixel/hytale/assetstore/codec/AssetCodecMapCodec.register:(Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/builder/BuilderCodec;)Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //   809: pop            
        //   810: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/Interaction.CODEC:Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //   813: ldc_w           "ChangeActiveSlot"
        //   816: ldc             Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/none/ChangeActiveSlotInteraction;.class
        //   818: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/none/ChangeActiveSlotInteraction.CODEC:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //   821: invokevirtual   com/hypixel/hytale/assetstore/codec/AssetCodecMapCodec.register:(Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/builder/BuilderCodec;)Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //   824: pop            
        //   825: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/Interaction.CODEC:Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //   828: ldc_w           "Selector"
        //   831: ldc_w           Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/none/SelectInteraction;.class
        //   834: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/none/SelectInteraction.CODEC:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //   837: invokevirtual   com/hypixel/hytale/assetstore/codec/AssetCodecMapCodec.register:(Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/builder/BuilderCodec;)Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //   840: pop            
        //   841: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/Interaction.CODEC:Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //   844: ldc_w           "DamageEntity"
        //   847: ldc_w           Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/server/DamageEntityInteraction;.class
        //   850: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/server/DamageEntityInteraction.CODEC:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //   853: invokevirtual   com/hypixel/hytale/assetstore/codec/AssetCodecMapCodec.register:(Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/builder/BuilderCodec;)Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //   856: pop            
        //   857: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/Interaction.CODEC:Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //   860: ldc_w           "LaunchProjectile"
        //   863: ldc_w           Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/server/LaunchProjectileInteraction;.class
        //   866: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/server/LaunchProjectileInteraction.CODEC:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //   869: invokevirtual   com/hypixel/hytale/assetstore/codec/AssetCodecMapCodec.register:(Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/builder/BuilderCodec;)Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //   872: pop            
        //   873: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/Interaction.CODEC:Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //   876: ldc_w           "Wielding"
        //   879: ldc_w           Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/client/WieldingInteraction;.class
        //   882: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/client/WieldingInteraction.CODEC:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //   885: invokevirtual   com/hypixel/hytale/assetstore/codec/AssetCodecMapCodec.register:(Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/builder/BuilderCodec;)Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //   888: pop            
        //   889: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/Interaction.CODEC:Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //   892: ldc_w           "Replace"
        //   895: ldc_w           Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/none/ReplaceInteraction;.class
        //   898: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/none/ReplaceInteraction.CODEC:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //   901: invokevirtual   com/hypixel/hytale/assetstore/codec/AssetCodecMapCodec.register:(Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/builder/BuilderCodec;)Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //   904: pop            
        //   905: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/Interaction.CODEC:Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //   908: ldc_w           "StatsCondition"
        //   911: ldc_w           Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/none/StatsConditionInteraction;.class
        //   914: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/none/StatsConditionInteraction.CODEC:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //   917: invokevirtual   com/hypixel/hytale/assetstore/codec/AssetCodecMapCodec.register:(Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/builder/BuilderCodec;)Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //   920: pop            
        //   921: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/Interaction.CODEC:Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //   924: ldc_w           "StatsConditionWithModifier"
        //   927: ldc_w           Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/none/StatsConditionWithModifierInteraction;.class
        //   930: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/none/StatsConditionWithModifierInteraction.CODEC:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //   933: invokevirtual   com/hypixel/hytale/assetstore/codec/AssetCodecMapCodec.register:(Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/builder/BuilderCodec;)Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //   936: pop            
        //   937: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/Interaction.CODEC:Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //   940: ldc_w           "SpawnPrefab"
        //   943: ldc_w           Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/server/SpawnPrefabInteraction;.class
        //   946: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/server/SpawnPrefabInteraction.CODEC:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //   949: invokevirtual   com/hypixel/hytale/assetstore/codec/AssetCodecMapCodec.register:(Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/builder/BuilderCodec;)Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //   952: pop            
        //   953: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/Interaction.CODEC:Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //   956: ldc_w           "SendMessage"
        //   959: ldc_w           Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/none/simple/SendMessageInteraction;.class
        //   962: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/none/simple/SendMessageInteraction.CODEC:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //   965: invokevirtual   com/hypixel/hytale/assetstore/codec/AssetCodecMapCodec.register:(Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/builder/BuilderCodec;)Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //   968: pop            
        //   969: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/Interaction.CODEC:Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //   972: ldc_w           "EquipItem"
        //   975: ldc_w           Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/server/EquipItemInteraction;.class
        //   978: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/server/EquipItemInteraction.CODEC:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //   981: invokevirtual   com/hypixel/hytale/assetstore/codec/AssetCodecMapCodec.register:(Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/builder/BuilderCodec;)Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //   984: pop            
        //   985: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/Interaction.CODEC:Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //   988: ldc_w           "RefillContainer"
        //   991: ldc_w           Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/server/RefillContainerInteraction;.class
        //   994: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/server/RefillContainerInteraction.CODEC:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //   997: invokevirtual   com/hypixel/hytale/assetstore/codec/AssetCodecMapCodec.register:(Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/builder/BuilderCodec;)Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //  1000: pop            
        //  1001: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/Interaction.CODEC:Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //  1004: ldc_w           "Door"
        //  1007: ldc_w           Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/server/DoorInteraction;.class
        //  1010: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/server/DoorInteraction.CODEC:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //  1013: invokevirtual   com/hypixel/hytale/assetstore/codec/AssetCodecMapCodec.register:(Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/builder/BuilderCodec;)Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //  1016: pop            
        //  1017: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/Interaction.CODEC:Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //  1020: ldc_w           "IncreaseBackpackCapacity"
        //  1023: ldc_w           Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/server/IncreaseBackpackCapacityInteraction;.class
        //  1026: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/server/IncreaseBackpackCapacityInteraction.CODEC:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //  1029: invokevirtual   com/hypixel/hytale/assetstore/codec/AssetCodecMapCodec.register:(Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/builder/BuilderCodec;)Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //  1032: pop            
        //  1033: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/Interaction.CODEC:Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //  1036: ldc_w           "CheckUniqueItemUsage"
        //  1039: ldc_w           Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/server/CheckUniqueItemUsageInteraction;.class
        //  1042: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/server/CheckUniqueItemUsageInteraction.CODEC:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //  1045: invokevirtual   com/hypixel/hytale/assetstore/codec/AssetCodecMapCodec.register:(Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/builder/BuilderCodec;)Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //  1048: pop            
        //  1049: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/Interaction.CODEC:Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //  1052: ldc_w           "LaunchPad"
        //  1055: ldc_w           Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/server/LaunchPadInteraction;.class
        //  1058: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/server/LaunchPadInteraction.CODEC:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //  1061: invokevirtual   com/hypixel/hytale/assetstore/codec/AssetCodecMapCodec.register:(Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/builder/BuilderCodec;)Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //  1064: pop            
        //  1065: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/Interaction.CODEC:Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //  1068: ldc_w           "OpenContainer"
        //  1071: ldc_w           Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/server/OpenContainerInteraction;.class
        //  1074: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/server/OpenContainerInteraction.CODEC:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //  1077: invokevirtual   com/hypixel/hytale/assetstore/codec/AssetCodecMapCodec.register:(Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/builder/BuilderCodec;)Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //  1080: pop            
        //  1081: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/Interaction.CODEC:Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //  1084: ldc_w           "OpenItemStackContainer"
        //  1087: ldc_w           Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/server/OpenItemStackContainerInteraction;.class
        //  1090: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/server/OpenItemStackContainerInteraction.CODEC:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //  1093: invokevirtual   com/hypixel/hytale/assetstore/codec/AssetCodecMapCodec.register:(Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/builder/BuilderCodec;)Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //  1096: pop            
        //  1097: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/Interaction.CODEC:Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //  1100: ldc_w           "DestroyCondition"
        //  1103: ldc_w           Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/server/DestroyConditionInteraction;.class
        //  1106: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/server/DestroyConditionInteraction.CODEC:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //  1109: invokevirtual   com/hypixel/hytale/assetstore/codec/AssetCodecMapCodec.register:(Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/builder/BuilderCodec;)Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //  1112: pop            
        //  1113: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/Interaction.CODEC:Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //  1116: ldc_w           "OpenCustomUI"
        //  1119: ldc_w           Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/server/OpenCustomUIInteraction;.class
        //  1122: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/server/OpenCustomUIInteraction.CODEC:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //  1125: invokevirtual   com/hypixel/hytale/assetstore/codec/AssetCodecMapCodec.register:(Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/builder/BuilderCodec;)Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //  1128: pop            
        //  1129: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/Interaction.CODEC:Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //  1132: ldc_w           "OpenPage"
        //  1135: ldc_w           Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/server/OpenPageInteraction;.class
        //  1138: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/server/OpenPageInteraction.CODEC:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //  1141: invokevirtual   com/hypixel/hytale/assetstore/codec/AssetCodecMapCodec.register:(Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/builder/BuilderCodec;)Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //  1144: pop            
        //  1145: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/Interaction.CODEC:Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //  1148: ldc_w           "ApplyEffect"
        //  1151: ldc_w           Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/none/simple/ApplyEffectInteraction;.class
        //  1154: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/none/simple/ApplyEffectInteraction.CODEC:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //  1157: invokevirtual   com/hypixel/hytale/assetstore/codec/AssetCodecMapCodec.register:(Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/builder/BuilderCodec;)Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //  1160: pop            
        //  1161: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/Interaction.CODEC:Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //  1164: ldc_w           "ClearEntityEffect"
        //  1167: ldc_w           Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/server/ClearEntityEffectInteraction;.class
        //  1170: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/server/ClearEntityEffectInteraction.CODEC:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //  1173: invokevirtual   com/hypixel/hytale/assetstore/codec/AssetCodecMapCodec.register:(Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/builder/BuilderCodec;)Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //  1176: pop            
        //  1177: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/Interaction.CODEC:Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //  1180: ldc_w           "RemoveEntity"
        //  1183: ldc_w           Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/none/simple/RemoveEntityInteraction;.class
        //  1186: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/none/simple/RemoveEntityInteraction.CODEC:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //  1189: invokevirtual   com/hypixel/hytale/assetstore/codec/AssetCodecMapCodec.register:(Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/builder/BuilderCodec;)Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //  1192: pop            
        //  1193: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/Interaction.CODEC:Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //  1196: ldc_w           "EffectCondition"
        //  1199: ldc_w           Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/none/EffectConditionInteraction;.class
        //  1202: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/none/EffectConditionInteraction.CODEC:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //  1205: invokevirtual   com/hypixel/hytale/assetstore/codec/AssetCodecMapCodec.register:(Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/builder/BuilderCodec;)Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //  1208: pop            
        //  1209: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/Interaction.CODEC:Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //  1212: ldc_w           "ApplyForce"
        //  1215: ldc_w           Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/client/ApplyForceInteraction;.class
        //  1218: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/client/ApplyForceInteraction.CODEC:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //  1221: invokevirtual   com/hypixel/hytale/assetstore/codec/AssetCodecMapCodec.register:(Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/builder/BuilderCodec;)Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //  1224: pop            
        //  1225: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/Interaction.CODEC:Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //  1228: ldc_w           "ChangeStat"
        //  1231: ldc_w           Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/server/ChangeStatInteraction;.class
        //  1234: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/server/ChangeStatInteraction.CODEC:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //  1237: invokevirtual   com/hypixel/hytale/assetstore/codec/AssetCodecMapCodec.register:(Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/builder/BuilderCodec;)Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //  1240: pop            
        //  1241: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/Interaction.CODEC:Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //  1244: ldc_w           "ChangeStatWithModifier"
        //  1247: ldc_w           Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/server/ChangeStatWithModifierInteraction;.class
        //  1250: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/server/ChangeStatWithModifierInteraction.CODEC:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //  1253: invokevirtual   com/hypixel/hytale/assetstore/codec/AssetCodecMapCodec.register:(Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/builder/BuilderCodec;)Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //  1256: pop            
        //  1257: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/Interaction.CODEC:Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //  1260: ldc_w           "MovementCondition"
        //  1263: ldc_w           Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/client/MovementConditionInteraction;.class
        //  1266: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/client/MovementConditionInteraction.CODEC:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //  1269: invokevirtual   com/hypixel/hytale/assetstore/codec/AssetCodecMapCodec.register:(Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/builder/BuilderCodec;)Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //  1272: pop            
        //  1273: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/Interaction.CODEC:Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //  1276: ldc_w           "ResetCooldown"
        //  1279: ldc_w           Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/client/ResetCooldownInteraction;.class
        //  1282: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/client/ResetCooldownInteraction.CODEC:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //  1285: invokevirtual   com/hypixel/hytale/assetstore/codec/AssetCodecMapCodec.register:(Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/builder/BuilderCodec;)Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //  1288: pop            
        //  1289: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/Interaction.CODEC:Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //  1292: ldc_w           "TriggerCooldown"
        //  1295: ldc_w           Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/client/TriggerCooldownInteraction;.class
        //  1298: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/client/TriggerCooldownInteraction.CODEC:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //  1301: invokevirtual   com/hypixel/hytale/assetstore/codec/AssetCodecMapCodec.register:(Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/builder/BuilderCodec;)Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //  1304: pop            
        //  1305: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/Interaction.CODEC:Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //  1308: ldc_w           "CooldownCondition"
        //  1311: ldc_w           Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/client/CooldownConditionInteraction;.class
        //  1314: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/client/CooldownConditionInteraction.CODEC:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //  1317: invokevirtual   com/hypixel/hytale/assetstore/codec/AssetCodecMapCodec.register:(Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/builder/BuilderCodec;)Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //  1320: pop            
        //  1321: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/Interaction.CODEC:Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //  1324: ldc_w           "IncrementCooldown"
        //  1327: ldc_w           Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/client/IncrementCooldownInteraction;.class
        //  1330: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/client/IncrementCooldownInteraction.CODEC:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //  1333: invokevirtual   com/hypixel/hytale/assetstore/codec/AssetCodecMapCodec.register:(Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/builder/BuilderCodec;)Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //  1336: pop            
        //  1337: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/Interaction.CODEC:Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //  1340: ldc_w           "AddItem"
        //  1343: ldc_w           Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/client/AddItemInteraction;.class
        //  1346: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/client/AddItemInteraction.CODEC:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //  1349: invokevirtual   com/hypixel/hytale/assetstore/codec/AssetCodecMapCodec.register:(Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/builder/BuilderCodec;)Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //  1352: pop            
        //  1353: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/Interaction.CODEC:Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //  1356: ldc_w           "Interrupt"
        //  1359: ldc_w           Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/server/InterruptInteraction;.class
        //  1362: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/server/InterruptInteraction.CODEC:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //  1365: invokevirtual   com/hypixel/hytale/assetstore/codec/AssetCodecMapCodec.register:(Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/builder/BuilderCodec;)Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //  1368: pop            
        //  1369: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/Interaction.CODEC:Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //  1372: ldc_w           "RunRootInteraction"
        //  1375: ldc_w           Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/none/RunRootInteraction;.class
        //  1378: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/none/RunRootInteraction.CODEC:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //  1381: invokevirtual   com/hypixel/hytale/assetstore/codec/AssetCodecMapCodec.register:(Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/builder/BuilderCodec;)Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //  1384: pop            
        //  1385: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/Interaction.CODEC:Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //  1388: ldc_w           "RunOnBlockTypes"
        //  1391: ldc_w           Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/server/RunOnBlockTypesInteraction;.class
        //  1394: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/server/RunOnBlockTypesInteraction.CODEC:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //  1397: invokevirtual   com/hypixel/hytale/assetstore/codec/AssetCodecMapCodec.register:(Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/builder/BuilderCodec;)Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //  1400: pop            
        //  1401: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/Interaction.CODEC:Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //  1404: ldc_w           "Camera"
        //  1407: ldc_w           Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/none/CameraInteraction;.class
        //  1410: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/none/CameraInteraction.CODEC:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //  1413: invokevirtual   com/hypixel/hytale/assetstore/codec/AssetCodecMapCodec.register:(Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/builder/BuilderCodec;)Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //  1416: pop            
        //  1417: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/Interaction.CODEC:Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //  1420: ldc_w           "ToggleGlider"
        //  1423: ldc_w           Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/client/ToggleGliderInteraction;.class
        //  1426: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/client/ToggleGliderInteraction.CODEC:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //  1429: invokevirtual   com/hypixel/hytale/assetstore/codec/AssetCodecMapCodec.register:(Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/builder/BuilderCodec;)Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //  1432: pop            
        //  1433: aload_0         /* this */
        //  1434: ldc_w           Lcom/hypixel/hytale/server/core/universe/world/meta/state/LaunchPad$LaunchPadSettingsPage;.class
        //  1437: ldc_w           "LaunchPad"
        //  1440: invokedynamic   BootstrapMethod #10, tryCreate:()Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/server/OpenCustomUIInteraction$BlockEntityCustomPageSupplier;
        //  1445: invokestatic    com/hypixel/hytale/server/core/modules/interaction/interaction/config/server/OpenCustomUIInteraction.registerBlockEntityCustomPage:(Lcom/hypixel/hytale/server/core/plugin/PluginBase;Ljava/lang/Class;Ljava/lang/String;Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/server/OpenCustomUIInteraction$BlockEntityCustomPageSupplier;)V
        //  1448: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/server/OpenCustomUIInteraction.PAGE_CODEC:Lcom/hypixel/hytale/codec/lookup/CodecMapCodec;
        //  1451: ldc_w           "ItemRepair"
        //  1454: ldc_w           Lcom/hypixel/hytale/server/core/modules/interaction/suppliers/ItemRepairPageSupplier;.class
        //  1457: getstatic       com/hypixel/hytale/server/core/modules/interaction/suppliers/ItemRepairPageSupplier.CODEC:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //  1460: invokevirtual   com/hypixel/hytale/codec/lookup/CodecMapCodec.register:(Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/Codec;)Lcom/hypixel/hytale/codec/lookup/CodecMapCodec;
        //  1463: pop            
        //  1464: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/selector/SelectorType.CODEC:Lcom/hypixel/hytale/codec/lookup/CodecMapCodec;
        //  1467: ldc_w           "Horizontal"
        //  1470: ldc_w           Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/selector/HorizontalSelector;.class
        //  1473: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/selector/HorizontalSelector.CODEC:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //  1476: invokevirtual   com/hypixel/hytale/codec/lookup/CodecMapCodec.register:(Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/Codec;)Lcom/hypixel/hytale/codec/lookup/CodecMapCodec;
        //  1479: pop            
        //  1480: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/selector/SelectorType.CODEC:Lcom/hypixel/hytale/codec/lookup/CodecMapCodec;
        //  1483: ldc_w           "Stab"
        //  1486: ldc_w           Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/selector/StabSelector;.class
        //  1489: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/selector/StabSelector.CODEC:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //  1492: invokevirtual   com/hypixel/hytale/codec/lookup/CodecMapCodec.register:(Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/Codec;)Lcom/hypixel/hytale/codec/lookup/CodecMapCodec;
        //  1495: pop            
        //  1496: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/selector/SelectorType.CODEC:Lcom/hypixel/hytale/codec/lookup/CodecMapCodec;
        //  1499: ldc_w           "AOECircle"
        //  1502: ldc_w           Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/selector/AOECircleSelector;.class
        //  1505: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/selector/AOECircleSelector.CODEC:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //  1508: invokevirtual   com/hypixel/hytale/codec/lookup/CodecMapCodec.register:(Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/Codec;)Lcom/hypixel/hytale/codec/lookup/CodecMapCodec;
        //  1511: pop            
        //  1512: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/selector/SelectorType.CODEC:Lcom/hypixel/hytale/codec/lookup/CodecMapCodec;
        //  1515: ldc_w           "AOECylinder"
        //  1518: ldc_w           Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/selector/AOECylinderSelector;.class
        //  1521: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/selector/AOECylinderSelector.CODEC:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //  1524: invokevirtual   com/hypixel/hytale/codec/lookup/CodecMapCodec.register:(Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/Codec;)Lcom/hypixel/hytale/codec/lookup/CodecMapCodec;
        //  1527: pop            
        //  1528: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/selector/SelectorType.CODEC:Lcom/hypixel/hytale/codec/lookup/CodecMapCodec;
        //  1531: ldc_w           "Raycast"
        //  1534: ldc_w           Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/selector/RaycastSelector;.class
        //  1537: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/selector/RaycastSelector.CODEC:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //  1540: invokevirtual   com/hypixel/hytale/codec/lookup/CodecMapCodec.register:(Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/Codec;)Lcom/hypixel/hytale/codec/lookup/CodecMapCodec;
        //  1543: pop            
        //  1544: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/server/combat/Knockback.CODEC:Lcom/hypixel/hytale/codec/lookup/CodecMapCodec;
        //  1547: ldc_w           "Directional"
        //  1550: ldc_w           Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/server/combat/DirectionalKnockback;.class
        //  1553: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/server/combat/DirectionalKnockback.CODEC:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //  1556: invokevirtual   com/hypixel/hytale/codec/lookup/CodecMapCodec.register:(Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/Codec;)Lcom/hypixel/hytale/codec/lookup/CodecMapCodec;
        //  1559: pop            
        //  1560: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/server/combat/Knockback.CODEC:Lcom/hypixel/hytale/codec/lookup/CodecMapCodec;
        //  1563: ldc_w           "Point"
        //  1566: ldc_w           Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/server/combat/PointKnockback;.class
        //  1569: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/server/combat/PointKnockback.CODEC:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //  1572: invokevirtual   com/hypixel/hytale/codec/lookup/CodecMapCodec.register:(Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/Codec;)Lcom/hypixel/hytale/codec/lookup/CodecMapCodec;
        //  1575: pop            
        //  1576: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/server/combat/Knockback.CODEC:Lcom/hypixel/hytale/codec/lookup/CodecMapCodec;
        //  1579: ldc_w           "Force"
        //  1582: ldc_w           Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/server/combat/ForceKnockback;.class
        //  1585: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/server/combat/ForceKnockback.CODEC:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //  1588: invokevirtual   com/hypixel/hytale/codec/lookup/CodecMapCodec.register:(Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/Codec;)Lcom/hypixel/hytale/codec/lookup/CodecMapCodec;
        //  1591: pop            
        //  1592: aload_1         /* eventRegistry */
        //  1593: ldc_w           Lcom/hypixel/hytale/assetstore/event/LoadedAssetsEvent;.class
        //  1596: ldc             Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/RootInteraction;.class
        //  1598: invokedynamic   BootstrapMethod #11, accept:()Ljava/util/function/Consumer;
        //  1603: invokevirtual   com/hypixel/hytale/event/EventRegistry.register:(Ljava/lang/Class;Ljava/lang/Object;Ljava/util/function/Consumer;)Lcom/hypixel/hytale/event/EventRegistration;
        //  1606: pop            
        //  1607: aload_1         /* eventRegistry */
        //  1608: ldc_w           Lcom/hypixel/hytale/assetstore/event/LoadedAssetsEvent;.class
        //  1611: ldc             Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/Interaction;.class
        //  1613: invokedynamic   BootstrapMethod #12, accept:()Ljava/util/function/Consumer;
        //  1618: invokevirtual   com/hypixel/hytale/event/EventRegistry.register:(Ljava/lang/Class;Ljava/lang/Object;Ljava/util/function/Consumer;)Lcom/hypixel/hytale/event/EventRegistration;
        //  1621: pop            
        //  1622: aload_1         /* eventRegistry */
        //  1623: ldc_w           Lcom/hypixel/hytale/assetstore/event/RemovedAssetsEvent;.class
        //  1626: ldc             Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/Interaction;.class
        //  1628: invokedynamic   BootstrapMethod #13, accept:()Ljava/util/function/Consumer;
        //  1633: invokevirtual   com/hypixel/hytale/event/EventRegistry.register:(Ljava/lang/Class;Ljava/lang/Object;Ljava/util/function/Consumer;)Lcom/hypixel/hytale/event/EventRegistration;
        //  1636: pop            
        //  1637: aload_2         /* entityStoreRegistry */
        //  1638: new             Lcom/hypixel/hytale/server/core/modules/interaction/system/InteractionSystems$PlayerAddManagerSystem;
        //  1641: dup            
        //  1642: invokespecial   com/hypixel/hytale/server/core/modules/interaction/system/InteractionSystems$PlayerAddManagerSystem.<init>:()V
        //  1645: invokevirtual   com/hypixel/hytale/component/ComponentRegistryProxy.registerSystem:(Lcom/hypixel/hytale/component/system/ISystem;)V
        //  1648: aload_2         /* entityStoreRegistry */
        //  1649: new             Lcom/hypixel/hytale/server/core/modules/interaction/system/InteractionSystems$CleanUpSystem;
        //  1652: dup            
        //  1653: invokespecial   com/hypixel/hytale/server/core/modules/interaction/system/InteractionSystems$CleanUpSystem.<init>:()V
        //  1656: invokevirtual   com/hypixel/hytale/component/ComponentRegistryProxy.registerSystem:(Lcom/hypixel/hytale/component/system/ISystem;)V
        //  1659: aload_2         /* entityStoreRegistry */
        //  1660: new             Lcom/hypixel/hytale/server/core/modules/interaction/system/InteractionSystems$TickInteractionManagerSystem;
        //  1663: dup            
        //  1664: invokespecial   com/hypixel/hytale/server/core/modules/interaction/system/InteractionSystems$TickInteractionManagerSystem.<init>:()V
        //  1667: invokevirtual   com/hypixel/hytale/component/ComponentRegistryProxy.registerSystem:(Lcom/hypixel/hytale/component/system/ISystem;)V
        //  1670: aload_2         /* entityStoreRegistry */
        //  1671: new             Lcom/hypixel/hytale/server/core/modules/interaction/system/InteractionSystems$TrackerTickSystem;
        //  1674: dup            
        //  1675: invokespecial   com/hypixel/hytale/server/core/modules/interaction/system/InteractionSystems$TrackerTickSystem.<init>:()V
        //  1678: invokevirtual   com/hypixel/hytale/component/ComponentRegistryProxy.registerSystem:(Lcom/hypixel/hytale/component/system/ISystem;)V
        //  1681: aload_2         /* entityStoreRegistry */
        //  1682: new             Lcom/hypixel/hytale/server/core/modules/interaction/system/InteractionSystems$EntityTrackerRemove;
        //  1685: dup            
        //  1686: invokestatic    com/hypixel/hytale/server/core/modules/entity/tracker/EntityTrackerSystems$Visible.getComponentType:()Lcom/hypixel/hytale/component/ComponentType;
        //  1689: invokespecial   com/hypixel/hytale/server/core/modules/interaction/system/InteractionSystems$EntityTrackerRemove.<init>:(Lcom/hypixel/hytale/component/ComponentType;)V
        //  1692: invokevirtual   com/hypixel/hytale/component/ComponentRegistryProxy.registerSystem:(Lcom/hypixel/hytale/component/system/ISystem;)V
        //  1695: aload_0         /* this */
        //  1696: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/none/SelectInteraction$EntityMatcher.CODEC:Lcom/hypixel/hytale/codec/lookup/CodecMapCodec;
        //  1699: invokevirtual   com/hypixel/hytale/server/core/modules/interaction/InteractionModule.getCodecRegistry:(Lcom/hypixel/hytale/codec/lookup/StringCodecMapCodec;)Lcom/hypixel/hytale/server/core/plugin/registry/CodecMapRegistry;
        //  1702: ldc_w           "Vulnerable"
        //  1705: ldc_w           Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/selector/VulnerableMatcher;.class
        //  1708: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/selector/VulnerableMatcher.CODEC:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //  1711: invokevirtual   com/hypixel/hytale/server/core/plugin/registry/CodecMapRegistry.register:(Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/Codec;)Lcom/hypixel/hytale/server/core/plugin/registry/CodecMapRegistry;
        //  1714: pop            
        //  1715: aload_0         /* this */
        //  1716: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/none/SelectInteraction$EntityMatcher.CODEC:Lcom/hypixel/hytale/codec/lookup/CodecMapCodec;
        //  1719: invokevirtual   com/hypixel/hytale/server/core/modules/interaction/InteractionModule.getCodecRegistry:(Lcom/hypixel/hytale/codec/lookup/StringCodecMapCodec;)Lcom/hypixel/hytale/server/core/plugin/registry/CodecMapRegistry;
        //  1722: ldc_w           "Player"
        //  1725: ldc_w           Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/selector/PlayerMatcher;.class
        //  1728: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/selector/PlayerMatcher.CODEC:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //  1731: invokevirtual   com/hypixel/hytale/server/core/plugin/registry/CodecMapRegistry.register:(Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/Codec;)Lcom/hypixel/hytale/server/core/plugin/registry/CodecMapRegistry;
        //  1734: pop            
        //  1735: aload_0         /* this */
        //  1736: aload_0         /* this */
        //  1737: invokevirtual   com/hypixel/hytale/server/core/modules/interaction/InteractionModule.getChunkStoreRegistry:()Lcom/hypixel/hytale/component/ComponentRegistryProxy;
        //  1740: ldc_w           Lcom/hypixel/hytale/server/core/modules/interaction/blocktrack/BlockCounter;.class
        //  1743: ldc_w           "BlockCounter"
        //  1746: getstatic       com/hypixel/hytale/server/core/modules/interaction/blocktrack/BlockCounter.CODEC:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //  1749: invokevirtual   com/hypixel/hytale/component/ComponentRegistryProxy.registerResource:(Ljava/lang/Class;Ljava/lang/String;Lcom/hypixel/hytale/codec/builder/BuilderCodec;)Lcom/hypixel/hytale/component/ResourceType;
        //  1752: putfield        com/hypixel/hytale/server/core/modules/interaction/InteractionModule.blockCounterResourceType:Lcom/hypixel/hytale/component/ResourceType;
        //  1755: aload_0         /* this */
        //  1756: aload_0         /* this */
        //  1757: invokevirtual   com/hypixel/hytale/server/core/modules/interaction/InteractionModule.getChunkStoreRegistry:()Lcom/hypixel/hytale/component/ComponentRegistryProxy;
        //  1760: ldc_w           Lcom/hypixel/hytale/server/core/modules/interaction/blocktrack/TrackedPlacement;.class
        //  1763: ldc_w           "TrackedPlacement"
        //  1766: getstatic       com/hypixel/hytale/server/core/modules/interaction/blocktrack/TrackedPlacement.CODEC:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //  1769: invokevirtual   com/hypixel/hytale/component/ComponentRegistryProxy.registerComponent:(Ljava/lang/Class;Ljava/lang/String;Lcom/hypixel/hytale/codec/builder/BuilderCodec;)Lcom/hypixel/hytale/component/ComponentType;
        //  1772: putfield        com/hypixel/hytale/server/core/modules/interaction/InteractionModule.trackedPlacementComponentType:Lcom/hypixel/hytale/component/ComponentType;
        //  1775: aload_0         /* this */
        //  1776: invokevirtual   com/hypixel/hytale/server/core/modules/interaction/InteractionModule.getChunkStoreRegistry:()Lcom/hypixel/hytale/component/ComponentRegistryProxy;
        //  1779: new             Lcom/hypixel/hytale/server/core/modules/interaction/blocktrack/TrackedPlacement$OnAddRemove;
        //  1782: dup            
        //  1783: invokespecial   com/hypixel/hytale/server/core/modules/interaction/blocktrack/TrackedPlacement$OnAddRemove.<init>:()V
        //  1786: invokevirtual   com/hypixel/hytale/component/ComponentRegistryProxy.registerSystem:(Lcom/hypixel/hytale/component/system/ISystem;)V
        //  1789: aload_0         /* this */
        //  1790: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/Interaction.CODEC:Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;
        //  1793: invokevirtual   com/hypixel/hytale/server/core/modules/interaction/InteractionModule.getCodecRegistry:(Lcom/hypixel/hytale/assetstore/codec/AssetCodecMapCodec;)Lcom/hypixel/hytale/server/core/plugin/registry/CodecMapRegistry$Assets;
        //  1796: ldc_w           "PlacementCountCondition"
        //  1799: ldc_w           Lcom/hypixel/hytale/server/core/modules/interaction/interaction/config/server/PlacementCountConditionInteraction;.class
        //  1802: getstatic       com/hypixel/hytale/server/core/modules/interaction/interaction/config/server/PlacementCountConditionInteraction.CODEC:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //  1805: invokevirtual   com/hypixel/hytale/server/core/plugin/registry/CodecMapRegistry$Assets.register:(Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/builder/BuilderCodec;)Lcom/hypixel/hytale/server/core/plugin/registry/CodecMapRegistry$Assets;
        //  1808: pop            
        //  1809: return         
        // 
        // The error that occurred was:
        // 
        // java.lang.ClassCastException: class com.strobel.assembler.ir.attributes.BlobAttribute cannot be cast to class com.strobel.assembler.ir.attributes.BootstrapMethodsAttribute (com.strobel.assembler.ir.attributes.BlobAttribute and com.strobel.assembler.ir.attributes.BootstrapMethodsAttribute are in unnamed module of loader 'app')
        //     at com.strobel.assembler.metadata.ClassFileReader$Scope.lookupDynamicCallSite(ClassFileReader.java:1543)
        //     at com.strobel.assembler.metadata.ClassFileReader$Scope.lookup(ClassFileReader.java:1629)
        //     at com.strobel.assembler.ir.MetadataReader.readAttributeCore(MetadataReader.java:307)
        //     at com.strobel.assembler.metadata.ClassFileReader.readAttributeCore(ClassFileReader.java:431)
        //     at com.strobel.assembler.ir.MetadataReader.inflateAttributes(MetadataReader.java:440)
        //     at com.strobel.assembler.metadata.ClassFileReader.visitAttributes(ClassFileReader.java:1403)
        //     at com.strobel.assembler.metadata.ClassFileReader.readClass(ClassFileReader.java:667)
        //     at com.strobel.assembler.metadata.ClassFileReader.readClass(ClassFileReader.java:605)
        //     at com.strobel.assembler.metadata.MetadataSystem.resolveType(MetadataSystem.java:129)
        //     at com.strobel.decompiler.NoRetryMetadataSystem.resolveType(DecompilerDriver.java:475)
        //     at com.strobel.assembler.metadata.MetadataSystem.resolveCore(MetadataSystem.java:81)
        //     at com.strobel.assembler.metadata.MetadataResolver.resolve(MetadataResolver.java:104)
        //     at com.strobel.assembler.metadata.CoreMetadataFactory$UnresolvedType.resolve(CoreMetadataFactory.java:616)
        //     at com.strobel.assembler.metadata.MetadataResolver.resolve(MetadataResolver.java:111)
        //     at com.strobel.assembler.metadata.CoreMetadataFactory$UnresolvedType.resolve(CoreMetadataFactory.java:621)
        //     at com.strobel.assembler.metadata.FieldReference.resolve(FieldReference.java:61)
        //     at com.strobel.decompiler.ast.TypeAnalysis.getFieldType(TypeAnalysis.java:2940)
        //     at com.strobel.decompiler.ast.TypeAnalysis.doInferTypeForExpression(TypeAnalysis.java:1062)
        //     at com.strobel.decompiler.ast.TypeAnalysis.inferTypeForExpression(TypeAnalysis.java:815)
        //     at com.strobel.decompiler.ast.TypeAnalysis.inferTypeForExpression(TypeAnalysis.java:782)
        //     at com.strobel.decompiler.ast.TypeAnalysis.inferTypeForExpression(TypeAnalysis.java:778)
        //     at com.strobel.decompiler.ast.TypeAnalysis.inferCall(TypeAnalysis.java:2535)
        //     at com.strobel.decompiler.ast.TypeAnalysis.doInferTypeForExpression(TypeAnalysis.java:1040)
        //     at com.strobel.decompiler.ast.TypeAnalysis.inferTypeForExpression(TypeAnalysis.java:815)
        //     at com.strobel.decompiler.ast.TypeAnalysis.runInference(TypeAnalysis.java:684)
        //     at com.strobel.decompiler.ast.TypeAnalysis.runInference(TypeAnalysis.java:667)
        //     at com.strobel.decompiler.ast.TypeAnalysis.runInference(TypeAnalysis.java:373)
        //     at com.strobel.decompiler.ast.TypeAnalysis.run(TypeAnalysis.java:95)
        //     at com.strobel.decompiler.ast.AstOptimizer.optimize(AstOptimizer.java:109)
        //     at com.strobel.decompiler.ast.AstOptimizer.optimize(AstOptimizer.java:42)
        //     at com.strobel.decompiler.languages.java.ast.AstMethodBodyBuilder.createMethodBody(AstMethodBodyBuilder.java:206)
        //     at com.strobel.decompiler.languages.java.ast.AstMethodBodyBuilder.createMethodBody(AstMethodBodyBuilder.java:93)
        //     at com.strobel.decompiler.languages.java.ast.AstBuilder.createMethodBody(AstBuilder.java:868)
        //     at com.strobel.decompiler.languages.java.ast.AstBuilder.createMethod(AstBuilder.java:761)
        //     at com.strobel.decompiler.languages.java.ast.AstBuilder.addTypeMembers(AstBuilder.java:638)
        //     at com.strobel.decompiler.languages.java.ast.AstBuilder.createTypeCore(AstBuilder.java:605)
        //     at com.strobel.decompiler.languages.java.ast.AstBuilder.createTypeNoCache(AstBuilder.java:195)
        //     at com.strobel.decompiler.languages.java.ast.AstBuilder.createType(AstBuilder.java:162)
        //     at com.strobel.decompiler.languages.java.ast.AstBuilder.addType(AstBuilder.java:137)
        //     at com.strobel.decompiler.languages.java.JavaLanguage.buildAst(JavaLanguage.java:71)
        //     at com.strobel.decompiler.languages.java.JavaLanguage.decompileType(JavaLanguage.java:59)
        //     at com.strobel.decompiler.DecompilerDriver.decompileType(DecompilerDriver.java:333)
        //     at com.strobel.decompiler.DecompilerDriver.decompileJar(DecompilerDriver.java:254)
        //     at com.strobel.decompiler.DecompilerDriver.main(DecompilerDriver.java:129)
        // 
        throw new IllegalStateException("An error occurred while decompiling this method.");
    }
    
    private static void handledLoadedRootInteractions(@Nonnull final LoadedAssetsEvent<String, RootInteraction, ?> event) {
        for (final RootInteraction rootInteraction : event.getLoadedAssets().values()) {
            rootInteraction.build();
        }
    }
    
    private static void handledLoadedInteractions(@Nonnull final LoadedAssetsEvent<String, Interaction, ?> event) {
        for (final Map.Entry<String, RootInteraction> entry : RootInteraction.getAssetMap().getAssetMap().entrySet()) {
            entry.getValue().build(event.getLoadedAssets().keySet());
        }
    }
    
    private static void handledRemovedInteractions(@Nonnull final RemovedAssetsEvent<String, Interaction, ?> event) {
        for (final Map.Entry<String, RootInteraction> entry : RootInteraction.getAssetMap().getAssetMap().entrySet()) {
            entry.getValue().build(event.getRemovedAssets());
        }
    }
    
    public void doMouseInteraction(@Nonnull final Ref<EntityStore> ref, @Nonnull final ComponentAccessor<EntityStore> componentAccessor, @Nonnull final MouseInteraction packet, @Nonnull final Player playerComponent, @Nonnull final PlayerRef playerRefComponent) {
        if (this.isDisabled()) {
            return;
        }
        final byte activeHotbarSlot = playerComponent.getInventory().getActiveHotbarSlot();
        if (activeHotbarSlot != packet.activeSlot) {
            playerComponent.sendMessage(Message.translation("server.modules.interaction.failedGetActiveSlot").param("server", activeHotbarSlot).param("packet", packet.activeSlot));
            return;
        }
        final MouseButtonType mouseButtonType = (packet.mouseButton != null) ? packet.mouseButton.mouseButtonType : MouseButtonType.Left;
        final Inventory inventory = playerComponent.getInventory();
        final ItemStack itemInHand = inventory.getItemInHand();
        final ItemStack itemInOffHand = inventory.getUtilityItem();
        final Item primaryItem = (itemInHand == null || itemInHand.isEmpty()) ? null : itemInHand.getItem();
        final Item secondaryItem = (itemInOffHand == null || itemInOffHand.isEmpty()) ? null : itemInOffHand.getItem();
        Item item;
        if (mouseButtonType == MouseButtonType.Left) {
            item = primaryItem;
        }
        else if (mouseButtonType == MouseButtonType.Right && secondaryItem != null) {
            item = secondaryItem;
        }
        else {
            item = primaryItem;
        }
        final WorldInteraction worldInteraction_ = packet.worldInteraction;
        final BlockPosition blockPositionPacket = worldInteraction_.blockPosition;
        if (!ref.isValid()) {
            return;
        }
        final EntityStore entityComponentStore = componentAccessor.getExternalData();
        final Vector3i targetBlock = (blockPositionPacket == null) ? null : new Vector3i(blockPositionPacket.x, blockPositionPacket.y, blockPositionPacket.z);
        Entity targetEntity;
        if (worldInteraction_.entityId < 0) {
            targetEntity = null;
        }
        else {
            final Ref<EntityStore> entityReference = entityComponentStore.getRefFromNetworkId(worldInteraction_.entityId);
            targetEntity = EntityUtils.getEntity(entityReference, componentAccessor);
        }
        final CameraManager cameraManagerComponent = componentAccessor.getComponent(ref, CameraManager.getComponentType());
        assert cameraManagerComponent != null;
        if (packet.mouseButton != null) {
            final IEventDispatcher<PlayerMouseButtonEvent, PlayerMouseButtonEvent> dispatcher = HytaleServer.get().getEventBus().dispatchFor((Class<? super PlayerMouseButtonEvent>)PlayerMouseButtonEvent.class);
            if (dispatcher.hasListener()) {
                dispatcher.dispatch(new PlayerMouseButtonEvent(ref, playerComponent, playerRefComponent, packet.clientTimestamp, item, targetBlock, targetEntity, packet.screenPoint, packet.mouseButton));
            }
            cameraManagerComponent.handleMouseButtonState(packet.mouseButton.mouseButtonType, packet.mouseButton.state, targetBlock);
        }
        else {
            final IEventDispatcher<PlayerMouseMotionEvent, PlayerMouseMotionEvent> dispatcher2 = HytaleServer.get().getEventBus().dispatchFor((Class<? super PlayerMouseMotionEvent>)PlayerMouseMotionEvent.class);
            if (dispatcher2.hasListener()) {
                dispatcher2.dispatch(new PlayerMouseMotionEvent(ref, playerComponent, packet.clientTimestamp, item, targetBlock, targetEntity, packet.screenPoint, packet.mouseMotion));
            }
        }
        cameraManagerComponent.setLastScreenPoint(new Vector2d(packet.screenPoint.x, packet.screenPoint.y));
        cameraManagerComponent.setLastBlockPosition(targetBlock);
    }
    
    @Nonnull
    public ComponentType<EntityStore, ChainingInteraction.Data> getChainingDataComponent() {
        return this.chainingDataComponent;
    }
    
    @Nonnull
    public ComponentType<EntityStore, Interactions> getInteractionsComponentType() {
        return this.interactionsComponentType;
    }
    
    @Nonnull
    public ComponentType<EntityStore, InteractionManager> getInteractionManagerComponent() {
        return this.interactionManagerComponent;
    }
    
    @Nonnull
    public ComponentType<ChunkStore, PlacedByInteractionComponent> getPlacedByComponentType() {
        return this.placedByComponentType;
    }
    
    public ResourceType<ChunkStore, BlockCounter> getBlockCounterResourceType() {
        return this.blockCounterResourceType;
    }
    
    public ComponentType<ChunkStore, TrackedPlacement> getTrackedPlacementComponentType() {
        return this.trackedPlacementComponentType;
    }
    
    static {
        MANIFEST = PluginManifest.corePlugin(InteractionModule.class).depends(EntityModule.class).build();
        INTERACTION_TYPE_CODEC = new EnumCodec<InteractionType>(InteractionType.class);
        INTERACTION_TYPE_SET_CODEC = new SetCodec<InteractionType, EnumSet<InteractionType>>(InteractionModule.INTERACTION_TYPE_CODEC, () -> EnumSet.noneOf(InteractionType.class), true);
    }
}
