Fix NPE of AbstractArrow#getWeapon (#10933)

This commit is contained in:
Lulu13022002 2024-06-21 18:48:29 +02:00
parent 5c5a5fb93c
commit 22e64d8059
2 changed files with 21 additions and 0 deletions

View file

@ -742,6 +742,19 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
public abstract EnchantmentTarget getItemTarget();
/**
diff --git a/src/main/java/org/bukkit/entity/AbstractArrow.java b/src/main/java/org/bukkit/entity/AbstractArrow.java
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
--- a/src/main/java/org/bukkit/entity/AbstractArrow.java
+++ b/src/main/java/org/bukkit/entity/AbstractArrow.java
@@ -0,0 +0,0 @@ public interface AbstractArrow extends Projectile {
*
* @return The firing ItemStack
*/
- @NotNull
+ @Nullable // Paper
@ApiStatus.Experimental
public ItemStack getWeapon();
diff --git a/src/main/java/org/bukkit/entity/Enderman.java b/src/main/java/org/bukkit/entity/Enderman.java
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
--- a/src/main/java/org/bukkit/entity/Enderman.java

View file

@ -201,6 +201,14 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
@Override
public boolean isInBlock() {
@@ -0,0 +0,0 @@ public class CraftAbstractArrow extends AbstractProjectile implements AbstractAr
@Override
public ItemStack getWeapon() {
+ if (this.getHandle().getWeaponItem() == null) return null; // Paper - fix NPE
return CraftItemStack.asBukkitCopy(this.getHandle().getWeaponItem());
}
@@ -0,0 +0,0 @@ public class CraftAbstractArrow extends AbstractProjectile implements AbstractAr
public String toString() {
return "CraftArrow";