summaryrefslogtreecommitdiff
path: root/src/SMAPI/Framework/ModHelpers
diff options
context:
space:
mode:
authorJesse Plamondon-Willard <github@jplamondonw.com>2017-12-12 01:33:11 -0500
committerJesse Plamondon-Willard <github@jplamondonw.com>2017-12-12 01:33:11 -0500
commite00424068f3da7c4f91187872e96c90fa61e47db (patch)
tree636aae12d29c6f23936abdc06309867108e7a359 /src/SMAPI/Framework/ModHelpers
parent59a25a12ffdb90c5a9a3db90be933ca4e76eb64f (diff)
downloadSMAPI-e00424068f3da7c4f91187872e96c90fa61e47db.tar.gz
SMAPI-e00424068f3da7c4f91187872e96c90fa61e47db.tar.bz2
SMAPI-e00424068f3da7c4f91187872e96c90fa61e47db.zip
block access to mod-provided APIs until all mods are initialised (#409)
Diffstat (limited to 'src/SMAPI/Framework/ModHelpers')
-rw-r--r--src/SMAPI/Framework/ModHelpers/ModRegistryHelper.cs5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/SMAPI/Framework/ModHelpers/ModRegistryHelper.cs b/src/SMAPI/Framework/ModHelpers/ModRegistryHelper.cs
index d39c885c..9574a632 100644
--- a/src/SMAPI/Framework/ModHelpers/ModRegistryHelper.cs
+++ b/src/SMAPI/Framework/ModHelpers/ModRegistryHelper.cs
@@ -70,6 +70,11 @@ namespace StardewModdingAPI.Framework.ModHelpers
public TInterface GetApi<TInterface>(string uniqueID) where TInterface : class
{
// validate
+ if (!this.Registry.AreAllModsInitialised)
+ {
+ this.Monitor.Log("Tried to access a mod-provided API before all mods were initialised.", LogLevel.Error);
+ return null;
+ }
if (!typeof(TInterface).IsInterface)
{
this.Monitor.Log("Tried to map a mod-provided API to a class; must be a public interface.", LogLevel.Error);