Celestial

Celestial

Mod

A Minecraft mod for Fabric and Forge that allows you to customize the sky.

Client Utility

11.8k downloads
93 followers
Follow Save
90% of ad revenue goes to creators. Go ad-free while supporting creators with Modrinth Plus. Subscribe today!
Filter loader...
Filter versions...

Almost a complete rewrite, lots of new features, and better performance.

Please refer to this page for updating your resource packs to this version of Celestial

Performance

  • Moved to a different expression parsing system, which performs significantly better than the previous one.
  • FPS no longer drops when rendering large quantities of populate objects.
  • Overall improved various parts of Celestial, which should result in better performance.

Triangle Fan Objects

  • Added a new type of celestial object: "triangle_fan". Triangle fans can be used to create circular objects and twilight effects.

Twilight Objects

  • Added a new type of celestial object: "twilight". Twilight objects can be used to create custom twilight effects (ex. custom sunrises/sunsets).
  • As a result, twilight settings in the environment category have been deprecated, and will be removed in an upcoming update.

Sky Objects

  • Changed default base degree rotations for x and z to be 0 degrees.
  • Added "legacy_rotations" boolean to dimensions.json, which the default base degree rotations for x and z back to -90 degrees.
  • Changed default values for unset options to be greater than 0.

Local Variables

  • Variables can now be registered directly in a sky object file, within the "local_variables" json object list.
  • Local variables can only be used in the sky object it was registered in.

Vertex List

  • Added "alpha" and "color" entries to individual vertex points.
  • Slightly improved vertex list rendering performance.

Error Messages

  • Improved error messages to be more easier to read visually, and to be significantly more useful.
  • Error messages will state where they occured, and will be slightly more specific as to what is causing the issue.
  • Error messages will also state if they occured during compilation, or if they occured after.
  • An error message will now occur when a texture path is invalid.

Color Entries

  • Added global color entries, located in "celestial/sky/color_entries.json". Global color entries are color entries that can be registered and used in place of HEX color values.
  • Removed "inherit" option from color entries, as "#skyColor" and "#fogColor" can be used instead. Color Entry Overrides
  • Renamed "alpha" entry to "ratio".
  • Added "red_ratio", "gren_ratio", "blue_ratio" entries, which control the ratio of each color.
  • Added "red", "green", and "blue" entries.
  • Added three new variables for color entry overrides: "red", "green", and "blue" (Returns the RGB values before the color override is applied). Color Entry Blend Types
  • Added "blend_type" entry, which determines the method for blending the color override with the base color.
  • Added "linear_interpolation" blend type, which is the default blend type.
  • Added "override" blend type, which completely overrides the original color. Useful when using the "red", "green", and "blue" variables. Ratios are ignored for this blend type.
  • Added "lab" blend type, which uses LAB colors instead of RGB colors when blending. Results in much nicer color blend gradients when used.
  • Added "apply_fog_additions" blend type, which applies additional fog effects from twilight objects.

Sky Boxes

  • Sky boxes can now be rotated using base degree rotation values.
  • Removed unnecessary "texture" entry in skybox properties

Variables and Functions

  • Removed requirement for variable calls to start with a hashtag. Hashtags will however still be accepted in equations, and will simply be ignored.

  • Renamed "rainLevel" to "rainAlpha", and changed it to no longer return "1 - (Rain level)".

  • Renamed "thunderGradient" to "thunderAlpha"

  • Renamed function "isInBiome" to "inBiome".

  • Renamed function "isUsing" to "rightClickingWith".

  • Renamed function "isMiningWith" to "leftClickingWith".

  • Renamed function "isHolding" to "holding".

  • Renamed function "isInArea" to "inArea".

  • Renamed function "distanceToBiomeIgnoreY" to "distanceToBiomeFlat".

  • Changed function "distanceToBiome" arguments to "distanceToBiome([Distance], [Biome Name]...)".

  • Changed function "distanceToBiomeFlat" arguments to "distanceToBiomeFlat([Distance], [Y Position], [Biome Name]...)".

  • Changed function "inBiome" arguments to "inBiome([Biome Name]...)".

  • Changed function "holding" arguments to "holding([Item ID]...)".

  • Changed function "leftClickingWith" arguments to "leftClickingWith([Item ID]...)".

  • Changed function "rightClickingWith" arguments to "rightClickingWith([Item ID]...)".

  • Renamed variable "isRightClicking" to "rightClicking".

  • Renamed variable "isLeftClicking" to "leftClicking".

  • Renamed variable "isSubmerged" to "submerged".

  • Renamed variable "getGameTime" to "gameTime".

  • Renamed variable "getWorldTime" to "worldTime".

  • Renamed variable "getDayTime" to "dayTime".

  • Renamed variable "xPos" to "posX".

  • Renamed variable "yPos" to "posY".

  • Renamed variable "zPos" to "posZ".

  • Replaced "[Number]m[Min]" format with function "min([Number], [Min]...)".

  • Replaced "[Number]M[Max]" format with function "max([Number], [Max]...)".

  • Added variable "bossSkyDarken", which returns the percent of the fog darken effect created by withers/ender dragons.

  • Added function "colorEntryRed([Color Entry Name])", which returns the red value of a color entry.

  • Added function "colorEntryGreen([Color Entry Name])", which returns the green value of a color entry.

  • Added function "colorEntryBlue([Color Entry Name])", which returns the blue value of a color entry.

  • Added function "modulo([Number], [Divisor])", which returns the modulo of a number.

  • Added function "repeat([Number], [Lower Bounds], [Upper Bounds])", which clamps a number between two bounds but returns repeating values when going beyond the bounds.

  • Added function "clamp([Number], [Lower Bounds], [Upper Bounds])", which clamps a number between two bounds.

  • Added function "lerp([Number 1], [Number 2], [0-1 Ratio])", which returns the linear interpolation between two numbers.

  • Added function variant of "starAlpha", "starAlpha([Sky Angle])", which allows for a custom sky angle as an argument.

  • Added function variant of "dayLight", "dayLight([Sky Angle])", which allows for a custom sky angle as an argument.

Twilight Functions

  • Added various functions to help with the creation of custom twilight effects.
  • Added function "twilightAlpha([Sky Angle])", which returns the alpha of the twilight effect for a specific sky angle.
  • Added function "twilightProgress([Sky Angle])", which returns how far the twilight has progressed for a specific sky angle.
  • Added function "twilightFogEffect([Sky Angle])", which returns the alpha of the twilight fog effect for a specific sky angle.

Sky Object Properties

  • Added "blend" option, which determines if the object should have transparency blending.
  • Removed "red", "green", and "blue" entries, as the "color" entry can be used instead.
  • Removed "ignore_fog", since it didn't really do anything.

Does not support 1.19.3+

An update that I should've released earlier

Changelog:

  • Fixed fog settings overriding various things

  • Fixed color entries displaying incorrect colors

An update that I should've released earlier

Changelog:

  • Fixed fog settings overriding various things

  • Fixed color entries displaying incorrect colors

Does not support 1.19.3+

Just a hotfix

Changelog:

  • Fixed variables not working correctly.

  • Slightly improved performance for color entries.

Just a hotfix

Changelog:

  • Fixed variables not working correctly.

  • Slightly improved performance for color entries.

Does not support 1.19.3+

Fixes and changes a few things. Will probably be the last update before the new equation parsing system is implemented.

Changelog:

  • Fixed fog not working correctly in certain scenarios

  • Renamed #getTotalTime to #getGameTime

  • Renamed #yaw to #headYaw

  • Renamed #pitch to #headPitch

  • Added #getWorldTime, which returns the total time a world has been active for

  • Added #biomeTemperature, which returns the current biome's temperature

  • Added #biomeDownfall, which returns the biome's humidity

  • Added #biomeHasSnow, which returns if the biome has snow


Project members

fishcute

Owner

Details

Licensed MIT
Published 2 years ago
Updated a month ago