bungeechat textcomponent聊天bug

jaxagkaj  于 2021-06-29  发布在  Java
关注(0)|答案(1)|浏览(301)

我正在用bungee chat clickevent为我的插件制作一个确认文本组件,唯一能将它发送给为我工作的玩家的方法是使用 player.sendMessage("" + message) 不抛出任何错误。但如果我试着在minecraft中显示文本,就会发生这种情况。

我的全班代码是:

package plugin;

import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import net.md_5.bungee.api.chat.ClickEvent;
import net.md_5.bungee.api.chat.TextComponent;

public class InfoCommand implements CommandExecutor {

    public TextComponent TextComponent;
    @Override
    public boolean onCommand(CommandSender sender, Command cmnd, String alias, String[] args) {
        if (!(sender instanceof Player)) {
            return false;
        }
        Player player = (Player) sender;
        player.sendMessage("Some confirmation text.");
        TextComponent yes = new TextComponent("Yes");
        yes.setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/warp info"));

        player.sendMessage("[          " + yes + "          ]");
        return true;
    }
}

原因是什么?我该怎么解决?

332nm8kg

332nm8kg1#

这不是什么错误。很简单,我们需要使用bungeechatapi和spigotapi(而不是bukkitapi)。
为了便于将来参考,解决这个问题,我们只需要按照以下步骤:
在此处下载插件版本的spigotapi(如果您使用的是maven,请将spigotapi添加到pom.xml中)
在ide中,创建一个新的库并分配spigotjar。之后,将库添加到项目中。
确保bukkit已正确导入( import org.bukkit.*whatever*; )
这应该能解决问题。

相关问题