普特莫斯维基 (Purtmars Wikipedia 📖)

自定义元数据 (Chemdah 开发者文档)

来自Purtmars Wikipedia —— 普特莫斯维基

目录

自定义元数据

元数据指任务中的被动行为或配置,常用于名称、标签等数据的设置。均继承自 ink.ptms.chemdah.core.quest.meta.Meta 类。
让我们从别名中学习如何自定义元数据。代码如下。

@MetaType(MetaType.Type.TEXT)
class MetaAlias(source: String?, questContainer: QuestContainer) : Meta(source, questContainer) {

    val alias = source

    companion object {

        /**
         * 使用扩展方法获取元数据
         */
        fun Template.alias() = meta("alias")?.alias

        @TFunction.Init
        fun init() {
            // 向 Chemdah 注册元数据类型
            ChemdahAPI.addQuestMeta("alias", MetaAlias::class.java)
        }
    }
}

我们可以看到这个类使用了 @MetaType(MetaType.Type.TEXT) 注解,用于定义数据类型。
任务配置文件中书写格式如下。

template_01:
  meta:
    alias: alias01

很简单是吧,因为元数据本身的设计就是没有主动行为的,它的意义便是提供一个配置编写与获取的接口。