Class ScreenProviders

java.lang.Object
com.oliveryasuna.mc.rubric.neoforge.gui.ScreenProviders

public final class ScreenProviders extends Object
Shared helpers used by frontend ScreenProvider implementations (YaclScreenProvider, ClothScreenProvider). Pure utilities: no framework binding, no state.
  • Method Summary

    Modifier and Type
    Method
    Description
    static Object
    coerceNullDefault(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.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.
    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 String
    formatColor(int rgb)
    Formats a 24-bit RGB int as "#RRGGBB" (uppercase, alpha stripped).
    static int
    parseColor(String hex, int fallback)
    Parses a "#RRGGBB" (or bare "RRGGBB") hex string into a masked 24-bit RGB int.
    static double
    sliderStep(double min, double max, int ticks)
    Uniform slider step: ticks discrete stops across the range.
    static boolean
    useSlider(com.oliveryasuna.mc.rubric.schema.EntryMetadata meta, Optional<com.oliveryasuna.mc.rubric.validation.validator.RangeValidator> range)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • 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 the gui.showMetadataSuffixes config 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 RangeValidator attached to meta, 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 OneOfValidator attached to meta, 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:
      true when a slider widget is appropriate for a numeric entry: a bounded finite range is present, and the entry's @Widget kind is AUTO or SLIDER.
    • sliderStep

      public static double sliderStep(double min, double max, int ticks)
      Uniform slider step: ticks discrete stops across the range. Callers coerce to the widget's numeric type. ticks is read from gui.defaultSliderTicks at screen-open time; passing it as an argument keeps this helper free of a runtime config dependency.
    • coerceNullDefault

      public static Object coerceNullDefault(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). Prevents an NPE at binding time.
    • parseColor

      public static int parseColor(String hex, int fallback)
      Parses a "#RRGGBB" (or bare "RRGGBB") hex string into a masked 24-bit RGB int. Returns fallback on null / blank / unparseable input.
    • formatColor

      public static String formatColor(int rgb)
      Formats a 24-bit RGB int as "#RRGGBB" (uppercase, alpha stripped).