aboutsummaryrefslogtreecommitdiffhomepage
path: root/patches/api/0091-Player.setPlayerProfile-API.patch
blob: f85d0e126b05a3156914d0bbdb9ef59f2abca791 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Sun, 18 Mar 2018 12:28:55 -0400
Subject: [PATCH] Player.setPlayerProfile API

This can be useful for changing name or skins after a player has logged in.

diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
index 90c875ad60e473c3ec25f209933d48615d0fd6c0..39f97dac6af70b45101a7de776009c4fa3874868 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -1176,8 +1176,10 @@ public final class Bukkit {
      * @return the new PlayerProfile
      * @throws IllegalArgumentException if both the unique id is
      * <code>null</code> and the name is <code>null</code> or blank
+     * @deprecated use {@link #createProfile(UUID, String)}
      */
     @NotNull
+    @Deprecated // Paper
     public static PlayerProfile createPlayerProfile(@Nullable UUID uniqueId, @Nullable String name) {
         return server.createPlayerProfile(uniqueId, name);
     }
@@ -1188,8 +1190,10 @@ public final class Bukkit {
      * @param uniqueId the unique id
      * @return the new PlayerProfile
      * @throws IllegalArgumentException if the unique id is <code>null</code>
+     * @deprecated use {@link #createProfile(UUID)}
      */
     @NotNull
+    @Deprecated // Paper
     public static PlayerProfile createPlayerProfile(@NotNull UUID uniqueId) {
         return server.createPlayerProfile(uniqueId);
     }
@@ -1201,8 +1205,10 @@ public final class Bukkit {
      * @return the new PlayerProfile
      * @throws IllegalArgumentException if the name is <code>null</code> or
      * blank
+     * @deprecated use {@link #createProfile(String)}
      */
     @NotNull
+    @Deprecated // Paper
     public static PlayerProfile createPlayerProfile(@NotNull String name) {
         return server.createPlayerProfile(name);
     }
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
index 451eefff2e6350072d47f59c0e33cca499c5427b..4597c9b2e4691495b54333711141b83926af193d 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -998,8 +998,10 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
      * @return the new PlayerProfile
      * @throws IllegalArgumentException if both the unique id is
      * <code>null</code> and the name is <code>null</code> or blank
+     * @deprecated use {@link #createProfile(UUID, String)}
      */
     @NotNull
+    @Deprecated // Paper
     PlayerProfile createPlayerProfile(@Nullable UUID uniqueId, @Nullable String name);
 
     /**
@@ -1008,8 +1010,10 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
      * @param uniqueId the unique id
      * @return the new PlayerProfile
      * @throws IllegalArgumentException if the unique id is <code>null</code>
+     * @deprecated use {@link #createProfile(UUID)}
      */
     @NotNull
+    @Deprecated // Paper
     PlayerProfile createPlayerProfile(@NotNull UUID uniqueId);
 
     /**
@@ -1019,8 +1023,10 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
      * @return the new PlayerProfile
      * @throws IllegalArgumentException if the name is <code>null</code> or
      * blank
+     * @deprecated use {@link #createProfile(String)}
      */
     @NotNull
+    @Deprecated
     PlayerProfile createPlayerProfile(@NotNull String name);
 
     /**
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index cb7bce8072dfcccfc3aba8f85d7d722faf560a55..3ec3b05acb30432b9e16d8a2028ae587850fec75 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -2279,6 +2279,20 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
      *         was {@link org.bukkit.event.player.PlayerResourcePackStatusEvent.Status#SUCCESSFULLY_LOADED}
      */
     boolean hasResourcePack();
+
+    /**
+     * Gets a copy of this players profile
+     * @return The players profile object
+     */
+    @NotNull
+    com.destroystokyo.paper.profile.PlayerProfile getPlayerProfile();
+
+    /**
+     * Changes the PlayerProfile for this player. This will cause this player
+     * to be reregistered to all clients that can currently see this player
+     * @param profile The new profile to use
+     */
+    void setPlayerProfile(@NotNull com.destroystokyo.paper.profile.PlayerProfile profile);
     // Paper end
 
     // Spigot start
diff --git a/src/main/java/org/bukkit/profile/PlayerProfile.java b/src/main/java/org/bukkit/profile/PlayerProfile.java
index 16ae1282f3178e8873483a25a5d5cce16b2c21a9..c4aa20fbb0865a0b43ece475ee115ad6a7c65a48 100644
--- a/src/main/java/org/bukkit/profile/PlayerProfile.java
+++ b/src/main/java/org/bukkit/profile/PlayerProfile.java
@@ -16,7 +16,9 @@ import org.jetbrains.annotations.Nullable;
  * <p>
  * New profiles can be created via
  * {@link Server#createPlayerProfile(UUID, String)}.
+ * @deprecated see {@link com.destroystokyo.paper.profile.PlayerProfile}
  */
+@Deprecated // Paper
 public interface PlayerProfile extends Cloneable, ConfigurationSerializable {
 
     /**
@@ -25,6 +27,7 @@ public interface PlayerProfile extends Cloneable, ConfigurationSerializable {
      * @return the player's unique id, or <code>null</code> if not available
      */
     @Nullable
+    @Deprecated // Paper
     UUID getUniqueId();
 
     /**