28 lines
1.0 KiB
Java
28 lines
1.0 KiB
Java
package io.gitlab.jfronny.libjf.config.impl;
|
|
|
|
import com.terraformersmc.modmenu.api.ConfigScreenFactory;
|
|
import com.terraformersmc.modmenu.api.ModMenuApi;
|
|
import io.gitlab.jfronny.libjf.config.api.ConfigHolder;
|
|
import io.gitlab.jfronny.libjf.config.api.ConfigInstance;
|
|
import io.gitlab.jfronny.libjf.config.impl.gui.TinyConfigScreen;
|
|
import io.gitlab.jfronny.libjf.LibJf;
|
|
|
|
import java.util.HashMap;
|
|
import java.util.Map;
|
|
|
|
public class ModMenu implements ModMenuApi {
|
|
@Override
|
|
public Map<String, ConfigScreenFactory<?>> getProvidedConfigScreenFactories() {
|
|
Map<String, ConfigScreenFactory<?>> factories = new HashMap<>();
|
|
for (Map.Entry<String, ConfigInstance> entry : ConfigHolder.getInstance().getRegistered().entrySet()) {
|
|
if (!LibJf.MOD_ID.equals(entry.getKey()))
|
|
factories.put(entry.getKey(), buildFactory(entry.getValue()));
|
|
}
|
|
return factories;
|
|
}
|
|
|
|
private static ConfigScreenFactory<?> buildFactory(ConfigInstance config) {
|
|
return s -> new TinyConfigScreen(s, config);
|
|
}
|
|
}
|