Skip to content

Commit

Permalink
cache profiles from other servers on the network
Browse files Browse the repository at this point in the history
  • Loading branch information
jpenilla committed Aug 5, 2023
1 parent 4651d4c commit c6b1546
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -55,21 +55,27 @@ public final class NetworkUsers implements PlayerSuggestions {
private final CarbonServer server;
private final Map<UUID, Map<UUID, String>> map = new ConcurrentHashMap<>();
private final UserManager<? extends CarbonPlayer> userManager;
private final ProfileCache profileCache;

@Inject
private NetworkUsers(
final CarbonServer server,
final UserManager<?> userManager
final UserManager<?> userManager,
final ProfileCache profileCache
) {
this.server = server;
this.userManager = userManager;
this.profileCache = profileCache;
}

public void handlePacket(final LocalPlayerChangePacket packet) {
final Map<UUID, String> serverMap = this.map.computeIfAbsent(packet.getSender(), $ -> new ConcurrentHashMap<>());

switch (packet.changeType()) {
case ADD -> serverMap.put(packet.playerId(), packet.playerName());
case ADD -> {
serverMap.put(packet.playerId(), packet.playerName());
this.profileCache.cache(packet.playerId(), packet.playerName());
}
case REMOVE -> serverMap.remove(packet.playerId());
}

Expand All @@ -83,6 +89,8 @@ public void handlePacket(final LocalPlayersPacket packet) {
final Map<UUID, String> serverMap = this.map.computeIfAbsent(packet.getSender(), $ -> new ConcurrentHashMap<>());
serverMap.clear();
serverMap.putAll(packet.players());

packet.players().forEach(this.profileCache::cache);
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@
import org.checkerframework.checker.nullness.qual.Nullable;
import org.checkerframework.framework.qual.DefaultQualifier;

// todo use data from NetworkPlayers?
@DefaultQualifier(NonNull.class)
public interface ProfileResolver {

Expand Down

0 comments on commit c6b1546

Please sign in to comment.