跳转到正文
iPlugin

罗盘模板

方位、刻度、目标样式、排序和碰撞字段参考

Compass 模板位于 core/template/compasses。顶层节点是模板 ID,只负责外观;目标由命令、Kether、API 或 Provider 提供。

需要完整操作流程时,先阅读Compass 罗盘制作。本页代码未标为完整文件时,均为对应节点中的片段。

文件关系

tutorial.yml
tutorial_compass.yml
tutorial_compass.yml

顶层字段

navigation:
  width: 216
  fov: 240
  refresh: 1
  marker-refresh: 5
  distance-mode: horizontal
  # directions、ticks、indicator、markers...
字段类型 / 省略值范围说明生效
顶层节点字符串全局唯一Compass 模板 ID打包
width整数 / 18016~1024罗盘显示宽度,GUI 像素打包
fov小数 / 180大于 0 且不超过 360可见角度范围打包
refresh整数 / 11~1200 tick朝向和目标位置刷新重载
marker-refresh整数 / 51~1200 tick目标文字、头像和动态内容刷新重载
distance-mode字符串 / horizontalhorizontal、3d水平或三维距离重载
outside字符串 / hidehide、edge视野外目标隐藏或贴边打包
max-markers整数 / 00~4096最大显示数;0 不限制重载
sort列表 / priority-desc, distance-asc见下文目标排序规则重载
collision对象见下文重叠处理打包
directions映射 / {}八个已知方位方位到内容布局 ID打包
ticks对象见下文重复刻度打包
indicator布局 ID / 无非空布局固定中心内容打包
markers映射 / {}样式 ID 到布局 ID目标样式,可以为空打包

Layout 中绑定模板

compass:
  template: navigation
  id: quest_navigation
字段默认值说明
template必填模板 ID
id模板 ID目标集合 ID;相同外观可绑定不同数据

directions

允许的键:

north east south west northeast southeast southwest northwest

只显示给出的方位。每个方位引用一个普通布局;图片、文字、字体和锚点在布局中制作。

directions:
  north: compass_north
  east: compass_east
  south: compass_south
  west: compass_west
  northeast: compass_northeast
  southeast: compass_southeast
  southwest: compass_southwest
  northwest: compass_northwest

默认方位图片属于 xerr_ui/compass,ID 使用 north、southeast 等完整方位名称;中心、刻度、横线和目标图标都在同一 compass 组,通过明确的图片 ID 区分用途。目录与独立包见默认图片资产包。

方位元素可使用 direction 和 bearing 变量。

ticks

ticks:
  step: 15
  layout: compass_tick
字段类型 / 省略值范围说明
step整数 / 151~90 度刻度间隔
layout布局 ID / 无非空布局每个刻度重复的内容

刻度元素可读取 step 变量。

indicator

一个普通布局的引用,固定在罗盘中心,不随方向滚动:

indicator: compass_center

sort

可选项:

  • priority-desc: 优先级高者先。
  • priority-asc: 优先级低者先。
  • distance-asc: 距离近者先。
  • distance-desc: 距离远者先。

同一类别不能同时写升序和降序。按列表顺序逐项比较,全部相同时使用稳定目标 ID。max-markers 在排序后截取,未显示目标不会被删除。

collision

collision:
  mode: stack
  rows: 2
  row-offset-y: -32
字段类型 / 省略值范围说明
mode字符串 / stackoverlap、hide、stack重叠处理方式
rows整数 / 21~8stack 最大行数
row-offset-y整数 / -24-512~512换行垂直偏移
  • overlap: 全部显示,优先目标绘制在前层。
  • hide: 保留先排序的目标,隐藏重叠目标。
  • stack: 优先目标先占用空行,所有行都冲突时次要目标暂时隐藏,不删除数据。

markers

每个样式引用一个普通布局,可以同时包含图标、文字、头像和背景。字体来自该布局,不再配置 option.font。

markers:
  default: compass_target
  home: compass_home
  quest: compass_quest
  distance: compass_distance
  teammate: compass_teammate

可以不配置任何目标样式。default 不是必填节点;命令或 API 省略样式时使用名为 default 的样式,需要先定义它,或明确指定其它已定义样式。

内置变量:

变量内容
id稳定目标 ID
label显示名称,空时使用 ID
distance取整距离
distance_raw原始距离
height_diff目标相对玩家的取整高差
world世界名
target_uuid跟随实体 UUID;固定点通常为空
outsidenone、left、right

方位、刻度、中心和目标共用普通布局,引用布局不能嵌套 Compass 或 Progress。源布局可以保留屏幕锚点;罗盘使用局部内容,不改写源布局。

目标优先级

普通命令创建的目标优先级固定为 0。需要自定义优先级时,通过 Kether 或 API 传入;数字越大,在 priority-desc 中越靠前。