Files
Purpur/patches/api/0018-Add-entity-jump-API.patch
William Blake Galbreath ea1b41e33f Add entity jump API
2019-10-18 23:36:37 -05:00

93 lines
2.8 KiB
Diff

From dbcdb8b288e4323f62ce4da37a339a7a3335aed1 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Fri, 18 Oct 2019 23:34:38 -0500
Subject: [PATCH] Add entity jump API
---
.../purpur/event/entity/EntityJumpEvent.java | 41 +++++++++++++++++++
.../java/org/bukkit/entity/LivingEntity.java | 21 ++++++++++
2 files changed, 62 insertions(+)
create mode 100644 src/main/java/net/pl3x/purpur/event/entity/EntityJumpEvent.java
diff --git a/src/main/java/net/pl3x/purpur/event/entity/EntityJumpEvent.java b/src/main/java/net/pl3x/purpur/event/entity/EntityJumpEvent.java
new file mode 100644
index 000000000..3f11fb0ab
--- /dev/null
+++ b/src/main/java/net/pl3x/purpur/event/entity/EntityJumpEvent.java
@@ -0,0 +1,41 @@
+package net.pl3x.purpur.event.entity;
+
+import org.bukkit.entity.LivingEntity;
+import org.bukkit.event.Cancellable;
+import org.bukkit.event.HandlerList;
+import org.bukkit.event.entity.EntityEvent;
+import org.jetbrains.annotations.NotNull;
+
+public class EntityJumpEvent extends EntityEvent implements Cancellable {
+ private static final HandlerList handlers = new HandlerList();
+ private boolean canceled;
+
+ public EntityJumpEvent(@NotNull LivingEntity entity) {
+ super(entity);
+ }
+
+ @Override
+ @NotNull
+ public LivingEntity getEntity() {
+ return (LivingEntity) entity;
+ }
+
+ public boolean isCancelled() {
+ return canceled;
+ }
+
+ public void setCancelled(boolean cancel) {
+ canceled = cancel;
+ }
+
+ @Override
+ @NotNull
+ public HandlerList getHandlers() {
+ return handlers;
+ }
+
+ @NotNull
+ public static HandlerList getHandlerList() {
+ return handlers;
+ }
+}
diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java
index 3a8961853..7196c1b79 100644
--- a/src/main/java/org/bukkit/entity/LivingEntity.java
+++ b/src/main/java/org/bukkit/entity/LivingEntity.java
@@ -710,5 +710,26 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
* @param canBeRiddenInWater Whether or not this entity can be ridden in water
*/
void setCanBeRiddenInWater(boolean canBeRiddenInWater);
+
+ /**
+ * Get entity jump state
+ * <p>
+ * Jump state will be true when the entity has been marked to jump
+ *
+ * @return Jump state
+ */
+ boolean isJumping();
+
+ /**
+ * Set entity jump state
+ * <p>
+ * Setting to true will mark the entity to jump
+ * <p>
+ * Setting to false will unmark the entity from jumping, but
+ * will not stop a jump that has already started
+ *
+ * @param jumping Jump state
+ */
+ void setJumping(boolean jumping);
// Purpur end
}
--
2.23.0.rc1