Ajout de la commande /broadcastperm pour publier un message que à certains joueurs
This commit is contained in:
parent
1e9dae8dbe
commit
97be575fa2
@ -58,6 +58,10 @@ commands:
|
||||
description: Envoi un message sur tout le serveur
|
||||
usage: /broadcast <message>
|
||||
permission: pandacraft.broadcast
|
||||
broadcastperm:
|
||||
description: Envoi un message aux joueurs qui ont la permission spécifiée
|
||||
usage: /broadcastperm <permission> <message>
|
||||
permission: pandacraft.broadcast
|
||||
|
||||
|
||||
|
||||
@ -126,7 +130,7 @@ permissions:
|
||||
|
||||
# à ajouter ######################
|
||||
pandacraft.broadcast:
|
||||
description: Utiliser la commande broadcast
|
||||
description: Utiliser la commande broadcast et broadcastperm
|
||||
default: op
|
||||
|
||||
|
||||
|
@ -24,6 +24,8 @@ import net.mc_pandacraft.java.plugin.pandacraftutils.survival_cuboid.CommandWand
|
||||
import net.mc_pandacraft.java.plugin.pandacraftutils.system_analyzer.CommandSystem;
|
||||
import net.mc_pandacraft.java.util.mysql.DBConnection;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
|
||||
public class PandacraftUtils extends JavaPlugin {
|
||||
@ -125,5 +127,72 @@ public class PandacraftUtils extends JavaPlugin {
|
||||
try { databaseConnection.getConnection().close(); } catch (SQLException e) { }
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Envoi d'un message groupé à plusieurs ou à tout les joueurs et peut-être à la console
|
||||
* @param message message à envoyer
|
||||
* @param prefix <i>true</i> si le message doit être précédé de "[Pandacraft] "
|
||||
* @param console défini si le message doit être affiché sur la console
|
||||
* @param permission défini la permission que doit avoir le joueur pour voir le message, ou <i>null</i> si le message est adressé à tous les joueurs
|
||||
* @throws IllegalArgumentException si message est <i>null</i>
|
||||
*/
|
||||
public void broadcast(String message, boolean prefix, boolean console, String permission) {
|
||||
if (message == null)
|
||||
throw new IllegalArgumentException("Un message doit être défini");
|
||||
|
||||
if (prefix)
|
||||
message = ChatColor.YELLOW+"["+ChatColor.WHITE+"Pandacraft"+ChatColor.YELLOW+"] " + message;
|
||||
|
||||
|
||||
for (Player p : getServer().getOnlinePlayers())
|
||||
{
|
||||
if (p==null || !p.isOnline()) continue;
|
||||
if (permission != null && !p.hasPermission(permission)) continue;
|
||||
p.sendMessage(message);
|
||||
}
|
||||
|
||||
if (console)
|
||||
getServer().getConsoleSender().sendMessage(message);
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Envoi d'un message groupé à tout les joueurs et peut-être à la console
|
||||
* @param message message à envoyer
|
||||
* @param prefix <i>true</i> si le message doit être précédé de "[Pandacraft] "
|
||||
* @param console défini si le message doit être affiché sur la console
|
||||
* @throws IllegalArgumentException si message est <i>null</i>
|
||||
*/
|
||||
public void broadcast(String message, boolean prefix, boolean console) {
|
||||
broadcast(message, prefix, console, null);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Envoi d'un message groupé à plusieurs ou à tout les joueurs, et à la console si le paramètre <b>permission</b> est <i>null</i>
|
||||
* @param message message à envoyer
|
||||
* @param prefix <i>true</i> si le message doit être précédé de "[Pandacraft] "
|
||||
* @param permission défini la permission que doit avoir le joueur pour voir le message, ou <i>null</i> si le message est adressé à tous les joueurs et à la console
|
||||
* @throws IllegalArgumentException si message est <i>null</i>
|
||||
*/
|
||||
public void broadcast(String message, boolean prefix, String permission) {
|
||||
broadcast(message, prefix, (permission == null), permission);
|
||||
}
|
||||
|
||||
/**
|
||||
* Envoi d'un message groupé à tout les joueurs et à la console
|
||||
* @param message message à envoyer
|
||||
* @param prefix <i>true</i> si le message doit être précédé de "[Pandacraft] "
|
||||
*/
|
||||
public void broadcast(String message, boolean prefix) {
|
||||
broadcast(message, prefix, true, null);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
@ -15,13 +15,29 @@ public class CommandBroadcast implements CommandExecutor {
|
||||
public CommandBroadcast(PandacraftUtils pl) {
|
||||
plugin = pl;
|
||||
plugin.getCommand("broadcast").setExecutor(this);
|
||||
plugin.getCommand("broadcastperm").setExecutor(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
|
||||
if (args.length == 0) return false;
|
||||
|
||||
plugin.getServer().broadcastMessage(ChatColor.YELLOW+"["+ChatColor.WHITE+"Pandacraft"+ChatColor.YELLOW+"] " + ChatColor.translateAlternateColorCodes('&', StringUtils.join(args, ' ')));
|
||||
|
||||
if (label.equalsIgnoreCase("broadcast"))
|
||||
{
|
||||
plugin.broadcast(ChatColor.translateAlternateColorCodes('&', StringUtils.join(args, ' ')), true);
|
||||
return true;
|
||||
}
|
||||
|
||||
// ici, il s'agit de /broadcastperm
|
||||
if (args.length > 2) return false;
|
||||
|
||||
String perm = args[0];
|
||||
args[0] = null;
|
||||
|
||||
|
||||
plugin.broadcast(ChatColor.translateAlternateColorCodes('&', StringUtils.join(args, ' ')), true, perm);
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user