mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-30 16:19:03 +01:00
69 lines
2.8 KiB
Diff
69 lines
2.8 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/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||
|
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||
|
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||
|
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||
|
@@ -0,0 +0,0 @@ public abstract class LivingEntity extends Entity {
|
||
|
private float speed;
|
||
|
private int noJumpDelay;
|
||
|
private float absorptionAmount;
|
||
|
- protected ItemStack useItem;
|
||
|
+ public ItemStack useItem; // Paper - public
|
||
|
protected int useItemRemaining;
|
||
|
protected int fallFlyTicks;
|
||
|
private BlockPos lastPos;
|
||
|
@@ -0,0 +0,0 @@ public abstract class LivingEntity extends Entity {
|
||
|
return this.useItem;
|
||
|
}
|
||
|
|
||
|
+ public int getItemUseRemainingTime() { return this.getUseItemRemainingTicks(); } // Paper - OBFHELPER
|
||
|
public int getUseItemRemainingTicks() {
|
||
|
return this.useItemRemaining;
|
||
|
}
|
||
|
|
||
|
+ public int getHandRaisedTime() { return this.getTicksUsingItem(); } // Paper - OBFHELPER
|
||
|
public int getTicksUsingItem() {
|
||
|
return this.isUsingItem() ? this.useItem.getUseDuration() - this.getUseItemRemainingTicks() : 0;
|
||
|
}
|
||
|
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||
|
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||
|
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||
|
@@ -0,0 +0,0 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||
|
public void setShieldBlockingDelay(int delay) {
|
||
|
getHandle().setShieldBlockingDelay(delay);
|
||
|
}
|
||
|
+
|
||
|
+ @Override
|
||
|
+ public ItemStack getActiveItem() {
|
||
|
+ return getHandle().useItem.asBukkitMirror();
|
||
|
+ }
|
||
|
+
|
||
|
+ @Override
|
||
|
+ public int getItemUseRemainingTime() {
|
||
|
+ return getHandle().getItemUseRemainingTime();
|
||
|
+ }
|
||
|
+
|
||
|
+ @Override
|
||
|
+ public int getHandRaisedTime() {
|
||
|
+ return getHandle().getHandRaisedTime();
|
||
|
+ }
|
||
|
+
|
||
|
+ @Override
|
||
|
+ public boolean isHandRaised() {
|
||
|
+ return getHandle().isUsingItem();
|
||
|
+ }
|
||
|
+
|
||
|
+ @Override
|
||
|
+ public org.bukkit.inventory.EquipmentSlot getHandRaised() {
|
||
|
+ return getHandle().getUsedItemHand() == net.minecraft.world.InteractionHand.MAIN_HAND ? org.bukkit.inventory.EquipmentSlot.HAND : org.bukkit.inventory.EquipmentSlot.OFF_HAND;
|
||
|
+ }
|
||
|
// Paper end
|
||
|
}
|