mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-30 16:19:03 +01:00
928bcc8d3a
Upstream has released updates that appear 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: 09943450 Update SnakeYAML version 5515734f SPIGOT-7162: Incorrect description for Entity#getVehicle javadoc 6f82b381 PR-788: Add getHand() to all relevant events CraftBukkit Changes: aaf484f6f SPIGOT-7163: CraftMerchantRecipe doesn't copy demand and specialPrice from BukkitMerchantRecipe 5329dd6fd PR-1107: Add getHand() to all relevant events 93061706e SPIGOT-7045: Ocelots never spawn with babies with spawn reason OCELOT_BABY
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 c29846df0469535870e1743eee25325a4f092a6d..63b39fe0f2c8c529e289c69969588a98dd7fc758 100644
|
|
--- a/src/main/java/org/bukkit/entity/LivingEntity.java
|
|
+++ b/src/main/java/org/bukkit/entity/LivingEntity.java
|
|
@@ -152,6 +152,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
|
|
|
|
/**
|