geforkt von Mirrors/Paper
100 Zeilen
3.0 KiB
Diff
100 Zeilen
3.0 KiB
Diff
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||
|
From: BillyGalbreath <blake.galbreath@gmail.com>
|
||
|
Date: Fri, 14 May 2021 13:42:06 -0500
|
||
|
Subject: [PATCH] Add Mob#lookAt API
|
||
|
|
||
|
|
||
|
diff --git a/src/main/java/org/bukkit/entity/Mob.java b/src/main/java/org/bukkit/entity/Mob.java
|
||
|
index d726453c041a980576312b6bee96a07837f37974..7d4ce660adb21e579e564796568945ee20f0ca59 100644
|
||
|
--- a/src/main/java/org/bukkit/entity/Mob.java
|
||
|
+++ b/src/main/java/org/bukkit/entity/Mob.java
|
||
|
@@ -23,6 +23,88 @@ public interface Mob extends LivingEntity, Lootable {
|
||
|
* @return True if mob is exposed to daylight
|
||
|
*/
|
||
|
boolean isInDaylight();
|
||
|
+
|
||
|
+ /**
|
||
|
+ * Instruct this Mob to look at a specific Location
|
||
|
+ * <p>
|
||
|
+ * Useful when implementing custom mob goals
|
||
|
+ *
|
||
|
+ * @param location location to look at
|
||
|
+ */
|
||
|
+ void lookAt(@NotNull org.bukkit.Location location);
|
||
|
+
|
||
|
+ /**
|
||
|
+ * Instruct this Mob to look at a specific Location
|
||
|
+ * <p>
|
||
|
+ * Useful when implementing custom mob goals
|
||
|
+ *
|
||
|
+ * @param location location to look at
|
||
|
+ * @param headRotationSpeed head rotation speed
|
||
|
+ * @param maxHeadPitch max head pitch rotation
|
||
|
+ */
|
||
|
+ void lookAt(@NotNull org.bukkit.Location location, float headRotationSpeed, float maxHeadPitch);
|
||
|
+
|
||
|
+ /**
|
||
|
+ * Instruct this Mob to look at a specific Entity
|
||
|
+ * <p>
|
||
|
+ * If a LivingEntity, look at eye location
|
||
|
+ * <p>
|
||
|
+ * Useful when implementing custom mob goals
|
||
|
+ *
|
||
|
+ * @param entity entity to look at
|
||
|
+ */
|
||
|
+ void lookAt(@NotNull Entity entity);
|
||
|
+
|
||
|
+ /**
|
||
|
+ * Instruct this Mob to look at a specific Entity
|
||
|
+ * <p>
|
||
|
+ * If a LivingEntity, look at eye location
|
||
|
+ * <p>
|
||
|
+ * Useful when implementing custom mob goals
|
||
|
+ *
|
||
|
+ * @param entity entity to look at
|
||
|
+ * @param headRotationSpeed head rotation speed
|
||
|
+ * @param maxHeadPitch max head pitch rotation
|
||
|
+ */
|
||
|
+ void lookAt(@NotNull Entity entity, float headRotationSpeed, float maxHeadPitch);
|
||
|
+
|
||
|
+ /**
|
||
|
+ * Instruct this Mob to look at a specific position
|
||
|
+ * <p>
|
||
|
+ * Useful when implementing custom mob goals
|
||
|
+ *
|
||
|
+ * @param x x coordinate
|
||
|
+ * @param y y coordinate
|
||
|
+ * @param z z coordinate
|
||
|
+ */
|
||
|
+ void lookAt(double x, double y, double z);
|
||
|
+
|
||
|
+ /**
|
||
|
+ * Instruct this Mob to look at a specific position
|
||
|
+ * <p>
|
||
|
+ * Useful when implementing custom mob goals
|
||
|
+ *
|
||
|
+ * @param x x coordinate
|
||
|
+ * @param y y coordinate
|
||
|
+ * @param z z coordinate
|
||
|
+ * @param headRotationSpeed head rotation speed
|
||
|
+ * @param maxHeadPitch max head pitch rotation
|
||
|
+ */
|
||
|
+ void lookAt(double x, double y, double z, float headRotationSpeed, float maxHeadPitch);
|
||
|
+
|
||
|
+ /**
|
||
|
+ * Gets the head rotation speed
|
||
|
+ *
|
||
|
+ * @return the head rotation speed
|
||
|
+ */
|
||
|
+ int getHeadRotationSpeed();
|
||
|
+
|
||
|
+ /**
|
||
|
+ * Gets the max head pitch rotation
|
||
|
+ *
|
||
|
+ * @return the max head pitch rotation
|
||
|
+ */
|
||
|
+ int getMaxHeadPitch();
|
||
|
// Paper end
|
||
|
|
||
|
/**
|