主题
LandRegistry 领地注册表对象
前缀:LandRegistry_。
创建数据库快照 v0.19.0+
LandRegistry_createSnapshot(dirName)
- 参数:
- dirName :
String快照文件夹名称,传空字符串则使用当前时间戳
- dirName :
- 返回值: 无
- 返回值类型:
Null
快照写入磁盘 snapshots/<dirName ?? 时间戳>。
快照为异步任务,未完成时目录下存在 .incomplete 文件
判断是否为领地操作员
LandRegistry_isOperator(uuid)
- 参数:
- uuid :
String玩家 UUID
- uuid :
- 返回值: 是否为领地操作员(UUID 无效返回
false) - 返回值类型:
Boolean
添加领地操作员
LandRegistry_addOperator(uuid)
- 参数:
- uuid :
String玩家 UUID
- uuid :
- 返回值: 是否添加成功(UUID 无效返回
false) - 返回值类型:
Boolean
移除领地操作员
LandRegistry_removeOperator(uuid)
- 参数:
- uuid :
String玩家 UUID
- uuid :
- 返回值: 是否移除成功(UUID 无效返回
false) - 返回值类型:
Boolean
获取全部领地操作员
LandRegistry_getOperators()
- 参数: 无
- 返回值: 全部领地操作员 UUID 列表
- 返回值类型:
String[]
获取(或创建)玩家设置
LandRegistry_getOrCreatePlayerSettings(uuid)
- 参数:
- uuid :
String玩家 UUID
- uuid :
- 返回值: 玩家设置 JSON 字符串(UUID 无效返回空字符串)
- 返回值类型:
String
玩家设置字段定义请查看 PlayerSettings.h
判断是否已存在指定领地
LandRegistry_hasLand(id)
- 参数:
- id :
Integer领地 ID
- id :
- 返回值: 是否已存在该 ID 的领地
- 返回值类型:
Boolean
创建并添加普通领地
LandRegistry_addOrdinaryLand(aabb, is3D, owner)
- 参数:
- aabb :
[IntPos, IntPos]领地范围[min, max](两个坐标必须在同一维度,维度取 min 的dimid) - is3D :
Boolean是否为 3D 领地 - owner :
String领地主人 UUID
- aabb :
- 返回值: FFI 协议
- 返回值类型:
String(JSON)
获取领地
LandRegistry_getLand(id)
- 参数:
- id :
Integer领地 ID
- id :
- 返回值: 领地 ID(领地不存在返回
-1) - 返回值类型:
Integer
移除普通领地
LandRegistry_removeOrdinaryLand(id)
- 参数:
- id :
Integer领地 ID
- id :
- 返回值: FFI 协议
- 返回值类型:
String(JSON)
获取所有领地 performance
LandRegistry_getLands()
- 参数: 无
- 返回值: 所有领地的 ID 列表
- 返回值类型:
Integer[]
此接口会在每次调用时遍历所有领地获取id集合,如果领地数量较多,可能造成性能问题。
获取指定维度的领地
LandRegistry_getLands1(dimid)
- 参数:
- dimid :
Integer维度 ID
- dimid :
- 返回值: 该维度的所有领地 ID 列表
- 返回值类型:
Integer[]
获取玩家名下的领地
LandRegistry_getLands2(uuid, includeShared)
- 参数:
- uuid :
String玩家 UUID - includeShared :
Boolean是否包含其它玩家共享的领地
- uuid :
- 返回值: 玩家名下的领地 ID 列表(UUID 无效返回空数组)
- 返回值类型:
Integer[]
获取玩家在指定维度的领地
LandRegistry_getLands3(uuid, dimid)
- 参数:
- uuid :
String玩家 UUID - dimid :
Integer维度 ID
- uuid :
- 返回值: 玩家在该维度的领地 ID 列表(UUID 无效返回空数组)
- 返回值类型:
Integer[]
批量获取领地
LandRegistry_getLands4(lds)
- 参数:
- lds :
Integer[]领地 ID 列表
- lds :
- 返回值: 与传入 ID 对应的领地 ID 列表
- 返回值类型:
Integer[]
获取玩家在领地的权限类别 deprecated v0.22.1
LandRegistry_getPermType(uuid, landID, includeOperator)
- 参数:
- uuid :
String玩家 UUID - landID :
Integer领地 ID - includeOperator :
Boolean是否将「领地操作员」判定计为管理员权限
- uuid :
- 返回值: 权限类别:
0=管理员 /1=主人 /2=成员 /3=实体 - 返回值类型:
Integer
获取玩家在当前领地的有效角色 v0.22.1+
LandRegistry_getEffectiveRole(uuid, landID, includeOperator)
- 参数:
- uuid :
String玩家 UUID - landID :
Integer领地 ID - includeOperator :
Boolean是否将「领地操作员」判定计为管理员权限
- uuid :
- 返回值: 权限类别:
0=管理员 /1=主人 /2=成员 /3=实体 - 返回值类型:
Integer
领地冻结时返回 Actor,否则根据权限返回对应角色
获取指定坐标所在的领地
LandRegistry_getLandAt(pos)
- 参数:
- pos :
IntPos坐标(含dimid)
- pos :
- 返回值: 该坐标所在领地的 ID(无领地返回
-1) - 返回值类型:
Integer
获取指定坐标半径内的领地
LandRegistry_getLandAt1(pos, radius)
- 参数:
- pos :
IntPos中心坐标(含dimid) - radius :
Integer半径
- pos :
- 返回值: 半径内覆盖的所有领地 ID 列表
- 返回值类型:
Integer[]
获取 AABB 区域内的领地
LandRegistry_getLandAt2(a, b)
- 参数:
- a :
IntPos区域 min 坐标(含dimid) - b :
IntPos区域 max 坐标
- a :
- 返回值: 该 AABB 区域内覆盖的所有领地 ID 列表
- 返回值类型:
Integer[]
刷新领地范围缓存
LandRegistry_refreshLandRange(id)
- 参数:
- id :
Integer领地 ID
- id :
- 返回值: 无
- 返回值类型:
Null