BuilderActionSpawnInteraction class

Пакет: com.hypixel.hytale.server.npc.corecomponents.interaction.builders

Файл: com/hypixel/hytale/server/npc/corecomponents/interaction/builders/BuilderActionSpawnInteraction.java

extends: BuilderDeferrableAction

Поля (2)

МодификаторыТипИмя
final AssetHolder interaction
String var2

Методы (8)

МодификаторыВозвратСигнатура
abstract return new ActionSpawnInteractionreturn new ActionSpawnInteraction(this, var1)
public OrientationSource getOrientationSourceOrientationSource getOrientationSource()
public float getPitchfloat getPitch(@Nonnull BuilderSupport var1)
public PositionSource getPositionSourcePositionSource getPositionSource()
public float getRollfloat getRoll(@Nonnull BuilderSupport var1)
public int getTargetSlotint getTargetSlot(@Nonnull BuilderSupport var1)
public float getTtlfloat getTtl(@Nonnull BuilderSupport var1)
public float getYawfloat getYaw(@Nonnull BuilderSupport var1)

Исходный код

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

class="kw">import com.google.gson.JsonElement;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.BuilderDescriptorState;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.BuilderSupport;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.holder.AssetHolder;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.holder.FloatHolder;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.holder.StringHolder;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.validators.StringNotEmptyValidator;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.validators.asset.RootInteractionValidator;
class="kw">import com.hypixel.hytale.server.npc.corecomponents.OrientationSource;
class="kw">import com.hypixel.hytale.server.npc.corecomponents.PositionSource;
class="kw">import com.hypixel.hytale.server.npc.corecomponents.builders.BuilderDeferrableAction;
class="kw">import com.hypixel.hytale.server.npc.corecomponents.interaction.ActionSpawnInteraction;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class BuilderActionSpawnInteraction class="kw">extends BuilderDeferrableAction {
   class="kw">protected class="kw">final AssetHolder interaction = new AssetHolder();
   class="kw">protected class="kw">final FloatHolder yaw = new FloatHolder();
   class="kw">protected class="kw">final FloatHolder pitch = new FloatHolder();
   class="kw">protected class="kw">final FloatHolder roll = new FloatHolder();
   class="kw">protected class="kw">final FloatHolder ttl = new FloatHolder();
   class="kw">protected class="kw">final StringHolder targetSlot = new StringHolder();
   class="kw">protected PositionSource positionSource = PositionSource.Self;
   class="kw">protected OrientationSource orientationSource = OrientationSource.UseOwner;

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

   @Nonnull
   class="kw">public ActionSpawnInteraction build(@Nonnull BuilderSupport var1) {
      class="kw">return new ActionSpawnInteraction(this, var1);
   }

   @Nonnull
   @Override
   class="kw">public String getShortDescription() {
      class="kw">return "Spawn an interaction at a chosen position and orientation.";
   }

   @Nonnull
   @Override
   class="kw">public String getLongDescription() {
      class="kw">return this.getShortDescription();
   }

   @Nonnull
   @Override
   class="kw">public BuilderDescriptorState getBuilderDescriptorState() {
      class="kw">return BuilderDescriptorState.WorkInProgress;
   }

   @Nonnull
   class="kw">public BuilderActionSpawnInteraction readConfig(@Nonnull JsonElement var1) {
      this.requireAsset(
         var1, "Interaction", this.interaction, RootInteractionValidator.required(), BuilderDescriptorState.Stable, "The root interaction to run.", null
      );
      this.positionSource = this.readPositionSource(var1, "Self: spawn at the acting entity's position. Sensor: spawn at the triggering sensor's position.");
      this.getEnum(
         var1,
         "OrientationSource",
         var1x -> this.orientationSource = var1x,
         OrientationSource.class,
         OrientationSource.UseOwner,
         BuilderDescriptorState.Stable,
         "How the host is oriented. Absolute uses Yaw/Pitch/Roll. UseOwner copies the acting entity's facing. UseTarget copies the TargetSlot marked target's facing. UseSensor uses the sensed position's orientation.",
         null
      );
      this.getString(
         var1,
         "TargetSlot",
         this.targetSlot,
         "LockedTarget",
         StringNotEmptyValidator.get(),
         BuilderDescriptorState.Stable,
         "The marked target slot whose facing UseTarget copies.",
         null
      );
      this.getFloat(var1, "Yaw", this.yaw, (double)0.0, null, BuilderDescriptorState.Stable, "Absolute yaw in degrees.", null);
      this.getFloat(var1, "Pitch", this.pitch, (double)0.0, null, BuilderDescriptorState.Stable, "Absolute pitch in degrees.", null);
      this.getFloat(var1, "Roll", this.roll, (double)0.0, null, BuilderDescriptorState.Stable, "Absolute roll in degrees.", null);
      this.getFloat(
         var1, "Ttl", this.ttl, (double)5.0, null, BuilderDescriptorState.Stable, "Seconds before the host force-despawns if its chain has not finished.", null
      );
      class="kw">return this;
   }

   @Nullable
   class="kw">public String getInteraction(@Nonnull BuilderSupport var1) {
      String var2 = this.interaction.get(var1.getExecutionContext());
      class="kw">return var2 != null && !var2.isEmpty() ? var2 : null;
   }

   class="kw">public PositionSource getPositionSource() {
      class="kw">return this.positionSource;
   }

   class="kw">public OrientationSource getOrientationSource() {
      class="kw">return this.orientationSource;
   }

   class="kw">public int getTargetSlot(@Nonnull BuilderSupport var1) {
      class="kw">return var1.getTargetSlot(this.targetSlot.get(var1.getExecutionContext()));
   }

   class="kw">public float getYaw(@Nonnull BuilderSupport var1) {
      class="kw">return this.yaw.get(var1.getExecutionContext());
   }

   class="kw">public float getPitch(@Nonnull BuilderSupport var1) {
      class="kw">return this.pitch.get(var1.getExecutionContext());
   }

   class="kw">public float getRoll(@Nonnull BuilderSupport var1) {
      class="kw">return this.roll.get(var1.getExecutionContext());
   }

   class="kw">public float getTtl(@Nonnull BuilderSupport var1) {
      class="kw">return this.ttl.get(var1.getExecutionContext());
   }
}