TransientPath class
Пакет: com.hypixel.hytale.builtin.path.path
Файл: com/hypixel/hytale/builtin/path/path/TransientPath.java
implements: IPath<SimplePathWaypoint>
Поля (6)
| Модификаторы | Тип | Имя |
|---|---|---|
|
TransientPath |
var5 |
|
Vector3d |
var6 |
|
Vector3d |
var7 |
|
Rotation3f |
var8 |
|
RelativeWaypointDefinition |
var9 |
final |
List<SimplePathWaypoint> |
waypoints |
Методы (2)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
public |
void |
addWaypointvoid addWaypoint(@Nonnull Vector3d var1, @Nonnull Rotation3f var2) |
public |
SimplePathWaypoint |
getSimplePathWaypoint get(int var1) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.path.path;
class="kw">import com.hypixel.hytale.builtin.path.waypoint.RelativeWaypointDefinition;
class="kw">import com.hypixel.hytale.math.vector.Rotation3f;
class="kw">import com.hypixel.hytale.math.vector.Transform;
class="kw">import com.hypixel.hytale.server.core.modules.physics.util.PhysicsMath;
class="kw">import com.hypixel.hytale.server.core.universe.world.path.IPath;
class="kw">import com.hypixel.hytale.server.core.universe.world.path.SimplePathWaypoint;
class="kw">import it.unimi.dsi.fastutil.objects.ObjectArrayList;
class="kw">import java.util.Collections;
class="kw">import java.util.List;
class="kw">import java.util.Queue;
class="kw">import java.util.UUID;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">import org.joml.Vector3d;
class="kw">public class TransientPath class="kw">implements IPath<SimplePathWaypoint> {
class="kw">protected class="kw">final List<SimplePathWaypoint> waypoints = new ObjectArrayList();
class="kw">public TransientPath() {
}
class="kw">public void addWaypoint(@Nonnull Vector3d var1, @Nonnull Rotation3f var2) {
this.waypoints.add(new SimplePathWaypoint((short)this.waypoints.size(), new Transform(var1.x, var1.y, var1.z, var2.pitch(), var2.yaw(), var2.roll())));
}
@Nullable
@Override
class="kw">public UUID getId() {
class="kw">return null;
}
@Nullable
@Override
class="kw">public String getName() {
class="kw">return null;
}
@Nonnull
@Override
class="kw">public List<SimplePathWaypoint> getPathWaypoints() {
class="kw">return Collections.unmodifiableList(this.waypoints);
}
@Override
class="kw">public int length() {
class="kw">return this.waypoints.size();
}
class="kw">public SimplePathWaypoint get(int var1) {
class="kw">return this.waypoints.get(var1);
}
@Nonnull
class="kw">public class="kw">static IPath<SimplePathWaypoint> buildPath(
@Nonnull Vector3d var0, @Nonnull Rotation3f var1, @Nonnull Queue<RelativeWaypointDefinition> var2, double var3
) {
TransientPath var5 = new TransientPath();
var5.addWaypoint(var0, var1);
Vector3d var6 = new Vector3d(var0);
Vector3d var7 = new Vector3d();
Rotation3f var8 = new Rotation3f(var1);
while (!var2.isEmpty()) {
RelativeWaypointDefinition var9 = var2.poll();
var8.addYaw(var9.getRotation());
var7.set(PhysicsMath.headingX(var8.yaw()), 0.0, PhysicsMath.headingZ(var8.yaw()));
var7.normalize(var9.getDistance() * var3);
var6.add(var7);
var5.addWaypoint(var6, var8);
}
class="kw">return var5;
}
}