Class RubricGui
java.lang.Object
com.oliveryasuna.mc.rubric.neoforge.gui.RubricGui
-
Method Summary
Modifier and TypeMethodDescriptionstatic com.oliveryasuna.mc.rubric.loader.config.Frontendstatic Optional<com.oliveryasuna.mc.rubric.core.ConfigManager<?>> static Optional<com.oliveryasuna.mc.rubric.sync.SyncService> getSyncService(com.oliveryasuna.mc.rubric.core.ConfigManager<?> manager) static Optional<com.oliveryasuna.mc.rubric.sync.SyncService> getSyncService(String id) static booleanstatic StringmodIdOf(com.oliveryasuna.mc.rubric.core.ConfigManager<?> manager) static net.minecraft.client.gui.screens.ScreenopenFor(net.minecraft.client.Minecraft client, net.minecraft.client.gui.screens.Screen parent, com.oliveryasuna.mc.rubric.core.ConfigManager<?> manager) Opens the GUI formanager, falling back to aNoFrontendScreenplaceholder when noScreenProvideris registered (e.g., YACL absent).static Collection<com.oliveryasuna.mc.rubric.core.ConfigManager<?>> static voidregisterProvider(ScreenProvider provider) static voidregisterScreen(com.oliveryasuna.mc.rubric.core.ConfigManager<?> manager) Registers a manager, defaulting its ModMenu mod ID tomanager.getSchema().id().static voidregisterScreen(String modId, com.oliveryasuna.mc.rubric.core.ConfigManager<?> manager) Registers a manager explicitly undermodId.static voidregisterSyncService(com.oliveryasuna.mc.rubric.core.ConfigManager<?> manager, com.oliveryasuna.mc.rubric.sync.SyncService syncService) Groups every registered manager by its ModMenu mod ID.static voidsetPreferredFrontend(com.oliveryasuna.mc.rubric.loader.config.Frontend preferred) Updates the frontend preference consulted byopenFor(net.minecraft.client.Minecraft, net.minecraft.client.gui.screens.Screen, com.oliveryasuna.mc.rubric.core.ConfigManager<?>).static voidunregisterScreen(com.oliveryasuna.mc.rubric.core.ConfigManager<?> manager) static voidunregisterScreen(String schemaId)
-
Method Details
-
registerScreen
public static void registerScreen(com.oliveryasuna.mc.rubric.core.ConfigManager<?> manager) Registers a manager, defaulting its ModMenu mod ID tomanager.getSchema().id(). Equivalent toregisterScreen(manager.getSchema().id(), manager). -
registerScreen
public static void registerScreen(String modId, com.oliveryasuna.mc.rubric.core.ConfigManager<?> manager) Registers a manager explicitly undermodId. The mod ID groups multiple managers under one ModMenu entry: if a single mod owns more than one config, register each here with the samemodIdand the ModMenu integration will show a chooser sub-screen instead of dropping all but one. -
unregisterScreen
public static void unregisterScreen(com.oliveryasuna.mc.rubric.core.ConfigManager<?> manager) -
unregisterScreen
-
getScreen
-
registeredScreens
-
modIdOf
- Returns:
- The mod ID under which
manageris registered, or the schema id if it was registered with the no-modId overload.
-
screensByModId
Groups every registered manager by its ModMenu mod ID. Insertion-ordered within each bucket so chooser entries stay stable across game restarts. -
openFor
public static net.minecraft.client.gui.screens.Screen openFor(net.minecraft.client.Minecraft client, net.minecraft.client.gui.screens.Screen parent, com.oliveryasuna.mc.rubric.core.ConfigManager<?> manager) Opens the GUI formanager, falling back to aNoFrontendScreenplaceholder when noScreenProvideris registered (e.g., YACL absent). Never returnsnullor throws — callers can wire this straight into ModMenu / Catalogue screen factories without guarding.Selection order: the configured preferred frontend (see
setPreferredFrontend(com.oliveryasuna.mc.rubric.loader.config.Frontend)) first; on AUTO or when the pinned frontend isn't installed, fall throughAUTO_PRIORITY(YACL, then CLOTH); finally, any other registered provider in registration order. -
setPreferredFrontend
public static void setPreferredFrontend(com.oliveryasuna.mc.rubric.loader.config.Frontend preferred) Updates the frontend preference consulted byopenFor(net.minecraft.client.Minecraft, net.minecraft.client.gui.screens.Screen, com.oliveryasuna.mc.rubric.core.ConfigManager<?>). Called by the Rubric bootstrap after loadingRubricConfig.gui.preferredFrontend, and again on every change event for that path. -
getPreferredFrontend
public static com.oliveryasuna.mc.rubric.loader.config.Frontend getPreferredFrontend() -
registerProvider
-
hasProvider
public static boolean hasProvider()- Returns:
truewhen at least oneScreenProvider(YACL, Cloth Config, etc.) has been registered. Callers that build menu entries should guard on this — opening a config when no provider exists throws fromopenFor(net.minecraft.client.Minecraft, net.minecraft.client.gui.screens.Screen, com.oliveryasuna.mc.rubric.core.ConfigManager<?>).
-
registerSyncService
public static void registerSyncService(com.oliveryasuna.mc.rubric.core.ConfigManager<?> manager, com.oliveryasuna.mc.rubric.sync.SyncService syncService) -
getSyncService
public static Optional<com.oliveryasuna.mc.rubric.sync.SyncService> getSyncService(com.oliveryasuna.mc.rubric.core.ConfigManager<?> manager) -
getSyncService
-