## 分离主类
新建一个Command类继承
net.mamoe.mirai.console.command.BlockingCommand
下面是例子
~~~
package cn.lliiooll.demo.command;
import net.mamoe.mirai.console.command.BlockingCommand;
import net.mamoe.mirai.console.command.CommandSender;
import org.jetbrains.annotations.NotNull;
import java.util.ArrayList;
import java.util.List;
public class DemoCommand extends BlockingCommand {
public DemoCommand() {
super("指令", new ArrayList<String>() {{
add("别称1");
add("别称2");
}}, "简介", "用法");
}
@Override
public boolean onCommandBlocking(@NotNull CommandSender commandSender, @NotNull List<String> list) {
// 在此处理
return true;// 返回false则会输出用法
}
}
~~~
现在我们的主类会变成
~~~
package cn.lliiooll.demo;
import cn.lliiooll.demo.command.DemoCommand;
import net.mamoe.mirai.console.command.JCommandManager;
import net.mamoe.mirai.console.plugins.PluginBase;
class DemoMain extends PluginBase {
@Override
public void onEnable() {
JCommandManager.getInstance().register(this, new DemoCommand());
getLogger().info("插件加载完毕!");
}
}
~~~
## 不分离主类
~~~
package cn.lliiooll.demo;
import cn.lliiooll.demo.command.DemoCommand;
import net.mamoe.mirai.console.command.BlockingCommand;
import net.mamoe.mirai.console.command.CommandSender;
import net.mamoe.mirai.console.command.JCommandManager;
import net.mamoe.mirai.console.plugins.PluginBase;
import org.jetbrains.annotations.NotNull;
import java.util.ArrayList;
import java.util.List;
class DemoMain extends PluginBase {
@Override
public void onEnable() {
JCommandManager.getInstance().register(this, new BlockingCommand("指令", new ArrayList<String>() {{
add("别称1");
add("别称2");
}}, "简介", "用法") {
@Override
public boolean onCommandBlocking(@NotNull CommandSender commandSender, @NotNull List<String> list) {
// 在此处理
return true;// 返回false则会输出用法
}
});
getLogger().info("插件加载完毕!");
}
}
~~~
至此,指令就注册完毕了。