Clone mutable types in events when changes are discarded (#10333)

This commit is contained in:
Jake Potrebic 2024-03-20 13:42:29 -07:00 committed by GitHub
parent 05fe15e0fc
commit de620b8480
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
10 changed files with 175 additions and 25 deletions

View file

@ -15,7 +15,7 @@ Co-authored-by: Aikar <aikar@aikar.co>
diff --git a/src/main/java/com/destroystokyo/paper/event/server/AsyncTabCompleteEvent.java b/src/main/java/com/destroystokyo/paper/event/server/AsyncTabCompleteEvent.java
new file mode 100644
index 0000000000000000000000000000000000000000..e0847b6f0202bd8267c537f72a5e8c8cb7c6b1db
index 0000000000000000000000000000000000000000..8965974988ad20fbe1d45885f20a3a98d2e9595f
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/event/server/AsyncTabCompleteEvent.java
@@ -0,0 +1,339 @@
@ -208,7 +208,7 @@ index 0000000000000000000000000000000000000000..e0847b6f0202bd8267c537f72a5e8c8c
+ */
+ @Nullable
+ public Location getLocation() {
+ return this.location;
+ return this.location != null ? this.location.clone() : null;
+ }
+
+ /**
@ -534,7 +534,7 @@ index 0000000000000000000000000000000000000000..6f560a51277ccbd46a9142cfa057d276
+ }
+}
diff --git a/src/main/java/org/bukkit/event/server/TabCompleteEvent.java b/src/main/java/org/bukkit/event/server/TabCompleteEvent.java
index 270e6d8ad4358baa256cee5f16cff281f063ce3b..4a3451af454295ac3e1b688e6665cad9fc594c82 100644
index 270e6d8ad4358baa256cee5f16cff281f063ce3b..b43c3cb5c88eada186d6f81712c244aaa18fb53e 100644
--- a/src/main/java/org/bukkit/event/server/TabCompleteEvent.java
+++ b/src/main/java/org/bukkit/event/server/TabCompleteEvent.java
@@ -29,6 +29,13 @@ public class TabCompleteEvent extends Event implements Cancellable {
@ -570,7 +570,7 @@ index 270e6d8ad4358baa256cee5f16cff281f063ce3b..4a3451af454295ac3e1b688e6665cad9
+ */
+ @org.jetbrains.annotations.Nullable
+ public org.bukkit.Location getLocation() {
+ return loc;
+ return this.loc != null ? this.loc.clone() : null;
+ }
+ // Paper end
+