## New
* **Rifts** (`/customskyboxes set rift`): tear the sky open, with a glowing, crackling edge and another sky showing through (`background=`).
* 25 shapes: `crack` `slash` `tear` `eye` `gate` `circle` `oval` `square` `diamond` `triangle` `pentagon` `hexagon` `octagon` `star` `star6` `star8` `sparkle` `sun` `flower` `heart` `cross` `gear` `drop` `blob` `shatter`
* 14 entrance animations (`rift_open` `rift_unzip` `rift_burst` `rift_slash` `rift_flicker` `rift_shatter` `rift_vortex` `rift_lightning` `rift_awaken` `rift_bloom` `rift_supernova` `rift_glitch` `rift_ignite` `rift_portal`) and 14 exits (`rift_close` `rift_zip` `rift_collapse` `rift_seal` `rift_snuff` `rift_unshatter` `rift_implode` `rift_strike` `rift_slumber` `rift_wither` `rift_blackhole` `rift_glitch_out` `rift_burnout` `rift_portal_close`)
* Up to 8 at once with `layer=`, placed with `posX` / `posY` (straight up by default), `radius` up to 100, 26 named colours or `#rrggbb`
* Live effects on an open rift with `animate rift`: `explosion` `shatter` `shockwave` `lightning` `pulse` `vortex` `tremor` `flare`, taking `color` `size` `strength` `loop` `layer` `delay` `spin` `shake` `glow` `flash`
* **GeckoLib models** for the sun, the moon, `custom` layers and rifts: `/customskyboxes model set` and `/customskyboxes model animate`. Reads `.geo.json` and `.animation.json` itself, so GeckoLib is not needed. Keyframes, catmullrom, easings and Molang are supported; `idle` plays on its own and play-once animations return to it. Inside a rift the model sits between the background and the edge and is cut to the shape of the hole.
* **`custom`**: a sun-like layer (texture or model) that stays at its `posX` / `posY` instead of crossing the sky, up to 8 layers.
* **Server control with the same command**: with the mod on the server, `/customskyboxes <set|clear|animate|model|biome|reload> <@a|player> ...` sends the command to those players, with full tab completion. What is set is saved and sent again to players who join later or come back. Without the mod on the server nothing changes: it stays a client command.
* `model_texture=` picks a model's texture by hand; otherwise it is found by name (a file that starts like the model's name counts too).
* Developer API: `setRift`, `animateRift`, `setModel`, `playModelAnimation`, `riftEffects`, `riftShapes`, `riftAnimations`, `models`, `modelAnimations`; `SkyboxType.CUSTOM` works everywhere the sun and moon do.
## Changed
* `speed` is now `gif_speed` on textures; `speed` stays for rain, snow and clouds. Saved skies using the old name are converted.
* `animate`: the time is optional (`animate sky pulse color=RED`), and the arguments are offered right after the preset. All 26 colour names work.
* `top_merge` / `bottom_merge` use larger, softer noise.
* Mixins use WrapOperation instead of Redirect, so other rendering mods can hook the same places.
## Fixed
* Sun and moon textures were drawn turned upside down when placed with `posX` / `posY`.
* The black square around the vanilla moon with some renderers and shader packs.
## Improved
* Much lighter sky dome: a still dome costs about a quarter of what it did, and with an effect playing (`vortex`, `rotation`, `pulse`…) about a third, so they no longer drop the FPS.
* Entrance and exit animations of the dome are several times cheaper.
* Rift animations move every frame, so they are smooth at any FPS, and rifts are cheaper to draw.
Developer information
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle.
maven { name = "Modrinth"; url = "https://api.modrinth.com/maven" }