classpublicPriority 3
FlatMapQuery
com.hypixel.hytale.builtin.portals.utils.posqueries.predicates.generic.FlatMapQuery
implements SpatialQuery
1
Methods
1
Public Methods
2
Fields
1
Constructors
Constructors
public
FlatMapQuery(SpatialQuery generator, SpatialQuery expand)Methods
Public Methods (1)
public
Stream<Vector3d> createCandidates(World world, Vector3d origin, SpatialQueryDebug debug)@Override
Fields
Private/Package Fields (2)
private
SpatialQuery expandprivate
SpatialQuery generatorInheritance
Parent
Current
Interface
Child
Use mouse wheel to zoom, drag to pan. Click nodes to navigate.
Related Classes
Source Code
package com.hypixel.hytale.builtin.portals.utils.posqueries.predicates.generic;
import com.hypixel.hytale.builtin.portals.utils.posqueries.SpatialQuery;
import com.hypixel.hytale.builtin.portals.utils.posqueries.SpatialQueryDebug;
import com.hypixel.hytale.math.vector.Vector3d;
import com.hypixel.hytale.server.core.universe.world.World;
import java.util.stream.Stream;
import javax.annotation.Nullable;
public class FlatMapQuery implements SpatialQuery {
private final SpatialQuery generator;
private final SpatialQuery expand;
public FlatMapQuery(SpatialQuery generator, SpatialQuery expand) {
this.generator = generator;
this.expand = expand;
}
@Override
public Stream<Vector3d> createCandidates(World world, Vector3d origin, @Nullable SpatialQueryDebug debug) {
return this.generator.createCandidates(world, origin, debug).flatMap(candidate -> {
Stream<Vector3d> candidates = this.expand.createCandidates(world, candidate, debug);
if (debug != null) {
debug.indent("Flat-map expand from " + debug.fmt(candidate) + ":");
return Stream.concat(candidates, Stream.of((Vector3d)null).peek(x -> debug.unindent()).flatMap(x -> Stream.empty()));
} else {
return candidates;
}
});
}
}