2022-02-12 10:13:19 +01:00
|
|
|
package io.gitlab.jfronny.libjf.config.api;
|
|
|
|
|
|
|
|
import java.util.List;
|
|
|
|
import java.util.Map;
|
|
|
|
|
|
|
|
public interface ConfigInstance {
|
|
|
|
static ConfigInstance get(Class<?> configClass) {
|
|
|
|
return ConfigHolder.getInstance().get(configClass);
|
|
|
|
}
|
|
|
|
static ConfigInstance get(String modId) {
|
|
|
|
return ConfigHolder.getInstance().get(modId);
|
|
|
|
}
|
|
|
|
void load();
|
2022-03-31 20:45:10 +02:00
|
|
|
void write();
|
2022-07-01 19:16:40 +02:00
|
|
|
String getId();
|
|
|
|
String getCategoryPath();
|
|
|
|
default String getTranslationPrefix() {
|
|
|
|
return getId() + ".jfconfig." + getCategoryPath();
|
|
|
|
}
|
2022-04-29 15:48:27 +02:00
|
|
|
List<EntryInfo<?>> getEntries();
|
2022-02-12 10:13:19 +01:00
|
|
|
Map<String, Runnable> getPresets();
|
2022-07-01 19:16:40 +02:00
|
|
|
default List<ConfigInstance> getReferencedConfigs() {
|
|
|
|
return List.of();
|
|
|
|
}
|
2022-03-30 23:08:51 +02:00
|
|
|
Map<String, ConfigInstance> getCategories();
|
2022-07-01 19:16:40 +02:00
|
|
|
default void fix() {
|
|
|
|
for (EntryInfo<?> entry : getEntries()) {
|
|
|
|
entry.fix();
|
|
|
|
}
|
|
|
|
}
|
2022-02-12 10:13:19 +01:00
|
|
|
}
|