mirror of
https://github.com/Aust1n46/VentureChat.git
synced 2025-05-22 18:09:06 +00:00
Added hashmaps for Bungee player data for better efficiency.
This commit is contained in:
parent
ff0441de4c
commit
a1e8b7bb4f
@ -7,7 +7,6 @@ import java.util.UUID;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import mineverse.Aust1n46.chat.MineverseChat;
|
||||
import mineverse.Aust1n46.chat.bungee.MineverseChatBungee;
|
||||
|
||||
/**
|
||||
* API class for looking up wrapped {@link MineverseChatPlayer} objects from
|
||||
@ -19,7 +18,21 @@ public final class MineverseChatAPI {
|
||||
private static HashMap<UUID, MineverseChatPlayer> playerMap = new HashMap<UUID, MineverseChatPlayer>();
|
||||
private static HashMap<String, UUID> namesMap = new HashMap<String, UUID>();
|
||||
private static HashMap<UUID, MineverseChatPlayer> onlinePlayerMap = new HashMap<UUID, MineverseChatPlayer>();
|
||||
|
||||
private static HashMap<UUID, SynchronizedMineverseChatPlayer> bungeePlayerMap = new HashMap<UUID, SynchronizedMineverseChatPlayer>();
|
||||
|
||||
public static void addSynchronizedMineverseChatPlayerToMap(SynchronizedMineverseChatPlayer smcp) {
|
||||
bungeePlayerMap.put(smcp.getUUID(), smcp);
|
||||
}
|
||||
|
||||
public static void clearBungeePlayerMap() {
|
||||
bungeePlayerMap.clear();
|
||||
}
|
||||
|
||||
public static Collection<SynchronizedMineverseChatPlayer> getSynchronizedMineverseChatPlayers() {
|
||||
return bungeePlayerMap.values();
|
||||
}
|
||||
|
||||
public static void addNameToMap(MineverseChatPlayer mcp) {
|
||||
namesMap.put(mcp.getName(), mcp.getUUID());
|
||||
}
|
||||
@ -32,11 +45,13 @@ public final class MineverseChatAPI {
|
||||
namesMap.clear();
|
||||
}
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
public static void addMineverseChatPlayerToMap(MineverseChatPlayer mcp) {
|
||||
playerMap.put(mcp.getUUID(), mcp);
|
||||
MineverseChat.players.add(mcp);
|
||||
}
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
public static void clearMineverseChatPlayerMap() {
|
||||
playerMap.clear();
|
||||
MineverseChat.players.clear();
|
||||
@ -46,16 +61,19 @@ public final class MineverseChatAPI {
|
||||
return playerMap.values();
|
||||
}
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
public static void addMineverseChatOnlinePlayerToMap(MineverseChatPlayer mcp) {
|
||||
onlinePlayerMap.put(mcp.getUUID(), mcp);
|
||||
MineverseChat.onlinePlayers.add(mcp);
|
||||
}
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
public static void removeMineverseChatOnlinePlayerToMap(MineverseChatPlayer mcp) {
|
||||
onlinePlayerMap.remove(mcp.getUUID());
|
||||
MineverseChat.onlinePlayers.remove(mcp);
|
||||
}
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
public static void clearOnlineMineverseChatPlayerMap() {
|
||||
onlinePlayerMap.clear();
|
||||
MineverseChat.onlinePlayers.clear();
|
||||
@ -142,15 +160,6 @@ public final class MineverseChatAPI {
|
||||
* @return {@link SynchronizedMineverseChatPlayer}
|
||||
*/
|
||||
public static SynchronizedMineverseChatPlayer getSynchronizedMineverseChatPlayer(UUID uuid) {
|
||||
for (SynchronizedMineverseChatPlayer smcp : MineverseChatBungee.players) {
|
||||
try {
|
||||
if (smcp.getUUID().toString().equals(uuid.toString())) {
|
||||
return smcp;
|
||||
}
|
||||
} catch (Exception exception) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
return bungeePlayerMap.get(uuid);
|
||||
}
|
||||
}
|
||||
|
@ -8,8 +8,6 @@ import java.io.File;
|
||||
import java.nio.file.Files;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
|
||||
@ -39,9 +37,6 @@ import net.md_5.bungee.event.EventHandler;
|
||||
public class MineverseChatBungee extends Plugin implements Listener {
|
||||
private static MineverseChatBungee instance;
|
||||
private Configuration bungeeConfig;
|
||||
public Map<String, String> ignore = new HashMap<String, String>();
|
||||
public Map<String, Boolean> spy = new HashMap<String, Boolean>();
|
||||
public static Set<SynchronizedMineverseChatPlayer> players = new HashSet<SynchronizedMineverseChatPlayer>();
|
||||
public static String PLUGIN_MESSAGING_CHANNEL = "venturechat:data";
|
||||
|
||||
@Override
|
||||
@ -429,7 +424,7 @@ public class MineverseChatBungee extends Plugin implements Listener {
|
||||
SynchronizedMineverseChatPlayer smcp = MineverseChatAPI.getSynchronizedMineverseChatPlayer(uuid);
|
||||
if(smcp == null) {
|
||||
smcp = new SynchronizedMineverseChatPlayer(uuid, new HashSet<String>(), new HashMap<String, Integer>(), new HashSet<UUID>(), false, true);
|
||||
players.add(smcp);
|
||||
MineverseChatAPI.addSynchronizedMineverseChatPlayerToMap(smcp);
|
||||
}
|
||||
out.writeUTF("Sync");
|
||||
out.writeUTF(uuid.toString());
|
||||
@ -465,7 +460,7 @@ public class MineverseChatBungee extends Plugin implements Listener {
|
||||
SynchronizedMineverseChatPlayer smcp = MineverseChatAPI.getSynchronizedMineverseChatPlayer(uuid);
|
||||
if(smcp == null) {
|
||||
smcp = new SynchronizedMineverseChatPlayer(uuid, new HashSet<String>(), new HashMap<String, Integer>(), new HashSet<UUID>(), false, true);
|
||||
players.add(smcp);
|
||||
MineverseChatAPI.addSynchronizedMineverseChatPlayerToMap(smcp);
|
||||
}
|
||||
smcp.getListening().clear();
|
||||
smcp.getMutes().clear();
|
||||
|
@ -11,6 +11,7 @@ import java.util.Set;
|
||||
import java.util.StringTokenizer;
|
||||
import java.util.UUID;
|
||||
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
|
||||
import mineverse.Aust1n46.chat.api.SynchronizedMineverseChatPlayer;
|
||||
import mineverse.Aust1n46.chat.bungee.MineverseChatBungee;
|
||||
import mineverse.Aust1n46.chat.utilities.Format;
|
||||
@ -65,11 +66,11 @@ public class BungeePlayerData {
|
||||
}
|
||||
boolean spy = playerData.getBoolean(uuidString + ".spy");
|
||||
boolean messageToggle = playerData.getBoolean(uuidString + ".messagetoggle");
|
||||
MineverseChatBungee.players.add(new SynchronizedMineverseChatPlayer(uuid, listening, mutes, ignores, spy, messageToggle));
|
||||
MineverseChatAPI.addSynchronizedMineverseChatPlayerToMap(new SynchronizedMineverseChatPlayer(uuid, listening, mutes, ignores, spy, messageToggle));
|
||||
}
|
||||
}
|
||||
catch (Exception e) {
|
||||
MineverseChatBungee.players.clear();
|
||||
MineverseChatAPI.clearBungeePlayerMap();
|
||||
ProxyServer.getInstance().getConsole().sendMessage(TextComponent.fromLegacyText(Format.FormatStringAll("&8[&eVentureChat&8]&c - Error Loading Legacy Player Data!")));
|
||||
ProxyServer.getInstance().getConsole().sendMessage(TextComponent.fromLegacyText(Format.FormatStringAll("&8[&eVentureChat&8]&c - Deleted BungeePlayers.yml file!")));
|
||||
}
|
||||
@ -137,13 +138,13 @@ public class BungeePlayerData {
|
||||
return;
|
||||
}
|
||||
if(smcp != null) {
|
||||
MineverseChatBungee.players.add(smcp);
|
||||
MineverseChatAPI.addSynchronizedMineverseChatPlayerToMap(smcp);
|
||||
}
|
||||
}
|
||||
|
||||
public static void saveBungeePlayerData() {
|
||||
try {
|
||||
for(SynchronizedMineverseChatPlayer p : MineverseChatBungee.players) {
|
||||
for(SynchronizedMineverseChatPlayer p : MineverseChatAPI.getSynchronizedMineverseChatPlayers()) {
|
||||
if(UUIDFetcher.shouldSkipOfflineUUIDBungee(p.getUUID())) {
|
||||
return;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user