Skip to content

API Reference

Welcome to the LeviLamina API Reference. This section provides detailed documentation for every module under ll/api, including class descriptions, method signatures, usage examples, and platform notes.

Module Overview

LeviLamina's API is organized into the following modules:

Foundation

Module Description Scope
Base Fundamental types, macros, concepts, and metaprogramming utilities Common
Expected Error handling with Expected<T> and Error types Common
Config Configuration loading and saving with JSON serialization Common
Reflection Compile-time reflection, serialization, and deserialization Common

Core Systems

Module Description Scope
Mod Mod lifecycle management, manifest, and mod manager Common
Event Event bus, listeners, and built-in events (player, world, entity, server, client) Common / Server / Client
Command Command registration, overloads, enums, and execution Common
Service Service registration, discovery, and Bedrock engine accessors Common / Server / Client
Form Interactive UI forms (Simple, Modal, Custom) Common

I/O & Logging

Module Description Scope
IO & Logger Logger, sinks, formatters, and file utilities Common
I18n Internationalization and localization support Common

Async & Threading

Module Description Scope
Coroutine Coroutine tasks, generators, executors, and async/await Common
Thread Thread pool, server thread executor, and synchronization Common
Chrono Game tick clock, server clock, and time utilities Common

Data & Utilities

Module Description Scope
Data Key-value database, dependency graph, version, and containers Common
Utils System, string, hash, random, file, base64, and error utilities Common

Low-Level

Module Description Scope
Memory & Hook Memory manipulation, function hooking, and signatures Common
Network Custom packet registration and handling Common

Client-Only

Module Description Scope
Input Keyboard/mouse input binding and input events Client Only

Scope Legend

  • Common β€” Available in both server and client builds. Headers located in src/ll/api/.
  • Server β€” Server-specific extensions. Headers located in src-server/ll/api/.
  • Client β€” Client-specific extensions. Headers located in src-client/ll/api/.

Conventions

All code examples in this reference:

  • Include the necessary #include directives
  • Use fully qualified namespaces on first mention
  • Are compilable with C++20 and the LeviLamina build environment
  • Use LLAPI / LLNDAPI macros for exported functions (see Base for details)