LibJF/libjf-config-v0/src/main/java/io/gitlab/jfronny/libjf/config/api/ConfigInstance.java

32 lines
879 B
Java
Raw Normal View History

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();
String getId();
String getCategoryPath();
default String getTranslationPrefix() {
return getId() + ".jfconfig." + getCategoryPath();
}
2022-04-29 15:48:27 +02:00
List<EntryInfo<?>> getEntries();
Map<String, Runnable> getPresets();
default List<ConfigInstance> getReferencedConfigs() {
return List.of();
}
2022-03-30 23:08:51 +02:00
Map<String, ConfigInstance> getCategories();
default void fix() {
for (EntryInfo<?> entry : getEntries()) {
entry.fix();
}
}
}