Interface MetadataTracker
-
- All Implemented Interfaces:
public interface MetadataTracker元数据追踪器接口
用于为每个实体(通过 UUID 标识)动态存储任意类型的元数据(key-value 形式)。 支持附加自定义状态、临时标记、上下文信息等,常用于技能系统、事件追踪或插件间数据共享。
-
-
Method Summary
Modifier and Type Method Description UnitsetMeta(UUID uuid, String key, Object value)为指定实体设置一个元数据键值对。若该实体尚无元数据容器,则自动创建一个新的空映射。 UnitsetMeta(LivingEntity livingEntity, String key, Object value)BooleanhasMeta(UUID uuid, String key)检查指定实体是否包含某个具体的元数据键。仅当该实体已分配元数据容器 且 容器中包含给定 key 时返回 true。 BooleanhasMeta(LivingEntity livingEntity, String key)ObjectgetMeta(UUID uuid, String key)获取指定实体的某个元数据值。若实体无元数据容器,或容器中不存在该键,则返回 null。 ObjectgetMeta(LivingEntity livingEntity, String key)UnitremoveMeta(UUID uuid, String key)从指定实体的元数据中移除某个键。若实体无元数据容器,或容器中无此键,则不执行任何操作。 UnitremoveMeta(LivingEntity livingEntity, String key)abstract Map<UUID, Map<String, Object>>getMetadata()元数据存储结构。外层键:实体的唯一标识符(UUID) 内层键:元数据的字符串键名(如 "last_attack_time", "immune_to_fire") 值:任意类型的对象(Any),可存储数字、字符串、布尔值、自定义对象等 -
-
Method Detail
-
setMeta
Unit setMeta(UUID uuid, String key, Object value)
为指定实体设置一个元数据键值对。
若该实体尚无元数据容器,则自动创建一个新的空映射。
- Parameters:
uuid- 实体的唯一标识符key- 元数据的键名(建议使用命名空间风格,如 "mod:flag")value- 要存储的任意类型值
-
hasMeta
Boolean hasMeta(UUID uuid, String key)
检查指定实体是否包含某个具体的元数据键。
仅当该实体已分配元数据容器 且 容器中包含给定 key 时返回 true。
- Parameters:
uuid- 实体的唯一标识符key- 要检查的元数据键名- Returns:
若存在该键则返回 true,否则 false
-
getMeta
Object getMeta(UUID uuid, String key)
获取指定实体的某个元数据值。
若实体无元数据容器,或容器中不存在该键,则返回 null。
- Parameters:
uuid- 实体的唯一标识符key- 元数据键名- Returns:
对应的值(Any?),若不存在则为 null
-
removeMeta
Unit removeMeta(UUID uuid, String key)
从指定实体的元数据中移除某个键。
若实体无元数据容器,或容器中无此键,则不执行任何操作。
- Parameters:
uuid- 实体的唯一标识符key- 要移除的元数据键名
-
removeMeta
Unit removeMeta(LivingEntity livingEntity, String key)
-
-
-
-