在 minecraft 插件中设置命令参数类型 (Java)

set command arguments type in minecraft plugin (Java)

我想像这样向玩家发送参数反馈: Minecraft Feedback Image

import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;

public class ctrl implements CommandExecutor {
    public void ctrl(){

    }

    @Override
    public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
        return false;
    }
}

我必须做些什么才能向玩家发送反馈?

我相信 TabCompleter 界面就是您要找的。 https://hub.spigotmc.org/javadocs/spigot/org/bukkit/command/TabCompleter.html

要使用它,您需要在您的 classes 之一中实现它。如果需要,您可以在 ctrl class 中实现它。 onTabComplete 方法将 return 中的建议列表 List<String>

    @Override
    public List<String> onTabComplete(CommandSender sender, Command command, String alias, String[] args) {
        List<String> completions = new ArrayList<>();
        
        // Use "args" to know exactly what the player has already typed so far 
        // Put the suggestions that you want to show the player into "completions".

        return completions;
    }

在主 class 的 onEnable 方法中,您需要注册 ctrl class(如果需要,也可以注册不同的 class)作为与您想要的命令关联的制表符完成器。

    @Override
    public void onEnable() {
       this.getCommand("example").setTabCompleter(new ctrl());
    }

This post 显示了一种按字母顺序确定潜在自动完成的方法。