From bcf6c9b4668bc6328c419236371755f9302f0a46 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Fri, 18 Oct 2019 23:34:48 -0500 Subject: [PATCH] Add entity jump API --- .../java/net/minecraft/server/EntityLiving.java | 2 ++ .../craftbukkit/entity/CraftLivingEntity.java | 14 ++++++++++++++ 2 files changed, 16 insertions(+) diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java index 2136836748..b59b1ab19c 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -2556,8 +2556,10 @@ public abstract class EntityLiving extends Entity { } else if (this.aD()) { this.c(TagsFluid.LAVA); } else if ((this.onGround || this.Q > 0.0D && this.Q <= 0.4D) && this.jumpTicks == 0) { + if (new net.pl3x.purpur.event.entity.EntityJumpEvent(getBukkitLivingEntity()).callEvent()) { // Purpur this.jump(); this.jumpTicks = 10; + } // Purpur } } else { this.jumpTicks = 0; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java index ffd1372284..e408c89220 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -733,5 +733,19 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { public void setCanBeRiddenInWater(boolean canBeRiddenInWater) { getHandle().setCanBeRiddenInWater(canBeRiddenInWater); } + + @Override + public boolean isJumping() { + return getHandle().isJumping(); + } + + @Override + public void setJumping(boolean jumping) { + getHandle().setJumping(jumping); + if (jumping && getHandle() instanceof EntityInsentient) { + // this is needed to actually make a mob jump + ((EntityInsentient) getHandle()).getControllerJump().jump(); + } + } // Purpur end } -- 2.24.0.rc1