Skip to content

Commit 4bfac45

Browse files
committed
Relocate PlayerIdentity and synchronize access
Signed-off-by: applenick <applenick@users.noreply.github.com>
1 parent 98542fb commit 4bfac45

8 files changed

Lines changed: 29 additions & 25 deletions

File tree

core/src/main/java/dev/pgm/community/Community.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package dev.pgm.community;
22

3-
import static dev.pgm.community.nick.PlayerIdentity.PLAYER_IDENTITY;
3+
import static dev.pgm.community.nick.identity.PlayerIdentity.PLAYER_IDENTITY;
44

55
import dev.pgm.community.commands.graph.CommunityCommandGraph;
66
import dev.pgm.community.events.CommunityEvent;

core/src/main/java/dev/pgm/community/nick/feature/PGMNickIntegration.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package dev.pgm.community.nick.feature;
22

3-
import static dev.pgm.community.nick.PlayerIdentity.PLAYER_IDENTITY;
3+
import static dev.pgm.community.nick.identity.PlayerIdentity.PLAYER_IDENTITY;
44
import static net.kyori.adventure.text.Component.text;
55

66
import dev.pgm.community.utils.PGMUtils;

core/src/main/java/dev/pgm/community/nick/PlayerIdentity.java renamed to core/src/main/java/dev/pgm/community/nick/identity/PlayerIdentity.java

Lines changed: 20 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package dev.pgm.community.nick;
1+
package dev.pgm.community.nick.identity;
22

33
import 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
}

core/src/main/java/dev/pgm/community/nick/skin/SkinCache.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package dev.pgm.community.nick.skin;
22

3-
import static dev.pgm.community.nick.PlayerIdentity.PLAYER_IDENTITY;
3+
import static dev.pgm.community.nick.identity.PlayerIdentity.PLAYER_IDENTITY;
44
import static dev.pgm.community.util.PlayerUtils.PLAYER_UTILS;
55

66
import com.google.common.cache.Cache;
@@ -126,6 +126,8 @@ private void refreshFakeName(Player player, Player viewer) {
126126
if (nicked && !canSeeRealName) {
127127
String nick = Integration.getNick(player);
128128
MatchPlayer matchPlayer = PGM.get().getMatchManager().getPlayer(player);
129+
if (matchPlayer == null) return;
130+
129131
String displayName = PGM.get()
130132
.getNameDecorationRegistry()
131133
.getDecoratedName(player, matchPlayer.getParty().getColor());

core/src/main/java/dev/pgm/community/nick/skin/SkinManager.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package dev.pgm.community.nick.skin;
22

3-
import static dev.pgm.community.nick.PlayerIdentity.PLAYER_IDENTITY;
3+
import static dev.pgm.community.nick.identity.PlayerIdentity.PLAYER_IDENTITY;
44

55
import dev.pgm.community.Community;
66
import org.bukkit.entity.Player;

platform/platform-modern/src/main/java/dev/pgm/community/platform/modern/ModernPlayerUtils.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package dev.pgm.community.platform.modern;
22

3-
import static dev.pgm.community.nick.PlayerIdentity.PLAYER_IDENTITY;
3+
import static dev.pgm.community.nick.identity.PlayerIdentity.PLAYER_IDENTITY;
44
import static dev.pgm.community.util.Supports.Variant.PAPER;
55

66
import com.destroystokyo.paper.profile.CraftPlayerProfile;

platform/platform-modern/src/main/java/dev/pgm/community/platform/modern/PacketManipulations.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package dev.pgm.community.platform.modern;
22

3-
import static dev.pgm.community.nick.PlayerIdentity.PLAYER_IDENTITY;
3+
import static dev.pgm.community.nick.identity.PlayerIdentity.PLAYER_IDENTITY;
44

55
import com.github.retrooper.packetevents.event.PacketListenerCommon;
66
import com.github.retrooper.packetevents.event.PacketListenerPriority;

platform/platform-sportpaper/src/main/java/dev/pgm/community/platform/sportpaper/SpPlayerUtils.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package dev.pgm.community.platform.sportpaper;
22

3-
import static dev.pgm.community.nick.PlayerIdentity.PLAYER_IDENTITY;
3+
import static dev.pgm.community.nick.identity.PlayerIdentity.PLAYER_IDENTITY;
44
import static dev.pgm.community.util.Supports.Variant.SPORTPAPER;
55

66
import com.mojang.authlib.GameProfile;

0 commit comments

Comments
 (0)