Prism Config
模组属性评比

距离显示结果还剩5票~

路过的这位少侠,你觉得这款Mod怎么样,可否愿意来评一评它呢?登录并评比
更新日志
  • 暂无日志..

历史编辑记录更多
    管理组申请

      暂无管理组..

    编辑组申请

      暂无编辑组..

    停更
    开源

    Prism Config

    0.0

    无人问津

    昨日指数: 3
    昨日平均指数: 60.698

    5185

    总浏览

    --

    资料填充率


    如何下载?
    • Prism Config-第1张图片


      概述

      让你能够高效且优雅地编写你的配置文件的轻量级配置库。

      与我共舞

      对于普通用户来说,Prism Config 包含了一个 fabric.mod.json,因此它可以作为一个 Fabric 模组被加载;然而,此模组本质上仅是一个普通的 Java 配置库,因此它理论上可以被任何加载器在任何游戏版本上加载。

      对于开发者来说,要将 Prism Config 加入你的项目,需要在你的 build.gradle(.kts) 中加入以下内容:

      Groovy DSL:

      repositories {
          // ...
          maven {
              name = "Nova Committee - Release"
              url = "https://maven.nova-committee.cn/releases/"
          }
          maven {
              name = "Nova Committee - Snapshot"
              url = "https://maven.nova-committee.cn/snapshots/"
          }
      }

      dependencies {
          // ...
          implementation "io.github.prismwork:prismconfig:0.2.0:all"
          // 如果你已经在你的项目中包含了 Prism Config 所需要的库的话,也可以选用较小的 Jar。 (Gson, Jankson...)
          // implementation "io.github.prismwork:prismconfig:0.2.0"
      }

      Kotlin DSL:

      repositories {
          // ...
          maven {
              name = "Nova Committee - Release"
              url = uri("https://maven.nova-committee.cn/releases/")
          }
          maven {
              name = "Nova Committee - Snapshot"
              url = uri("https://maven.nova-committee.cn/snapshots/")
          }
      }

      dependencies {
          // ...
          implementation("io.github.prismwork:prismconfig:0.2.0:all")
          // 如果你已经在你的项目中包含了 Prism Config 所需要的库的话,也可以选用较小的 Jar。 (Gson, Jankson...)
          // implementation("io.github.prismwork:prismconfig:0.2.0")
      }


      Prism Config 默认提供了适用于 JSON (Gson),JSON5 (Jankson) 和 TOML 0.4.0 (toml4j) 的序列化器和反序列化器。

      可以通过以下代码来实现把字符串转换成配置文件对象:

      String content;
      MyConfig config = PrismConfig.getInstance().serialize(
              MyConfig.class,
              content,
              DefaultSerializers.getInstance().json5(MyConfig.class) // We assume that your config is written in JSON5
      );

      可以通过以下代码来实现把配置文件对象转换成字符串:

      MyConfig content;
      String config = PrismConfig.getInstance().deserialize(
              MyConfig.class,
              content,
              DefaultDeserializers.getInstance().json5(MyConfig.class) // We assume that your config is written in JSON5
      );

      你也可以把它直接写入文件:

      MyConfig content;
      File configFile;
      PrismConfig.getInstance().deserializeAndWrite(
              MyConfig.class,
              content,
              DefaultDeserializers.getInstance().json5(MyConfig.class), // We assume that your config is written in JSON5
              configFile
      );

      要编写你自己的序列化/反序列化器,你可以使用以下代码(我们以序列化为例):

      String content;
      PrismConfig.getInstance().serialize(
              MyConfig.class,
              content,
              (string) -> {
                  // Do your own parsing here
              }
      );

      使用的库

      • falkreon 制作的 Jankson,以 MIT 协议开源。

      • Google 制作的 Gson,以 Apache-2.0 协议开源。

      • Moandji Ezana 制作的 toml4j,以 MIT 协议开源。

    短评加载中..