Add more item use API (#10304)
This commit is contained in:
parent
d8456ee65b
commit
182e79bce1
20 changed files with 87 additions and 39 deletions
|
@ -6,19 +6,38 @@ Subject: [PATCH] LivingEntity Active Item API
|
|||
API relating to items being actively used by a LivingEntity
|
||||
such as a bow or eating food.
|
||||
|
||||
== AT ==
|
||||
public net/minecraft/world/entity/LivingEntity completeUsingItem()V
|
||||
public net/minecraft/server/level/ServerPlayer completeUsingItem()V
|
||||
|
||||
Co-authored-by: Jake Potrebic <jake.m.potrebic@gmail.com>
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
index 1c6abeff5b541cdea914ac956f2ab1d2e1c5769f..de52fdc1c94f69de7c5c5099fc586fdeba60b6fa 100644
|
||||
index 1c6abeff5b541cdea914ac956f2ab1d2e1c5769f..0fe087cd6037b4dd694cc3c5c3eac8203ea6d519 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
@@ -866,4 +866,38 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||
@@ -866,4 +866,53 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||
getHandle().setShieldBlockingDelay(delay);
|
||||
}
|
||||
// Paper end
|
||||
+
|
||||
+ // Paper start - active item API
|
||||
+ @Override
|
||||
+ public void startUsingItem(org.bukkit.inventory.EquipmentSlot hand) {
|
||||
+ Preconditions.checkArgument(hand != null, "hand must not be null");
|
||||
+ switch (hand) {
|
||||
+ case HAND -> getHandle().startUsingItem(InteractionHand.MAIN_HAND);
|
||||
+ case OFF_HAND -> getHandle().startUsingItem(InteractionHand.OFF_HAND);
|
||||
+ default -> throw new IllegalArgumentException("hand may only be HAND or OFF_HAND");
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public void completeUsingActiveItem() {
|
||||
+ getHandle().completeUsingItem();
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public ItemStack getActiveItem() {
|
||||
+ return this.getHandle().getUseItem().asBukkitMirror();
|
||||
+ }
|
||||
|
|
|
@ -50,10 +50,10 @@ index aba20a4352d8983b01ab5d329187588f68d3e405..aac60e85cd6dba7d87f4a1663c2c6295
|
|||
}
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
index 88ea46392182b02131a2a5c953fe90e1ecbd4ae5..1bca024bfbb4b68eacd2b3bb382aa74456db2145 100644
|
||||
index 5def5bccd8fce86ce015567e65fefae329819c18..29fa2231cc5d9c3ac36d508f14408d6077b6594c 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
@@ -961,4 +961,20 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||
@@ -976,4 +976,20 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||
return org.bukkit.craftbukkit.CraftEquipmentSlot.getHand(this.getHandle().getUsedItemHand());
|
||||
}
|
||||
// Paper end - active item API
|
||||
|
|
|
@ -5,10 +5,10 @@ Subject: [PATCH] Add playPickupItemAnimation to LivingEntity
|
|||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
index 8cfa39acde6d32625ae87e9d031d8dc767783e61..e54b164ea2f28cdbb89166fb9b0b9cd9d12c0ca9 100644
|
||||
index d84503ab329ebeb4c74f10f9897661ee6799e3d3..87033a5d8dd5b67475657c3749f428a8e841a2f2 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
@@ -977,4 +977,11 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||
@@ -992,4 +992,11 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||
}
|
||||
}
|
||||
// Paper end - entity jump API
|
||||
|
|
|
@ -5,10 +5,10 @@ Subject: [PATCH] Add LivingEntity#clearActiveItem
|
|||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
index d90a56de3ec0236c82668d0f7ce01a8515de6450..baeb521f44389e6bf5d7b4237ebd5c805ae6f43c 100644
|
||||
index 87033a5d8dd5b67475657c3749f428a8e841a2f2..6848cdb3271b37972e98af78e85125409c650c4d 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
@@ -934,6 +934,13 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||
@@ -949,6 +949,13 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||
return this.getHandle().getUseItem().asBukkitMirror();
|
||||
}
|
||||
|
||||
|
|
|
@ -36,10 +36,10 @@ index d5a8f019e88de30400733cdc3178eb982ccca341..e7726862f99cb16b7335b06675af73db
|
|||
public int getSleepTicks() {
|
||||
return this.getHandle().sleepCounter;
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
index 1333f5116e824e1024519808e824a979b9745c9f..24e8f6a89dc186c3f8f4356cb9a60115fc0096c0 100644
|
||||
index 6848cdb3271b37972e98af78e85125409c650c4d..4ac52885618bf062eb34672b8fc60331a9c8f76a 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
@@ -991,4 +991,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||
@@ -1006,4 +1006,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||
this.getHandle().take(((CraftItem) item).getHandle(), quantity);
|
||||
}
|
||||
// Paper end - pickup animation API
|
||||
|
|
|
@ -78,10 +78,10 @@ index 3feaaca5aaee12e48fa2e5f5d05329c9980b161e..a151b5d7c6e41b08e57c806bc43e067a
|
|||
|
||||
@Override
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
index 9c37509faeeaf11645dbfc6ddb2eac6aac7b3c59..18f2775d6417f775d6ebb6560450c05e63e3299d 100644
|
||||
index 0a4df9971c66676dba90fb03c840e25a41103bc0..646763f591e67e27c992663379fa3d4b322a3de3 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
@@ -1010,4 +1010,22 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||
@@ -1025,4 +1025,22 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||
throw new UnsupportedOperationException("Cannot set the hurt direction on a non player");
|
||||
}
|
||||
// Paper end - hurt direction API
|
||||
|
|
|
@ -5,10 +5,10 @@ Subject: [PATCH] Add entity knockback API
|
|||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
index 163c3a07abf187d6d2f3fb3bc30eb8f0c26b247f..be915e4ab474d8f06c63b5aaee5b9277aef0f706 100644
|
||||
index 9ae20d759965bc9b88b52c15372155ad10bcc199..8be0e064f1f7e98e6bfd5915cd4eaf814b5f1d26 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
@@ -1106,4 +1106,12 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||
@@ -1121,4 +1121,12 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||
throw new IllegalArgumentException(entityCategory + " is an unrecognized entity category");
|
||||
}
|
||||
// Paper end - more enchant API
|
||||
|
|
|
@ -11,10 +11,10 @@ the logic associated with damaging them
|
|||
public net.minecraft.world.entity.LivingEntity entityEventForEquipmentBreak(Lnet/minecraft/world/entity/EquipmentSlot;)B
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
index be915e4ab474d8f06c63b5aaee5b9277aef0f706..6359bb77c6d05db733a7f92d30230a2889a5b0ea 100644
|
||||
index 8be0e064f1f7e98e6bfd5915cd4eaf814b5f1d26..711eb84fee6c46341928a765970defa47e1fe0c3 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
@@ -1114,4 +1114,52 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||
@@ -1129,4 +1129,52 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||
this.getHandle().knockback(strength, directionX, directionZ);
|
||||
};
|
||||
// Paper end - knockback API
|
||||
|
|
|
@ -133,10 +133,10 @@ index 1a291dd8a287db30e71dcb315599fc4b038764c4..30d62ee4d5cd2ddacb8783b5bbbf475d
|
|||
public int getHealth() {
|
||||
return this.getHandle().health;
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
index 6359bb77c6d05db733a7f92d30230a2889a5b0ea..9c5ad1ffdd82ce5d12eabca07f45a37e6a939f2e 100644
|
||||
index 711eb84fee6c46341928a765970defa47e1fe0c3..b0c03854ee9936b1dac9cbf89e9977d978712d56 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
@@ -1162,4 +1162,18 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||
@@ -1177,4 +1177,18 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||
});
|
||||
}
|
||||
// Paper end - ItemStack damage API
|
||||
|
|
|
@ -43,10 +43,10 @@ index 4dfbcaba4615bd761c1eb9d5994168c7202fc571..8025b3e9afebc9ad0c08453403422589
|
|||
@Override
|
||||
public boolean isInvisible() { // Paper - moved up from LivingEntity
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
index 9c5ad1ffdd82ce5d12eabca07f45a37e6a939f2e..ec62e68686b7c46df299d946850ec60631ecc6be 100644
|
||||
index b0c03854ee9936b1dac9cbf89e9977d978712d56..ab1e1a56f3811d4446a6b0a7461c0bddd8015228 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
@@ -1176,4 +1176,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||
@@ -1191,4 +1191,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||
this.getHandle().frictionState = state;
|
||||
}
|
||||
// Paper end - friction API
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue