BungeeChat 文本组件聊天错误
BungeeChat TextComponent Chat Bug
我正在为我的插件制作一个带有 Bungee Chat ClickEvent 的确认文本组件,将它发送给对我有用的播放器的唯一方法是使用 player.sendMessage("" + message)
而不会抛出任何错误。但是如果我尝试在 Minecraft 中显示文本,就会发生这种情况。
我的完整 class 代码是:
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;
}
}
这是什么原因,我该如何解决?
这不是任何错误。只是我们需要使用 BungeeChat API 和 还有 Spigot API(不是 Bukkit API)。
为了以后参考,解决问题,我们只需要按照以下步骤:
为您的插件版本 here 下载 Spigot API(如果您使用的是 Maven,则将 Spigot API 添加到您的 pom.xml)
在您的 IDE 中,创建一个新库并分配您的 Spigot jar。之后,将库添加到您的项目中。
确保正确导入 Bukkit (import org.bukkit.*whatever*;
)
这应该可以解决问题。
我正在为我的插件制作一个带有 Bungee Chat ClickEvent 的确认文本组件,将它发送给对我有用的播放器的唯一方法是使用 player.sendMessage("" + message)
而不会抛出任何错误。但是如果我尝试在 Minecraft 中显示文本,就会发生这种情况。
我的完整 class 代码是:
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;
}
}
这是什么原因,我该如何解决?
这不是任何错误。只是我们需要使用 BungeeChat API 和 还有 Spigot API(不是 Bukkit API)。
为了以后参考,解决问题,我们只需要按照以下步骤:
为您的插件版本 here 下载 Spigot API(如果您使用的是 Maven,则将 Spigot API 添加到您的 pom.xml)
在您的 IDE 中,创建一个新库并分配您的 Spigot jar。之后,将库添加到您的项目中。
确保正确导入 Bukkit (
import org.bukkit.*whatever*;
)
这应该可以解决问题。