Skip to content

Custom Sky

Ethan Costa edited this page Dec 14, 2024 · 20 revisions

Custom Planets Sky

Learn how to have a beautiful sky !

This wiki is for the 1.4.0 version of the mod.

Creation of the Resourcepack

First, you'll need to create the base of the resourcepack. The structure of the resourcepack should look like this :

├─ assets
│  └─ [namespace]
│         └─ sky
│            └─ your_sky.json
│
└─ pack.mcmeta

The sky folder This folder will contain all the custom skies for our planets.

{
  "id": "namespace:my_sky",
  "world": "minecraft:overworld",
  "rain": true,
  "sky_type": "END",
  "sunrise_color": [255, 0, 0],
  "sunrise_alpha_modifier": 1,
  "sky_objects": [],
  "custom_vanilla_objects": {
    "sun": true,
    "sun_texture": "textures/environment/sun.png",
    "sun_height": 450,
    "sun_size": 200,
    "moon": true,
    "moon_phase": true,
    "moon_texture": "textures/environment/moon_phases.png",
    "moon_height": 75,
    "moon_size": 75
  },
  "cloud_settings": {
    "cloud": false,
    "cloud_height": 192,
    "cloud_color": {
      "base_color": [255, 0, 0],
      "rain_color": [0, 255, 0],
      "storm_color": [0, 0, 255],
      "always_base_color": false
    }
  },
  "fog_settings": {
    "fog": true,
    "fog_color": [255, 0, 0],
    "fog_density": [10, 11]
  },
  "stars": {
    "vanilla": false,
    "moving_stars": false,
    "count": 100,
    "all_days_visible": false,
    "scale": 0.05,
    "color": [255, 255, 255],
    "shooting_stars": {
      "percentage": 99,
      "random_lifetime": [20, 100],
      "scale": 0.5,
      "speed": 0.4,
      "color": [255, 255, 255]
    }
  },
  "sky_color": {
    "custom_color": false,
    "color": [255, 255, 255, 1]
  },
  "constellations": [
    "sky_aesthetics:big_dipper"
  ],
  "condition": {
    "condition": true,
    "biome": "minecraft:plains"
  },
   "custom_cloud_color": {
     "base_color": [255, 0, 0],
     "rain_color": [0, 255, 0],
     "storm_color": [0, 0, 255],
     "always_base_color": false
   }
}

id: The id of your sky

world: The world/dimension you want your sky to be active

rain: Should the rain/snow is render

sunrise_color: The color of the sunrise (R, G and B values)

sunrise_alpha_modifier: This is a modifier for the alpha value (alpha * sunrise_alpha_modifier)

sky_type: Available type "END", "NONE" and "NORMAL"

sky_objects: A list of Sky Objects

Custom Vanilla Objects

sun: If there is a sun in the dimension

sun_texture: The texture of the sun

sun_height: The height on the sky of the sun

sun_size: The size of the sun

moon: If there is a moon in the dimension

moon_phase: If there are moon phases

moon_texture: The texture of the moon

moon_height: The height of the moon

moon_size: The size of the moon


Stars

vanilla: should the stars need to be vanilla stars (If true, all the other params dont' count)

moving_stars: should the stars move

count: The amount of stars

all_days_visible: If the stars should be rendered even when it's the day

scale: the size of the stars

color: The R, G and B value of the stars color

Shooting Stars

percentage: Every tick, a random number will be gererated (Min 1 and Max 1000) and if the value is equals or bigger than the percentage, a new shooting star will be created

random_lifetime: The minimum and maxium value for the random lifetime of a shooting star

scale: the scale/size of the star

speed: the speed of the star

color: the R, G and B value of the star color


Cloud Settings (Optional)

cloud: If the clouds should be rendered

cloud_height: The height of the clouds

cloud_color: The color of the clouds. This param is a json object with the following params : base_color, rain_color, storm_color who are Vector3f that represent R, G and B value and always_base_color which is a boolean. If this last param is true, the clouds will always be the base_color (Optionnal)


Fog Settings (Optional)

fog: If the fog should be rendered

fog_color: The color of the fog (R, G and B values) (Optional)

fog_density: The minimum and maximum value of the fog density (Optional)


Sky Objects

Sky Objects allows you to add object to the sky.

    {
      "texture": "stellaris:textures/environment/solar_system/earth.png",
      "blend": true,
      "size": 8.0,
      "rotation": [
        60.0,
        0.0,
        5.0
      ],
      "object_rotation": [
        50,
        0.0,
        50
      ],
      "height": 100,
      "rotation_type": "DAY"
    }

texture: The texture of the object

blend: If the object should blend

size: The size of the object

rotation: A Vector3 that is the rotation of the object. It's the position of the objects in the sky

object_rotation: A Vector3 that is the rotation of the object itself

height: The height of the object in the sky

rotation_type: if the object should move with like the sun. Possibilities : DAY, NIGHT and STATIC


Sky Color

custom_color : enable the custom color

color: the R, G, B and alpha value for the sky color


Constellations (Optionnal)

constellations: a custom list of constellation


Show Condition (Optional)

With this, you can configure your custom sky to only render if the player is in a biome(s)

condition : if the condition is active

biome : which biome you want the sky to be active

biomes : a tag biome. You can only choose between biome and biomes

⚠️ : Don't make two skies active in the same biomes !

Examples

You can find exemples in the Github of the Stellaris Project

New Features and breaking changes

This mod is, like I said, still in development so new feature will "normally" be available.

But this mean that the json files can be broken because of that. When doing breaking changes, all theses changes are listed in the changelog and example are showed. The wiki is directly updated with the new changes. For new features, the wiki is also updated with the new features and theses features are set as optional.