mirror of
https://github.com/Aust1n46/VentureChat.git
synced 2025-05-22 18:09:06 +00:00
Added tab completion for all network players to private messaging.
This commit is contained in:
parent
03ff3ceaf7
commit
13bd351c41
@ -147,7 +147,7 @@ public class MineverseChat extends JavaPlugin implements PluginMessageListener {
|
||||
private static final Logger log = Logger.getLogger("Minecraft");
|
||||
public static Set<MineverseChatPlayer> players = new HashSet<MineverseChatPlayer>();
|
||||
public static Set<MineverseChatPlayer> onlinePlayers = new HashSet<MineverseChatPlayer>();
|
||||
public static HashMap<String, String> networkPlayers = new HashMap<String, String>();
|
||||
public static List<String> networkPlayerNames = new ArrayList<String>();
|
||||
private boolean firstRun = true;
|
||||
|
||||
// Plugin Messaging Channel
|
||||
@ -636,33 +636,6 @@ public class MineverseChat extends JavaPlugin implements PluginMessageListener {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public void updatePlayerList(MineverseChatPlayer mcp, boolean request) {
|
||||
ByteArrayOutputStream outstream = new ByteArrayOutputStream();
|
||||
DataOutputStream out = new DataOutputStream(outstream);
|
||||
try {
|
||||
out.writeUTF("Sync");
|
||||
if(request) {
|
||||
out.writeUTF("PlayersReceive");
|
||||
// System.out.println(mcp.getPlayer().getServer().getServerName());
|
||||
out.writeUTF(this.getServer().getName());
|
||||
}
|
||||
else {
|
||||
out.writeUTF("PlayersUpdate");
|
||||
// System.out.println(networkPlayers.keySet().size());
|
||||
out.write(networkPlayers.keySet().size());
|
||||
for(String p : networkPlayers.keySet()) {
|
||||
out.writeUTF(p + "," + networkPlayers.get(p));
|
||||
}
|
||||
}
|
||||
mcp.getPlayer().sendPluginMessage(this, MineverseChat.PLUGIN_MESSAGING_CHANNEL, outstream.toByteArray());
|
||||
// System.out.println("Sync start bottom...");
|
||||
out.close();
|
||||
}
|
||||
catch(IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public static void sendDiscordSRVPluginMessage(String chatChannel, String message) {
|
||||
if(onlinePlayers.size() == 0) {
|
||||
@ -786,6 +759,13 @@ public class MineverseChat extends JavaPlugin implements PluginMessageListener {
|
||||
}
|
||||
}
|
||||
}
|
||||
if(subchannel.equals("PlayerNames")) {
|
||||
networkPlayerNames.clear();
|
||||
int playerCount = msgin.readInt();
|
||||
for(int a = 0; a < playerCount; a ++) {
|
||||
networkPlayerNames.add(msgin.readUTF());
|
||||
}
|
||||
}
|
||||
if(subchannel.equals("Chwho")) {
|
||||
String identifier = msgin.readUTF();
|
||||
if(identifier.equals("Get")) {
|
||||
@ -838,16 +818,6 @@ public class MineverseChat extends JavaPlugin implements PluginMessageListener {
|
||||
String hash = msgin.readUTF();
|
||||
this.getServer().dispatchCommand(this.getServer().getConsoleSender(), "removemessage " + hash);
|
||||
}
|
||||
if(subchannel.equals("PlayersUpdate")) {
|
||||
networkPlayers.clear();
|
||||
int size = msgin.read();
|
||||
for(int a = 1; a <= size; a++) {
|
||||
String p = msgin.readUTF();
|
||||
String[] parts = p.split(",");
|
||||
networkPlayers.put(parts[0], parts[1]);
|
||||
System.out.print(p);
|
||||
}
|
||||
}
|
||||
if(subchannel.equals("Sync")) {
|
||||
if(this.getConfig().getString("loglevel", "info").equals("debug")) {
|
||||
Bukkit.getConsoleSender().sendMessage(Format.FormatStringAll("&8[&eVentureChat&8]&e - Received update..."));
|
||||
|
@ -24,6 +24,8 @@ import net.md_5.bungee.api.chat.TextComponent;
|
||||
import net.md_5.bungee.api.connection.ProxiedPlayer;
|
||||
import net.md_5.bungee.api.connection.Server;
|
||||
import net.md_5.bungee.api.event.PluginMessageEvent;
|
||||
import net.md_5.bungee.api.event.ServerDisconnectEvent;
|
||||
import net.md_5.bungee.api.event.ServerSwitchEvent;
|
||||
import net.md_5.bungee.api.plugin.Listener;
|
||||
import net.md_5.bungee.api.plugin.Plugin;
|
||||
import net.md_5.bungee.config.Configuration;
|
||||
@ -38,7 +40,6 @@ public class MineverseChatBungee extends Plugin implements Listener {
|
||||
private Configuration bungeeconfig;
|
||||
private Configuration playerData;
|
||||
public static Set<SynchronizedMineverseChatPlayer> players = new HashSet<SynchronizedMineverseChatPlayer>();
|
||||
public static HashMap<String, String> networkPlayers = new HashMap<String, String>();
|
||||
public static String PLUGIN_MESSAGING_CHANNEL = "venturechat:data";
|
||||
|
||||
@Override
|
||||
@ -133,6 +134,37 @@ public class MineverseChatBungee extends Plugin implements Listener {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onPlayerJoin(ServerSwitchEvent event) {
|
||||
updatePlayerNames();
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onPlayerLeave(ServerDisconnectEvent event) {
|
||||
updatePlayerNames();
|
||||
}
|
||||
|
||||
private void updatePlayerNames() {
|
||||
try {
|
||||
ByteArrayOutputStream outstream = new ByteArrayOutputStream();
|
||||
DataOutputStream out = new DataOutputStream(outstream);
|
||||
out.writeUTF("PlayerNames");
|
||||
out.writeInt(this.getProxy().getPlayers().size());
|
||||
for(ProxiedPlayer pp : this.getProxy().getPlayers()) {
|
||||
out.writeUTF(pp.getName());
|
||||
}
|
||||
|
||||
for(String send : getProxy().getServers().keySet()) {
|
||||
if(getProxy().getServers().get(send).getPlayers().size() > 0) {
|
||||
getProxy().getServers().get(send).sendData(MineverseChatBungee.PLUGIN_MESSAGING_CHANNEL, outstream.toByteArray());
|
||||
}
|
||||
}
|
||||
}
|
||||
catch(Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onPluginMessage(PluginMessageEvent ev) {
|
||||
@ -486,35 +518,6 @@ public class MineverseChatBungee extends Plugin implements Listener {
|
||||
smcp.setSpy(in.readBoolean());
|
||||
smcp.setMessageToggle(in.readBoolean());
|
||||
}
|
||||
if(identifier.equals("PlayersReceive")) {
|
||||
String server = in.readUTF();
|
||||
out.writeUTF("PlayersUpdate");
|
||||
out.write(networkPlayers.keySet().size());
|
||||
for(String s : networkPlayers.keySet()) {
|
||||
out.writeUTF(s + "," + networkPlayers.get(s));
|
||||
}
|
||||
if(getProxy().getServers().get(server).getPlayers().size() > 0)
|
||||
getProxy().getServers().get(server).sendData(MineverseChatBungee.PLUGIN_MESSAGING_CHANNEL, outstream.toByteArray());
|
||||
}
|
||||
if(identifier.equals("PlayersUpdate")) {
|
||||
networkPlayers.clear();
|
||||
int size = in.read();
|
||||
//System.out.println(size);
|
||||
for(int a = 1; a <= size; a ++) {
|
||||
String player = in.readUTF();
|
||||
String[] parts = player.split(",");
|
||||
networkPlayers.put(parts[0], parts[1]);
|
||||
}
|
||||
out.writeUTF("PlayersUpdate");
|
||||
out.write(networkPlayers.keySet().size());
|
||||
for(String s : networkPlayers.keySet()) {
|
||||
out.writeUTF(s + "," + networkPlayers.get(s));
|
||||
}
|
||||
for(String send : getProxy().getServers().keySet()) {
|
||||
if(getProxy().getServers().get(send).getPlayers().size() > 0)
|
||||
getProxy().getServers().get(send).sendData(MineverseChatBungee.PLUGIN_MESSAGING_CHANNEL, outstream.toByteArray());
|
||||
}
|
||||
}
|
||||
}
|
||||
if(subchannel.equals("Mute")) {
|
||||
String identifier = in.readUTF();
|
||||
|
@ -2,7 +2,6 @@ package mineverse.Aust1n46.chat.command.message;
|
||||
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.DataOutputStream;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
@ -165,12 +164,10 @@ public class MessageCommandExecutor implements TabExecutor {
|
||||
|
||||
@Override
|
||||
public List<String> onTabComplete(CommandSender sender, Command command, String label, String[] args) {
|
||||
List<String> completions = new ArrayList<>();
|
||||
|
||||
for(Player p : plugin.getServer().getOnlinePlayers()) {
|
||||
completions.add(p.getName());
|
||||
if(plugin.getConfig().getBoolean("bungeecordmessaging", true)) {
|
||||
return MineverseChat.networkPlayerNames;
|
||||
}
|
||||
return completions;
|
||||
return null;
|
||||
}
|
||||
|
||||
private void sendBungeeCordMessage(MineverseChatPlayer mcp, String command, String[] args) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user