1
mirror of https://github.com/CarmJos/EasyConfiguration.git synced 2024-09-19 20:25:51 +00:00
轻松(做)配置,简单便捷的通用配置文件加载、读取与更新工具,可自定义配置格式。
Go to file
2023-12-23 21:24:15 +08:00
.doc docs(readme): Add English version of README files. 2023-12-23 21:15:15 +08:00
.github docs(readme): Add English version of README files. 2023-12-23 21:15:15 +08:00
core fix(type): 修复部分原生类型无法转换的问题。#54 2023-12-21 20:47:13 +08:00
demo fix(type): 修复部分原生类型无法转换的问题。#54 2023-12-21 20:47:13 +08:00
impl fix(type): 修复部分原生类型无法转换的问题。#54 2023-12-21 20:47:13 +08:00
.gitignore 初始版本完成 2022-04-17 00:32:33 +08:00
LICENSE [skip-ci] 修改开源协议 2022-04-22 17:44:21 +08:00
pom.xml fix(type): 修复部分原生类型无法转换的问题。#54 2023-12-21 20:47:13 +08:00
README_CN.md docs(readme): Add English version of README files. 2023-12-23 21:24:15 +08:00
README.md docs(readme): Add English version of README files. 2023-12-23 21:24:15 +08:00

README LANGUAGES [ English | 中文 ]

EasyConfiguration

version License workflow CodeFactor CodeSize

Easy (to make) Configurations!

A simple, easy-to-use and universal solution for managing configuration files. Enjoy the ease of use with customizable formats for loading, reading, and updating your configuration files.

Features & Advantages

  • Class-based mechanism for initializing, loading, retrieving, and updating configuration files, ensuring convenience and efficiency.
  • Supports manual serialization and deserialization of complex configurations.
  • Offers multiple builder forms for rapid construction of ConfigValue<?> objects.
  • Enables specification of configuration paths, comments, and more via annotations.

Development

For a detailed development guide, CLICK HERE.

For the latest JavaDoc release, CLICK HERE.

Code Samples

Check out some code demonstrations HERE.

For more examples, see the Development Guide.

📖 Dependencies

Maven Dependency

Remote Repository Configuration
<project>
    <repositories>

        <repository>
            <!-- Using Maven Central Repository for secure and stable updates, though synchronization might be needed. -->
            <id>maven</id>
            <name>Maven Central</name>
            <url>https://repo1.maven.org/maven2</url>
        </repository>
  
        <repository>
            <!-- Using GitHub dependencies for real-time updates, configuration required (recommended). -->
            <id>EasyConfiguration</id>
            <name>GitHub Packages</name>
            <url>https://maven.pkg.github.com/CarmJos/EasyConfiguration</url>
        </repository>

    </repositories>
</project>
Generic Native Dependency
<project>
    <dependencies>
        <!-- Basic implementation part, requiring custom implementation of “Provider” and “Wrapper”. -->
        <dependency>
            <groupId>cc.carm.lib</groupId>
            <artifactId>easyconfiguration-core</artifactId>
            <version>[LATEST RELEASE]</version>
            <scope>compile</scope>
        </dependency>

        <!-- YAML file-based implementation, compatible with all Java environments. -->
        <dependency>
            <groupId>cc.carm.lib</groupId>
            <artifactId>easyconfiguration-yaml</artifactId>
            <version>[LATEST RELEASE]</version>
            <scope>compile</scope>
        </dependency>

        <!-- JSON file-based implementation, compatible with all Java environments. Note: JSON does not support file comments. -->
        <dependency>
            <groupId>cc.carm.lib</groupId>
            <artifactId>easyconfiguration-json</artifactId>
            <version>[LATEST RELEASE]</version>
            <scope>compile</scope>
        </dependency>

    </dependencies>
</project>

Gradle Dependency

Remote Repository Configuration
repositories {

    // Using Maven Central Repository for secure and stable updates, though synchronization might be needed.
    mavenCentral()
  
    // Using GitHub dependencies for real-time updates, configuration required (recommended).
    maven { url 'https://maven.pkg.github.com/CarmJos/EasyConfiguration' }
    
}
Generic Native Dependency

dependencies {

    // Basic implementation part, requiring custom implementation of “Provider” and “Wrapper”.
    api "cc.carm.lib:easyconfiguration-core:[LATEST RELEASE]"

    // YAML file-based implementation, compatible with all Java environments.
    api "cc.carm.lib:easyconfiguration-yaml:[LATEST RELEASE]"

    // JSON file-based implementation, compatible with all Java environments. Note: JSON does not support file comments.
    api "cc.carm.lib:easyconfiguration-json:[LATEST RELEASE]"

}

Derived Projects

MineConfiguration (by @CarmJos)

EasyConfiguration for MineCraft! Easily manage configurations on MineCraft-related server platforms.

Currently supports BungeeCord, Bukkit (Spigot) servers, with more platforms to be supported soon.

Support and Donation

If you appreciate this plugin, consider supporting me with a donation!

Thank you for supporting open-source projects!

Many thanks to Jetbrains for kindly providing a license for us to work on this and other open-source projects.

Open Source License

This project's source code is licensed under the GNU LESSER GENERAL PUBLIC LICENSE.