Add more line of sight methods

This commit is contained in:
TwoLeggedCat 2021-05-29 14:33:18 -05:00
parent efcb04d753
commit 0f0e14fad5
2 changed files with 21 additions and 0 deletions

View file

@ -461,5 +461,13 @@ public interface RegionAccessor extends Keyed { // Paper
@NotNull
@Override
NamespacedKey getKey();
/**
* Tell whether a line of sight exists between the given locations
* @param from Location to start at
* @param to target Location
* @return whether a line of sight exists between {@code from} and {@code to}
*/
public boolean lineOfSightExists(@NotNull Location from, @NotNull Location to);
// Paper end
}

View file

@ -622,6 +622,19 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
*/
public boolean hasLineOfSight(@NotNull Entity other);
// Paper start
/**
* Checks whether the living entity has block line of sight to the given block.
* <p>
* This uses the same algorithm that hostile mobs use to find the closest
* player.
*
* @param location the location to determine line of sight to
* @return true if there is a line of sight, false if not
*/
public boolean hasLineOfSight(@NotNull Location location);
// Paper end
/**
* Returns if the living entity despawns when away from players or not.
* <p>