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 4c6c0b3b77b3cea9abf4a9e6dec4872201db7b7b..db84ddd62b627764ff5debc56095d37e81c94605 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; @@ -3182,10 +3182,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 2e146ec4ba0c6db67c558a48ce5ec60bc2ca337f..a91070c3674dc47e0019e642f0f76a3cf76b7387 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -720,5 +720,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 }