@Contract(pure = true)
  static @NotNull ShadowColor shadowColor(
    final @Range(from = 0x0, to = 0xff) int red,
    final @Range(from = 0x0, to = 0xff) int green,
    final @Range(from = 0x0, to = 0xff) int blue,
    final @Range(from = 0x0, to = 0xff) int alpha
  ) {
    final int value =
      (alpha & 0xff) << 24
        | (red & 0xff) << 16
        | (green & 0xff) << 8
        | (blue & 0xff);

    if (value == ShadowColorImpl.NONE_VALUE) return none();
    return new ShadowColorImpl(value);
  }
Create a new shadow color from individual red, green, blue, and alpha values.

@param red the red value
@param green the green value
@param blue the blue value
@param alpha the alpha
@return a shadow colour
@since 4.18.0
api/src/main/java/net/kyori/adventure/text/format/ShadowColor.java