mirror of
https://github.com/Aust1n46/VentureChat.git
synced 2025-05-23 10:39:05 +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");
|
private static final Logger log = Logger.getLogger("Minecraft");
|
||||||
public static Set<MineverseChatPlayer> players = new HashSet<MineverseChatPlayer>();
|
public static Set<MineverseChatPlayer> players = new HashSet<MineverseChatPlayer>();
|
||||||
public static Set<MineverseChatPlayer> onlinePlayers = 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;
|
private boolean firstRun = true;
|
||||||
|
|
||||||
// Plugin Messaging Channel
|
// Plugin Messaging Channel
|
||||||
@ -637,33 +637,6 @@ public class MineverseChat extends JavaPlugin implements PluginMessageListener {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
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) {
|
public static void sendDiscordSRVPluginMessage(String chatChannel, String message) {
|
||||||
if(onlinePlayers.size() == 0) {
|
if(onlinePlayers.size() == 0) {
|
||||||
return;
|
return;
|
||||||
@ -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")) {
|
if(subchannel.equals("Chwho")) {
|
||||||
String identifier = msgin.readUTF();
|
String identifier = msgin.readUTF();
|
||||||
if(identifier.equals("Get")) {
|
if(identifier.equals("Get")) {
|
||||||
@ -838,16 +818,6 @@ public class MineverseChat extends JavaPlugin implements PluginMessageListener {
|
|||||||
String hash = msgin.readUTF();
|
String hash = msgin.readUTF();
|
||||||
this.getServer().dispatchCommand(this.getServer().getConsoleSender(), "removemessage " + hash);
|
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(subchannel.equals("Sync")) {
|
||||||
if(this.getConfig().getString("loglevel", "info").equals("debug")) {
|
if(this.getConfig().getString("loglevel", "info").equals("debug")) {
|
||||||
Bukkit.getConsoleSender().sendMessage(Format.FormatStringAll("&8[&eVentureChat&8]&e - Received update..."));
|
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.ProxiedPlayer;
|
||||||
import net.md_5.bungee.api.connection.Server;
|
import net.md_5.bungee.api.connection.Server;
|
||||||
import net.md_5.bungee.api.event.PluginMessageEvent;
|
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.Listener;
|
||||||
import net.md_5.bungee.api.plugin.Plugin;
|
import net.md_5.bungee.api.plugin.Plugin;
|
||||||
import net.md_5.bungee.config.Configuration;
|
import net.md_5.bungee.config.Configuration;
|
||||||
@ -38,7 +40,6 @@ public class MineverseChatBungee extends Plugin implements Listener {
|
|||||||
private Configuration bungeeconfig;
|
private Configuration bungeeconfig;
|
||||||
private Configuration playerData;
|
private Configuration playerData;
|
||||||
public static Set<SynchronizedMineverseChatPlayer> players = new HashSet<SynchronizedMineverseChatPlayer>();
|
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";
|
public static String PLUGIN_MESSAGING_CHANNEL = "venturechat:data";
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -134,6 +135,37 @@ public class MineverseChatBungee extends Plugin implements Listener {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@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
|
@EventHandler
|
||||||
public void onPluginMessage(PluginMessageEvent ev) {
|
public void onPluginMessage(PluginMessageEvent ev) {
|
||||||
//System.out.println(ev.getTag() + "," + ev.getSender().toString() + "," + (ev.getSender() instanceof Server));
|
//System.out.println(ev.getTag() + "," + ev.getSender().toString() + "," + (ev.getSender() instanceof Server));
|
||||||
@ -486,35 +518,6 @@ public class MineverseChatBungee extends Plugin implements Listener {
|
|||||||
smcp.setSpy(in.readBoolean());
|
smcp.setSpy(in.readBoolean());
|
||||||
smcp.setMessageToggle(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")) {
|
if(subchannel.equals("Mute")) {
|
||||||
String identifier = in.readUTF();
|
String identifier = in.readUTF();
|
||||||
|
@ -2,7 +2,6 @@ package mineverse.Aust1n46.chat.command.message;
|
|||||||
|
|
||||||
import java.io.ByteArrayOutputStream;
|
import java.io.ByteArrayOutputStream;
|
||||||
import java.io.DataOutputStream;
|
import java.io.DataOutputStream;
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
@ -165,12 +164,10 @@ public class MessageCommandExecutor implements TabExecutor {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<String> onTabComplete(CommandSender sender, Command command, String label, String[] args) {
|
public List<String> onTabComplete(CommandSender sender, Command command, String label, String[] args) {
|
||||||
List<String> completions = new ArrayList<>();
|
if(plugin.getConfig().getBoolean("bungeecordmessaging", true)) {
|
||||||
|
return MineverseChat.networkPlayerNames;
|
||||||
for(Player p : plugin.getServer().getOnlinePlayers()) {
|
|
||||||
completions.add(p.getName());
|
|
||||||
}
|
}
|
||||||
return completions;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void sendBungeeCordMessage(MineverseChatPlayer mcp, String command, String[] args) {
|
private void sendBungeeCordMessage(MineverseChatPlayer mcp, String command, String[] args) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user