public abstract class AbstractRayBuilder<T extends AbstractRayBuilder<T,R>,R extends AbstractRay<? extends AbstractRayResult<?>>> extends Object
| Modifier and Type | Field and Description | 
|---|---|
protected int | 
maxDistance  | 
protected Location | 
position  | 
protected Vector | 
vector  | 
protected World | 
w  | 
| Constructor and Description | 
|---|
AbstractRayBuilder(Location position,
                  @Nullable Entity entity)
Create a new RayBuilder 
 | 
AbstractRayBuilder(Location position,
                  Vector vector)
Create a new RayBuilder 
 | 
AbstractRayBuilder(Player p)
Create a new RayBuilder 
 | 
| Modifier and Type | Method and Description | 
|---|---|
abstract R | 
build()
Build BlockRay 
Warn: this method have to be runned as sync.  | 
T | 
maxDistance(int max)
Change the max ray distance 
 | 
T | 
vector(Vector vec)
Edit the vector which correspond to ray direction 
 | 
protected final World w
protected final Location position
protected Vector vector
protected int maxDistance
public AbstractRayBuilder(Location position, @Nullable Entity entity)
position - the started position of rayentity - which will give the rotation (and so the vector)public AbstractRayBuilder(Player p)
p - the player where the ray startpublic T vector(Vector vec)
vec - the new direction vectorpublic T maxDistance(int max)
max - the max distance of raypublic abstract R build()