mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-02 13:07:06 +01:00
243d2313b9
Upstream has released updates that appears to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Bukkit Changes: 323d6ca3 #535: Add EntityCategory API to LivingEntity 7d3323d8 #526: Add Block#applyBoneMeal() CraftBukkit Changes:bf451617
SPIGOT-6109: Improve loot handlingbfea4559
SPIGOT-6111: NPE in CraftHumanEntity#openWorkbench & CraftHumanEntity#openEnchantingee7116b4
Add note to CONTRIBUTING.md to suggest keeping commit messages / titles the sameeae15943
#721: Add EntityCategory API to LivingEntity8c611560
#702: Add Block#applyBoneMeal()8408de02
#716: Fix barrel open API playing sound twice74b6982b
#711: Add Full RGB support to the console
60 lines
3 KiB
Diff
60 lines
3 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: BillyGalbreath <Blake.Galbreath@GMail.com>
|
|
Date: Sat, 8 Feb 2020 23:26:11 -0600
|
|
Subject: [PATCH] Entity Jump API
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
|
|
index fede5e527a6f19243a25567e378ceebf79e118d6..0cce4dabcfc6bd2ad99d59597d4cddd98276bb8d 100644
|
|
--- a/src/main/java/net/minecraft/server/EntityLiving.java
|
|
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
|
|
@@ -2752,8 +2752,10 @@ public abstract class EntityLiving extends Entity {
|
|
} else if (this.aP() && (!this.onGround || d7 > d8)) {
|
|
this.c((Tag) TagsFluid.LAVA);
|
|
} else if ((this.onGround || flag && d7 <= d8) && this.jumpTicks == 0) {
|
|
+ if (new com.destroystokyo.paper.event.entity.EntityJumpEvent(getBukkitLivingEntity()).callEvent()) { // Paper
|
|
this.jump();
|
|
this.jumpTicks = 10;
|
|
+ } else { this.setJumping(false); } // Paper - setJumping(false) stops a potential loop
|
|
}
|
|
} else {
|
|
this.jumpTicks = 0;
|
|
diff --git a/src/main/java/net/minecraft/server/EntityPanda.java b/src/main/java/net/minecraft/server/EntityPanda.java
|
|
index ed8c0073f0c938c2ee8ed0dad2afda21a115b67d..01cc3d94d3fe1f82c94abdfcc92b0d3bc26f2fea 100644
|
|
--- a/src/main/java/net/minecraft/server/EntityPanda.java
|
|
+++ b/src/main/java/net/minecraft/server/EntityPanda.java
|
|
@@ -435,7 +435,9 @@ public class EntityPanda extends EntityAnimal {
|
|
EntityPanda entitypanda = (EntityPanda) iterator.next();
|
|
|
|
if (!entitypanda.isBaby() && entitypanda.onGround && !entitypanda.isInWater() && entitypanda.fh()) {
|
|
+ if (new com.destroystokyo.paper.event.entity.EntityJumpEvent(getBukkitLivingEntity()).callEvent()) { // Paper
|
|
entitypanda.jump();
|
|
+ } else { this.setJumping(false); } // Paper - setJumping(false) stops a potential loop
|
|
}
|
|
}
|
|
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
|
index 607f0bca1ca454bd60aad82df81702bf15e0ff4a..a42db6ae603da8850a29944b63da5928dd2dd40f 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
|
@@ -757,5 +757,20 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
|
public boolean isHandRaised() {
|
|
return getHandle().isHandRaised();
|
|
}
|
|
+
|
|
+ @Override
|
|
+ public boolean isJumping() {
|
|
+ return getHandle().jumping;
|
|
+ }
|
|
+
|
|
+ @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();
|
|
+ }
|
|
+ }
|
|
+
|
|
// Paper end
|
|
}
|