BuilderBodyMotionFindWithTarget class

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

Файл: com/hypixel/hytale/server/npc/corecomponents/movement/builders/BuilderBodyMotionFindWithTarget.java

extends: BuilderBodyMotionFindBase

Поля (1)

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

Методы (6)

МодификаторыВозвратСигнатура
public double getMinMoveDistanceRecomputedouble getMinMoveDistanceRecompute(@Nonnull BuilderSupport var1)
public double getMinMoveDistanceReprojectdouble getMinMoveDistanceReproject(@Nonnull BuilderSupport var1)
public double getMinMoveDistanceWaitdouble getMinMoveDistanceWait(@Nonnull BuilderSupport var1)
public double getRecomputeConeAngledouble getRecomputeConeAngle(@Nonnull BuilderSupport var1)
public boolean isAdjustRangeByHitboxSizeboolean isAdjustRangeByHitboxSize(@Nonnull BuilderSupport var1)
abstract super super(var1)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.server.npc.corecomponents.movement.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.BooleanHolder;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.holder.DoubleHolder;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.holder.FloatHolder;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.validators.DoubleRangeValidator;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.validators.DoubleSingleValidator;
class="kw">import javax.annotation.Nonnull;

class="kw">public class="kw">abstract class BuilderBodyMotionFindWithTarget class="kw">extends BuilderBodyMotionFindBase {
   class="kw">protected class="kw">final DoubleHolder minMoveDistanceWait = new DoubleHolder();
   class="kw">protected class="kw">final DoubleHolder minMoveDistanceRecompute = new DoubleHolder();
   class="kw">protected class="kw">final FloatHolder recomputeConeAngle = new FloatHolder();
   class="kw">protected class="kw">final DoubleHolder minMoveDistanceReproject = new DoubleHolder();
   class="kw">protected class="kw">final BooleanHolder adjustRangeByHitboxSize = new BooleanHolder();

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

   class="kw">public BuilderBodyMotionFindWithTarget(boolean var1) {
      super(var1);
   }

   @Nonnull
   @Override
   class="kw">public BuilderBodyMotionFindBase readConfig(@Nonnull JsonElement var1) {
      super.readConfig(var1);
      this.getDouble(
         var1,
         "WaitDistance",
         this.minMoveDistanceWait,
         1.0,
         DoubleSingleValidator.greater0(),
         BuilderDescriptorState.Experimental,
         "Minimum distance target needs to move before recomputing path when no path can be found",
         null
      );
      this.getDouble(
         var1,
         "RecomputeDistance",
         this.minMoveDistanceRecompute,
         10.0,
         DoubleSingleValidator.greaterEqual0(),
         BuilderDescriptorState.Experimental,
         "Maximum distance target can move before path is recomputed or 0 to supress recomputation",
         null
      );
      this.getDouble(
         var1,
         "ReprojectDistance",
         this.minMoveDistanceReproject,
         0.5,
         DoubleSingleValidator.greaterEqual0(),
         BuilderDescriptorState.Experimental,
         "Maximum distance target can move before position is reprojected",
         null
      );
      this.getBoolean(
         var1,
         "AdjustRangeByHitboxSize",
         this.adjustRangeByHitboxSize,
         false,
         BuilderDescriptorState.Stable,
         "Correct range by hitbox sizes of involved entities",
         null
      );
      this.getFloat(
         var1,
         "RecomputeConeAngle",
         this.recomputeConeAngle,
         0.0,
         DoubleRangeValidator.between(0.0, 360.0),
         BuilderDescriptorState.Experimental,
         "Recompute path when target leaves cone from initial position to target",
         null
      );
      this.requireFeature(Feature.AnyPosition);
      class="kw">return this;
   }

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

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

   class="kw">public double getRecomputeConeAngle(@Nonnull BuilderSupport var1) {
      class="kw">return this.recomputeConeAngle.get(var1.getExecutionContext()) * (float) (Math.PI / 180.0);
   }

   class="kw">public boolean isAdjustRangeByHitboxSize(@Nonnull BuilderSupport var1) {
      class="kw">return this.adjustRangeByHitboxSize.get(var1.getExecutionContext());
   }

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