SpatialQuery interface
Пакет: com.hypixel.hytale.builtin.portals.utils.posqueries
Файл: com/hypixel/hytale/builtin/portals/utils/posqueries/SpatialQuery.java
Поля (2)
| Модификаторы | Тип | Имя |
|---|---|---|
|
SpatialQueryDebug |
var3 |
|
Optional |
var4 |
Методы (3)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
abstract |
return new |
FilterQueryreturn new FilterQuery(this, var1) |
abstract |
return new |
FlatMapQueryreturn new FlatMapQuery(this, var1) |
abstract |
throw new |
RuntimeExceptionthrow new RuntimeException("Error in SpatialQuery", var5) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.portals.utils.posqueries;
class="kw">import com.hypixel.hytale.builtin.portals.utils.posqueries.predicates.generic.FilterQuery;
class="kw">import com.hypixel.hytale.builtin.portals.utils.posqueries.predicates.generic.FlatMapQuery;
class="kw">import com.hypixel.hytale.logger.HytaleLogger;
class="kw">import com.hypixel.hytale.server.core.universe.world.World;
class="kw">import java.util.Optional;
class="kw">import java.util.logging.Level;
class="kw">import java.util.stream.Stream;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">import org.joml.Vector3d;
class="kw">public class="kw">interface SpatialQuery {
@Nonnull
Stream<Vector3d> createCandidates(@Nonnull World var1, @Nonnull Vector3d var2, @Nullable SpatialQueryDebug var3);
@Nonnull
class="kw">default SpatialQuery then(@Nonnull SpatialQuery var1) {
class="kw">return new FlatMapQuery(this, var1);
}
@Nonnull
class="kw">default SpatialQuery filter(@Nonnull PositionPredicate var1) {
class="kw">return new FilterQuery(this, var1);
}
@Nonnull
class="kw">default Optional<Vector3d> execute(@Nonnull World var1, @Nonnull Vector3d var2) {
class="kw">return this.createCandidates(var1, var2, null).findFirst();
}
@Nonnull
class="kw">default Optional<Vector3d> debug(@Nonnull World var1, @Nonnull Vector3d var2) {
try {
SpatialQueryDebug var3 = new SpatialQueryDebug();
Optional var4 = this.createCandidates(var1, var2, var3).findFirst();
var3.appendLine("-> OUTPUT: " + var4.map(SpatialQueryDebug::fmt).orElse("<null>"));
HytaleLogger.getLogger().at(Level.INFO).log("%s", var3.toString());
class="kw">return var4;
} catch (Throwable var5) {
((HytaleLogger.Api)HytaleLogger.getLogger().at(Level.SEVERE).withCause(var5)).log("Error in SpatialQuery");
throw new RuntimeException("Error in SpatialQuery", var5);
}
}
}