1- package dev .pgm .community .nick ;
1+ package dev .pgm .community .nick . identity ;
22
33import static dev .pgm .community .util .PlayerUtils .PLAYER_UTILS ;
44
@@ -25,7 +25,7 @@ public final class PlayerIdentity {
2525
2626 private PlayerIdentity () {}
2727
28- public void set (
28+ public synchronized void set (
2929 Player player ,
3030 Player viewer ,
3131 @ Nullable String displayName ,
@@ -63,7 +63,7 @@ public static void validateNick(@Nullable String name) {
6363 }
6464 }
6565
66- public void clearPlayer (UUID playerId , String realName ) {
66+ public synchronized void clearPlayer (UUID playerId , String realName ) {
6767 playerSkins .remove (playerId );
6868 playerNames .remove (playerId );
6969 playerDisplayNames .remove (playerId );
@@ -73,7 +73,7 @@ public void clearPlayer(UUID playerId, String realName) {
7373 });
7474 }
7575
76- public void clearViewer (UUID viewerId ) {
76+ public synchronized void clearViewer (UUID viewerId ) {
7777 clearViewer (playerSkins , viewerId );
7878 clearViewer (playerNames , viewerId );
7979 clearViewer (playerDisplayNames , viewerId );
@@ -88,15 +88,15 @@ private static <T> void clearViewer(Map<UUID, Map<UUID, T>> identities, UUID vie
8888 });
8989 }
9090
91- public void clearAll () {
91+ public synchronized void clearAll () {
9292 playerSkins .clear ();
9393 playerNames .clear ();
9494 playerDisplayNames .clear ();
9595 viewerTeamEntries .clear ();
9696 viewerVisibleNames .clear ();
9797 }
9898
99- public @ Nullable String getVisibleName (UUID viewerId , String realName ) {
99+ public synchronized @ Nullable String getVisibleName (UUID viewerId , String realName ) {
100100 Map <String , String > visibleNames = viewerVisibleNames .get (viewerId );
101101 return visibleNames == null ? null : visibleNames .get (realName );
102102 }
@@ -118,7 +118,7 @@ private void clearVisibleName(UUID viewerId, String realName) {
118118 if (visibleNames .isEmpty ()) viewerVisibleNames .remove (viewerId );
119119 }
120120
121- public @ Nullable String getTeamName (UUID viewerId , String entry ) {
121+ public synchronized @ Nullable String getTeamName (UUID viewerId , String entry ) {
122122 Map <String , HashSet <String >> teamEntries = viewerTeamEntries .get (viewerId );
123123 if (teamEntries == null ) return null ;
124124
@@ -129,28 +129,29 @@ private void clearVisibleName(UUID viewerId, String realName) {
129129 return null ;
130130 }
131131
132- public boolean hasTeamEntry (UUID viewerId , String teamName , String entry ) {
132+ public synchronized boolean hasTeamEntry (UUID viewerId , String teamName , String entry ) {
133133 Map <String , HashSet <String >> teamEntries = viewerTeamEntries .get (viewerId );
134134 if (teamEntries == null ) return false ;
135135
136136 HashSet <String > entries = teamEntries .get (teamName );
137137 return entries != null && entries .contains (entry );
138138 }
139139
140- public void createTeam (UUID viewerId , String teamName , Collection <String > entries ) {
140+ public synchronized void createTeam (UUID viewerId , String teamName , Collection <String > entries ) {
141141 removeTeam (viewerId , teamName );
142142 addTeamEntries (viewerId , teamName , entries );
143143 }
144144
145- public void removeTeam (UUID viewerId , String teamName ) {
145+ public synchronized void removeTeam (UUID viewerId , String teamName ) {
146146 Map <String , HashSet <String >> teamEntries = viewerTeamEntries .get (viewerId );
147147 if (teamEntries == null ) return ;
148148
149149 teamEntries .remove (teamName );
150150 if (teamEntries .isEmpty ()) viewerTeamEntries .remove (viewerId );
151151 }
152152
153- public void addTeamEntries (UUID viewerId , String teamName , Collection <String > entries ) {
153+ public synchronized void addTeamEntries (
154+ UUID viewerId , String teamName , Collection <String > entries ) {
154155 if (entries .isEmpty ()) return ;
155156
156157 Map <String , HashSet <String >> teamEntries =
@@ -160,7 +161,8 @@ public void addTeamEntries(UUID viewerId, String teamName, Collection<String> en
160161 teamEntries .computeIfAbsent (teamName , k -> new HashSet <>()).addAll (entries );
161162 }
162163
163- public void removeTeamEntries (UUID viewerId , String teamName , Collection <String > entries ) {
164+ public synchronized void removeTeamEntries (
165+ UUID viewerId , String teamName , Collection <String > entries ) {
164166 Map <String , HashSet <String >> teamEntries = viewerTeamEntries .get (viewerId );
165167 if (teamEntries == null ) return ;
166168
@@ -172,36 +174,36 @@ public void removeTeamEntries(UUID viewerId, String teamName, Collection<String>
172174 if (teamEntries .isEmpty ()) viewerTeamEntries .remove (viewerId );
173175 }
174176
175- public String getDisplayName (Player player , Player viewer ) {
177+ public synchronized String getDisplayName (Player player , Player viewer ) {
176178 String displayName = get (playerDisplayNames , player .getUniqueId (), viewer .getUniqueId ());
177179 if (displayName != null ) return displayName ;
178180
179181 return player .getDisplayName ();
180182 }
181183
182- public boolean hasDisplayName (Player player , Player viewer ) {
184+ public synchronized boolean hasDisplayName (Player player , Player viewer ) {
183185 return get (playerDisplayNames , player .getUniqueId (), viewer .getUniqueId ()) != null ;
184186 }
185187
186- public String getName (Player player , Player viewer ) {
188+ public synchronized String getName (Player player , Player viewer ) {
187189 String name = get (playerNames , player .getUniqueId (), viewer .getUniqueId ());
188190 if (name != null ) return name ;
189191
190192 return player .getName ();
191193 }
192194
193- public boolean hasName (Player player , Player viewer ) {
195+ public synchronized boolean hasName (Player player , Player viewer ) {
194196 return get (playerNames , player .getUniqueId (), viewer .getUniqueId ()) != null ;
195197 }
196198
197- public Skin getSkin (Player player , Player viewer ) {
199+ public synchronized Skin getSkin (Player player , Player viewer ) {
198200 Skin skin = get (playerSkins , player .getUniqueId (), viewer .getUniqueId ());
199201 if (skin != null && !skin .isEmpty ()) return skin ;
200202
201203 return PLAYER_UTILS .getPlayerSkin (player );
202204 }
203205
204- public boolean hasSkin (Player player , Player viewer ) {
206+ public synchronized boolean hasSkin (Player player , Player viewer ) {
205207 Skin skin = get (playerSkins , player .getUniqueId (), viewer .getUniqueId ());
206208 return skin != null && !skin .isEmpty ();
207209 }
0 commit comments