跳到正文

Fabric Yaml Configuration

作者:EarWarm

Mod for create configurations with yaml

收藏

介绍

中文介绍正在准备中,下面暂时显示原文。

Fabric Yaml Configuration library mod

This modification allows you to use yaml configuration files as a configuration for your mod.
The modification already includes the snakeyaml library.

FabricConfiguration methods

// Sets the path to the final configuration
setFile(File file)
setFile(String file)

// Sets the stream of the original configuration file
// as a rule the original configuration is located in the mod resources.
setDefault(InputStream defaultConfigurationFile)
        
// Initializes the configuration
intialize()

// Saves the configuration to a file
saveConfiguration()
        
// Reloads the configuration from the file 
// needed to update the configuration during mod operation.
relaodConfiguration()

Simple configuration example

assets/example-mod/config/example-mod.yml

# Тестовая ветка
test:
  integer: 1
  double: 1.1
  string: 'test'
  list:
    - 'test-1'
    - 'test-2'
    - 'test-3'
  section:
    test: 'test'
public class ExampleMod implements ModInitializer {

    public static final Logger LOGGER = LogManager.getLogger();
    public FabricConfiguration configuration = new FabricConfiguration();

    @Override
    public void onInitialize() {
        // Getting default configuration file from mod assets
        InputStream defaultConfigurationFile = ExampleMod.class.getResourceAsStream("/assets/example-mod/config/example-mod.yml");
        
        // Setting default configuration file to configuration
        configuration.setDefault(defaultConfigurationFile);
        // Setting configuration file path
        configuration.setFile("config/example-mod.yml");
        // Initialize configuration (load, if file exists else generate configuration)
        try {
            configuration.initialize();
        } catch (IOException e) {
            LOGGER.error("Configuration file cannot be generated", e);
        } catch (InvalidConfigurationException e) {
            LOGGER.error("Configuration file cannot be loaded", e);
        }
        
        
    }
}

Example code (save and get ItemStack from/to configuration)

ItemStack exampleItemStack = new ItemStack(Items.BEDROCK);
NbtCompound itemStackNbt = exampleItemStack.writeNbt(new NbtCompound());
        
configuration.set("item-stack", NbtHelper.toNbtProviderString(itemStackNbt));
        
try {
    configuration.saveConfiguration();
} catch (IOException e) {
    LOGGER.error("Configuration cannot be saved", e);
}

ItemStack itemStack = null;
try {
    itemStack = ItemStack.fromNbt(NbtHelper.fromNbtProviderString(configuration.getString("item-stack")));
} catch (CommandSyntaxException e) {
    LOGGER.error("ItemStack cannot be loaded from configuration", e);
}

常见问题

Fabric Yaml Configuration 支持哪些 Minecraft 版本?

Fabric Yaml Configuration 支持 Minecraft Java 版 1.20.1–1.21.10,共 17 个版本,可用的加载器:Fabric。下载时注意选择和你游戏版本一致的文件。

Fabric Yaml Configuration 怎么安装?

先用 PCL2 或 HMCL 启动器安装对应版本的 Fabric,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。运行环境:客户端 / 服务端。

评论

登录后评论和评分