首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >“我的世界”自动完成

“我的世界”自动完成
EN

Stack Overflow用户
提问于 2016-05-16 04:24:45
回答 2查看 2.5K关注 0票数 0

我正在尝试为“我的世界”命令创建和"IDE“。我正在尝试实现自动完成命令,但我不知道该怎么做。这是对bukkit的一次尝试:

代码语言:javascript
运行
复制
// Example command
String fullCommand = "fill 3 ";

        String command = "";
        List<String> argList = new ArrayList<>();
        for (String string : fullCommand.split(" ")) {
            if (command == "") {
                command = string;
            } else {
                argList.add(string);
            }
        }
        Command cmd = new Command(command) {

            @Override
            public boolean execute(CommandSender arg0, String arg1, String[] arg2) {
                return false;
            }
        };
        System.out.println(command);
        TabCompleter tabCompleter = getCommand(command).getTabCompleter();
        tabCompleter.onTabComplete(Bukkit.getConsoleSender(), cmd, command, argList.toArray(new String[0]));

我得到以下错误:

代码语言:javascript
运行
复制
java.lang.NullPointerException
        at de.simonmeusel.mcide.plugin.Plugin.onEnable(Plugin.java:44) ~[?:?]
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:292) ~[s
pigot-1.9.2.jar:git-Spigot-e000104-4cb3258]
        at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader
.java:340) [spigot-1.9.2.jar:git-Spigot-e000104-4cb3258]
        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManage
r.java:405) [spigot-1.9.2.jar:git-Spigot-e000104-4cb3258]
        at org.bukkit.craftbukkit.v1_9_R1.CraftServer.loadPlugin(CraftServer.jav
a:361) [spigot-1.9.2.jar:git-Spigot-e000104-4cb3258]
        at org.bukkit.craftbukkit.v1_9_R1.CraftServer.enablePlugins(CraftServer.
java:321) [spigot-1.9.2.jar:git-Spigot-e000104-4cb3258]
        at org.bukkit.craftbukkit.v1_9_R1.CraftServer.reload(CraftServer.java:74
5) [spigot-1.9.2.jar:git-Spigot-e000104-4cb3258]
        at org.bukkit.Bukkit.reload(Bukkit.java:539) [spigot-1.9.2.jar:git-Spigo
t-e000104-4cb3258]
        at org.bukkit.command.defaults.ReloadCommand.execute(ReloadCommand.java:
25) [spigot-1.9.2.jar:git-Spigot-e000104-4cb3258]
        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:14
1) [spigot-1.9.2.jar:git-Spigot-e000104-4cb3258]
        at org.bukkit.craftbukkit.v1_9_R1.CraftServer.dispatchCommand(CraftServe
r.java:645) [spigot-1.9.2.jar:git-Spigot-e000104-4cb3258]
        at org.bukkit.craftbukkit.v1_9_R1.CraftServer.dispatchServerCommand(Craf
tServer.java:631) [spigot-1.9.2.jar:git-Spigot-e000104-4cb3258]
        at net.minecraft.server.v1_9_R1.DedicatedServer.aL(DedicatedServer.java:
438) [spigot-1.9.2.jar:git-Spigot-e000104-4cb3258]
        at net.minecraft.server.v1_9_R1.DedicatedServer.D(DedicatedServer.java:4
01) [spigot-1.9.2.jar:git-Spigot-e000104-4cb3258]
        at net.minecraft.server.v1_9_R1.MinecraftServer.C(MinecraftServer.java:6
60) [spigot-1.9.2.jar:git-Spigot-e000104-4cb3258]
        at net.minecraft.server.v1_9_R1.MinecraftServer.run(MinecraftServer.java
:559) [spigot-1.9.2.jar:git-Spigot-e000104-4cb3258]
        at java.lang.Thread.run(Thread.java:745) [?:1.8.0_73]

在bukkit、forge或其他地方有什么方法可以做到这一点吗?

EN

回答 2

Stack Overflow用户

发布于 2017-01-16 06:20:24

尝试更改:

TabCompleter tabCompleter = getCommand(command).getTabCompleter();

代码语言:javascript
运行
复制
getCommand(command).setTabCompleter(new TabCompleter() {

    @Override
    public List<String> onTabComplete(Sender s, Command cmd, String label, String[] args) {
        if(s instanceof ConsoleSender && cmd.equalsIgnoreCase("fill") {
            return argList;
        }
    } 
});

还要删除最后一行。

如果您有任何疑问,或者如果您对代码有任何错误,请回复此答案。

票数 1
EN

Stack Overflow用户

发布于 2017-01-04 04:21:11

(Picture of error) try:

你得到了一个空指针,请确保plugin.yml在源码之外。还要确保没有错误!你应该会好起来的。1.这还取决于您使用的spigot/bukkit jar。1.9+已经重命名了很多!

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37243298

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档