Introduction
This is a simple library for creating config files for your plugins. It uses reflection to get and set values from the config file, which means that you can access data from the config the same way you access data from any Java object.
Default Serializable Types
- Primitives
- Objects
- Enums
- Maps
- Collections
- Arrays
- UUIDs
- ItemStacks
- Locations
- Adventure Text Components
You can also create custom serializers for your classes, but your object would be serialized without it if you add a no-args constructor to it.
Adding to your project
Gradle
repositories {
maven {
url 'https://jitpack.io'
}
}
dependencies {
implementation 'com.github.goldfinchx:configs:1.1.2'
}
Maven
<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
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.
@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();
}
}
Don't forget to leave any review! <3
Similar projects
Plugin →Let Me Despawn
Improves performance by tweaking mob despawn rules. Say bye to pesky unintentional persistent mobs.
25MSueta
JourneyMap
Real-time map used for mapping in-game or your browser as you explore.
14.7MSueta
Emotecraft
Create your own emotes in Minecraft.
7.5MSueta
Simple Tpa
A simple tpa plugin which sends requests
5.4MSueta
Common Network
Forge and Fabric Unified Networking Solution
3.9MSueta
Set Home
A lightweight plugin for players to set their homes.
3.8MSueta