From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Aikar 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/world/entity/EntityLiving.java b/src/main/java/net/minecraft/world/entity/EntityLiving.java index 61bd7afdafc77725c24c6af978578df0b2d8ca0f..189a00cb68ce9a9060117b79c5356ebb93d7fa62 100644 --- a/src/main/java/net/minecraft/world/entity/EntityLiving.java +++ b/src/main/java/net/minecraft/world/entity/EntityLiving.java @@ -212,7 +212,7 @@ public abstract class EntityLiving extends Entity { private float bu; private int jumpTicks; private float bw; - protected ItemStack activeItem; + public ItemStack activeItem; // Paper - public protected int bd; protected int be; private BlockPosition bx; @@ -3294,10 +3294,12 @@ public abstract class EntityLiving extends Entity { return this.activeItem; } + public int getItemUseRemainingTime() { return this.dZ(); } // Paper - OBFHELPER public int dZ() { return this.bd; } + public int getHandRaisedTime() { return this.ea(); } // Paper - OBFHELPER public int ea() { return this.isHandRaised() ? this.activeItem.k() - this.dZ() : 0; } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java index 2d1c54eed8fa6885837d63014ff1f4b33dd35bd7..bd24b9865f37c34ffd63cd411ddc84abe5ab30d0 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -721,5 +721,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 }