Record Class LightingCapabilities

java.lang.Object
java.lang.Record
ke.ric.renderer.api.LightingCapabilities
Record Components:
supported - whether creative lighting and primary visibility controls are supported
maxLights - maximum virtual lights per pass
maxShadowLights - maximum shadow-casting virtual lights per pass
maxRange - maximum light range in blocks
maxIntensity - maximum artistic light intensity

public record LightingCapabilities(boolean supported, int maxLights, int maxShadowLights, double maxRange, double maxIntensity) extends Record
Immutable provider limits for explicit lighting and primary-camera visibility controls. These are capability limits, not a claim about frame rate. A request must fit every advertised limit; unsupported providers reject controls rather than ignoring them.
  • Constructor Details

    • LightingCapabilities

      public LightingCapabilities(boolean supported, int maxLights, int maxShadowLights, double maxRange, double maxIntensity)
      Constructs a validated immutable value.
      Throws:
      IllegalArgumentException - if a limit is negative or nonfinite, or shadow count exceeds light count
  • Method Details

    • unsupported

      public static LightingCapabilities unsupported()
      Returns the safe default for providers that predate creative lighting.
      Returns:
      unsupported capabilities with all limits zero
    • standard

      public static LightingCapabilities standard()
      Returns the standard creative-light limits: 16 lights, eight shadow lights, range 64 and intensity 64.
      Returns:
      the standard supported capability value
    • toString

      public final String toString()
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      Specified by:
      toString in class Record
      Returns:
      a string representation of this object
    • hashCode

      public final int hashCode()
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • equals

      public final boolean equals(Object o)
      Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared with '=='.
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.
    • supported

      public boolean supported()
      Returns the value of the supported record component.
      Returns:
      the value of the supported record component
    • maxLights

      public int maxLights()
      Returns the value of the maxLights record component.
      Returns:
      the value of the maxLights record component
    • maxShadowLights

      public int maxShadowLights()
      Returns the value of the maxShadowLights record component.
      Returns:
      the value of the maxShadowLights record component
    • maxRange

      public double maxRange()
      Returns the value of the maxRange record component.
      Returns:
      the value of the maxRange record component
    • maxIntensity

      public double maxIntensity()
      Returns the value of the maxIntensity record component.
      Returns:
      the value of the maxIntensity record component