Entity Origin API

This commit is contained in:
Byteflux 2016-02-29 17:50:31 -06:00
parent 05ec73f817
commit 0cf4a9a62e
3 changed files with 32 additions and 0 deletions

View File

@ -791,5 +791,15 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent
default net.kyori.adventure.text.event.HoverEvent<net.kyori.adventure.text.event.HoverEvent.ShowEntity> asHoverEvent(final @NotNull java.util.function.UnaryOperator<net.kyori.adventure.text.event.HoverEvent.ShowEntity> op) { default net.kyori.adventure.text.event.HoverEvent<net.kyori.adventure.text.event.HoverEvent.ShowEntity> asHoverEvent(final @NotNull java.util.function.UnaryOperator<net.kyori.adventure.text.event.HoverEvent.ShowEntity> op) {
return net.kyori.adventure.text.event.HoverEvent.showEntity(op.apply(net.kyori.adventure.text.event.HoverEvent.ShowEntity.of(this.getType().getKey(), this.getUniqueId(), this.customName()))); return net.kyori.adventure.text.event.HoverEvent.showEntity(op.apply(net.kyori.adventure.text.event.HoverEvent.ShowEntity.of(this.getType().getKey(), this.getUniqueId(), this.customName())));
} }
/**
* Gets the location where this entity originates from.
* <p>
* This value can be null if the entity hasn't yet been added to the world.
*
* @return Location where entity originates or null if not yet added
*/
@Nullable
Location getOrigin();
// Paper end // Paper end
} }

View File

@ -126,4 +126,15 @@ public interface FallingBlock extends Entity {
* @param damage the max damage to set. Must be >= 0 * @param damage the max damage to set. Must be >= 0
*/ */
void setMaxDamage(int damage); void setMaxDamage(int damage);
/**
* Gets the source block location of the FallingBlock
*
* @return the source block location the FallingBlock was spawned from
* @deprecated replaced by {@link Entity#getOrigin()}
*/
@Deprecated
default org.bukkit.Location getSourceLoc() {
return this.getOrigin();
}
} }

View File

@ -53,4 +53,15 @@ public interface TNTPrimed extends Explosive {
* @param source the source of this primed TNT * @param source the source of this primed TNT
*/ */
public void setSource(@Nullable Entity source); public void setSource(@Nullable Entity source);
/**
* Gets the source block location of the TNTPrimed
*
* @return the source block location the TNTPrimed was spawned from
* @deprecated replaced by {@link Entity#getOrigin()}
*/
@Deprecated
default org.bukkit.Location getSourceLoc() {
return this.getOrigin();
}
} }