69 lines
2.7 KiB
Diff
69 lines
2.7 KiB
Diff
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/world/entity/EntityLiving.java b/src/main/java/net/minecraft/world/entity/EntityLiving.java
|
|
index daf09f3f0e6be57f540641d70e9c944de7fe6622..a530f13526ef1ee947adb22e24d5c9afb705a01d 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..a0b006f24829ff9f5754293fbe389d19a14dc001 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
|
@@ -721,5 +721,30 @@ 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();
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public org.bukkit.inventory.EquipmentSlot getHandRaised() {
|
|
+ return getHandle().getRaisedHand() == net.minecraft.world.EnumHand.MAIN_HAND ? org.bukkit.inventory.EquipmentSlot.HAND : org.bukkit.inventory.EquipmentSlot.OFF_HAND;
|
|
+ }
|
|
// Paper end
|
|
}
|