Do I need OptiFine for a custom sky on Java?
Not on 1.21 or newer. Java has no sky texture of its own, so the pack carries your sky inside the sun's texture and its core shaders draw it across the whole sky — that works in normal Minecraft 1.21 to 26.x with no mods, with OpenGL or 26.2's Vulkan. The same pack also has OptiFine's sky files (optifine/sky/world0), so OptiFine with Custom Sky on, Lunar and Badlion's Custom Sky, Skyboxify and Nuit show it too. 1.8.9 has no core shaders: there you need OptiFine or Lunar/Badlion. Shader packs (OptiFine or Iris shaders) draw their own sky instead.
Does it work on Bedrock?
Yes, without any add-ons. Bedrock reads a sky from six pictures, cubemap_0 to cubemap_5 in textures/environment/overworld_cubemap, and draws them over its own sky in the Overworld. Bedrock shows that one sky all day and night — it can't switch to a night sky — so a Bedrock pack uses your day sky.
Can I use my own picture?
Yes. A 360° panorama (a picture twice as wide as it is tall, from a 360 camera or a sky site) is used exactly as it is. Any other photo is wrapped round the horizon at its own shape — repeated and mirrored so the joins match — and the sky above and the ground below are filled with its own colours. Nothing is uploaded: your picture never leaves your device.
Can I make a moving sky from a GIF?
Yes — choose a GIF as Your picture and the view plays it. On Java 1.21 to 26.x the pack plays it in normal Minecraft with no mods, at the GIF's own speed. On 1.21.1–1.21.4, 26.2 and 26.3 it keeps time with the game, so it moves even with the daylight cycle off; on 1.21.5 to 26.1 it plays as the day goes by and holds still if the daylight cycle is off. A long GIF is thinned out evenly to 32 frames, and each frame is smaller than a still sky's so they all fit. OptiFine, 1.8.9 and Bedrock show the GIF's first frame as a still sky.
How does the night sky work?
On Java the day picture cross-fades into the night picture as the sun goes down and back as it comes up — in normal Minecraft on the same curve the game darkens its own sky with, fully night once the sun is about 15 degrees below the horizon; with OptiFine the night fades in from 17:30 to 19:00 and out from 04:30 to 06:00. You can also keep one sky day and night, or let Minecraft's own night (with its stars and moon) take over after sunset.
Why is my sky turned the other way round in game?
On Java the middle of your picture faces west, where Minecraft's sun sets, and the preview matches the game exactly. On Bedrock the order of the six faces is known but which compass direction the first one faces isn't documented, so a Bedrock sky may be turned by a quarter or half turn compared with the preview.
Which Minecraft versions does it work with?
Java 1.21 to 26.x in normal Minecraft (checked in the real game on every one of those versions the maker offers), Java 1.8.9 with OptiFine, Lunar or Badlion (the files go in the older mcpatcher/sky folder they read), and every current Bedrock version.
Can I hide the sun and moon?
Yes — untick Keep the sun and moon. In normal Minecraft the pack's shader leaves the sun out and the moon is replaced by see-through pictures, in the right place for your version (26.x and 1.21.11+ keep them in environment/celestial, older versions in environment/sun.png and moon_phases.png); OptiFine gets a see-through sun too.