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
|
description: Envoi un message sur tout le serveur
|
||||||
usage: /broadcast <message>
|
usage: /broadcast <message>
|
||||||
permission: pandacraft.broadcast
|
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 ######################
|
# à ajouter ######################
|
||||||
pandacraft.broadcast:
|
pandacraft.broadcast:
|
||||||
description: Utiliser la commande broadcast
|
description: Utiliser la commande broadcast et broadcastperm
|
||||||
default: op
|
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.plugin.pandacraftutils.system_analyzer.CommandSystem;
|
||||||
import net.mc_pandacraft.java.util.mysql.DBConnection;
|
import net.mc_pandacraft.java.util.mysql.DBConnection;
|
||||||
|
|
||||||
|
import org.bukkit.ChatColor;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.plugin.java.JavaPlugin;
|
import org.bukkit.plugin.java.JavaPlugin;
|
||||||
|
|
||||||
public class PandacraftUtils extends JavaPlugin {
|
public class PandacraftUtils extends JavaPlugin {
|
||||||
@ -125,5 +127,72 @@ public class PandacraftUtils extends JavaPlugin {
|
|||||||
try { databaseConnection.getConnection().close(); } catch (SQLException e) { }
|
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) {
|
public CommandBroadcast(PandacraftUtils pl) {
|
||||||
plugin = pl;
|
plugin = pl;
|
||||||
plugin.getCommand("broadcast").setExecutor(this);
|
plugin.getCommand("broadcast").setExecutor(this);
|
||||||
|
plugin.getCommand("broadcastperm").setExecutor(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
|
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
|
||||||
if (args.length == 0) return false;
|
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;
|
return true;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user