[Problème] Broadcast via commande qui ne marche pas

StyleBleu

Bucheron
18 Septembre 2022
25
0
13
30
Bonjour, depuis pas très longtemps, j'essaie de créer un plugin minecraft mais une de mes commandes (broadcast) ne marche pas voici mon code:

package fr.stylebleu.terraiaplug.commands;

import org.bukkit.Bukkit;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;


public class CommandTest implements CommandExecutor {

@Override
public boolean onCommand(CommandSender sender, Command cmd, String msg, String[] args) {

if(sender instanceof Player){
Player player = (Player)sender;


if(cmd.getName().equalsIgnoreCase("bc")) {

// /bc --> No args
if(args.length == 0){
player.sendMessage("Erreur: Vous n'avez pas donné d'arguments! --> /bc [arguments]");
}

// /bc --> With args
if(args.length >= 1){

StringBuilder bc = new StringBuilder();
for(String part : args){
bc.append(part + " ");
}

Bukkit.broadcastMessage(" §6[§eBROADCAST§6] §e" + player.getName() + " §6: §f" + bc.toString());
}



return true;
}
}



return false;
}

}
 
Bonsoir,

N'as-tu pas d'erreur dans les logs ? Ton message d'erreur s'affiche-t-il lorsque tu fais /bc sans argument ?

Cordialement,
ShE3py
 
Fais-tu bien enregistré ta commande /bc (pas un alias) ?
Rajoute des println pour savoir dans quelles conditions le code rentre.
 
package fr.stylebleu.terraiaplug;

import org.bukkit.plugin.java.JavaPlugin;
import fr.stylebleu.terraiaplug.commands.CommandTest;

public class Main extends JavaPlugin {

@Override
public void onEnable() {
System.out.println("The plugin TerraiaPlug is now ENABLED!");
getCommand("test").setExecutor(new CommandTest());
getCommand("broadcast").setExecutor(new CommandTest());
getServer().getPluginManager().registerEvents(new TerraiaPlugListeners(), this);
}


@Override
public void onDisable() {
System.out.println("The plugin TerraiaPlug is now DISABLED!");
}







}