Reflective Configs icon

Reflective Configs -----

A simple library to create configs based on Java Reflection



Adding to your project
Gradle

Code (Java):
repositories {
    maven {
        url 'https://jitpack.io'
    }
}

dependencies {
    implementation 'com.github.goldfinchx:configs:1.1.2'
}
Maven
Code (YAML):
    <repositories >
       <repository >
           <id>jitpack.io</id >
           <url>https://jitpack.io</url >
       </repository >
   </repositories >

    <dependencies >
       <dependency >
           <groupId>com.github.goldfinchx</groupId >
           <artifactId>configs</artifactId >
           <version>1.1.2</version >
       </dependency >
   </dependencies>
Important
After you added the library as a dependency, you have 2 choices:
1. Add the library as a plugin to your server
Code (YAML):

depends
: [Configs ]
 
2. Shade the library into your code

Creating your config class
It is super easy to create a new config class, just extend the Config class, add your fields, and provide a default no-args constructor. That's it.

Code (Java):
 @Getter
@NoArgsConstructor // you MUST add no-args constructor
public class TestConfig extends Config {

    private String value = "This is String value!" ;
    private Material enumValue = Material. DIAMOND ;
    private ItemStack itemStackValue = new ItemStack (Material. STONE, 1 ) ;
    private Map < Integer, Material > mapValue = Map. of ( 1, Material. STONE ) ;

    private final String ignoredValue ;
    private transient int ignoredValue2 ;

    public TestConfig (JavaPlugin plugin ) {
        // Formats available: JSON and YAML (change the type of the file to x.json or x.yaml/x.yml)
        super ( "fileName.yml", plugin. getDataFolder ( ). getPath ( ) ) ;

        // you MUST add this command to get updated values from the file and use this in your reload command
        this. reload ( ) ;
    }
}
Resource Information
Author:
----------
Total Downloads: 88
First Release: Apr 21, 2024
Last Update: Jun 10, 2024
Category: ---------------
All-Time Rating:
0 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings