From 58b2aab4746e91a03e5f67b9f8b864ca0d21aaba Mon Sep 17 00:00:00 2001 From: 0x277F <0x277F@gmail.com> Date: Wed, 9 Mar 2016 20:14:05 -0700 Subject: SPIGOT-1571: Add Entity Glide Events. --- src/main/java/org/bukkit/entity/LivingEntity.java | 15 +++++++ .../event/entity/EntityToggleGlideEvent.java | 50 ++++++++++++++++++++++ 2 files changed, 65 insertions(+) create mode 100644 src/main/java/org/bukkit/event/entity/EntityToggleGlideEvent.java (limited to 'src/main/java/org') diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java index 46347b9c..3582d2ff 100644 --- a/src/main/java/org/bukkit/entity/LivingEntity.java +++ b/src/main/java/org/bukkit/entity/LivingEntity.java @@ -366,4 +366,19 @@ public interface LivingEntity extends Attributable, Entity, Damageable, Projecti * @return whether the operation was successful */ public boolean setLeashHolder(Entity holder); + + /** + * Checks to see if an entity is gliding, such as using an Elytra. + * @return True if this entity is gliding. + */ + public boolean isGliding(); + + /** + * Makes entity start or stop gliding. This will work even if an Elytra + * is not equipped, but will be reverted by the server immediately after + * unless an event-cancelling mechanism is put in place. + * @param gliding True if the entity is gliding. + */ + public void setGliding(boolean gliding); + } diff --git a/src/main/java/org/bukkit/event/entity/EntityToggleGlideEvent.java b/src/main/java/org/bukkit/event/entity/EntityToggleGlideEvent.java new file mode 100644 index 00000000..67fbf8fb --- /dev/null +++ b/src/main/java/org/bukkit/event/entity/EntityToggleGlideEvent.java @@ -0,0 +1,50 @@ +package org.bukkit.event.entity; + +import org.bukkit.entity.LivingEntity; +import org.bukkit.event.Cancellable; +import org.bukkit.event.HandlerList; + +/** + * Sent when an entity's gliding status is toggled with an Elytra. + * Examples of when this event would be called: + *