Use copies for PlayerProfile in PaperServerList and SkullMeta
Don't want to risk mutating players properties in server list (unlikely, but lets be proper) and Skull also has a setter API, so that should be used too.
This commit is contained in:
parent
e15167251b
commit
cff8ae9644
|
@ -1,4 +1,4 @@
|
||||||
From 8614ecd3ac7244618cab3302a3c2f28105276966 Mon Sep 17 00:00:00 2001
|
From f95d94a0aae2bdf7ba855b6149ee8c24bf86ffe1 Mon Sep 17 00:00:00 2001
|
||||||
From: Minecrell <minecrell@minecrell.net>
|
From: Minecrell <minecrell@minecrell.net>
|
||||||
Date: Wed, 11 Oct 2017 15:55:38 +0200
|
Date: Wed, 11 Oct 2017 15:55:38 +0200
|
||||||
Subject: [PATCH] Add extended PaperServerListPingEvent
|
Subject: [PATCH] Add extended PaperServerListPingEvent
|
||||||
|
@ -366,5 +366,5 @@ index 04804706..44563482 100644
|
||||||
+ // Paper end
|
+ // Paper end
|
||||||
}
|
}
|
||||||
--
|
--
|
||||||
2.16.1
|
2.16.2
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
From 9ed51547f8f2474fdda8cfd6178dcaa7b301dc0a Mon Sep 17 00:00:00 2001
|
From 13d00b73c9c88b40409ce727328ecc3555796068 Mon Sep 17 00:00:00 2001
|
||||||
From: Minecrell <minecrell@minecrell.net>
|
From: Minecrell <minecrell@minecrell.net>
|
||||||
Date: Mon, 27 Nov 2017 16:21:19 +0100
|
Date: Mon, 27 Nov 2017 16:21:19 +0100
|
||||||
Subject: [PATCH] Implement deprecated player sample API
|
Subject: [PATCH] Implement deprecated player sample API
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/com/destroystokyo/paper/event/server/PaperServerListPingEvent.java b/src/main/java/com/destroystokyo/paper/event/server/PaperServerListPingEvent.java
|
diff --git a/src/main/java/com/destroystokyo/paper/event/server/PaperServerListPingEvent.java b/src/main/java/com/destroystokyo/paper/event/server/PaperServerListPingEvent.java
|
||||||
index a6576f99..41899698 100644
|
index dd1deafd..32cf9f01 100644
|
||||||
--- a/src/main/java/com/destroystokyo/paper/event/server/PaperServerListPingEvent.java
|
--- a/src/main/java/com/destroystokyo/paper/event/server/PaperServerListPingEvent.java
|
||||||
+++ b/src/main/java/com/destroystokyo/paper/event/server/PaperServerListPingEvent.java
|
+++ b/src/main/java/com/destroystokyo/paper/event/server/PaperServerListPingEvent.java
|
||||||
@@ -4,6 +4,8 @@ import static java.util.Objects.requireNonNull;
|
@@ -4,6 +4,8 @@ import static java.util.Objects.requireNonNull;
|
||||||
|
@ -74,5 +74,5 @@ index cb8d0fcd..116d7c7a 100644
|
||||||
@Deprecated
|
@Deprecated
|
||||||
public java.util.List<String> getSampleText() {
|
public java.util.List<String> getSampleText() {
|
||||||
--
|
--
|
||||||
2.16.1
|
2.16.2
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
From f5c60e86827ed8e6029637444ad16aa0545169d2 Mon Sep 17 00:00:00 2001
|
From 879fa631394505d943114e55e0b1f02d124b518a Mon Sep 17 00:00:00 2001
|
||||||
From: Aikar <aikar@aikar.co>
|
From: Aikar <aikar@aikar.co>
|
||||||
Date: Sun, 18 Mar 2018 12:28:55 -0400
|
Date: Sun, 18 Mar 2018 12:28:55 -0400
|
||||||
Subject: [PATCH] Player.setPlayerProfile API
|
Subject: [PATCH] Player.setPlayerProfile API
|
|
@ -1,4 +1,4 @@
|
||||||
From 780999dfaf18ca6223e57e089241ff73a95e8ccd Mon Sep 17 00:00:00 2001
|
From 866101379fee022401d3a461e51536c93239df50 Mon Sep 17 00:00:00 2001
|
||||||
From: Aikar <aikar@aikar.co>
|
From: Aikar <aikar@aikar.co>
|
||||||
Date: Thu, 22 Mar 2018 01:39:28 -0400
|
Date: Thu, 22 Mar 2018 01:39:28 -0400
|
||||||
Subject: [PATCH] getPlayerUniqueId API
|
Subject: [PATCH] getPlayerUniqueId API
|
|
@ -1,4 +1,4 @@
|
||||||
From dc84dd3d43671fc1197e4e976eaca94cbc1e112f Mon Sep 17 00:00:00 2001
|
From 8f9e12c59e5c19ba02c4baad5a2d5575a07a3ffc Mon Sep 17 00:00:00 2001
|
||||||
From: Aikar <aikar@aikar.co>
|
From: Aikar <aikar@aikar.co>
|
||||||
Date: Fri, 19 Jan 2018 00:36:25 -0500
|
Date: Fri, 19 Jan 2018 00:36:25 -0500
|
||||||
Subject: [PATCH] Add SkullMeta.setPlayerProfile API
|
Subject: [PATCH] Add SkullMeta.setPlayerProfile API
|
||||||
|
@ -7,7 +7,7 @@ This allows you to create already filled textures on Skulls to avoid texture loo
|
||||||
which commonly cause rate limit issues with Mojang API
|
which commonly cause rate limit issues with Mojang API
|
||||||
|
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java
|
||||||
index e2ea49cd9..4855307b9 100644
|
index e2ea49cd9..dbc083351 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java
|
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java
|
||||||
@@ -2,6 +2,8 @@ package org.bukkit.craftbukkit.inventory;
|
@@ -2,6 +2,8 @@ package org.bukkit.craftbukkit.inventory;
|
||||||
|
@ -41,7 +41,7 @@ index e2ea49cd9..4855307b9 100644
|
||||||
+ @Nullable
|
+ @Nullable
|
||||||
+ @Override
|
+ @Override
|
||||||
+ public PlayerProfile getPlayerProfile() {
|
+ public PlayerProfile getPlayerProfile() {
|
||||||
+ return profile != null ? CraftPlayerProfile.asBukkitMirror(profile) : null;
|
+ return profile != null ? CraftPlayerProfile.asBukkitCopy(profile) : null;
|
||||||
+ }
|
+ }
|
||||||
+ // Paper end
|
+ // Paper end
|
||||||
+
|
+
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
From be13b11e1cb79084ab4d0b400ab6c013a0357fa7 Mon Sep 17 00:00:00 2001
|
From 26a88cddba5d4b477a501c983fead50ad3c9e5df Mon Sep 17 00:00:00 2001
|
||||||
From: Minecrell <minecrell@minecrell.net>
|
From: Minecrell <minecrell@minecrell.net>
|
||||||
Date: Wed, 11 Oct 2017 15:56:26 +0200
|
Date: Wed, 11 Oct 2017 15:56:26 +0200
|
||||||
Subject: [PATCH] Implement extended PaperServerListPingEvent
|
Subject: [PATCH] Implement extended PaperServerListPingEvent
|
||||||
|
@ -60,7 +60,7 @@ index 000000000..a2a409e63
|
||||||
+}
|
+}
|
||||||
diff --git a/src/main/java/com/destroystokyo/paper/network/StandardPaperServerListPingEventImpl.java b/src/main/java/com/destroystokyo/paper/network/StandardPaperServerListPingEventImpl.java
|
diff --git a/src/main/java/com/destroystokyo/paper/network/StandardPaperServerListPingEventImpl.java b/src/main/java/com/destroystokyo/paper/network/StandardPaperServerListPingEventImpl.java
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 000000000..33dd196fb
|
index 000000000..350410527
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/src/main/java/com/destroystokyo/paper/network/StandardPaperServerListPingEventImpl.java
|
+++ b/src/main/java/com/destroystokyo/paper/network/StandardPaperServerListPingEventImpl.java
|
||||||
@@ -0,0 +1,112 @@
|
@@ -0,0 +1,112 @@
|
||||||
|
@ -101,7 +101,7 @@ index 000000000..33dd196fb
|
||||||
+
|
+
|
||||||
+ if (this.originalSample != null) {
|
+ if (this.originalSample != null) {
|
||||||
+ for (GameProfile profile : this.originalSample) {
|
+ for (GameProfile profile : this.originalSample) {
|
||||||
+ sample.add(CraftPlayerProfile.asBukkitMirror(profile));
|
+ sample.add(CraftPlayerProfile.asBukkitCopy(profile));
|
||||||
+ }
|
+ }
|
||||||
+ this.originalSample = null;
|
+ this.originalSample = null;
|
||||||
+ }
|
+ }
|
||||||
|
@ -177,7 +177,7 @@ index 000000000..33dd196fb
|
||||||
+
|
+
|
||||||
+}
|
+}
|
||||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
index e8c72db96..9da09d53b 100644
|
index 579f0ba0d..99cfe1ae5 100644
|
||||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
@@ -768,7 +768,7 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs
|
@@ -768,7 +768,7 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs
|
||||||
|
|
Loading…
Reference in New Issue