mirror of
				https://github.com/Aust1n46/VentureChat.git
				synced 2025-10-30 21:52:23 +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
	 Aust1n46
						Aust1n46