Steering class
Пакет: com.hypixel.hytale.server.npc.movement
Файл: com/hypixel/hytale/server/npc/movement/Steering.java
Поля (14)
| Модификаторы | Тип | Имя |
|---|---|---|
final |
double |
DIRECTION_VECTOR_MIN_LENGTH_SQUARED |
|
int |
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
|
var1 |
|
Steering |
var2 |
|
long |
var2 |
Методы (30)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
public |
void |
clearMaxDistancevoid clearMaxDistance() |
public |
void |
clearMaxDistanceComponentSelectorvoid clearMaxDistanceComponentSelector() |
public |
void |
clearPitchvoid clearPitch() |
public |
void |
clearRollvoid clearRoll() |
public |
void |
clearYawvoid clearYaw() |
public |
double |
getMaxDistancedouble getMaxDistance() |
public |
Vector3d |
getMaxDistanceComponentSelectorVector3d getMaxDistanceComponentSelector() |
public |
float |
getPitchfloat getPitch() |
public |
float |
getPitchOrDirectionfloat getPitchOrDirection() |
public |
double |
getRelativeTurnSpeeddouble getRelativeTurnSpeed() |
public |
float |
getRollfloat getRoll() |
public |
float |
getRollOrDirectionfloat getRollOrDirection() |
public |
double |
getSpeeddouble getSpeed() |
public |
double |
getXdouble getX() |
public |
double |
getYdouble getY() |
public |
float |
getYawfloat getYaw() |
public |
float |
getYawOrDirectionfloat getYawOrDirection() |
public |
double |
getZdouble getZ() |
public |
boolean |
hasDirectionHintboolean hasDirectionHint() |
public |
boolean |
hasPitchboolean hasPitch() |
public |
boolean |
hasPitchOrDirectionboolean hasPitchOrDirection() |
public |
boolean |
hasRollboolean hasRoll() |
public |
boolean |
hasRollOrDirectionboolean hasRollOrDirection() |
public |
boolean |
hasTranslationboolean hasTranslation() |
public |
boolean |
hasYawboolean hasYaw() |
public |
boolean |
hasYawOrDirectionboolean hasYawOrDirection() |
|
|
if if(this == var1) |
|
|
if if(!var3 && this.hasDirectionHint) |
public |
void |
setMaxDistancevoid setMaxDistance(double var1) |
public |
void |
setMaxDistanceComponentSelectorvoid setMaxDistanceComponentSelector(Vector3d var1) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.npc.movement;
class="kw">import com.hypixel.hytale.math.vector.Rotation3f;
class="kw">import com.hypixel.hytale.server.core.modules.physics.util.PhysicsMath;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">import org.joml.Vector3d;
class="kw">public class Steering {
class="kw">public class="kw">static class="kw">final double DIRECTION_VECTOR_MIN_LENGTH_SQUARED = 0.1;
class="kw">public class="kw">static class="kw">final Steering NULL = new Steering().clear();
class="kw">private class="kw">final Vector3d translation = new Vector3d();
class="kw">private double maxDistance = Double.MAX_VALUE;
class="kw">private Vector3d maxDistanceComponentSelector;
class="kw">private boolean hasTranslation;
class="kw">private class="kw">final Rotation3f directionHint = new Rotation3f();
class="kw">private boolean hasDirectionHint;
class="kw">private float yaw;
class="kw">private boolean hasYaw;
class="kw">private float pitch;
class="kw">private boolean hasPitch;
class="kw">private float roll;
class="kw">private boolean hasRoll;
class="kw">private double relativeTurnSpeed;
class="kw">private boolean hasRelativeTurnSpeed;
class="kw">public Steering() {
}
@Nonnull
class="kw">public Steering clear() {
this.clearTranslation();
this.clearRotation();
class="kw">return this;
}
@Nonnull
class="kw">public Steering assign(@Nonnull Steering var1) {
this.translation.set(var1.translation);
this.maxDistance = var1.maxDistance;
this.maxDistanceComponentSelector = var1.maxDistanceComponentSelector;
this.hasTranslation = var1.hasTranslation;
this.directionHint.set(var1.directionHint);
this.hasDirectionHint = var1.hasDirectionHint;
this.yaw = var1.yaw;
this.hasYaw = var1.hasYaw;
this.pitch = var1.pitch;
this.hasPitch = var1.hasPitch;
this.roll = var1.roll;
this.hasRoll = var1.hasRoll;
this.relativeTurnSpeed = var1.relativeTurnSpeed;
this.hasRelativeTurnSpeed = var1.hasRelativeTurnSpeed;
class="kw">return this;
}
@Override
class="kw">public boolean equals(@Nullable Object var1) {
if (this == var1) {
class="kw">return true;
}
if (var1 != null && this.getClass() == var1.getClass()) {
Steering var2 = (Steering)var1;
if (Double.compare(var2.maxDistance, this.maxDistance) != 0) {
class="kw">return false;
} else if (this.hasTranslation != var2.hasTranslation) {
class="kw">return false;
} else if (Float.compare(var2.yaw, this.yaw) != 0) {
class="kw">return false;
} else if (this.hasYaw != var2.hasYaw) {
class="kw">return false;
} else if (Float.compare(var2.pitch, this.pitch) != 0) {
class="kw">return false;
} else if (this.hasPitch != var2.hasPitch) {
class="kw">return false;
} else if (Float.compare(var2.roll, this.roll) != 0) {
class="kw">return false;
} else if (this.hasRoll != var2.hasRoll) {
class="kw">return false;
} else if (!this.translation.equals(var2.translation)) {
class="kw">return false;
} else if (this.hasDirectionHint != var2.hasDirectionHint) {
class="kw">return false;
} else if (!this.directionHint.equals(var2.directionHint)) {
class="kw">return false;
} else if (Double.compare(var2.relativeTurnSpeed, this.relativeTurnSpeed) != 0) {
class="kw">return false;
} else {
class="kw">return this.hasRelativeTurnSpeed != var2.hasRelativeTurnSpeed ? false : this.maxDistanceComponentSelector.equals(var2.maxDistanceComponentSelector);
}
} else {
class="kw">return false;
}
}
@Override
class="kw">public int hashCode() {
int var1 = this.translation.hashCode();
long var2 = Double.doubleToLongBits(this.maxDistance);
var1 = 31 * var1 + (int)(var2 ^ var2 >>> 32);
var1 = 31 * var1 + this.maxDistanceComponentSelector.hashCode();
var1 = 31 * var1 + (this.hasTranslation ? 1 : 0);
var1 = 31 * var1 + this.directionHint.hashCode();
var1 = 31 * var1 + (this.hasDirectionHint ? 1 : 0);
var1 = 31 * var1 + (this.yaw != 0.0F ? Float.floatToIntBits(this.yaw) : 0);
var1 = 31 * var1 + (this.hasYaw ? 1 : 0);
var1 = 31 * var1 + (this.pitch != 0.0F ? Float.floatToIntBits(this.pitch) : 0);
var1 = 31 * var1 + (this.hasPitch ? 1 : 0);
var1 = 31 * var1 + (this.roll != 0.0F ? Float.floatToIntBits(this.roll) : 0);
class="kw">return 31 * var1 + (this.hasRoll ? 1 : 0);
}
@Nonnull
class="kw">public Steering clearTranslation() {
this.translation.zero();
this.maxDistance = Double.MAX_VALUE;
this.hasTranslation = false;
this.directionHint.set(Rotation3f.ZERO);
this.hasDirectionHint = false;
class="kw">return this;
}
@Nonnull
class="kw">public Steering clearRotation() {
this.yaw = 0.0F;
this.hasYaw = false;
this.pitch = 0.0F;
this.hasPitch = false;
this.roll = 0.0F;
this.hasRoll = false;
this.relativeTurnSpeed = 0.0;
this.hasRelativeTurnSpeed = false;
class="kw">return this;
}
@Nonnull
class="kw">public Vector3d getTranslation() {
class="kw">return this.translation;
}
class="kw">public double getX() {
class="kw">return this.translation.x;
}
@Nonnull
class="kw">public Steering setX(double var1) {
this.hasTranslation = true;
this.translation.x = var1;
class="kw">return this;
}
class="kw">public double getY() {
class="kw">return this.translation.y;
}
@Nonnull
class="kw">public Steering setY(double var1) {
this.hasTranslation = true;
this.translation.y = var1;
class="kw">return this;
}
class="kw">public double getZ() {
class="kw">return this.translation.z;
}
@Nonnull
class="kw">public Steering setZ(double var1) {
this.hasTranslation = true;
this.translation.z = var1;
class="kw">return this;
}
@Nonnull
class="kw">public Steering setTranslation(@Nonnull Vector3d var1) {
this.hasTranslation = true;
this.translation.set(var1);
class="kw">return this;
}
@Nonnull
class="kw">public Steering setTranslation(double var1, double var3, double var5) {
this.hasTranslation = true;
this.translation.set(var1, var3, var5);
class="kw">return this;
}
@Nonnull
class="kw">public Steering setTranslationRelativeSpeed(double var1) {
this.translation.normalize(var1);
class="kw">return this;
}
@Nonnull
class="kw">public Steering scaleTranslation(double var1) {
this.translation.mul(var1);
class="kw">return this;
}
@Nonnull
class="kw">public Steering ensureMinTranslation(double var1) {
if (this.translation.lengthSquared() < var1 * var1 && this.translation.lengthSquared() > 0.0) {
this.translation.normalize(var1);
}
class="kw">return this;
}
class="kw">public double getMaxDistance() {
class="kw">return this.maxDistance;
}
class="kw">public void setMaxDistance(double var1) {
this.maxDistance = var1;
}
class="kw">public void clearMaxDistance() {
this.setMaxDistance(Double.MAX_VALUE);
}
class="kw">public Vector3d getMaxDistanceComponentSelector() {
class="kw">return this.maxDistanceComponentSelector;
}
class="kw">public void setMaxDistanceComponentSelector(Vector3d var1) {
this.maxDistanceComponentSelector = var1;
}
class="kw">public void clearMaxDistanceComponentSelector() {
this.setMaxDistanceComponentSelector(null);
}
class="kw">public float getYaw() {
class="kw">return this.yaw;
}
@Nonnull
class="kw">public Steering setYaw(float var1) {
this.yaw = var1;
this.hasYaw = true;
class="kw">return this;
}
class="kw">public void clearYaw() {
this.hasYaw = false;
}
class="kw">public float getPitch() {
class="kw">return this.pitch;
}
@Nonnull
class="kw">public Steering setPitch(float var1) {
this.pitch = var1;
this.hasPitch = true;
class="kw">return this;
}
class="kw">public void clearPitch() {
this.hasPitch = false;
}
class="kw">public float getRoll() {
class="kw">return this.roll;
}
@Nonnull
class="kw">public Steering setRoll(float var1) {
this.roll = var1;
this.hasRoll = true;
class="kw">return this;
}
class="kw">public void clearRoll() {
this.hasRoll = false;
}
@Nonnull
class="kw">public Steering setRelativeTurnSpeed(double var1) {
this.relativeTurnSpeed = var1;
this.hasRelativeTurnSpeed = true;
class="kw">return this;
}
class="kw">public boolean hasTranslation() {
class="kw">return this.hasTranslation;
}
@Nonnull
class="kw">public Rotation3f getDirectionHint() {
class="kw">return this.directionHint;
}
class="kw">public boolean hasDirectionHint() {
class="kw">return this.hasDirectionHint;
}
@Nonnull
class="kw">public Steering setDirectionHint(@Nonnull Vector3d var1, @Nonnull Rotation3f var2, boolean var3) {
if (!var3 && this.hasDirectionHint) {
class="kw">return this;
} else if (var1.lengthSquared() < 0.1) {
this.directionHint.set(var2);
this.hasDirectionHint = true;
class="kw">return this;
} else {
this.directionHint.setYaw(PhysicsMath.headingFromDirection(var1.x, var1.z));
this.directionHint.setPitch(PhysicsMath.pitchFromDirection(var1.x, var1.y, var1.z));
this.directionHint.setRoll(var2.roll());
this.hasDirectionHint = true;
class="kw">return this;
}
}
@Nonnull
class="kw">public Steering setDirectionHint(@Nonnull Rotation3f var1) {
class="kw">return this.setDirectionHint(var1, false);
}
@Nonnull
class="kw">public Steering setDirectionHint(@Nonnull Rotation3f var1, boolean var2) {
class="kw">return this.setDirectionHint(this.translation, var1, var2);
}
class="kw">public boolean hasYaw() {
class="kw">return this.hasYaw;
}
class="kw">public boolean hasYawOrDirection() {
class="kw">return this.hasYaw || this.hasDirectionHint;
}
class="kw">public float getYawOrDirection() {
class="kw">return this.hasYaw ? this.yaw : this.directionHint.yaw();
}
class="kw">public boolean hasPitch() {
class="kw">return this.hasPitch;
}
class="kw">public boolean hasPitchOrDirection() {
class="kw">return this.hasPitch || this.hasDirectionHint;
}
class="kw">public float getPitchOrDirection() {
class="kw">return this.hasPitch ? this.pitch : this.directionHint.pitch();
}
class="kw">public boolean hasRoll() {
class="kw">return this.hasRoll;
}
class="kw">public boolean hasRollOrDirection() {
class="kw">return this.hasRoll || this.hasDirectionHint;
}
class="kw">public float getRollOrDirection() {
class="kw">return this.hasRoll ? this.roll : this.directionHint.roll();
}
class="kw">public double getSpeed() {
class="kw">return !this.hasTranslation() ? 0.0 : this.translation.length();
}
class="kw">public double getRelativeTurnSpeed() {
class="kw">return !this.hasRelativeTurnSpeed ? 1.0 : this.relativeTurnSpeed;
}
@Nonnull
@Override
class="kw">public String toString() {
class="kw">return "Steering{translation="
+ this.translation
+ ", hasTranslation="
+ this.hasTranslation
+ ", yaw="
+ this.yaw
+ ", hasYaw="
+ this.hasYaw
+ ", pitch="
+ this.pitch
+ ", hasPitch="
+ this.hasPitch
+ ", roll="
+ this.roll
+ ", hasRoll="
+ this.hasRoll
+ ", relativeTurnSpeed="
+ this.relativeTurnSpeed
+ ", hasRelativeTurnSpeed="
+ this.hasRelativeTurnSpeed
+ "}";
}
}