BuilderActionProjectToGround class

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

Файл: com/hypixel/hytale/server/npc/corecomponents/utility/builders/BuilderActionProjectToGround.java

extends: BuilderActionSequence

Поля (1)

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

Методы (2)

МодификаторыВозвратСигнатура
abstract return new ActionProjectToGroundreturn new ActionProjectToGround(this, var1)
public int getMaxScanDownint getMaxScanDown(@Nonnull BuilderSupport var1)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.server.npc.corecomponents.utility.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.Feature;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.holder.IntHolder;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.validators.IntSingleValidator;
class="kw">import com.hypixel.hytale.server.npc.corecomponents.utility.ActionProjectToGround;
class="kw">import javax.annotation.Nonnull;

class="kw">public class BuilderActionProjectToGround class="kw">extends BuilderActionSequence {
   class="kw">private class="kw">static class="kw">final int DEFAULT_MAX_SCAN_DOWN = 128;
   class="kw">protected class="kw">final IntHolder maxScanDown = new IntHolder();

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

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

   @Nonnull
   @Override
   class="kw">public String getShortDescription() {
      class="kw">return "Projects the incoming positions to the ground, then runs its actions against them";
   }

   @Nonnull
   @Override
   class="kw">public String getLongDescription() {
      class="kw">return "Projects every position in the incoming set straight down to the top of the first solid block beneath it (dropping positions with no ground within MaxScanDown or in an unloaded chunk) and runs its nested actions against the grounded positions.";
   }

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

   @Nonnull
   class="kw">public BuilderActionProjectToGround readConfig(@Nonnull JsonElement var1) {
      this.requireObject(
         var1, "Actions", this.actions, BuilderDescriptorState.Experimental, "Actions to run against the grounded positions", null, this.validationHelper
      );
      this.getInt(
         var1,
         "MaxScanDown",
         this.maxScanDown,
         128,
         IntSingleValidator.greater0(),
         BuilderDescriptorState.Experimental,
         "Maximum number of blocks to scan downward looking for ground",
         null
      );
      this.requireFeature(Feature.AnyPosition);
      class="kw">return this;
   }

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