#[repr(C)]pub struct LeviRsApi {Show 15 fields
pub abi_version: u32,
pub struct_size: u32,
pub log: unsafe extern "C" fn(mod_: LeviRsModHandle, level: i32, msg: LeviRsStr),
pub gaming_status: unsafe extern "C" fn() -> i32,
pub schedule: unsafe extern "C" fn(cb: LeviRsTaskCb, user: *mut c_void),
pub schedule_after: unsafe extern "C" fn(cb: LeviRsTaskCb, user: *mut c_void, delay_ms: u64),
pub subscribe_event: unsafe extern "C" fn(mod_: LeviRsModHandle, event_id: LeviRsStr, priority: i32, cb: LeviRsEventCb, user: *mut c_void) -> LeviRsListenerHandle,
pub unsubscribe_event: unsafe extern "C" fn(mod_: LeviRsModHandle, listener: LeviRsListenerHandle) -> bool,
pub list_events: unsafe extern "C" fn(ctx: *mut c_void, sink: LeviRsStrSink),
pub execute_command: unsafe extern "C" fn(cmd: LeviRsStr, ctx: *mut c_void, sink: LeviRsCmdOutputSink) -> bool,
pub register_command: unsafe extern "C" fn(mod_: LeviRsModHandle, name: LeviRsStr, description: LeviRsStr, permission: i32, cb: LeviRsCommandCb, user: *mut c_void) -> bool,
pub get_current_tick: unsafe extern "C" fn() -> u64,
pub get_tick_delta_time: unsafe extern "C" fn() -> f64,
pub get_player_count: unsafe extern "C" fn() -> i32,
pub get_sim_paused: unsafe extern "C" fn() -> bool,
}Expand description
Function table handed to the Rust mod. Mirrors LeviRsApi.
Fields§
§abi_version: u32§struct_size: u32§log: unsafe extern "C" fn(mod_: LeviRsModHandle, level: i32, msg: LeviRsStr)level: -1=Off, 0=Fatal, 1=Error, 2=Warn, 3=Info, 4=Debug, 5=Trace. Thread-safe.
gaming_status: unsafe extern "C" fn() -> i320=Default, 1=Starting, 2=Running, 3=Stopping. Thread-safe.
schedule: unsafe extern "C" fn(cb: LeviRsTaskCb, user: *mut c_void)Queue onto the server thread ASAP. Thread-safe.
schedule_after: unsafe extern "C" fn(cb: LeviRsTaskCb, user: *mut c_void, delay_ms: u64)Queue onto the server thread after delay_ms. Thread-safe.
subscribe_event: unsafe extern "C" fn(mod_: LeviRsModHandle, event_id: LeviRsStr, priority: i32, cb: LeviRsEventCb, user: *mut c_void) -> LeviRsListenerHandleServer thread only. priority 0..4 (Highest..Lowest), 2 = Normal.
unsubscribe_event: unsafe extern "C" fn(mod_: LeviRsModHandle, listener: LeviRsListenerHandle) -> boolServer thread only.
list_events: unsafe extern "C" fn(ctx: *mut c_void, sink: LeviRsStrSink)Server thread only.
execute_command: unsafe extern "C" fn(cmd: LeviRsStr, ctx: *mut c_void, sink: LeviRsCmdOutputSink) -> boolServer thread only. Executes as console (Owner).
register_command: unsafe extern "C" fn(mod_: LeviRsModHandle, name: LeviRsStr, description: LeviRsStr, permission: i32, cb: LeviRsCommandCb, user: *mut c_void) -> boolServer thread only, call during on_enable. permission 0..4.
get_current_tick: unsafe extern "C" fn() -> u64Current server tick (tickID). Returns 0 when level is not ready. Server thread only.
get_tick_delta_time: unsafe extern "C" fn() -> f64Milliseconds between last two ticks. TPS = 1000.0 / delta_time. -1.0 if unavailable. Server thread only.
get_player_count: unsafe extern "C" fn() -> i32Number of currently connected players. Server thread only.
get_sim_paused: unsafe extern "C" fn() -> boolWhether the simulation is currently paused. Server thread only.