所以我有一个插件我正在制作他们被踢的消息。我希望该消息是在config.yml中设置的颜色。继承我的代码:
}
if (l == 2) {
settings.getData().set("" + target.getName() + "", null);
settings.saveData();
target.kickPlayer(this.getConfig().getString("BanMessage"));
target.setBanned(true);
Bukkit.getServer().broadcastMessage(ChatColor.RED + target.getName() + " " + "Has been tempbanned for 25 Minutes by " + sender.getName() + "" + "(3/3)");
Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(this, new Runnable() {
public void run() {
target.setBanned(false);
}
}, 1500 * 20);
return true;
}
继承人我的config.yml:
BanMessage: You have been temp banned for 25 Minutes
答案 0 :(得分:1)
您可以使用ChatColor.translateAlternateColorCodes()
:
String kickMessage = plugin.getConfig().getString("BanMessage");
kickMessage = ChatColor.translateAlternateColorCodes('&', kickMessage);
target.kickPlayer(kickMessage);
target.setBanned(true);
您可以在配置文件中使用these color codes。
所以,输入&amp; 6你已被禁止进行&amp; 4Spamming 会给你 ChatColor.GOLD +“你被禁止使用”+ ChatColor.DARK_RED +“垃圾邮件”< /强>
如果您愿意这样做,那么只要他们加入,他们就会收到同样的信息,如果他们被禁止,您可以使用:
@EventHandler
public void playerJoin(PlayerJoinEvent e){
if(myMethodToCheckIfAPlayerIsTempBanned(e.getPlayer()){
String msg = myMethodToGetPlayersBanMessage(e.getPlayer());
e.getPlayer().kickPlayer(msg);
}
}
答案 1 :(得分:-1)
这应该有效:
String kickMessage = this.getConfig().getString("BanMessage");
kickMessage.replaceAll("(?i)&([a-f0-9])", "\u00A7$1");
target.kickPlayer(kickMessage);
target.setBanned(true);
然后,您应该可以在配置中使用these color codes。
离。
BanMessage:&amp; 3You&amp; 0已被禁止&amp; 1为&amp; 425&amp; 3minutes
将显示为
You have been temp banned for 25 Minutes