java - 尝试将配置文件中的文本替换为广播,并获取 'Type mismatch: cannot convert from int to String'

标签 java minecraft bukkit

当尝试创建一个广播代码行来读取将从配置发送的消息时,我需要在一行中替换多个内容,但出现标题中描述的错误。

我尝试将 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/

相关文章:

java - 用 Java 组织代码

java - 如何创建一个在 Java 中创建 .jar 文件的函数?

c# - Minecraft 1.6.2 自定义启动器

java - 为每个 Minecraft-Server/Java 应用程序创建一个虚拟机是否有意义?

java - Bukkit(spigot api)监听器没有响应?

java - java spring中部分托管、部分非托管类

java - 如何检测用户是否单击窗口标题栏或 Java 中窗口边框的任何其他部分

java - 如何从列表中删除所有重复项

java - 不知道为什么玩家能够从 bukkit GUI 中获取

java - 配置文件给我随机的值