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