API 參考
歡迎閱讀 LeviLamina API 參考文檔。本節詳細介紹了 ll/api 下每個模塊的類說明、方法簽名、使用示例和平臺差異。
模塊總覽
LeviLamina 的 API 按以下模塊組織:
基礎設施
| 模塊 | 說明 | 適用範圍 |
|---|---|---|
| Base(基礎類型) | 基本類型、宏、概念和元編程工具 | 通用 |
| Expected(錯誤處理) | Expected<T> 和 Error 類型的錯誤處理 | 通用 |
| Config(配置系統) | 基於 JSON 序列化的配置加載與保存 | 通用 |
| Reflection(反射) | 編譯期反射、序列化和反序列化 | 通用 |
| Reflection(反射 · 進階) | 調度模型、特化簽名與複雜示例 | 通用 |
核心系統
| 模塊 | 說明 | 適用範圍 |
|---|---|---|
| Mod(模組系統) | 模組生命週期管理、清單和模組管理器 | 通用 |
| Event(事件系統) | 事件總線、監聽器和內置事件(玩家、世界、實體、服務器、客戶端) | 通用 / 服務端 / 客戶端 |
| Command(命令系統) | 命令註冊、重載、枚舉和執行 | 通用 |
| Service(服務系統) | 服務註冊、發現和 Bedrock 引擎訪問器 | 通用 / 服務端 / 客戶端 |
| Form(表單 UI) | 交互式 UI 表單(Simple、Modal、Custom) | 通用 |
| Data-driven UI(數據驅動 UI) | 響應式 DDUI 表單、類型化 Observable、Screen Session 和 DataStore Binding | 通用 |
I/O 與日誌
| 模塊 | 說明 | 適用範圍 |
|---|---|---|
| IO & Logger(輸入輸出與日誌) | 日誌器、輸出目標、格式化器和文件工具 | 通用 |
| I18n(國際化) | 國際化與本地化支持 | 通用 |
異步與線程
| 模塊 | 說明 | 適用範圍 |
|---|---|---|
| Coroutine(協程) | 協程任務、生成器、執行器和 async/await | 通用 |
| Thread(線程工具) | 線程池、服務器線程執行器和同步原語 | 通用 |
| Chrono(遊戲時間) | 遊戲刻時鐘、服務器時鐘和時間工具 | 通用 |
數據與工具
| 模塊 | 說明 | 適用範圍 |
|---|---|---|
| Data(數據結構) | Observable、鍵值數據庫、依賴圖、版本號和容器 | 通用 |
| Utils(工具函數) | 系統、字符串、哈希、隨機數、文件、Base64 和錯誤處理工具 | 通用 |
底層
| 模塊 | 說明 | 適用範圍 |
|---|---|---|
| Memory & Hook(內存與鉤子) | 內存操作、函數鉤子和簽名匹配 | 通用 |
| Network(網絡) | 自定義數據包註冊和處理 | 通用 |
僅客戶端
| 模塊 | 說明 | 適用範圍 |
|---|---|---|
| Input(輸入系統 · 客戶端) | 鍵盤/鼠標輸入綁定和輸入事件 | 僅客戶端 |
適用範圍說明
- 通用 — 在服務端和客戶端構建中均可使用。頭文件位於
src/ll/api/。 - 服務端 — 服務端特有的擴展。頭文件位於
src-server/ll/api/。 - 客戶端 — 客戶端特有的擴展。頭文件位於
src-client/ll/api/。
約定
本參考文檔中的所有代碼示例:
- 包含必要的
#include指令 - 首次出現時使用完全限定的命名空間
- 可在 C++20 和 LeviLamina 構建環境下編譯
- 使用
LLAPI/LLNDAPI宏導出函數(詳見 Base(基礎類型))