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 + "}";
   }
}