Solar Systems

Solar system files are stored under the cosmic namespace, in the cosmic_data folder.

  • data
    • SubFile 1
    • SubFile 2
    • SubFile 3

data

your_namespace

etc

cosmos

cosmic_data

solar_system_1.json

solar_system_2.json

etc

Attributes

"planet_data": JSON object, see the page on planet data

"attached_dimention_id": string, must be a namespace:name linking to a valid dimension

"skybox_data": JSON object, see the page on skybox data

“dimensional_data": JSON object, see the page on dimensional data

"gui_data": JSON object, see below

Gui data

Gui data

"category_": JSON object, Creates a new GUI tab for this category in this system. Commonly used for multi-star systems. Must contain the following:

Category objects

"travel_dimension": string, the dimension players are teleported to when using this GUI. Should usually be the same as "attached_dimention_id"

"origin_x": int, the x coordinate players will be teleported to when entering this dimension

"origin_y": int, same as above but y coordinate

"origin_z": int, same as above but z coordinate

"unlocking_dimension": string, a dimension id that will unlock this dimension for travelling

"background": string, name of a texture in …/assets/cosmic/textures (file extension not needed)

"title": string, the title to be displayed for this category

"order": int, the position of this category in the GUI tabs section. From least to most. (This position is global between all systems and datapacks)

"object_data": JSON object, contains unlimited GUI “planet” objects specified with string names

e.g.

"object_data": {
  "planet1_": {guiplanet},
  "planet2_": {guiplanet}
}

Gui planet objects

Each guiplanet object must contain the following:

"texture_id": string, name of a texture in …/assets/cosmic/textures (file extension not needed)

"scale": int, size of mini planet in list of planets (Usually about 15)

"ponder_scale": int, size of planets when viewing its stats (usually about 60)

"yaw": int, yaw of mini planet

"pitch": int, pitch of mini planet

"roll": int, roll of mini planet

"yaw_speed": int, speed at which the mini planet rotates on yaw. Usually between 0 and 1

"pitch_speed": int, same as above but pitch

"roll_speed": int, same as above but roll

"travel_x": int, x coordinates in space dimension player is taken to when fast travelling to this planet. Ideally should not be inside the planet and should take the player simply close by

"travel_y": int, same as above but y coordinates

"travel_z": int, same as above but z coordinates

"unlocking_dimension": string, the dimension id at which fast travel to this planet is unlocked. Should usually be the dimension of this planet

"atmosphere": JSON object, see the page on fancy JSON text

"name": JSON object, see the page on fancy JSON text

"type": JSON object, see the page on fancy JSON text

"conditions": JSON object, see the page on fancy JSON text

"size": JSON object, see the page on fancy JSON text

"category": JSON object, see the page on fancy JSON text

“life”: float, percent of life being on this planet betweeen 0 and 1 (purely GUI, will not affect spawn rates)

"ringed": boolean, whether the mini-planet has rings

Ring data

If ringed is true, the following is required:

"ring_data": JSON object, contains unlimited ring objects specified with string names

e.g.

"ring_data": {
  "ring1_": {guiringdata},
  "ring2_": {guiringdata}
}

A gui ring data object must have the following:

"texture_id": string, the name of a texture file located in ../assets/cosmos/textures/ (file extension is not needed)

"scale_radius": integer, radius from planet the center of the ring is

Example
"ring_data": {
  "B1400_sys": {
      "object_data": {
          "planet1": {
            "texture_id": "p1tex",
            "scale": 0.3,
            "ponder_scale": 1.42,
            "yaw": 24,
            "pitch": -165,
            "roll": 10,
            "yaw_speed": 0.03,
            "pitch_speed": 0,
            "roll_speed": 0,
            "travel_x": -152000,
            "travel_y": 2080,
            "travel_z": 300,
            "unlocking_dimension": "cosmos:planet_1_dim",
            "atmosphere": {
                "text": "None",
                "color": "light_gray"
            },
            "name": {
                "text": "Planet 1",
                "color": "orange"
            },
            "type": {
                "text": "Gas",
                "color": "pink"
            },
            "conditions": {
                "text": "Harsh",
                "color": "purple"
            },
            "size": {
                "text": "Ginormous",
                "color": "red"
            },
            "category": {
                "text": "Gas Giant",
                "color": "orange"
            },
            "life": 0,
            "ringed": true,
            "ring_data": {
                "ring1": {
                  "texture_id": "jb1",
                  "scale_radius": 0.675
                },
                "ring2": {
                  "texture_id": "jb2",
                  "scale_radius": 1.5
                }
            }
          },
          "planet2": {
            "texture_id": "p2tex",
            "scale": 14.5,
            "ponder_scale": 58,
            "yaw": 17,
            "pitch": -195,
            "roll": -4,
            "yaw_speed": 0.55,
            "pitch_speed": 0,
            "roll_speed": 0,
            "travel_x": -145200,
            "travel_y": 600,
            "travel_z": 32730,
            "unlocking_dimension": "cosmos:planet_2_dim",
            "atmosphere": {
                "text": "None",
                "color": "light_gray"
            },
            "name": {
                "text": "Planet 2",
                "color": "green"
            },
            "type": {
                "text": "Rocky",
                "color": "brown"
            },
            "conditions": {
                "text": "Windy",
                "color": "magenta"
            },
            "size": {
                "text": "Dwarf",
                "color": "lime"
            },
            "category": {
                "text": "Satellite",
                "color": "light_gray"
            },
            "life": 0,
            "ringed": false
        }
      },
      "travel_dimension": "cosmos:b_1400_dim",
      "origin_x": -40000,
      "origin_y": 420,
      "origin_z": 0,
      "unlocking_dimension": "cosmos:solar_sys_d",
      "background": "gui_bg",
      "title": "B1400 System",
      "order": -2
  }
}