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];
}
}