Skip to content

Commit 43d60f9

Browse files
committed
fix: Remember insertion order for configs, stop sorting alphabetically on config screen
1 parent 1b561f8 commit 43d60f9

2 files changed

Lines changed: 7 additions & 10 deletions

File tree

common/src/main/java/net/blay09/mods/balm/client/platform/config/screen/BalmConfigScreen.java

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -216,11 +216,8 @@ public int contentHeight() {
216216
}
217217

218218
private static BalmConfigScreenBuilder applySchemas(BalmConfigScreenBuilder builder, Collection<BalmConfigSchema> schemas) {
219-
final var sortedSchemas = schemas.stream()
220-
.sorted(Comparator.comparing(schema -> schema.identifier().toString()))
221-
.toList();
222-
final var includeSchemaHeadings = sortedSchemas.size() > 1;
223-
for (final var schema : sortedSchemas) {
219+
final var includeSchemaHeadings = schemas.size() > 1;
220+
for (final var schema : schemas) {
224221
final var schemaTitle = Component.translatable(ConfigLocalization.forTitle(schema));
225222
if (!schema.rootProperties().isEmpty()) {
226223
builder.section(includeSchemaHeadings ? schemaTitle : Component.empty(), section -> section.properties(schema.rootProperties()));

common/src/main/java/net/blay09/mods/balm/platform/config/schema/internal/ConfigSchemaImpl.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package net.blay09.mods.balm.platform.config.schema.internal;
22

3-
import com.google.common.collect.HashBasedTable;
43
import com.google.common.collect.Table;
4+
import com.google.common.collect.Tables;
55
import net.blay09.mods.balm.platform.config.internal.DefaultedConfig;
66
import net.blay09.mods.balm.platform.config.LoadedConfig;
77
import net.blay09.mods.balm.platform.config.schema.BalmConfigSchema;
@@ -14,15 +14,15 @@
1414
import org.jspecify.annotations.Nullable;
1515

1616
import java.util.Collection;
17-
import java.util.HashMap;
17+
import java.util.LinkedHashMap;
1818
import java.util.Map;
1919

2020
public class ConfigSchemaImpl implements BalmConfigSchema, ConfigSchemaBuilder {
2121

2222
private final Identifier identifier;
23-
private final Map<String, ConfigCategory> categories = new HashMap<>();
24-
private final Map<String, ConfiguredProperty<?>> rootProperties = new HashMap<>();
25-
private final Table<String, String, ConfiguredProperty<?>> properties = HashBasedTable.create();
23+
private final Map<String, ConfigCategory> categories = new LinkedHashMap<>();
24+
private final Map<String, ConfiguredProperty<?>> rootProperties = new LinkedHashMap<>();
25+
private final Table<String, String, ConfiguredProperty<?>> properties = Tables.newCustomTable(new LinkedHashMap<>(), LinkedHashMap::new);
2626

2727
public ConfigSchemaImpl(Identifier identifier) {
2828
this.identifier = identifier;

0 commit comments

Comments
 (0)