当尝试创建一个广播代码行来读取将从配置发送的消息时,我需要在一行中替换多个内容,但出现标题中描述的错误。
我尝试将 string 更改为 int,但它在我的其他部分上给出了错误。请帮助我修复,请参阅下面的代码并调试错误所在。谢谢!
if(plugin.getConfig().getBoolean("enable_global_death")) {
String bc = Bukkit.broadcastMessage(Utils.chat(plugin.getConfig().getString("global_death")));
bc = bc.replace("<killer>", killer.getName());
bc = bc.replace("<player>", p.getName());
bc = bc.replace("<kill_weapon>", (CharSequence) killer.getItemInHand());
return;
我预计输出不会有任何错误,我预计它会替换配置中的内容,例如 killer 的名字。
最佳答案
在广播消息之前,您必须先替换字符串:
if(plugin.getConfig().getBoolean("enable_global_death")) {
String bc = Utils.chat(plugin.getConfig().getString("global_death"));
bc = bc.replace("<killer>", killer.getName());
bc = bc.replace("<player>", p.getName());
bc = bc.replace("<kill_weapon>", killer.getItemInHand().getType().toString());
Bukkit.broadcastMessage(bc);
return;
}
关于java - 尝试将配置文件中的文本替换为广播,并获取 'Type mismatch: cannot convert from int to String',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57175126/