希望你们能帮我解决这个问题。我对Java很陌生,对BukkitAPI很新。我只是继续前进并尝试项目,然后在我无法解决问题时进行大量的研究,从而学到了最好的东西。对命令使用多个类,命令不起作用?
我看了四周,我无法弄清楚为什么这不起作用。我试图做一个插件,并且正在利用多个组织和清洁类。我正在输入一切应该如何输入,并已在这里打开this tutorial。这有点旧,所以有些东西可能已经改变了。问题是,当我运行命令时,我没有得到任何错误,但它什么都不做。它说:“Alj23在控制台发布了服务器命令:/ hello(这是我的命令,直到我解决这个问题时),但没有任何反应,聊天中没有消息,没有任何消息,控制台没有错误。谁发出命令的消息说:“你好!”(也是暂时的现在)我只是不知道它为什么它的作品。
我还在学习,所以我很可能做一些公然错误的东西我也可能在追踪不良行为或做不必要的东西,所以如果是这样,这将是惊人的,如果你能指出来
我的主类:
package me.Alj23.RPGClasses;
import org.bukkit.event.Listener;
import org.bukkit.plugin.java.JavaPlugin;
public class RPGClassesMain extends JavaPlugin implements Listener
{
public void OnEnable()
{
this.getCommand("hello").setExecutor(new WarriorInfo(this));
}
public void OnDisable()
{
}
执行该代码的命令的类:
package me.Alj23.RPGClasses;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
public class WarriorInfo implements CommandExecutor
{
RPGClassesMain plugin;
public WarriorInfo (RPGClassesMain passedPlugin)
{
this.plugin = passedPlugin;
}
@Override
public boolean onCommand(CommandSender sender, Command cmd, String label,String[] arg3)
{
Player player = (Player) sender;
player.sendMessage("Hello there!");
return false
}
}
Plugin.yml:
name: RPGClasses
version: 1.0
main: me.Alj23.RPGClasses.RPGClassesMain
description: Choose beyond a wide scope of classes!
commands:
hello:
description: placeholder!
这个yaml文件是否与您拥有的一样?检查间距/对齐要求。 – Celeo 2014-12-01 23:35:14
不需要,我必须做四个空间缩进才能使其成为代码。我在我的实际plugin.yml格式正确,否则它会告诉我,我有一个无效的plugin.yml,对不对? – austinj1022 2014-12-01 23:44:52
不,它不会注册任何命令,在访问'Command.setExecutor(CommandExecutor)'时是'NullPointerException'。 – 2014-12-02 07:40:16