mirror of
https://github.com/PaperMC/Paper.git
synced 2024-11-30 04:02:50 +01:00
899bc53b79
Upstream has released updates that appears to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Bukkit Changes: f47abd88 SPIGOT-6242: Fix some file line endings de96535b SPIGOT-6234: enum classes don't serialize properly when implementing ConfigurationSerializable CraftBukkit Changes: 4475707d SPIGOT-6244: /spawnpoint ignores angle 8b3b096d SPIGOT-6242: Fix some file line endings 4b33c749 SPIGOT-6186: Canceling a CreatureSpawnEvent results in a "Unable to summon entity due to duplicate UUIDs" error 2b3ca726 SPIGOT-6236: Vehicle passenger portal cooldown does not change
105 lines
3.6 KiB
Diff
105 lines
3.6 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: BillyGalbreath <Blake.Galbreath@GMail.com>
|
|
Date: Sat, 22 Sep 2018 00:32:53 -0500
|
|
Subject: [PATCH] Add LivingEntity#getTargetEntity
|
|
|
|
|
|
diff --git a/src/main/java/com/destroystokyo/paper/entity/TargetEntityInfo.java b/src/main/java/com/destroystokyo/paper/entity/TargetEntityInfo.java
|
|
new file mode 100644
|
|
index 0000000000000000000000000000000000000000..f52644fab1522bdf83ff4f489e9805b274421094
|
|
--- /dev/null
|
|
+++ b/src/main/java/com/destroystokyo/paper/entity/TargetEntityInfo.java
|
|
@@ -0,0 +1,38 @@
|
|
+package com.destroystokyo.paper.entity;
|
|
+
|
|
+import org.bukkit.entity.Entity;
|
|
+import org.bukkit.util.Vector;
|
|
+import org.jetbrains.annotations.NotNull;
|
|
+
|
|
+/**
|
|
+ * Represents information about a targeted entity
|
|
+ */
|
|
+public class TargetEntityInfo {
|
|
+ private final Entity entity;
|
|
+ private final Vector hitVec;
|
|
+
|
|
+ public TargetEntityInfo(@NotNull Entity entity, @NotNull Vector hitVec) {
|
|
+ this.entity = entity;
|
|
+ this.hitVec = hitVec;
|
|
+ }
|
|
+
|
|
+ /**
|
|
+ * Get the entity that is targeted
|
|
+ *
|
|
+ * @return Targeted entity
|
|
+ */
|
|
+ @NotNull
|
|
+ public Entity getEntity() {
|
|
+ return entity;
|
|
+ }
|
|
+
|
|
+ /**
|
|
+ * Get the position the entity is targeted at
|
|
+ *
|
|
+ * @return Targeted position
|
|
+ */
|
|
+ @NotNull
|
|
+ public Vector getHitVector() {
|
|
+ return hitVec;
|
|
+ }
|
|
+}
|
|
diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java
|
|
index 8fe7ccf12339355554835542cc1068d9f6c3a435..561db9d594633e3909fd6d69dad1dc2976928d58 100644
|
|
--- a/src/main/java/org/bukkit/entity/LivingEntity.java
|
|
+++ b/src/main/java/org/bukkit/entity/LivingEntity.java
|
|
@@ -151,6 +151,50 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
|
|
*/
|
|
@Nullable
|
|
public com.destroystokyo.paper.block.TargetBlockInfo getTargetBlockInfo(int maxDistance, @NotNull com.destroystokyo.paper.block.TargetBlockInfo.FluidMode fluidMode);
|
|
+
|
|
+ /**
|
|
+ * Gets information about the entity being targeted
|
|
+ *
|
|
+ * @param maxDistance this is the maximum distance to scan
|
|
+ * @return entity being targeted, or null if no entity is targeted
|
|
+ */
|
|
+ @Nullable
|
|
+ public default Entity getTargetEntity(int maxDistance) {
|
|
+ return getTargetEntity(maxDistance, false);
|
|
+ }
|
|
+
|
|
+ /**
|
|
+ * Gets information about the entity being targeted
|
|
+ *
|
|
+ * @param maxDistance this is the maximum distance to scan
|
|
+ * @param ignoreBlocks true to scan through blocks
|
|
+ * @return entity being targeted, or null if no entity is targeted
|
|
+ */
|
|
+ @Nullable
|
|
+ public Entity getTargetEntity(int maxDistance, boolean ignoreBlocks);
|
|
+
|
|
+ /**
|
|
+ * Gets information about the entity being targeted
|
|
+ *
|
|
+ * @param maxDistance this is the maximum distance to scan
|
|
+ * @return TargetEntityInfo about the entity being targeted,
|
|
+ * or null if no entity is targeted
|
|
+ */
|
|
+ @Nullable
|
|
+ public default com.destroystokyo.paper.entity.TargetEntityInfo getTargetEntityInfo(int maxDistance) {
|
|
+ return getTargetEntityInfo(maxDistance, false);
|
|
+ }
|
|
+
|
|
+ /**
|
|
+ * Gets information about the entity being targeted
|
|
+ *
|
|
+ * @param maxDistance this is the maximum distance to scan
|
|
+ * @param ignoreBlocks true to scan through blocks
|
|
+ * @return TargetEntityInfo about the entity being targeted,
|
|
+ * or null if no entity is targeted
|
|
+ */
|
|
+ @Nullable
|
|
+ public com.destroystokyo.paper.entity.TargetEntityInfo getTargetEntityInfo(int maxDistance, boolean ignoreBlocks);
|
|
// Paper end
|
|
|
|
/**
|