RunRootInteraction class

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

Файл: com/hypixel/hytale/server/core/modules/interaction/interaction/config/none/RunRootInteraction.java

extends: SimpleInstantInteraction

Поля (1)

МодификаторыТипИмя
com.hypixel.hytale.protocol.RunRootInteraction var2

Исходный код

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

class="kw">import com.hypixel.hytale.codec.Codec;
class="kw">import com.hypixel.hytale.codec.KeyedCodec;
class="kw">import com.hypixel.hytale.codec.builder.BuilderCodec;
class="kw">import com.hypixel.hytale.codec.validation.Validators;
class="kw">import com.hypixel.hytale.protocol.Interaction;
class="kw">import com.hypixel.hytale.protocol.InteractionState;
class="kw">import com.hypixel.hytale.protocol.InteractionType;
class="kw">import com.hypixel.hytale.server.core.entity.InteractionContext;
class="kw">import com.hypixel.hytale.server.core.modules.interaction.interaction.CooldownHandler;
class="kw">import com.hypixel.hytale.server.core.modules.interaction.interaction.config.RootInteraction;
class="kw">import com.hypixel.hytale.server.core.modules.interaction.interaction.config.SimpleInstantInteraction;
class="kw">import javax.annotation.Nonnull;

class="kw">public class RunRootInteraction class="kw">extends SimpleInstantInteraction {
   @Nonnull
   class="kw">public class="kw">static class="kw">final BuilderCodec<RunRootInteraction> CODEC = BuilderCodec.builder(
         RunRootInteraction.class, RunRootInteraction::new, SimpleInstantInteraction.CODEC
      )
      .documentation("Runs the given interaction root.")
      .<String>appendInherited(
         new KeyedCodec<>("RootInteraction", Codec.STRING),
         (var0, var1) -> var0.rootInteraction = var1,
         var0 -> var0.rootInteraction,
         (var0, var1) -> var0.rootInteraction = var1.rootInteraction
      )
      .documentation("A reference to a root interaction to run")
      .addValidator(Validators.nonNull())
      .addValidatorLate(() -> RootInteraction.VALIDATOR_CACHE.getValidator().late())
      .add()
      .build();
   class="kw">protected String rootInteraction;

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

   @Override
   class="kw">protected void firstRun(@Nonnull InteractionType var1, @Nonnull InteractionContext var2, @Nonnull CooldownHandler var3) {
      var2.getState().state = InteractionState.Finished;
      var2.execute(RootInteraction.getRootInteractionOrUnknown(this.rootInteraction));
   }

   @Nonnull
   @Override
   class="kw">protected Interaction generatePacket() {
      class="kw">return new com.hypixel.hytale.protocol.RunRootInteraction();
   }

   @Override
   class="kw">protected void configurePacket(Interaction var1) {
      super.configurePacket(var1);
      com.hypixel.hytale.protocol.RunRootInteraction var2 = (com.hypixel.hytale.protocol.RunRootInteraction)var1;
      var2.rootInteraction = RootInteraction.getRootInteractionIdOrUnknown(this.rootInteraction);
   }
}