Moons
Latest OXZ - Version 1.1.1
Updated 09 February 2019
There are 19 natural satellites in our Solar System massive enough to have achieved hydrostatic equilibrium (having shape of globe, not irregular shape like potato). One large moon of Earth, four Galilean moons of Jupiter, seven moons of Saturn, five moons of Uranus, one moon of Neptune and Pluto.
How many moons we have in generic Ooniverse system?
Exactly zero.
Well, obsolete
System Redux pseudo-randomly generates maximum two moons of main planet in static configuration.
Additional Planets SR pseudo-randomly generates maximum three moons of additional planets in static configuration too.
Having pseudo-dynamic solar system in
Planetary Systems, simulation of pseudo-dynamic moons is logical next step.
Two moon sets implemented in
Moons OXP: 2 main planet moons (Terran moons) and 2 moons of gas giant (Jovian moons). Positions of Terran moons are calculated to simulate circular orbits (the Third Kepler's law used, but constant of gravity is not matched exactly with real value to simplify code). Positions of Jovian moons are vectors with pseudo-random magnitudes and random orientations (Oolite is not planetarium software and I have no ambitions to simulate orbital mechanics in details!).
Why only two moons of Jupiter analog, not all four?
Lazy coding

You always has centers of three objects (planet and two moons) in one plane.
There is some trick in seeding of Jovian moons.
Planetary Systems needs some time to place planets on calculated orbits, so to place Jovian moons correctly you need some time lag. But if you are using
Planetary Compass OXP (author Thargoid), too long time offset will prevent generated moons to be displayed on ASC. Seems
Planetary Compass completes system scan and generation of navigation database before seeding of Jovian moons, so these moons remains unvisible to ASC. This issue was fixed by reducing time lag from initial 1 s to 0.2 s.
Conflicts and dependencies
Due to large moons you need
Planetary Systems OXP to use
Moons.
Distance between main planet and large moon is in range 16...24 main planet radii, comparable with distance to sun in vanilla Ooniverse. So
Sun Gear OXP is obligatory too. In any case you need
Sun Gear for correct functionality of
Planetary Systems.
Planetary Systems also provides additional option - displays Moon Data Sheet if you are docked with moon surface port. See
Planetary Systems readme file for more details.
Using
Moons with
Additional Planets SR can generate logical collision as a result of conflicting mechanisms of moon seeding.
Moons OXP structure
To provide easy updates all moon textures repacked as separate texture pack.
Moons.oxp - core package.
Moons Texture Pack.oxp - Textures.
Credits
A piece of code from
Additional Planets SR base 0.6 (authors: spara, Redspear, phkb) and
Orbits (authors: Ebi, Kaks) is used to calculate orbits of main planet moons.
See more detailed moon texture credits in Texture Pack Readme document.