diff options
Diffstat (limited to 'patches/api/0309-Add-more-line-of-sight-methods.patch')
-rw-r--r-- | patches/api/0309-Add-more-line-of-sight-methods.patch | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/patches/api/0309-Add-more-line-of-sight-methods.patch b/patches/api/0309-Add-more-line-of-sight-methods.patch new file mode 100644 index 0000000000..3a53cfffbb --- /dev/null +++ b/patches/api/0309-Add-more-line-of-sight-methods.patch @@ -0,0 +1,48 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: TwoLeggedCat <[email protected]> +Date: Sat, 29 May 2021 14:33:18 -0500 +Subject: [PATCH] Add more line of sight methods + + +diff --git a/src/main/java/org/bukkit/RegionAccessor.java b/src/main/java/org/bukkit/RegionAccessor.java +index aa534b1a9a1fb84a2fbd4b372f313bb4b63325fa..43b53c21af01e0f496c8aaacff82dfdfadaf40f6 100644 +--- a/src/main/java/org/bukkit/RegionAccessor.java ++++ b/src/main/java/org/bukkit/RegionAccessor.java +@@ -392,5 +392,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 + } +diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java +index a6c0b5e55adadd78619d251d979e9e46068a637e..d47706a915ae1bfaa3187a83cb6d35ea202c03d0 100644 +--- a/src/main/java/org/bukkit/entity/LivingEntity.java ++++ b/src/main/java/org/bukkit/entity/LivingEntity.java +@@ -484,6 +484,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> |