Simplix-Softworks / SimplixStorage

Library to store data in a better way
Apache License 2.0
138 stars 25 forks source link

Yaml#addDefaultsFromInputStream messes the order of keys even if the DataType is sorted #81

Open leonardo-dgs opened 1 year ago

leonardo-dgs commented 1 year ago

Describe the bug When you use Yaml#addDefaultsFromInputStream, the saved config is no longer ordered, even if you set DataType.SORTED.

To Reproduce The following code produces an unordered Yaml file.

    private Yaml loadLangConfig(String langCode) {
        File file = new File(langFolder.toPath().toString(), langCode + ".yml");
        Yaml langConfig = SimplixBuilder.fromFile(file)
                .setReloadSettings(ReloadSettings.INTELLIGENT)
                .setDataType(DataType.SORTED)
                .createYaml();

        InputStream resource = getDefaultLangFileStream(langCode);
        if (resource == null) {
            resource = getDefaultLangFileStream(settings.getDefaultLanguage());
            if (resource == null)
                resource = getDefaultLangFileStream("en_us.yml");
        }
        langConfig.addDefaultsFromInputStream(resource);

        return langConfig;
    }