diff --git a/src/main/java/ru/betterend/config/CategoryConfig.java b/src/main/java/ru/betterend/config/CategoryConfig.java new file mode 100644 index 00000000..b341b2eb --- /dev/null +++ b/src/main/java/ru/betterend/config/CategoryConfig.java @@ -0,0 +1,10 @@ +package ru.betterend.config; + +public class CategoryConfig extends IdConfig { + + public CategoryConfig(String group) { + super(group, (id, category) -> { + return new ConfigKey(id.getNamespace(), category, id.getPath()); + }); + } +} diff --git a/src/main/java/ru/betterend/config/Configs.java b/src/main/java/ru/betterend/config/Configs.java index 28b46600..6bef1de2 100644 --- a/src/main/java/ru/betterend/config/Configs.java +++ b/src/main/java/ru/betterend/config/Configs.java @@ -1,18 +1,10 @@ package ru.betterend.config; public class Configs { - public static final IdConfig ITEM_CONFIG = new IdConfig("items", (itemId, category) -> { - return new ConfigKey(itemId.getNamespace(), category, itemId.getPath()); - }); - public static final IdConfig BLOCK_CONFIG = new IdConfig("blocks", (blockId, category) -> { - return new ConfigKey(blockId.getNamespace(), category, blockId.getPath()); - }); - public static final IdConfig BIOME_CONFIG = new IdConfig("biomes", (biomeId, entry) -> { - return new ConfigKey(biomeId.getNamespace(), biomeId.getPath(), entry); - }); - public static final IdConfig ENTITY_CONFIG = new IdConfig("entities", (entityId, category) -> { - return new ConfigKey(entityId.getNamespace(), category, entityId.getPath()); - }); + public static final IdConfig ITEM_CONFIG = new CategoryConfig("items"); + public static final IdConfig BLOCK_CONFIG = new CategoryConfig("blocks"); + public static final IdConfig ENTITY_CONFIG = new CategoryConfig("entities"); + public static final IdConfig BIOME_CONFIG = new EntryConfig("biomes"); public static final SimpleConfig GENERATOR_CONFIG = new SimpleConfig("generator"); public static void saveConfigs() { diff --git a/src/main/java/ru/betterend/config/EntryConfig.java b/src/main/java/ru/betterend/config/EntryConfig.java new file mode 100644 index 00000000..88ef5f5a --- /dev/null +++ b/src/main/java/ru/betterend/config/EntryConfig.java @@ -0,0 +1,10 @@ +package ru.betterend.config; + +public class EntryConfig extends IdConfig { + + public EntryConfig(String group) { + super(group, (id, entry) -> { + return new ConfigKey(id.getNamespace(), id.getPath(), entry); + }); + } +} diff --git a/src/main/java/ru/betterend/config/IdConfig.java b/src/main/java/ru/betterend/config/IdConfig.java index 1248b5f8..6fdd03ad 100644 --- a/src/main/java/ru/betterend/config/IdConfig.java +++ b/src/main/java/ru/betterend/config/IdConfig.java @@ -11,7 +11,7 @@ import ru.betterend.config.ConfigKeeper.IntegerRange; public class IdConfig extends Config { - private final BiFunction keyFactory; + protected final BiFunction keyFactory; public IdConfig(String group, BiFunction keyFactory) { super(group); @@ -21,7 +21,7 @@ public class IdConfig extends Config { @Override protected void registerEntries() {} - private ConfigKey createKey(Identifier id, String key) { + protected ConfigKey createKey(Identifier id, String key) { return this.keyFactory.apply(id, key); }