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/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java index 9ef4929554a98f4ea0f2265670817404ebb6029f..4c48ff8fad90686da65097e4be6bcedca9761c3d 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -119,7 +119,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; @@ -3181,10 +3181,12 @@ public abstract class EntityLiving extends Entity { return this.activeItem; } + public int getItemUseRemainingTime() { return this.dY(); } // Paper - OBFHELPER public int dY() { return this.bd; } + public int getHandRaisedTime() { return this.dZ(); } // Paper - OBFHELPER public int dZ() { return this.isHandRaised() ? this.activeItem.k() - this.dY() : 0; } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java index caace62396e2612737ee5031bbbea699c5887fd2..b54961ead096d05e147e32ab16c25c382a7756c6 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -709,5 +709,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 }