Code: if (cmdLabel.equalsIgnoreCase("broadcast")){ String message = ""; for (String part : args) { if (message != "") message += " "; message += part; } Bukkit.getServer().broadcastMessage("[Broadcast]" + message); }
Oh really.. you just like pulling little code out of my project? *laughs* My code is a little different.
Please tell me that was a joke. Ontopic: nice tutorial. I've seen alot of people needing something like this.
My code is Code:java String message = (args[0]); Server server = Bukkit.getServer(); String format = config.getString("message.broadcast-prefix"); server.broadcastMessage(ChatColor.AQUA + format + message);
That will only broadcast the first argument and the stuff from your config. And why not use Bukkit.getServer().broadcastMessage(""); instead of what you did?
dont really see the point in argueing ive seen posts asking for the broadcast method and here it is its not like hes posted a huge code snippet direct from someones plugin
And for efficency, we would rather do: Code:java if (cmdLabel.equalsIgnoreCase("broadcast")) { StringBuilder message = new StringBuilder(""); for (String part : args) { if (!message.toString().equals("")) message.append(" "); message.append(part); } Bukkit.getServer().broadcastMessage("[Broadcast]" + message.toString());} And if you want to, add final to the variables.
This. StringBuilder (or indeed Joiner) is the way to go here. Don't use string concatenation inside a for loop, it's seriously inefficient. http://kaioa.com/node/59
I did it! a usage message! Code:java if (cmd.getName().equalsIgnoreCase("alert")){if(args.length == 0){player.sendMessage(ChatColor.RED +"Usage: /alert [message]");player.sendMessage(ChatColor.BLUE+"You can use this command to alert every user in the server");}else if(args.length >= 1){String message = "";for (String part : args) {if (message != "") message += " ";message += part;}Bukkit.getServer().broadcastMessage(ChatColor.DARK_BLUE + "[" + ChatColor.BLUE + "Superizee Alert" + ChatColor.DARK_BLUE + "]" + ChatColor.RESET + " " + message); }}
emericask8ur My eyes... Code: if(cmdLabel.equalsIgnoreCase("broadcast")) { if(args.length == 0) { return false; } String message; final StringBuilder stringBuilder = new StringBuilder(); for(String part : args) { stringBuilder.append(part); stringBuilder.append(" "); } message = stringBuilder.toString(); Bukkit.broadcastMessage(ChatColor.PURPLE + "[Broadcast] " + ChatColor.RESET + message.substring(0, message.length - 1)); }
My eyes, second edition Code: if(cmdLabel.equalsIgnoreCase("broadcast")) { if(args.length == 0) { return false; } Bukkit.broadcastMessage(ChatColor.PURPLE + "[Broadcast] " + ChatColor.RESET + Joiner.on(" ").join(args)); }
PunKeel The Joiner is not available by default in Java. You need Google Collections Library. I have prodided a way which is available for anyone.
Skyost What's the harm in using libs? It's already IN Bukkit, so there's 0 hassle in getting your users to use it, AND libs are also better for a few other reasons. If I see com.somedeveloper.someplugin.StringUtils.capitalize(String param), I have no clue what it does, if it's efficient, what errors it can throw, etc. If I see a common library (eg Google Commons), I immediately know exactly what that method does, and that it's efficient enough that I can eliminate it as a possible problem.
AFAIK Guava is provided by Bukkit, and we're on a forum about ... Bukkit. So, I don't get the point of being Library-independant ... Plus, using a lib. is better than making [bad] code, to keep it DRY !
Code:java //Broadcast Message if(label.equalsIgnoreCase("bc")){ if(!sender.hasPermission("ezcmd.bc")) { sender.sendMessage(ChatColor.DARK_RED + "eZCommand" + ChatColor.DARK_GRAY + ChatColor.BOLD + ">" + ChatColor.RED + " You Don't Have Permission!"); return true; } if(args.length == 0) { sender.sendMessage(ChatColor.DARK_RED + "eZCommand" + ChatColor.DARK_GRAY + ChatColor.BOLD + ">" + ChatColor.RED + " Usage:" + ChatColor.GREEN + " /bc {Message}"); }else { String message = ""; for (String part : args) { if (message != "") message += " "; message += part; } Bukkit.getServer().broadcastMessage(ChatColor.GRAY + "[" + ChatColor.AQUA + "Broadcast" + ChatColor.GRAY + "]" + " " + ChatColor.YELLOW + message); } } Thats mine and its good enough for me
This is my way Code:java StringBuilder message = new StringBuilder(); if (args.length > 0) { message.append(args[0]); for (int i = 1; i < args.length; i++) { message.append(" "); message.append(args[i]); } } Bukkit.broadcastMessage(ChatColor.DARK_PURPLE + " [Alert] " + ChatColor.YELLOW + message ); } else { StringBuilder message = new StringBuilder(); if (args.length > 0) { message.append(args[0]); for (int i = 1; i < args.length; i++) { message.append(" "); message.append(args[i]); } }[/i][/i]
My eyes, third edition (Requires JRE8) Code:java if(cmd.getName().equalsIgnoreCase("broadcast"){ if(args.length == 0){ cs.sendMessage(ChatColor.RED + "Usage: /broadcast <message>"); return true; // You can lecture me about how I'm supposed to use "false" later. } Bukkit.broadcastMessage(ChatColor.PURPLE + "[Broadcast] " + ChatColor.RESET + ChatColor.translateAlternateColorCodes('&', String.join(" ", args));}
No wounder my plugin replacing the join messages never worked. I was sending a message TO the PLAYER who JOINED instead of the entire server. Thanks