aboutsummaryrefslogtreecommitdiffhomepage
path: root/patches/server/0446-Improve-Arrow-API.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/server/0446-Improve-Arrow-API.patch')
-rw-r--r--patches/server/0446-Improve-Arrow-API.patch38
1 files changed, 38 insertions, 0 deletions
diff --git a/patches/server/0446-Improve-Arrow-API.patch b/patches/server/0446-Improve-Arrow-API.patch
new file mode 100644
index 0000000000..47bb897a5a
--- /dev/null
+++ b/patches/server/0446-Improve-Arrow-API.patch
@@ -0,0 +1,38 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Nesaak <[email protected]>
+Date: Sat, 23 May 2020 10:31:11 -0400
+Subject: [PATCH] Improve Arrow API
+
+Add method to get the arrow's itemstack and a method
+to set the arrow's "noclip" status
+
+Co-authored-by: Jake Potrebic <[email protected]>
+
+diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftArrow.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftArrow.java
+index 376885c8148da619a3b203145d315ebaf44994fb..15abd085eeb0a31a925c1a8d6de903c9d4625a29 100644
+--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftArrow.java
++++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftArrow.java
+@@ -102,6 +102,23 @@ public class CraftArrow extends AbstractProjectile implements AbstractArrow {
+ this.getHandle().pickup = net.minecraft.world.entity.projectile.AbstractArrow.Pickup.byOrdinal(status.ordinal());
+ }
+
++ // Paper start
++ @Override
++ public org.bukkit.craftbukkit.inventory.CraftItemStack getItemStack() {
++ return org.bukkit.craftbukkit.inventory.CraftItemStack.asCraftMirror(getHandle().getPickupItem());
++ }
++
++ @Override
++ public void setNoPhysics(boolean noPhysics) {
++ this.getHandle().setNoPhysics(noPhysics);
++ }
++
++ @Override
++ public boolean hasNoPhysics() {
++ return this.getHandle().isNoPhysics();
++ }
++ // Paper end
++
+ @Override
+ public void setTicksLived(int value) {
+ super.setTicksLived(value);