跳到主要内容

resource_value_provider_type(资源数值来源)

资源数值来源为一条数值解析出一个数字:当前值、定义上限、恢复速度、距离上限还差多少,以及两种灵气浓度。它不写在资源条里,而是由脚本求值——把对象交给 MxtValues.evaluateResource(entity, resource, definition),mxt:js 的回调用 MxtValues.resourceValue(id, callback) 注册,见 KubeJS API 参考。

这一族由模组注册,type id 固定,数据包只能选用、无法新增;只有 Java 代码或 KubeJS 桥接能引入自定义来源。

mxt:current​

实体上存下来的当前值。

字段类型默认说明
———没有字段。
{"type": "mxt:current"}

mxt:max​

这条数值的定义里求值出来的 max。

字段类型默认说明
———没有字段。
{"type": "mxt:max"}

mxt:regen​

该数值的灵气定义里的 regen,也就是每 tick 的自然恢复量。

字段类型默认说明
———没有字段。
{"type": "mxt:regen"}

mxt:missing​

距离上限还差多少,永远不低于 0。

字段类型默认说明
———没有字段。
{"type": "mxt:missing"}

mxt:environment_concentration​

该位置的环境模板浓度,不含区块库存以及方块、阵法的贡献。

字段类型默认说明
———没有字段。
{"type": "mxt:environment_concentration"}

mxt:actual_concentration​

该位置最终解析出来的浓度,包含所有已生效来源。

字段类型默认说明
———没有字段。
{"type": "mxt:actual_concentration"}

mxt:constant​

一个固定的数值。

字段类型默认说明
valueNumberProvider必填要解析的数值
{"type": "mxt:constant", "value": "level * 10"}

mxt:js​

由脚本回调决定的数值。

字段类型默认说明
idString必填用 MxtValues.resourceValue(id, callback) 注册的回调 ID
paramsObject{}传给回调的任意 JSON
{"type": "saturn:js", "id": "example:qi_bonus", "params": {"scale": 2}}

mxt:regen 读不到对应的灵气定义时解析为 0。两个浓度来源读世界状态,因此需要一个实体:没有实体时解析为 0,服务端从世界状态算,客户端读同步下来的灵气池。mxt:js 的回调缺失或抛异常时记一条警告,并按 0 解析。

两个浓度 ID 同时存在于两处,别混:写在资源条的 context 里时它们是上下文,读客户端同步下来的池子、不需要实体;写成本页的类型时要有实体,服务端自己从世界状态算。