User:User-12316399/Data-driven dimension effects

Proposed usage
Dimension effects would be stored as JSON files within a data pack, at the path.

Dimension effect syntax

 * The root
 * : The resource location used for the dimension effect. Required only when importing world settings.
 * : Whether the dimension uses a textured skybox (as The End does).
 * : A resource location which points to the texture file used for the skybox.
 * : Whether the dimension has a permanent fog effect (as The Nether does).
 * : The distance (in chunks, much like render distance) at which the fog starts.
 * : A list of cloud layers which will be present in the dimension.
 * : Where the center of this cloud layer is on the Y-axis. Fast clouds will render at this height only.
 * : The distance which this cloud layer extends from its center on the Y-axis in both directions on the Fancy and Fabulous! graphics settings.
 * : A value from 0 to 16,777,215 (hex 0 to ffffff) indicating the color the cloud is tinted with (similar to the world setting from Indev).
 * : The opacity of this cloud layer.
 * : A resource location which points to the texture file used for the fundamental shape of this cloud layer.
 * : A resource location which points to an additional texture overlayed on the clouds (similar to the fluff.png texture from Infdev). Optional; if not specified, a plain color will be used instead.
 * : Two doubles which determine the clouds' movement:
 * : The cloud layer's movement speed on the X-axis.
 * : The cloud layer's movement speed on the Z-axis.
 * : A list of celestial bodies which will be present in the dimension. Specifications upcoming.