我想为我的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"));
}
Run Code Online (Sandbox Code Playgroud)
您可以简单地使用translateAltranateColorCodes. 这是一个例子:
String nonColoredText = getConfig().getString("MemberText"); //get the raw string from "MemberText"
String coloredText = translateAlternateColorCodes('&', nonColoredText); //translate alt color codes
Run Code Online (Sandbox Code Playgroud)
上面的代码会将任何以&符号开头的文本更改为其正确的颜色代码。例如,如果&a在配置中,它会将其更改为绿色,或者ChatColor.GREEN,使消息显示为绿色。这也适用于其他角色。就像如果你想使用$颜色代码的标志,你可以这样做:
String coloredText = translateAlternateColorCodes('$', nonColoredText);
Run Code Online (Sandbox Code Playgroud)
因此,如果$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
Run Code Online (Sandbox Code Playgroud)
它将把它放入 中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"
Run Code Online (Sandbox Code Playgroud)
然后该消息可以发送给玩家,并且它会相应地显示出来,而且是丰富多彩的!
| 归档时间: |
|
| 查看次数: |
7751 次 |
| 最近记录: |