BuilderBodyMotionTestProbe class

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

Файл: com/hypixel/hytale/server/npc/corecomponents/debug/builders/BuilderBodyMotionTestProbe.java

extends: BuilderBodyMotionBase

Поля (1)

МодификаторыТипИмя
final String[] AVOID_OR_RELAXED_ATTRIBUTES

Методы (8)

МодификаторыВозвратСигнатура
abstract return new BodyMotionTestProbereturn new BodyMotionTestProbe(this)
public double getAdjustDistancedouble getAdjustDistance()
public double getAdjustXdouble getAdjustX()
public double getAdjustZdouble getAdjustZ()
public float getSnapAnglefloat getSnapAngle()
public boolean isAvoidingBlockDamageboolean isAvoidingBlockDamage()
public boolean isLegacyRelaxedMoveConstraintsboolean isLegacyRelaxedMoveConstraints()
public boolean isRelaxedConstraintsPresentboolean isRelaxedConstraintsPresent()

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.server.npc.corecomponents.debug.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.corecomponents.builders.BuilderBodyMotionBase;
class="kw">import com.hypixel.hytale.server.npc.corecomponents.debug.BodyMotionTestProbe;
class="kw">import com.hypixel.hytale.server.npc.movement.constraints.RelaxedConstraint;
class="kw">import java.util.EnumSet;
class="kw">import javax.annotation.Nonnull;

class="kw">public class BuilderBodyMotionTestProbe class="kw">extends BuilderBodyMotionBase {
   class="kw">private class="kw">static class="kw">final String[] AVOID_OR_RELAXED_ATTRIBUTES = new String[]{"AvoidBlockDamage", "RelaxedConstraints"};
   class="kw">private class="kw">static class="kw">final String[] LEGACY_OR_RELAXED_ATTRIBUTES = new String[]{"RelaxedMoveConstraints", "RelaxedConstraints"};
   class="kw">protected double adjustX;
   class="kw">protected double adjustZ;
   class="kw">protected double adjustDistance;
   class="kw">protected float snapAngle;
   class="kw">protected boolean isAvoidingBlockDamage;
   class="kw">protected boolean isLegacyRelaxedMoveConstraints;
   class="kw">protected EnumSet<RelaxedConstraint> relaxedConstraints = EnumSet.noneOf(RelaxedConstraint.class);
   class="kw">private class="kw">final boolean[] avoidOrRelaxedPresent = new boolean[2];
   class="kw">private class="kw">final boolean[] legacyOrRelaxedPresent = new boolean[2];

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

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

   @Nonnull
   @Override
   class="kw">public String getShortDescription() {
      class="kw">return "Debugging - Test probing";
   }

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

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

   @Nonnull
   class="kw">public BuilderBodyMotionTestProbe readConfig(@Nonnull JsonElement var1) {
      this.getDouble(var1, "AdjustX", var1x -> this.adjustX = var1x, -1.0, null, BuilderDescriptorState.Experimental, "X block position adjustment", null);
      this.getDouble(var1, "AdjustZ", var1x -> this.adjustZ = var1x, -1.0, null, BuilderDescriptorState.Experimental, "Y block position adjustment", null);
      this.getDouble(
         var1,
         "AdjustDistance",
         var1x -> this.adjustDistance = var1x,
         -1.0,
         null,
         BuilderDescriptorState.Experimental,
         "Set probe direction length for debugging",
         null
      );
      this.getFloat(
         var1,
         "SnapAngle",
         var1x -> this.snapAngle = var1x,
         -1.0F,
         null,
         BuilderDescriptorState.Experimental,
         "Snap angle to multiples of value for debugging",
         null
      );
      this.avoidOrRelaxedPresent[0] = this.getBoolean(
         var1,
         "AvoidBlockDamage",
         var1x -> this.isAvoidingBlockDamage = var1x,
         true,
         BuilderDescriptorState.Deprecated,
         "Should avoid environmental damage from blocks",
         null
      );
      this.legacyOrRelaxedPresent[0] = this.getBoolean(
         var1,
         "RelaxedMoveConstraints",
         var1x -> this.isLegacyRelaxedMoveConstraints = var1x,
         false,
         BuilderDescriptorState.Deprecated,
         "NPC can do movements like wading (depends on motion controller type)",
         null
      );
      this.avoidOrRelaxedPresent[1] = this.getEnumSet(
         var1,
         "RelaxedConstraints",
         var1x -> this.relaxedConstraints = (EnumSet<RelaxedConstraint>)var1x,
         RelaxedConstraint.class,
         () -> EnumSet.noneOf(RelaxedConstraint.class),
         EnumSet.noneOf(RelaxedConstraint.class),
         BuilderDescriptorState.Stable,
         "List of constraints to relax for this motion (new mode; empty = no relaxed constraints)",
         null
      );
      this.legacyOrRelaxedPresent[1] = this.avoidOrRelaxedPresent[1];
      this.validateOneOrNonePresent(AVOID_OR_RELAXED_ATTRIBUTES, this.avoidOrRelaxedPresent);
      this.validateOneOrNonePresent(LEGACY_OR_RELAXED_ATTRIBUTES, this.legacyOrRelaxedPresent);
      class="kw">return this;
   }

   class="kw">public double getAdjustX() {
      class="kw">return this.adjustX;
   }

   class="kw">public double getAdjustZ() {
      class="kw">return this.adjustZ;
   }

   class="kw">public double getAdjustDistance() {
      class="kw">return this.adjustDistance;
   }

   class="kw">public float getSnapAngle() {
      class="kw">return this.snapAngle;
   }

   class="kw">public boolean isAvoidingBlockDamage() {
      class="kw">return this.isAvoidingBlockDamage;
   }

   class="kw">public boolean isLegacyRelaxedMoveConstraints() {
      class="kw">return this.isLegacyRelaxedMoveConstraints;
   }

   @Nonnull
   class="kw">public EnumSet<RelaxedConstraint> getRelaxedConstraints() {
      class="kw">return this.relaxedConstraints;
   }

   class="kw">public boolean isRelaxedConstraintsPresent() {
      class="kw">return this.avoidOrRelaxedPresent[1];
   }
}