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!");
}
}