# Mirai Console Backend - Extensions
Mirai Console 拥有灵活的 Extensions API,支持扩展 Console 的一些服务。
Extensions 属于插件开发的进阶内容。
# 扩展 (opens new window)
# 组件容器 (opens new window)
容纳插件注册的 扩展 (opens new window)。
# 注册扩展
插件仅能在 onLoad
阶段注册扩展。
示例:
object MyPlugin : KotlinPlugin( /* ... */ ) {
fun PluginComponentStorage.onLoad() {
contributePermissionService { /* ... */ }
contributePluginLoader { /* ... */ }
contribute(ExtensionPoint) { /* ... */ }
}
}
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
// java
public class MyPlugin extends JavaPlugin {
public MyPlugin() {
// ...
}
@Override
public void onLoad(PluginComponentStorage pcs) {
pcs.contributePermissionService(() -> { /* ... */ });
pcs.contributePluginLoader(() -> { /* ... */ });
pcs.contribute(ExtensionPoint, () -> { /* ... */ });
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
# 可用扩展
查看 extensions (opens new window)。每个文件对应一个扩展。