Fabric Yaml Configuration

Fabric Yaml Configuration

Mod for create configurations with yaml

1 315 downloads 5 followers

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);
}

No gallery available for this project.

Version Minecraft Loader Download

Fabric Yaml Configuration 1.0.1

1.0.1

1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.10, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9
fabric
Download

fabric-yaml-configuration 1.0.0

1.0.0

1.20.1
fabric
Download