Unnamed Common Library (UCL) 图标

Unnamed Common Library (UCL)

作者:rebot | 分类:模组

价格:0 墨喵币 下载量:0 点赞:0 版本 0.5.0+1.21.11-neoforge
本资源为搬运资源,原资源地址: https://modrinth.com/mod/ucl
资源信息

Minecraft 版本: 1.21.11

平台: neoforge

标签: library magic management

资源介绍
English

❔ Tell me more about it

Unnamed Common Library (UCL) is my attempt at making a simple, useful, (yet to be) powerful configuration library. Its goal is to be general purpose so that no matter the mod you build or your preferences, you can always use it. This library is obviously not meant to be used on its own,if you do so it will at most serve as an example and a test for its capabilities.

? Why you should like it

  • Very easy to implement and use
  • Optional configuration screen integrations
  • JSON, TOML, and YAML support

?‍? For developers

Installation

Add the repository to your build.gradle(.kts):

repositories {
    maven {
        url = "https://maven.pkg.github.com/aurorarissime/unnamed-common-library"
    }
}

And in your buildscript, add the dependency (modImplementation for Fabric, implementation for NeoForge):

dependencies {
    (mod)Implementation("from.discorde:ucl:${ucl_version}+${minecraft_version}-fabric")
}
Usage

1. Create your configuration model

MyModConfig.java
import from.discorde.ucl.common.config.annotations.*;

@Configuration(
    name = "mymod"
)
public class MyModConfig {
    @Comment("Enable the awesome feature")
    public boolean awesomeFeature = true;

    @Comment("Maximum power level (0-100)")
    public int maxPower = 50;

    @Comment("Welcome message displayed to players")
    public String welcomeMessage = "Hello!";
}

2. Load the configuration in your mod initialiser

MyMod.java
public class MyMod implements ModInitializer {
    // The wrapper class is auto-generated at compile time
    public static final MyModConfigWrapper CONFIG = MyModConfigWrapper.createAndLoad();

    @Override
    public void onInitialize() {
        if (CONFIG.awesomeFeature) {
            System.out.println("Awesome feature is enabled!");
        }
    }
}
References

Annotations

@Configuration

Add this annotation right above your config class

| Parameter | Type | Default | Description | |------------|-------------------------|----------------|-----------------------------| | `name` | `String` | *required* | Config file or folder name | | `location` | `ConfigurationLocation` | `SUBDIRECTORY` | Where to save the config | | `format` | `ConfigurationFormat` | `JSON5` | File format to use | | `screen` | `boolean` | `true` | Generate YACL config screen |
@Comment

Add this annotation above any field to include a comment in the config file

@Comment("This comment will appear above the field in the config file")
public boolean myOption = true;

Enums

ConfigurationLocation
| Value | Description | |----------------|------------------------------------------------------| | `ROOT` | Save directly in the config folder as `{name}.{ext}` | | `SUBDIRECTORY` | Save in a subfolder as `{name}/configuration.{ext}` |
ConfigurationFormat
| Value | Extension | Description | |---------|-----------|--------------------------------------------------------| | `JSON5` | `.json5` | JSON with comments, trailing commas, and unquoted keys | | `TOML` | `.toml` | Tom's Obvious Minimal Language | | `YAML` | `.yaml` | YAML Ain't Markup Language | Configuration screens integration

If screen = true (default) in your @Configuration annotation and YetAnotherConfigLib (YACL) is installed, a configuration screen will be auto-generated and accessible through Mod Menu.
To disable the config screen, just set the screen parameter to false in the @Configuration annotation.

Enjoy ?

下载太慢?试试 墨喵加速站,支持 Modrinth 和外网直链高速下载! 用的人越多,下载的越快!
下载与版本
评论(0)
登录 后发表评论。

暂无评论,抢个沙发吧~

举报此资源

请登录后举报

🔥 相关推荐
Vampirism Dark Mode

价格:0 墨喵币
下载量:0

查看详情
Tensura Reincarnated Re: Extended

价格:0 墨喵币
下载量:0

查看详情
Paps Fantasy Origins

价格:0 墨喵币
下载量:0

查看详情
ExN MP

价格:0 墨喵币
下载量:0

查看详情