# 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
// 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

# 可用扩展

查看 extensions (opens new window)。每个文件对应一个扩展。