WorldPath class
Пакет: com.hypixel.hytale.server.core.universe.world.path
Файл: com/hypixel/hytale/server/core/universe/world/path/WorldPath.java
implements: IPath<SimplePathWaypoint>
Поля (2)
| Модификаторы | Тип | Имя |
|---|---|---|
final |
BuilderCodec<WorldPath> |
CODEC |
|
List |
var2 |
Методы (3)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
abstract |
|
for for(short var1 = 0; var1 < this.waypoints.size() |
public |
SimplePathWaypoint |
getSimplePathWaypoint get(int var1) |
public |
List<Transform> |
getWaypointsList<Transform> getWaypoints() |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.universe.world.path;
class="kw">import com.hypixel.hytale.codec.Codec;
class="kw">import com.hypixel.hytale.codec.KeyedCodec;
class="kw">import com.hypixel.hytale.codec.builder.BuilderCodec;
class="kw">import com.hypixel.hytale.codec.codecs.array.ArrayCodec;
class="kw">import com.hypixel.hytale.math.vector.Transform;
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.UUID;
class="kw">import javax.annotation.Nonnull;
class="kw">public class WorldPath class="kw">implements IPath<SimplePathWaypoint> {
class="kw">public class="kw">static class="kw">final BuilderCodec<WorldPath> CODEC = BuilderCodec.<WorldPath>builder(WorldPath.class, WorldPath::new)
.addField(new KeyedCodec<>("Id", Codec.UUID_BINARY), (var0, var1) -> var0.id = var1, var0 -> var0.id)
.addField(new KeyedCodec<>("Name", Codec.STRING), (var0, var1) -> var0.name = var1, var0 -> var0.name)
.addField(
new KeyedCodec<>("Waypoints", new ArrayCodec<>(Transform.CODEC, Transform[]::new)),
(var0, var1) -> var0.waypoints = List.of(var1),
var0 -> var0.waypoints.toArray(Transform[]::new)
)
.build();
class="kw">protected UUID id;
class="kw">protected String name;
class="kw">protected List<Transform> waypoints = Collections.emptyList();
class="kw">protected List<SimplePathWaypoint> simpleWaypoints;
class="kw">protected WorldPath() {
}
class="kw">public WorldPath(String var1, List<Transform> var2) {
this.id = UUID.randomUUID();
this.name = var1;
this.waypoints = var2;
}
@Override
class="kw">public UUID getId() {
class="kw">return this.id;
}
@Override
class="kw">public String getName() {
class="kw">return this.name;
}
@Nonnull
@Override
class="kw">public List<SimplePathWaypoint> getPathWaypoints() {
if (this.simpleWaypoints == null || this.simpleWaypoints.size() != this.waypoints.size()) {
this.simpleWaypoints = new ObjectArrayList();
for (short var1 = 0; var1 < this.waypoints.size(); var1++) {
this.simpleWaypoints.add(new SimplePathWaypoint(var1, this.waypoints.get(var1)));
}
}
this.simpleWaypoints = Collections.unmodifiableList(this.simpleWaypoints);
class="kw">return this.simpleWaypoints;
}
@Override
class="kw">public int length() {
class="kw">return this.waypoints.size();
}
class="kw">public SimplePathWaypoint get(int var1) {
List var2 = this.getPathWaypoints();
class="kw">return var2.get(var1);
}
class="kw">public List<Transform> getWaypoints() {
class="kw">return this.waypoints;
}
@Nonnull
@Override
class="kw">public String toString() {
class="kw">return "WorldPath{name='" + this.name + "', waypoints=" + this.waypoints + "}";
}
}