API 参考
欢迎阅读 LeviLamina API 参考文档。本节详细介绍了 ll/api 下每个模块的类说明、方法签名、使用示例和平台差异。
模块总览
LeviLamina 的 API 按以下模块组织:
基础设施
| 模块 | 说明 | 适用范围 |
|---|---|---|
| Base(基础类型) | 基本类型、宏、概念和元编程工具 | 通用 |
| Expected(错误处理) | Expected<T> 和 Error 类型的错误处理 |
通用 |
| Config(配置系统) | 基于 JSON 序列化的配置加载与保存 | 通用 |
| Reflection(反射) | 编译期反射、序列化和反序列化 | 通用 |
核心系统
| 模块 | 说明 | 适用范围 |
|---|---|---|
| Mod(模组系统) | 模组生命周期管理、清单和模组管理器 | 通用 |
| Event(事件系统) | 事件总线、监听器和内置事件(玩家、世界、实体、服务器、客户端) | 通用 / 服务端 / 客户端 |
| Command(命令系统) | 命令注册、重载、枚举和执行 | 通用 |
| Service(服务系统) | 服务注册、发现和 Bedrock 引擎访问器 | 通用 / 服务端 / 客户端 |
| Form(表单 UI) | 交互式 UI 表单(Simple、Modal、Custom) | 通用 |
I/O 与日志
| 模块 | 说明 | 适用范围 |
|---|---|---|
| IO & Logger(日志系统) | 日志器、输出目标、格式化器和文件工具 | 通用 |
| I18n(国际化) | 国际化与本地化支持 | 通用 |
异步与线程
| 模块 | 说明 | 适用范围 |
|---|---|---|
| Coroutine(协程) | 协程任务、生成器、执行器和 async/await | 通用 |
| Thread(线程工具) | 线程池、服务器线程执行器和同步原语 | 通用 |
| Chrono(游戏时间) | 游戏刻时钟、服务器时钟和时间工具 | 通用 |
数据与工具
| 模块 | 说明 | 适用范围 |
|---|---|---|
| Data(数据结构) | 键值数据库、依赖图、版本号和容器 | 通用 |
| Utils(工具函数) | 系统、字符串、哈希、随机数、文件、Base64 和错误处理工具 | 通用 |
底层
| 模块 | 说明 | 适用范围 |
|---|---|---|
| Memory & Hook(内存与钩子) | 内存操作、函数钩子和签名匹配 | 通用 |
| Network(网络) | 自定义数据包注册和处理 | 通用 |
仅客户端
| 模块 | 说明 | 适用范围 |
|---|---|---|
| Input(输入系统) | 键盘/鼠标输入绑定和输入事件 | 仅客户端 |
适用范围说明
- 通用 — 在服务端和客户端构建中均可使用。头文件位于
src/ll/api/。 - 服务端 — 服务端特有的扩展。头文件位于
src-server/ll/api/。 - 客户端 — 客户端特有的扩展。头文件位于
src-client/ll/api/。
约定
本参考文档中的所有代码示例:
- 包含必要的
#include指令 - 首次出现时使用完全限定的命名空间
- 可在 C++20 和 LeviLamina 构建环境下编译
- 使用
LLAPI/LLNDAPI宏导出函数(详见 Base(基础类型))