DrZoddiak / configurate-serialization

Kotlinx.serialization support for configurate

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

configurate-serialization

Kotlinx.serialization support for configurate.

Usage

Gradle

plugins {
    kotlin("jvm") version "1.5.21"
    kotlin("plugin.serialization") version "1.5.21"
}

repositories {
    mavenCentral()
    maven("https://repo.spongepowered.org/maven")
    maven("https://jitpack.io")
}

dependencies {
    implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.21")
    implementation("org.jetbrains.kotlinx:kotlinx-serialization-runtime:1.0-M1-1.4.0-rc")
    
    implementation("org.spongepowered:configurate-core:4.1.2")

    implementation("com.github.ItsDoot:configurate-serialization:0.1.0")
}

Example

@Serializable
data class MyConfig(val enabled: Boolean, val limit: Int, val name: String)

fun parse(node: ConfigurationNode) {
    val config = ConfigurationNodeParser.parse(node, MyConfig.serializer())
    println("enabled? ${config.enabled}")
    println("limit = ${config.limit}")
    println("name = ${config.name}")
}

About

Kotlinx.serialization support for configurate

License:MIT License


Languages

Language:Kotlin 100.0%