WorldPathData class

Пакет: com.hypixel.hytale.builtin.path

Файл: com/hypixel/hytale/builtin/path/WorldPathData.java

implements: Resource<EntityStore>

Поля (10)

МодификаторыТипИмя
final Int2ObjectMap<PrefabPathCollection> prefabPaths
ObjectArrayList var1
PrefabPathCollection var3
IPrefabPath var3
PrefabPathCollection var4
PrefabPathCollection var4
PrefabPathCollection var4
PrefabPathCollection var5
IPrefabPath var5
PrefabPathCollection var6

Методы (8)

МодификаторыВозвратСигнатура
abstract throw new UnsupportedOperationExceptionthrow new UnsupportedOperationException("Not implemented!")
public void compactPrefabPathvoid compactPrefabPath(int var1, UUID var2)
public IPrefabPath getOrConstructPrefabPathIPrefabPath getOrConstructPrefabPath(int var1, @Nonnull UUID var2, @Nonnull String var3, @Nonnull Int2ObjectConcurrentHashMap.IntBiObjFunction<UUID, String, IPrefabPath> var4)
static ResourceType<EntityStore, WorldPathData> getResourceTypeResourceType<EntityStore, WorldPathData> getResourceType()
if if(var3 != null)
public void removePrefabPathvoid removePrefabPath(int var1, UUID var2)
public void removePrefabPathWaypointvoid removePrefabPathWaypoint(int var1, UUID var2, int var3)
public void unloadPrefabPathWaypointvoid unloadPrefabPathWaypoint(int var1, UUID var2, int var3)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.path;

class="kw">import com.hypixel.fastutil.ints.Int2ObjectConcurrentHashMap;
class="kw">import com.hypixel.hytale.builtin.path.path.IPrefabPath;
class="kw">import com.hypixel.hytale.component.ComponentAccessor;
class="kw">import com.hypixel.hytale.component.Resource;
class="kw">import com.hypixel.hytale.component.ResourceType;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
class="kw">import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap;
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.Set;
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 WorldPathData class="kw">implements Resource<EntityStore> {
   class="kw">private class="kw">final Int2ObjectMap<PrefabPathCollection> prefabPaths = new Int2ObjectOpenHashMap();

   class="kw">public WorldPathData() {
   }

   class="kw">public class="kw">static ResourceType<EntityStore, WorldPathData> getResourceType() {
      class="kw">return PathPlugin.get().getWorldPathDataResourceType();
   }

   @Nullable
   class="kw">public IPrefabPath getNearestPrefabPath(int var1, int var2, @Nonnull Vector3d var3, Set<UUID> var4, @Nonnull ComponentAccessor<EntityStore> var5) {
      PrefabPathCollection var6 = this.getPrefabPathCollection(var1);
      class="kw">return var6.getNearestPrefabPath(var2, var3, var4, var5);
   }

   @Nullable
   class="kw">public IPrefabPath getNearestPrefabPath(int var1, @Nonnull Vector3d var2, Set<UUID> var3, @Nonnull ComponentAccessor<EntityStore> var4) {
      class="kw">return this.getPrefabPathCollection(var1).getNearestPrefabPath(var2, var3, var4);
   }

   class="kw">public IPrefabPath getOrConstructPrefabPath(
      int var1, @Nonnull UUID var2, @Nonnull String var3, @Nonnull Int2ObjectConcurrentHashMap.IntBiObjFunction<UUID, String, IPrefabPath> var4
   ) {
      PrefabPathCollection var5 = this.getPrefabPathCollection(var1);
      class="kw">return var5.getOrConstructPath(var2, var3, var4);
   }

   class="kw">public void removePrefabPathWaypoint(int var1, UUID var2, int var3) {
      PrefabPathCollection var4 = this.getPrefabPathCollection(var1);
      var4.removePathWaypoint(var2, var3);
      if (var4.isEmpty()) {
         this.prefabPaths.remove(var1);
      }
   }

   class="kw">public void unloadPrefabPathWaypoint(int var1, UUID var2, int var3) {
      PrefabPathCollection var4 = this.getPrefabPathCollection(var1);
      var4.unloadPathWaypoint(var2, var3);
      if (var4.isEmpty()) {
         this.prefabPaths.remove(var1);
      }
   }

   class="kw">public void removePrefabPath(int var1, UUID var2) {
      PrefabPathCollection var3 = this.getPrefabPathCollection(var1);
      var3.removePath(var2);
      if (var3.isEmpty()) {
         this.prefabPaths.remove(var1);
      }
   }

   @Nullable
   class="kw">public IPrefabPath getPrefabPath(int var1, UUID var2, boolean var3) {
      PrefabPathCollection var4 = this.getPrefabPathCollection(var1);
      IPrefabPath var5 = var4.getPath(var2);
      class="kw">return var3 || var5 != null && var5.isFullyLoaded() ? var5 : null;
   }

   class="kw">public void compactPrefabPath(int var1, UUID var2) {
      IPrefabPath var3 = this.getPrefabPath(var1, var2, true);
      if (var3 != null) {
         var3.compact(var1);
      }
   }

   @Nonnull
   class="kw">public List<IPrefabPath> getAllPrefabPaths() {
      ObjectArrayList var1 = new ObjectArrayList();
      this.prefabPaths.forEach((var1x, var2) -> var2.forEach((var1xx, var2x) -> var1.add(var2x)));
      class="kw">return Collections.unmodifiableList(var1);
   }

   @Nonnull
   class="kw">public PrefabPathCollection getPrefabPathCollection(int var1) {
      class="kw">return (PrefabPathCollection)this.prefabPaths.computeIfAbsent(var1, PrefabPathCollection::new);
   }

   @Override
   class="kw">public Resource<EntityStore> clone() {
      throw new UnsupportedOperationException("Not implemented!");
   }
}