From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Aikar <aikar@aikar.co> Date: Fri, 29 Jun 2018 00:21:28 -0400 Subject: [PATCH] LivingEntity Hand Raised/Item Use API How long an entity has raised hands to charge an attack or use an item diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java index c1e6792e0d75647108127bcf43bdc9e7bf18aea3..a4051c1f0cdcf179e7afe60d301982412da7ed64 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -112,7 +112,7 @@ public abstract class EntityLiving extends Entity { private float bB; private int jumpTicks; private float bD; - protected ItemStack activeItem; + public ItemStack activeItem; // Paper - public protected int bl; protected int bm; private BlockPosition bE; @@ -2979,10 +2979,12 @@ public abstract class EntityLiving extends Entity { return this.activeItem; } + public int getItemUseRemainingTime() { return this.dE(); } // Paper - OBFHELPER public int dE() { return this.bl; } + public int getHandRaisedTime() { return this.dF(); } // Paper - OBFHELPER public int dF() { return this.isHandRaised() ? this.activeItem.k() - this.dE() : 0; } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java index a8e44e95d6115833f4e20e6bb007842bdc52f1ef..3a87c6574bbad9e6c2d7573eb447194c931d7ec4 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -654,5 +654,25 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { public void setShieldBlockingDelay(int delay) { getHandle().setShieldBlockingDelay(delay); } + + @Override + public ItemStack getActiveItem() { + return getHandle().activeItem.asBukkitMirror(); + } + + @Override + public int getItemUseRemainingTime() { + return getHandle().getItemUseRemainingTime(); + } + + @Override + public int getHandRaisedTime() { + return getHandle().getHandRaisedTime(); + } + + @Override + public boolean isHandRaised() { + return getHandle().isHandRaised(); + } // Paper end }