diff options
Diffstat (limited to 'src/SMAPI/IModRegistry.cs')
-rw-r--r-- | src/SMAPI/IModRegistry.cs | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/SMAPI/IModRegistry.cs b/src/SMAPI/IModRegistry.cs index 5ef3fd65..a06e099e 100644 --- a/src/SMAPI/IModRegistry.cs +++ b/src/SMAPI/IModRegistry.cs @@ -1,4 +1,4 @@ -using System.Collections.Generic; +using System.Collections.Generic; namespace StardewModdingAPI { @@ -16,5 +16,14 @@ namespace StardewModdingAPI /// <summary>Get whether a mod has been loaded.</summary> /// <param name="uniqueID">The mod's unique ID.</param> bool IsLoaded(string uniqueID); + + /// <summary>Get the API provided by a mod, or <c>null</c> if it has none. This signature requires using the <see cref="IModHelper.Reflection"/> API to access the API's properties and methods.</summary> + /// <param name="uniqueID">The mod's unique ID.</param> + object GetApi(string uniqueID); + + /// <summary>Get the API provided by a mod, mapped to a given interface which specifies the expected properties and methods. If the mod has no API or it's not compatible with the given interface, get <c>null</c>.</summary> + /// <typeparam name="TInterface">The interface which matches the properties and methods you intend to access.</typeparam> + /// <param name="uniqueID">The mod's unique ID.</param> + TInterface GetApi<TInterface>(string uniqueID) where TInterface : class; } -}
\ No newline at end of file +} |