Interface PositionedRayTraceConfigurationBuilder


@NullMarked public interface PositionedRayTraceConfigurationBuilder
A builder for configuring a raytrace with a starting location and direction.
Since:
1.21.4
  • Method Details

    • start

      @Contract(value="_ -> this", mutates="this") PositionedRayTraceConfigurationBuilder start(Location start)
      Sets the starting location.
      Parameters:
      start - the new starting location
      Returns:
      a reference to this object
      Since:
      1.21.4
    • direction

      @Contract(value="_ -> this", mutates="this") PositionedRayTraceConfigurationBuilder direction(Vector direction)
      Sets the direction.
      Parameters:
      direction - the new direction
      Returns:
      a reference to this object
      Since:
      1.21.4
    • maxDistance

      @Contract(value="_ -> this", mutates="this") PositionedRayTraceConfigurationBuilder maxDistance(@NonNegative double maxDistance)
      Sets the maximum distance.
      Parameters:
      maxDistance - the new maxDistance
      Returns:
      a reference to this object
      Since:
      1.21.4
    • fluidCollisionMode

      @Contract(value="_ -> this", mutates="this") PositionedRayTraceConfigurationBuilder fluidCollisionMode(FluidCollisionMode fluidCollisionMode)
      Sets the FluidCollisionMode when looking for block collisions.
      Parameters:
      fluidCollisionMode - the new FluidCollisionMode
      Returns:
      a reference to this object
      Since:
      1.21.4
    • blockCollisionMode

      @Contract(value="_ -> this", mutates="this") PositionedRayTraceConfigurationBuilder blockCollisionMode(BlockCollisionMode blockCollisionMode)
      Sets the BlockCollisionMode when looking for block collisions.
      Parameters:
      blockCollisionMode - the new BlockCollisionMode
      Returns:
      a reference to this object
      Since:
      1.21.11
    • ignorePassableBlocks

      @Contract(value="_ -> this", mutates="this") PositionedRayTraceConfigurationBuilder ignorePassableBlocks(boolean ignorePassableBlocks)
      Sets whether the raytrace should ignore passable blocks when looking for block collisions.
      Parameters:
      ignorePassableBlocks - if the raytrace should ignore passable blocks
      Returns:
      a reference to this object
      Since:
      1.21.4
    • raySize

      @Contract(value="_ -> this", mutates="this") PositionedRayTraceConfigurationBuilder raySize(@NonNegative double raySize)
      Sets the size of the raytrace when looking for entity collisions.
      Parameters:
      raySize - the new raytrace size
      Returns:
      a reference to this object
      Since:
      1.21.4
    • entityFilter

      @Contract(value="_ -> this", mutates="this") PositionedRayTraceConfigurationBuilder entityFilter(Predicate<? super Entity> entityFilter)
      Sets the current entity filter when looking for entity collisions.
      Parameters:
      entityFilter - predicate for entities the ray can potentially collide with
      Returns:
      a reference to this object
      Since:
      1.21.4
    • blockFilter

      @Contract(value="_ -> this", mutates="this") PositionedRayTraceConfigurationBuilder blockFilter(Predicate<? super Block> blockFilter)
      Sets the current block filter when looking for block collisions.
      Parameters:
      blockFilter - predicate for blocks the ray can potentially collide with
      Returns:
      a reference to this object
      Since:
      1.21.4
    • targets

      @Contract(value="_, _ -> this", mutates="this") PositionedRayTraceConfigurationBuilder targets(RayTraceTarget first, RayTraceTarget... others)
      Sets the targets for the rayTrace.
      Parameters:
      first - the first target
      others - the other targets
      Returns:
      a reference to this object
      Since:
      1.21.4