Class ScreenProviders
java.lang.Object
com.oliveryasuna.mc.rubric.neoforge.gui.ScreenProviders
Shared helpers used by frontend
ScreenProvider implementations
(YaclScreenProvider, ClothScreenProvider). Pure utilities:
no framework binding, no state.-
Method Summary
Modifier and TypeMethodDescriptionstatic ObjectcoerceNullDefault(Object def, Class<?> typeClass) Falls back to a boxed-primitive zero when a scalar entry has no default value (unusual — schema reader normally captures a POJO field value).static net.minecraft.network.chat.ComponentdisplayName(com.oliveryasuna.mc.rubric.schema.SchemaEntry entry, com.oliveryasuna.mc.rubric.schema.EntryMetadata meta, boolean showSuffixes) Renders an entry's display name, optionally with reload-tier and sync-scope tag suffixes (e.g.static Optional<com.oliveryasuna.mc.rubric.validation.validator.OneOfValidator> findOneOf(com.oliveryasuna.mc.rubric.schema.EntryMetadata meta) static Optional<com.oliveryasuna.mc.rubric.validation.validator.RangeValidator> findRange(com.oliveryasuna.mc.rubric.schema.EntryMetadata meta) static StringformatColor(int rgb) Formats a 24-bit RGB int as"#RRGGBB"(uppercase, alpha stripped).static intparseColor(String hex, int fallback) Parses a"#RRGGBB"(or bare"RRGGBB") hex string into a masked 24-bit RGB int.static doublesliderStep(double min, double max, int ticks) Uniform slider step:ticksdiscrete stops across the range.static booleanuseSlider(com.oliveryasuna.mc.rubric.schema.EntryMetadata meta, Optional<com.oliveryasuna.mc.rubric.validation.validator.RangeValidator> range)
-
Method Details
-
displayName
public static net.minecraft.network.chat.Component displayName(com.oliveryasuna.mc.rubric.schema.SchemaEntry entry, com.oliveryasuna.mc.rubric.schema.EntryMetadata meta, boolean showSuffixes) Renders an entry's display name, optionally with reload-tier and sync-scope tag suffixes (e.g."opacity [restart, server]") so users see at a glance why a value won't take effect immediately or won't sync. Callers read thegui.showMetadataSuffixesconfig flag and pass the result — keeps this helper free of a runtime config dependency. -
findRange
public static Optional<com.oliveryasuna.mc.rubric.validation.validator.RangeValidator> findRange(com.oliveryasuna.mc.rubric.schema.EntryMetadata meta) - Returns:
- The first
RangeValidatorattached tometa, if any. Frontends read this to size numeric sliders / field bounds.
-
findOneOf
public static Optional<com.oliveryasuna.mc.rubric.validation.validator.OneOfValidator> findOneOf(com.oliveryasuna.mc.rubric.schema.EntryMetadata meta) - Returns:
- The first
OneOfValidatorattached tometa, if any. Frontends read this to populate dropdown selections.
-
useSlider
public static boolean useSlider(com.oliveryasuna.mc.rubric.schema.EntryMetadata meta, Optional<com.oliveryasuna.mc.rubric.validation.validator.RangeValidator> range) - Returns:
truewhen a slider widget is appropriate for a numeric entry: a bounded finite range is present, and the entry's@Widgetkind is AUTO or SLIDER.
-
sliderStep
public static double sliderStep(double min, double max, int ticks) Uniform slider step:ticksdiscrete stops across the range. Callers coerce to the widget's numeric type.ticksis read fromgui.defaultSliderTicksat screen-open time; passing it as an argument keeps this helper free of a runtime config dependency. -
coerceNullDefault
Falls back to a boxed-primitive zero when a scalar entry has no default value (unusual — schema reader normally captures a POJO field value). Prevents an NPE at binding time. -
parseColor
Parses a"#RRGGBB"(or bare"RRGGBB") hex string into a masked 24-bit RGB int. Returnsfallbackon null / blank / unparseable input. -
formatColor
Formats a 24-bit RGB int as"#RRGGBB"(uppercase, alpha stripped).
-