Interface MetadataTracker

  • All Implemented Interfaces:

    
    public interface MetadataTracker
    
                        

    元数据追踪器接口

    用于为每个实体(通过 UUID 标识)动态存储任意类型的元数据(key-value 形式)。 支持附加自定义状态、临时标记、上下文信息等,常用于技能系统、事件追踪或插件间数据共享。

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
    • Field Summary

      Fields 
      Modifier and Type Field Description
    • Constructor Summary

      Constructors 
      Constructor Description
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
    • Method Summary

      Modifier and Type Method Description
      Unit setMeta(UUID uuid, String key, Object value) 为指定实体设置一个元数据键值对。若该实体尚无元数据容器,则自动创建一个新的空映射。
      Unit setMeta(LivingEntity livingEntity, String key, Object value)
      Boolean hasMeta(UUID uuid, String key) 检查指定实体是否包含某个具体的元数据键。仅当该实体已分配元数据容器 且 容器中包含给定 key 时返回 true。
      Boolean hasMeta(LivingEntity livingEntity, String key)
      Object getMeta(UUID uuid, String key) 获取指定实体的某个元数据值。若实体无元数据容器,或容器中不存在该键,则返回 null。
      Object getMeta(LivingEntity livingEntity, String key)
      Unit removeMeta(UUID uuid, String key) 从指定实体的元数据中移除某个键。若实体无元数据容器,或容器中无此键,则不执行任何操作。
      Unit removeMeta(LivingEntity livingEntity, String key)
      abstract Map<UUID, Map<String, Object>> getMetadata() 元数据存储结构。外层键:实体的唯一标识符(UUID) 内层键:元数据的字符串键名(如 "last_attack_time", "immune_to_fire") 值:任意类型的对象(Any),可存储数字、字符串、布尔值、自定义对象等
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

    • 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 - 要移除的元数据键名
      • getMetadata

         abstract Map<UUID, Map<String, Object>> getMetadata()

        元数据存储结构。

        外层键:实体的唯一标识符(UUID) 内层键:元数据的字符串键名(如 "last_attack_time", "immune_to_fire") 值:任意类型的对象(Any),可存储数字、字符串、布尔值、自定义对象等