我想在我的 config.yml
中添加颜色代码支持。如何正确地将 translateAlternateColorCode
添加到我的代码中?
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
Player player = (Player) sender;
if(cmd.getName().equalsIgnoreCase("member")) {
player.sendMessage(getConfig().getString("MemberText"));
}
最佳答案
您可以简单地使用 translateAltranateColorCodes
。这是一个例子:
String nonColoredText = getConfig().getString("MemberText"); //get the raw string from "MemberText"
String coloredText = translateAlternateColorCodes('&', nonColoredText); //translate alt color codes
上面的代码会将任何以 &
符号开头的文本更改为正确的颜色代码。例如,如果 &a
在配置中,它会将其更改为绿色或 ChatColor.GREEN
,使消息显示为绿色。这也适用于其他角色。就像如果你想为颜色代码使用 $
符号,你可以这样做:
String coloredText = translateAlternateColorCodes('$', nonColoredText);
因此,如果在上面的代码中输入 $a
,它将转换为 ChatColor.GREEN
,使文本变为绿色。
第一段代码所做的是,它从 MemberText
下的配置文件中获取字符串,并将其放入字符串 nonColoredText
中,然后,它是翻译备用颜色代码,以 &
开头,并将其放入 coloredText
中。然后您可以将 coloredText
发送给播放器,或者用它做其他事情。
一个简短的例子是,如果以下内容在 MemberText
下:
&a Welcome to My Server, &b I hope you have a great time! &e &l Check out the rules a /warp rules
它会把它放在 nonColoredText
中,coloredText
会把它翻译成:
ChatColor.GREEN + "Welcome to My Server," + ChatColor.AQUA + "I hope you have a great time!" + ChatColor.YELLOW + ChatColor.BOLD + "Check out the rules a /warp rules"
然后可以将该消息发送给玩家,并且它会相应地显示出来,并且色彩缤纷!
关于java - 为 Bukkit 插件添加颜色代码支持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21844291/