LibJF/libjf-config-core-v2/src/client/java/io/gitlab/jfronny/libjf/config/api/v2/ui/ConfigScreenFactory.java

22 lines
636 B
Java

package io.gitlab.jfronny.libjf.config.api.v2.ui;
import io.gitlab.jfronny.libjf.config.api.v2.ConfigInstance;
import io.gitlab.jfronny.libjf.config.impl.ui.ConfigScreenFactoryDiscovery;
import net.minecraft.client.gui.screen.Screen;
public interface ConfigScreenFactory<S extends Screen, B extends ConfigScreenFactory.Built<S>> {
static ConfigScreenFactory<?, ?> getInstance() {
return ConfigScreenFactoryDiscovery.getConfigured2();
}
B create(ConfigInstance config, Screen parent);
int getPriority();
interface Built<S extends Screen> {
S get();
void onSave(Runnable action);
}
}