mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-28 07:20:24 +01:00
Add LivingEntity#getTargetEntity
This commit is contained in:
parent
63821bf96b
commit
51b4b8a059
2 changed files with 111 additions and 0 deletions
|
@ -0,0 +1,40 @@
|
|||
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
|
||||
* @deprecated use {@link org.bukkit.util.RayTraceResult}
|
||||
*/
|
||||
@Deprecated(forRemoval = true, since = "1.19.3")
|
||||
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;
|
||||
}
|
||||
}
|
|
@ -175,6 +175,77 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
|
|||
@Deprecated(forRemoval = true, since = "1.19.3")
|
||||
@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
|
||||
* @deprecated use {@link #rayTraceEntities(int)}
|
||||
*/
|
||||
@Deprecated(forRemoval = true, since = "1.19.3")
|
||||
@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
|
||||
* @return RayTraceResult about the entity being targeted,
|
||||
* or null if no entity is targeted
|
||||
*/
|
||||
@Nullable
|
||||
default RayTraceResult rayTraceEntities(int maxDistance) {
|
||||
return this.rayTraceEntities(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
|
||||
* @deprecated use {@link #rayTraceEntities(int, boolean)}
|
||||
*/
|
||||
@Deprecated(forRemoval = true, since = "1.19.3")
|
||||
@Nullable
|
||||
public com.destroystokyo.paper.entity.TargetEntityInfo getTargetEntityInfo(int maxDistance, boolean ignoreBlocks);
|
||||
|
||||
/**
|
||||
* Gets information about the entity being targeted
|
||||
*
|
||||
* @param maxDistance this is the maximum distance to scan
|
||||
* @param ignoreBlocks true to scan through blocks
|
||||
* @return RayTraceResult about the entity being targeted,
|
||||
* or null if no entity is targeted
|
||||
*/
|
||||
@Nullable
|
||||
RayTraceResult rayTraceEntities(int maxDistance, boolean ignoreBlocks);
|
||||
// Paper end
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in a new issue