- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
public class Main extends JavaPlugin
{
// Logger variable
Logger myPluginLogger = Bukkit.getLogger();
// Does when plugin is disabled - console logging
@Override
public void onDisable()
{
myPluginLogger.info("Disabling Political Parties...");
}
// Plugin chat help function
public void sendPlayerHelp(String permissions, Player player)
{
// If player does not belong to a party, show them these commands
if (permissions == "nonpartisan")
{
player.sendMessage(ChatColor.YELLOW + "Political Parties by TerraCraft - version 1.0");
player.sendMessage(ChatColor.RED + "/party create <party name> " + ChatColor.YELLOW + "Start a political party");
player.sendMessage(ChatColor.RED + "/party list " + ChatColor.YELLOW + "Shows a list of all of the current political parties");
player.sendMessage(ChatColor.RED + "/party info <party> " + ChatColor.YELLOW + "Shows info about a specific party");
}
// If a player does belong to a party, show them these commands
else if (permissions == "inparty")
{
player.sendMessage(ChatColor.YELLOW + "Political Parties by TerraCraft - version 1.0");
player.sendMessage(ChatColor.RED + "/party leave " + ChatColor.YELLOW + "Leave your current political party");
player.sendMessage(ChatColor.RED + "/party list " + ChatColor.YELLOW + "Shows a list of all of the current political parties");
player.sendMessage(ChatColor.RED + "/party info <party> " + ChatColor.YELLOW + "Shows info about a specific party");
player.sendMessage(ChatColor.RED + "/party deposit <amount> " + ChatColor.YELLOW + "Deposit a specific sum into the party bank account");
player.sendMessage(ChatColor.RED + "/party chat <message> " + ChatColor.YELLOW + "Say specified message in party chat");
}
// If a player is the leader of a party, show them these commands
else if (permissions == "partyleader")
{
player.sendMessage(ChatColor.YELLOW + "Political Parties by TerraCraft - version 1.0");
player.sendMessage(ChatColor.RED + "/party delete " + ChatColor.YELLOW + "Deletes your current political party");
player.sendMessage(ChatColor.RED + "/party list " + ChatColor.YELLOW + "Shows a list of all of the current political parties");
player.sendMessage(ChatColor.RED + "/party info <party> " + ChatColor.YELLOW + "Shows info about a specific party");
player.sendMessage(ChatColor.RED + "/party deposit <amount> " + ChatColor.YELLOW + "Deposit a specific sum into the party bank account");
player.sendMessage(ChatColor.RED + "/party withdraw <amount> " + ChatColor.YELLOW + "Withdraw a specific sum from the party bank account");
player.sendMessage(ChatColor.RED + "/party policy <add|remove> [index] [message] " + ChatColor.YELLOW + "Add or remove a specific policy to/from your political party");
player.sendMessage(ChatColor.RED + "/party invite <player> " + ChatColor.YELLOW + "Invite a player to your political party");
player.sendMessage(ChatColor.RED + "/party kick <player> " + ChatColor.YELLOW + "Kick a player from your political party");
player.sendMessage(ChatColor.RED + "/party giveleader <player> " + ChatColor.YELLOW + "Resign yourself as party leader and give it to another player");
player.sendMessage(ChatColor.RED + "/party chat <message> " + ChatColor.YELLOW + "Say specified message in party chat");
}
}
// Command function
public boolean onCommand(CommandSender theSender, Command cmd, String[] args, String commandLabel)
{
// Party command
if (cmd.getName().equalsIgnoreCase("party"))
{
Player player = (Player) theSender;
// If no arguments are specified, or if the first argument is equal to help, or ?, show them help
if (args.length == 0 || args[0].equalsIgnoreCase("help") || args[0].equalsIgnoreCase("?"))
{
sendPlayerHelp("nonpartisan", player);
}
else
{
}
return true;
}
else
{
}
return false;
}
}
您好,我之前已经创建了基本的 Bukkit 服务器插件,并且工作正常。我正在创建一个新的,但由于某种原因,它不会运行该命令。只是为了澄清一下,插件 YAML 已正确完成(导入也是如此,我只是觉得不需要包含它们),并且没有编译错误。我在命令 YAML 文件中有该命令,当我加载插件时,它会显示在我的插件列表中,当我执行/help 时,它会显示在我的插件列表中。当我运行该命令时,它只返回用法:“/party”,但不会执行其他操作(向玩家发送帮助消息)。我不太清楚为什么它不起作用。我是否错误地忘记了什么?另外,这是我的第一个问题,如果不符合标准,我深表歉意。
最佳答案
我不确定楼上的人在说什么,但让我解释一下:是的,使用 cmd.getName() 比 commandLabel 更好,原因如下:当您在plugin.yml 中注册命令时,您必须为其指定一个名称。然后,在该名称下,您可以设置描述、权限等内容,在本例中最重要的是 - 它的别名。当您设置其别名时,当在命令中调用任何这些别名时,该命令将运行。标签将是运行的确切别名,cmd.getName() 将是您注册的命令的名称。至于你的问题,我猜它就在这里:
public boolean onCommand(CommandSender theSender, Command cmd, String[] args, String commandLabel)
应该是
public boolean onCommand(CommandSender theSender, Command cmd, String commandLabel, String[] args)
顺序始终为 CommandSender、Command、String、String[]。您应该在 onCommand 方法上方添加 @Override 标记,这样就会抛出这样的错误,您就会知道这就是问题所在。
关于java - 命令不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34125978/
今天有小伙伴给我留言问到,try{...}catch(){...}是什么意思?它用来干什么? 简单的说 他们是用来捕获异常的 下面我们通过一个例子来详细讲解下
我正在努力提高网站的可访问性,但我不知道如何在页脚中标记社交媒体链接列表。这些链接指向我在 facecook、twitter 等上的帐户。我不想用 role="navigation" 标记这些链接,因
说现在是 6 点,我有一个 Timer 并在 10 点安排了一个 TimerTask。之后,System DateTime 被其他服务(例如 ntp)调整为 9 点钟。我仍然希望我的 TimerTas
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我就废话不多说了,大家还是直接看代码吧~ ? 1
Maven系列1 1.什么是Maven? Maven是一个项目管理工具,它包含了一个对象模型。一组标准集合,一个依赖管理系统。和用来运行定义在生命周期阶段中插件目标和逻辑。 核心功能 Mav
我是一名优秀的程序员,十分优秀!