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