Skip to content

levilamina-rs用 Rust 编写 LeviLamina 模组

安全的句柄模型 · 完整的 API 参考 · 服务端与客户端双目标

这一版文档修了什么

上一版列的是「目标设计」,里面有相当一部分方法从来没有实现过 —— player.connection_request()player.start_using_item()player.current_active_shield() 之类,照着写会直接编译不过。Ability 那张索引表也是错的(AttackMobsAttackPlayers 反了,VerticalFlySpeed 写成 15 实际是 19),而 FFI 边界上是个裸 f64,设错槽不会报错,只是不生效

这一版按代码逐条核对重写,并补上了此前完全没有文档的几块:

常见的第一个问题

拿到 Player 之后怎么读位置和血量?

它们在 Actor 那一层(原生继承链 Player : Mob : Actor),转过去:

rust
let actor = player.get_actor()?;
let (x, y, z) = actor.pos()?;
let hp = actor.health()?;

ActorEntity 的别名,同一个类型两个名字 —— 原生叫 Actor,本 crate 早期叫 Entity。详见 Actor / Entity