Fix PlayerSwapHandItemsEvent NPE when a hand set to null (#9763)

* Fix PlayerSwapHandItemsEvent throwing exception when mainhand or offhand set to null

* use fully qualified import

* Use ItemStack#empty() instead of new ItemStack

* Add NotNull annotation to getters

* Add missing Paper comments
This commit is contained in:
Tamion 2023-10-11 00:38:25 +02:00 committed by GitHub
parent 5509610db5
commit 1a4778d260
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 47 additions and 0 deletions

View File

@ -0,0 +1,47 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Tamion <70228790+notTamion@users.noreply.github.com>
Date: Mon, 25 Sep 2023 19:55:51 +0200
Subject: [PATCH] Fix PlayerSwapHandItemsEvent throwing exception when mainhand
or offhand set to null
diff --git a/src/main/java/org/bukkit/event/player/PlayerSwapHandItemsEvent.java b/src/main/java/org/bukkit/event/player/PlayerSwapHandItemsEvent.java
index 9f592317c920589c22a5fb8e916c6ca58ebe5c59..39dd08de71b8b52fe3462c105ecdbfc1cd2cd9a3 100644
--- a/src/main/java/org/bukkit/event/player/PlayerSwapHandItemsEvent.java
+++ b/src/main/java/org/bukkit/event/player/PlayerSwapHandItemsEvent.java
@@ -31,7 +31,7 @@ public class PlayerSwapHandItemsEvent extends PlayerEvent implements Cancellable
*
* @return item in the main hand
*/
- @Nullable
+ @NotNull // Paper
public ItemStack getMainHandItem() {
return mainHandItem;
}
@@ -42,7 +42,7 @@ public class PlayerSwapHandItemsEvent extends PlayerEvent implements Cancellable
* @param mainHandItem new item in the main hand
*/
public void setMainHandItem(@Nullable ItemStack mainHandItem) {
- this.mainHandItem = mainHandItem;
+ this.mainHandItem = mainHandItem == null ? ItemStack.empty() : mainHandItem; // Paper
}
/**
@@ -50,7 +50,7 @@ public class PlayerSwapHandItemsEvent extends PlayerEvent implements Cancellable
*
* @return item in the off hand
*/
- @Nullable
+ @NotNull // Paper
public ItemStack getOffHandItem() {
return offHandItem;
}
@@ -61,7 +61,7 @@ public class PlayerSwapHandItemsEvent extends PlayerEvent implements Cancellable
* @param offHandItem new item in the off hand
*/
public void setOffHandItem(@Nullable ItemStack offHandItem) {
- this.offHandItem = offHandItem;
+ this.offHandItem = offHandItem == null ? ItemStack.empty() : offHandItem; // Paper
}
@Override