Mirai Console 拥有灵活的 Extensions API,支持扩展 Console 的一些服务。
Extensions 属于插件开发的进阶内容。
容纳插件注册的 扩展。
插件仅能在 onLoad
阶段注册扩展。
示例:
object MyPlugin : KotlinPlugin( /* ... */ ) {
fun PluginComponentStorage.onLoad() {
contributePermissionService { /* ... */ }
contributePluginLoader { /* ... */ }
contribute(ExtensionPoint) { /* ... */ }
}
}
// java
public class MyPlugin extends JavaPlugin {
public MyPlugin() {
// ...
}
@Override
public void onLoad(PluginComponentStorage pcs) {
pcs.contributePermissionService(() -> { /* ... */ });
pcs.contributePluginLoader(() -> { /* ... */ });
pcs.contribute(ExtensionPoint, () -> { /* ... */ });
}
}
查看 extensions。每个文件对应一个扩展。