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