Planet.getPhase() finished. When Mercury and Venus are "on top of" the sun, they will either be full or new. When to the left or right, they will be lit and rotated to give the illusion that sunlight is bouncing off them and reaching Earth.
Moon.java was, as far as I can tell, only differentiated from Planet.java by phases. The VanillaMoon extension Luna uses could likely extend Planet instead of Moon, without any issue, and Moon.java would get deprecated or removed outright due to being redundant.
Luna is rotated 90° one way or the other, so that it too gets the illusion that light reflected off of it comes from the sun, instead of some non-existent polar light source.