Package net.uku3lig.ukulib.config.screen
Class BaseConfigScreen<T extends Serializable>
java.lang.Object
net.minecraft.client.gui.AbstractParentElement
net.minecraft.client.gui.screen.Screen
net.uku3lig.ukulib.config.screen.CloseableScreen
net.uku3lig.ukulib.config.screen.BaseConfigScreen<T>
- Type Parameters:
T- The type of the config class
- All Implemented Interfaces:
net.minecraft.client.gui.Drawable,net.minecraft.client.gui.Element,net.minecraft.client.gui.navigation.Navigable,net.minecraft.client.gui.ParentElement
- Direct Known Subclasses:
AbstractConfigScreen,TabbedConfigScreen
Simple abstract class which provides utilities for config screens
-
Nested Class Summary
Nested classes/interfaces inherited from class net.minecraft.client.gui.screen.Screen
net.minecraft.client.gui.screen.Screen.SelectedElementNarrationData -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final org.slf4j.LoggerSLF4J Loggerprotected final ConfigManager<T> The config managerFields inherited from class net.uku3lig.ukulib.config.screen.CloseableScreen
parentFields inherited from class net.minecraft.client.gui.screen.Screen
client, executor, FOOTER_SEPARATOR_TEXTURE, HEADER_SEPARATOR_TEXTURE, height, INWORLD_FOOTER_SEPARATOR_TEXTURE, INWORLD_HEADER_SEPARATOR_TEXTURE, MENU_BACKGROUND_TEXTURE, narratorToggleButton, PANORAMA_RENDERER, ROTATING_PANORAMA_RENDERER, textRenderer, title, widthFields inherited from interface net.minecraft.client.gui.Element
MAX_DOUBLE_CLICK_INTERVAL -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedBaseConfigScreen(String key, net.minecraft.client.gui.screen.Screen parent, ConfigManager<T> manager) Constructs the screen -
Method Summary
Modifier and TypeMethodDescriptionprotected <R> RapplyConfigChecked(Function<T, R> mapper, R defaultValue) Tries to apply the current config to a function (eg.protected Collection<net.minecraft.client.gui.widget.ClickableWidget> Finds invalid options in the config screen.protected voidinit()voidremoved()voidtick()Methods inherited from class net.uku3lig.ukulib.config.screen.CloseableScreen
closeMethods inherited from class net.minecraft.client.gui.screen.Screen
addCrashReportSection, addDrawable, addDrawableChild, addElementNarrations, addScreenNarrations, addSelectableChild, applyBlur, applyKeyPressNarratorDelay, applyMouseMoveNarratorDelay, applyMousePressScrollNarratorDelay, blur, children, clearAndInit, clearChildren, clearTooltip, findSelectedElementData, getMusic, getNarratedTitle, getNavigationFocus, getTextRenderer, getTitle, getTooltipFromItem, getUsageNarrationText, handleTextClick, hasAltDown, hasControlDown, hasShiftDown, hasUsageText, init, insertText, isCopy, isCut, isMouseOver, isPaste, isSelectAll, isValidCharacterForName, keyPressed, narrateScreenIfNarrationEnabled, onDisplayed, onFilesDropped, refreshNarrator, refreshWidgetPositions, remove, render, renderBackground, renderBackgroundTexture, renderDarkening, renderDarkening, renderInGameBackground, renderPanoramaBackground, renderWithTooltip, resize, setInitialFocus, setInitialFocus, setTooltip, setTooltip, setTooltip, setTooltip, shouldCloseOnEsc, shouldHideStatusEffectHud, shouldPause, switchFocus, updateNarratorMethods inherited from class net.minecraft.client.gui.AbstractParentElement
getFocused, isDragging, setDragging, setFocusedMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface net.minecraft.client.gui.Element
getBorder, mouseMovedMethods inherited from interface net.minecraft.client.gui.navigation.Navigable
getNavigationOrderMethods inherited from interface net.minecraft.client.gui.ParentElement
charTyped, getFocusedPath, getNavigationPath, hoveredElement, isFocused, keyReleased, mouseClicked, mouseDragged, mouseReleased, mouseScrolled, setFocused
-
Field Details
-
manager
The config manager -
log
protected final org.slf4j.Logger logSLF4J Logger
-
-
Constructor Details
-
BaseConfigScreen
protected BaseConfigScreen(String key, net.minecraft.client.gui.screen.Screen parent, ConfigManager<T> manager) Constructs the screen- Parameters:
key- The translation key of the titleparent- The parent screenmanager- The config manager
-
-
Method Details
-
applyConfigChecked
Tries to apply the current config to a function (eg.getWidgets). If an exception is thrown, the config is first reset and applied again, and if it fails a second time, a notice is shown to the end user. This is mainly useful to preventNullPointerExceptions.Example:
buttonList.addAll(applyConfigChecked(this::getWidgets, new WidgetCreator[0]))- Type Parameters:
R- The type of the return value of the applied function- Parameters:
mapper- The function that needs a configdefaultValue- The default value, in case the config is broken. Only here to avoid returning null.- Returns:
- The result of the function, if the config is working
-
init
protected void init()- Overrides:
initin classnet.minecraft.client.gui.screen.Screen
-
tick
public void tick()- Overrides:
tickin classnet.minecraft.client.gui.screen.Screen
-
getInvalidOptions
Finds invalid options in the config screen. Called once every tick.- Returns:
- The collection of invalid options.
-
removed
public void removed()- Overrides:
removedin classnet.minecraft.client.gui.screen.Screen
-