Skip to content

Lunar Disturbances API

Sakorona edited this page Aug 9, 2020 · 7 revisions

API Documentation

This is the API signature for Lunar Disturbances

    public interface ILunarDisturbancesAPI
    {
        string GetCurrentMoonPhase();
        string GetPlainCurrMoonPhase();
        bool IsSolarEclipse();
        int GetMoonRise();
        int GetMoonSet();
        bool IsMoonUp(int time);
        int GetCycleLength();
        float GetBrightnessQuotient();
        int GetMoonZenith();
        float GetTrackPosition();
        float AlterEclipseOdds();
        void ForceEclipse();
        void ForceEclipseTomorrow();
        bool IsEclipseTomorrow();
    }

Functions

GetCurrentMoonPhase

No Parameters

Returns a string of the current phase. This is the description (so localization friendly) one.

GetPlainCurrMoonPhase

No Parameters (added 1.1.2)

Returns a string of the current phase. This returns phases dependent on the phase: Valid Returns: "NewMoon","FullMoon","FirstQuarter","ThirdQuarter","WaningCrescent","WaningGibbous","WaxingGibbous","WaxingCrescent","ErrorMoon" and "ErrorPhase"

(From 1.2.2+) "BlueMoon","HarvestMoon","SpiritsMoon","BloodMoon"

IsSolarEclipse

No Parameters

Returns a bool describing the solar eclipse status (So if you need to do compatiblity or want to run other events, etc.)

GetMoonRise

No Parameters

Will return the time the moon rises for the current in-game day.

GetMoonSet

No Parameters

Will return the time the moon sets for the current in-game day.

IsMoonUp

int time - This should be the same format as the game uses internally (e.g 930, 1610 or 2620)

This will determine if the moon is up in the time zone

GetCycleLength

Added 1.3

This returns the length of the current cycle.

GetBrightnessQuotient

This returns a brightness amount relative to a full moon.

  • Blood Moon, Blue Moon: 200%
  • Harvest Moon: 155%
  • Spirit's Moon: 115%
  • Full Moon: 100%
  • Waning/Waxing Gibbous: 65%
  • Third Quarter, First Quarter: 50%
  • Waning/Waxing Gibbous: 15%
  • New Moon: 2%

GetMoonZenith

This returns the time the moon is at it's zenith

GetTrackPosition

This gets the position on the moon track per the day

AlterEclipseOdds

This alters the eclipse odds. Note: this is not reset while the mod is running.

ForceEclipse

This forces the eclipse on the current day

ForceEclipseTomorrow

This forces the eclipse on the next day

IsEclipseTomorrow

This will return true if there is an eclipse tomorrow.