mirror of
				https://github.com/Aust1n46/VentureChat.git
				synced 2025-10-30 21:52:23 +00:00 
			
		
		
		
	Added new API method for getting list of channels.
Added channel tab completion for /mute command.
This commit is contained in:
		
							parent
							
								
									1da382bb38
								
							
						
					
					
						commit
						72153b57c6
					
				| @ -21,8 +21,10 @@ public class ChatChannel { | |||||||
| 
 | 
 | ||||||
| 	private static MineverseChat plugin = MineverseChat.getInstance(); | 	private static MineverseChat plugin = MineverseChat.getInstance(); | ||||||
| 	private static ChatChannel defaultChatChannel; | 	private static ChatChannel defaultChatChannel; | ||||||
|  | 	@Deprecated | ||||||
| 	private static ChatChannel[] channels; | 	private static ChatChannel[] channels; | ||||||
| 	private static String defaultColor; | 	private static String defaultColor; | ||||||
|  | 	private static List<ChatChannel> chatChannels = new ArrayList<ChatChannel>(); | ||||||
| 
 | 
 | ||||||
| 	private String name; | 	private String name; | ||||||
| 	private String permission; | 	private String permission; | ||||||
| @ -65,6 +67,7 @@ public class ChatChannel { | |||||||
| 			ChatChannel chatChannel = new ChatChannel(name, color, chatColor, permission, speakPermission, mutable, | 			ChatChannel chatChannel = new ChatChannel(name, color, chatColor, permission, speakPermission, mutable, | ||||||
| 					filter, defaultChannel, alias, distance, autojoin, bungee, cooldown, format); | 					filter, defaultChannel, alias, distance, autojoin, bungee, cooldown, format); | ||||||
| 			channels[counter++] = chatChannel; | 			channels[counter++] = chatChannel; | ||||||
|  | 			chatChannels.add(chatChannel); | ||||||
| 			if (defaultChannel) { | 			if (defaultChannel) { | ||||||
| 				defaultChatChannel = chatChannel; | 				defaultChatChannel = chatChannel; | ||||||
| 				defaultColor = color; | 				defaultColor = color; | ||||||
| @ -77,10 +80,20 @@ public class ChatChannel { | |||||||
| 	 *  | 	 *  | ||||||
| 	 * @return {@link ChatChannel}[] | 	 * @return {@link ChatChannel}[] | ||||||
| 	 */ | 	 */ | ||||||
|  | 	@Deprecated | ||||||
| 	public static ChatChannel[] getChannels() { | 	public static ChatChannel[] getChannels() { | ||||||
| 		return channels; | 		return channels; | ||||||
| 	} | 	} | ||||||
| 	 | 	 | ||||||
|  | 	/** | ||||||
|  | 	 * Get list of chat channels. | ||||||
|  | 	 *  | ||||||
|  | 	 * @return {@link List}<{@link ChatChannel}> | ||||||
|  | 	 */ | ||||||
|  | 	public static List<ChatChannel> getChatChannels() { | ||||||
|  | 		return chatChannels; | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
| 	/** | 	/** | ||||||
| 	 * Get a chat channel by name. | 	 * Get a chat channel by name. | ||||||
| 	 *  | 	 *  | ||||||
|  | |||||||
| @ -15,7 +15,7 @@ public class Chlist extends MineverseCommand { | |||||||
| 	@Override | 	@Override | ||||||
| 	public void execute(CommandSender sender, String command, String[] args) { | 	public void execute(CommandSender sender, String command, String[] args) { | ||||||
| 		sender.sendMessage(LocalizedMessage.CHANNEL_LIST_HEADER.toString()); | 		sender.sendMessage(LocalizedMessage.CHANNEL_LIST_HEADER.toString()); | ||||||
| 		for(ChatChannel chname : ChatChannel.getChannels()) { | 		for(ChatChannel chname : ChatChannel.getChatChannels()) { | ||||||
| 			if(chname.hasPermission()) { | 			if(chname.hasPermission()) { | ||||||
| 				if(sender.hasPermission(chname.getPermission())) { | 				if(sender.hasPermission(chname.getPermission())) { | ||||||
| 					sender.sendMessage(LocalizedMessage.CHANNEL_LIST_WITH_PERMISSIONS.toString() | 					sender.sendMessage(LocalizedMessage.CHANNEL_LIST_WITH_PERMISSIONS.toString() | ||||||
|  | |||||||
| @ -29,7 +29,7 @@ public class Setchannelall extends MineverseCommand { | |||||||
| 						.replace("{args}", args[0])); | 						.replace("{args}", args[0])); | ||||||
| 				return; | 				return; | ||||||
| 			} | 			} | ||||||
| 			for(ChatChannel channel : ChatChannel.getChannels()) { | 			for(ChatChannel channel : ChatChannel.getChatChannels()) { | ||||||
| 				if(channel.hasPermission()) { | 				if(channel.hasPermission()) { | ||||||
| 					if(!player.isOnline()) { | 					if(!player.isOnline()) { | ||||||
| 						sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE_NO_PERMISSIONS_CHECK.toString()); | 						sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE_NO_PERMISSIONS_CHECK.toString()); | ||||||
|  | |||||||
| @ -5,6 +5,7 @@ import java.io.DataOutputStream; | |||||||
| import java.util.ArrayList; | import java.util.ArrayList; | ||||||
| import java.util.Collections; | import java.util.Collections; | ||||||
| import java.util.List; | import java.util.List; | ||||||
|  | import java.util.stream.Collectors; | ||||||
| 
 | 
 | ||||||
| import org.bukkit.command.Command; | import org.bukkit.command.Command; | ||||||
| import org.bukkit.command.CommandSender; | import org.bukkit.command.CommandSender; | ||||||
| @ -120,10 +121,17 @@ public class Mute extends MineverseCommand { | |||||||
| 	@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<>(); | 		List<String> completions = new ArrayList<>(); | ||||||
| 		StringUtil.copyPartialMatches(args[args.length - 1], MineverseChat.networkPlayerNames, completions); | 		if(args.length == 1) { | ||||||
| 		completions.add("tester"); | 			StringUtil.copyPartialMatches(args[0], MineverseChat.networkPlayerNames, completions); | ||||||
| 		Collections.sort(completions); | 			Collections.sort(completions); | ||||||
|         return completions; | 	        return completions; | ||||||
|  | 		} | ||||||
|  | 		if(args.length == 2) { | ||||||
|  | 			StringUtil.copyPartialMatches(args[1], ChatChannel.getChatChannels().stream().map(ChatChannel::getName).collect(Collectors.toList()), completions); | ||||||
|  | 			Collections.sort(completions); | ||||||
|  | 	        return completions; | ||||||
|  | 		} | ||||||
|  | 		return Collections.emptyList(); | ||||||
| 	} | 	} | ||||||
| 	 | 	 | ||||||
| 	private void sendBungeeCordMute(CommandSender sender, String playerToMute, ChatChannel channel, long time) { | 	private void sendBungeeCordMute(CommandSender sender, String playerToMute, ChatChannel channel, long time) { | ||||||
|  | |||||||
| @ -31,7 +31,7 @@ public class Muteall extends MineverseCommand { | |||||||
| 				return; | 				return; | ||||||
| 			} | 			} | ||||||
| 			boolean bungee = false; | 			boolean bungee = false; | ||||||
| 			for(ChatChannel channel : ChatChannel.getChannels()) { | 			for(ChatChannel channel : ChatChannel.getChatChannels()) { | ||||||
| 				if(channel.isMutable()) { | 				if(channel.isMutable()) { | ||||||
| 					player.addMute(channel.getName(), 0);				 | 					player.addMute(channel.getName(), 0);				 | ||||||
| 					if(channel.getBungee()) { | 					if(channel.getBungee()) { | ||||||
|  | |||||||
| @ -28,7 +28,7 @@ public class Unmute extends MineverseCommand { | |||||||
| 				sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString().replace("{args}", args[0])); | 				sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString().replace("{args}", args[0])); | ||||||
| 				return; | 				return; | ||||||
| 			} | 			} | ||||||
| 			for (ChatChannel channel : ChatChannel.getChannels()) { | 			for (ChatChannel channel : ChatChannel.getChatChannels()) { | ||||||
| 				if (channel.getName().equalsIgnoreCase(args[1]) || channel.getAlias().equalsIgnoreCase(args[1])) { | 				if (channel.getName().equalsIgnoreCase(args[1]) || channel.getAlias().equalsIgnoreCase(args[1])) { | ||||||
| 					if (!player.isMuted(channel.getName())) { | 					if (!player.isMuted(channel.getName())) { | ||||||
| 						sender.sendMessage(LocalizedMessage.PLAYER_NOT_MUTED.toString() | 						sender.sendMessage(LocalizedMessage.PLAYER_NOT_MUTED.toString() | ||||||
|  | |||||||
| @ -31,7 +31,7 @@ public class Unmuteall extends MineverseCommand { | |||||||
| 				return; | 				return; | ||||||
| 			} | 			} | ||||||
| 			boolean bungee = false; | 			boolean bungee = false; | ||||||
| 			for(ChatChannel channel : ChatChannel.getChannels()) { | 			for(ChatChannel channel : ChatChannel.getChatChannels()) { | ||||||
| 				player.removeMute(channel.getName());				 | 				player.removeMute(channel.getName());				 | ||||||
| 				if(channel.getBungee()) { | 				if(channel.getBungee()) { | ||||||
| 					bungee = true; | 					bungee = true; | ||||||
|  | |||||||
| @ -153,7 +153,7 @@ public class CommandListener implements CommandExecutor, Listener { | |||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
| 		if(!plugin.quickchat) { | 		if(!plugin.quickchat) { | ||||||
| 			for(ChatChannel channel : ChatChannel.getChannels()) { | 			for(ChatChannel channel : ChatChannel.getChatChannels()) { | ||||||
| 				if(!channel.hasPermission() || mcp.getPlayer().hasPermission(channel.getPermission())) { | 				if(!channel.hasPermission() || mcp.getPlayer().hasPermission(channel.getPermission())) { | ||||||
| 					if(message.equals("/" + channel.getAlias())) { | 					if(message.equals("/" + channel.getAlias())) { | ||||||
| 						mcp.getPlayer().sendMessage(LocalizedMessage.SET_CHANNEL.toString() | 						mcp.getPlayer().sendMessage(LocalizedMessage.SET_CHANNEL.toString() | ||||||
| @ -227,7 +227,7 @@ public class CommandListener implements CommandExecutor, Listener { | |||||||
| 			return true; | 			return true; | ||||||
| 		} | 		} | ||||||
| 		MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender); | 		MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender); | ||||||
| 		for(ChatChannel channel : ChatChannel.getChannels()) { | 		for(ChatChannel channel : ChatChannel.getChatChannels()) { | ||||||
| 			if(command.getName().toLowerCase().equals(channel.getAlias())) { | 			if(command.getName().toLowerCase().equals(channel.getAlias())) { | ||||||
| 				if(args.length == 0) { | 				if(args.length == 0) { | ||||||
| 					mcp.getPlayer().sendMessage(ChatColor.RED + "Invalid command: /" + channel.getAlias() + " message"); | 					mcp.getPlayer().sendMessage(ChatColor.RED + "Invalid command: /" + channel.getAlias() + " message"); | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Aust1n46
						Aust1n46