BuilderActionSignalTaggedVolumes class

Пакет: com.hypixel.hytale.builtin.triggervolumes.npc.builders

Файл: com/hypixel/hytale/builtin/triggervolumes/npc/builders/BuilderActionSignalTaggedVolumes.java

extends: BuilderActionBase

Поля (1)

МодификаторыТипИмя
final StringHolder matchTag

Методы (6)

МодификаторыВозвратСигнатура
abstract return new ActionSignalTaggedVolumesreturn new ActionSignalTaggedVolumes(this, var1)
public String getMatchTagString getMatchTag(@Nonnull BuilderSupport var1)
public int getMaxTargetsint getMaxTargets(@Nonnull BuilderSupport var1)
public double getRadiusdouble getRadius(@Nonnull BuilderSupport var1)
public String getSignalKeyString getSignalKey(@Nonnull BuilderSupport var1)
public String getSignalValueString getSignalValue(@Nonnull BuilderSupport var1)

Исходный код

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

class="kw">import com.google.gson.JsonElement;
class="kw">import com.hypixel.hytale.builtin.triggervolumes.npc.ActionSignalTaggedVolumes;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.Builder;
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.DoubleHolder;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.holder.IntHolder;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.holder.StringHolder;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.validators.DoubleSingleValidator;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.validators.IntSingleValidator;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.validators.StringNotEmptyValidator;
class="kw">import com.hypixel.hytale.server.npc.corecomponents.PositionSource;
class="kw">import com.hypixel.hytale.server.npc.corecomponents.builders.BuilderActionBase;
class="kw">import com.hypixel.hytale.server.npc.instructions.Action;
class="kw">import javax.annotation.Nonnull;

class="kw">public class BuilderActionSignalTaggedVolumes class="kw">extends BuilderActionBase {
   class="kw">protected class="kw">final StringHolder matchTag = new StringHolder();
   class="kw">protected class="kw">final DoubleHolder radius = new DoubleHolder();
   class="kw">protected class="kw">final IntHolder maxTargets = new IntHolder();
   class="kw">protected class="kw">final StringHolder signalKey = new StringHolder();
   class="kw">protected class="kw">final StringHolder signalValue = new StringHolder();
   class="kw">protected PositionSource positionSource = PositionSource.Self;

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

   @Nonnull
   @Override
   class="kw">public String getShortDescription() {
      class="kw">return "Send a signal to nearby trigger volumes that match a tag";
   }

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

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

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

   @Nonnull
   @Override
   class="kw">public Builder<Action> readConfig(@Nonnull JsonElement var1) {
      this.requireString(
         var1,
         "MatchTag",
         this.matchTag,
         StringNotEmptyValidator.get(),
         BuilderDescriptorState.Stable,
         "The tag a volume must carry to receive the signal",
         null
      );
      this.requireDouble(
         var1,
         "Radius",
         this.radius,
         DoubleSingleValidator.greater0(),
         BuilderDescriptorState.Stable,
         "The radius around the search center within which matching volumes receive the signal",
         null
      );
      this.getInt(
         var1,
         "MaxTargets",
         this.maxTargets,
         0,
         IntSingleValidator.greaterEqual0(),
         BuilderDescriptorState.Stable,
         "Maximum number of volumes to signal (0 signals all matches)",
         null
      );
      this.getString(
         var1,
         "SignalKey",
         this.signalKey,
         null,
         null,
         BuilderDescriptorState.Stable,
         "Optional tag key carried in the signal event for receivers to filter on (not written to the volume)",
         null
      );
      this.getString(var1, "SignalValue", this.signalValue, null, null, BuilderDescriptorState.Stable, "Optional tag value carried alongside SignalKey", null);
      this.positionSource = this.readPositionSource(var1, "Where the search radius is centered: the acting entity, or the triggering sensor's position");
      class="kw">return this;
   }

   class="kw">public String getMatchTag(@Nonnull BuilderSupport var1) {
      class="kw">return this.matchTag.get(var1.getExecutionContext());
   }

   class="kw">public double getRadius(@Nonnull BuilderSupport var1) {
      class="kw">return this.radius.get(var1.getExecutionContext());
   }

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

   class="kw">public String getSignalKey(@Nonnull BuilderSupport var1) {
      class="kw">return this.signalKey.get(var1.getExecutionContext());
   }

   class="kw">public String getSignalValue(@Nonnull BuilderSupport var1) {
      class="kw">return this.signalValue.get(var1.getExecutionContext());
   }

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