多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
## 分离主类 新建一个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("插件加载完毕!"); } } ~~~ 至此,指令就注册完毕了。