diff --git a/ExampleMods/ExampleMods.csproj b/ExampleMods/ExampleMods.csproj
deleted file mode 100644
index 4bee12a5..00000000
--- a/ExampleMods/ExampleMods.csproj
+++ /dev/null
@@ -1,33 +0,0 @@
-
-
-
- Exe
- net9.0
- enable
- enable
- Library
-
-
-
-
- false
- false
- false
-
-
- false
- false
- false
-
-
- false
- false
- false
-
-
-
-
-
-
-
-
diff --git a/ExampleMods/Mods/WatermarkOverride.cs b/ExampleMods/Mods/WatermarkOverride.cs
deleted file mode 100644
index 2f45b40d..00000000
--- a/ExampleMods/Mods/WatermarkOverride.cs
+++ /dev/null
@@ -1,34 +0,0 @@
-using Core.Models.Utils;
-using Core.Servers;
-using Core.Services;
-using Core.Utils;
-using SptCommon.Annotations;
-
-namespace ExampleMods.Mods;
-
-[Injectable(InjectableTypeOverride = typeof(Watermark))]
-public class WatermarkOverride : Watermark // was testing overriding with primary constructors, works fine from what i can see
-{
- public WatermarkOverride(ISptLogger logger,
- ConfigServer configServer,
- LocalisationService localisationService,
- WatermarkLocale watermarkLocale)
- : base(logger,
- configServer,
- localisationService,
- watermarkLocale)
- {
- }
-
- public override void Initialize()
- {
- _logger.Success("This is a watermark mod override!");
- base.Initialize();
- }
-
- // public override string GetVersionTag(bool withEftVersion = false)
- // {
- // // _logger.Success("asdasdasda");
- // return base.GetVersionTag(withEftVersion);
- // }
-}
diff --git a/ExampleMods/Package.json b/ExampleMods/Package.json
deleted file mode 100644
index 95474cad..00000000
--- a/ExampleMods/Package.json
+++ /dev/null
@@ -1,34 +0,0 @@
-{
- "Name": "ChangeMe",
- "Author": "ChangeMe",
- "Version": "ChangeMe",
- "SptVersion": "ChangeMe",
- "Licence": "ChangeMe",
- "IsBundleMod": false,
- "Url": "ChangeMe",
- "Contributors": [
- "ChamgeMe"
- ],
- "Main": "ChangeMe",
- "DevDependencies": {
- "ChangeMe": "ChangeMe"
- },
- "Scripts": {
- "ChangeMe": "ChangeMe"
- },
- "Dependencies": {
- "ChangeMe": "ChangeMe"
- },
- "ModDependencies": {
- "ChangeMe": "ChangeMe"
- },
- "LoadAfter": [
- "ChangeMe"
- ],
- "LoadBefore": [
- "ChangeMe"
- ],
- "Incompatibilities": [
- "ChangeMe"
- ]
-}
diff --git a/ModExamples/10CustomRoute/10CustomRoute.csproj b/ModExamples/10CustomRoute/10CustomRoute.csproj
new file mode 100644
index 00000000..a3adb4ca
--- /dev/null
+++ b/ModExamples/10CustomRoute/10CustomRoute.csproj
@@ -0,0 +1,22 @@
+
+
+
+ net9.0
+ _10CustomRoute
+ enable
+ enable
+
+
+
+
+
+ ..\TempReferences\Core.dll
+
+
+ ..\TempReferences\SptCommon.dll
+
+
+ ..\TempReferences\SptDependencyInjection.dll
+
+
+
diff --git a/ExampleMods/Mods/10CustomRoute/CustomStaticRouter.cs b/ModExamples/10CustomRoute/CustomStaticRouter.cs
similarity index 96%
rename from ExampleMods/Mods/10CustomRoute/CustomStaticRouter.cs
rename to ModExamples/10CustomRoute/CustomStaticRouter.cs
index f0fdafb7..dd7a4999 100644
--- a/ExampleMods/Mods/10CustomRoute/CustomStaticRouter.cs
+++ b/ModExamples/10CustomRoute/CustomStaticRouter.cs
@@ -3,7 +3,7 @@ using Core.Models.Utils;
using Core.Utils;
using SptCommon.Annotations;
-namespace ExampleMods.Mods._10CustomRoute;
+namespace _10CustomRoute;
// Flag our mod as a type of static router
[Injectable(InjectableTypeOverride = typeof(StaticRouter))]
diff --git a/ExampleMods/Mods/10CustomRoute/package.json b/ModExamples/10CustomRoute/package.json
similarity index 100%
rename from ExampleMods/Mods/10CustomRoute/package.json
rename to ModExamples/10CustomRoute/package.json
diff --git a/ModExamples/11RegisterClassesInDI/11RegisterClassesInDI.csproj b/ModExamples/11RegisterClassesInDI/11RegisterClassesInDI.csproj
new file mode 100644
index 00000000..80b593ef
--- /dev/null
+++ b/ModExamples/11RegisterClassesInDI/11RegisterClassesInDI.csproj
@@ -0,0 +1,22 @@
+
+
+
+ net9.0
+ _11RegisterClassesInDI
+ enable
+ enable
+
+
+
+
+
+ ..\TempReferences\Core.dll
+
+
+ ..\TempReferences\SptCommon.dll
+
+
+ ..\TempReferences\SptDependencyInjection.dll
+
+
+
diff --git a/ExampleMods/Mods/11RegisterClassesInDI/RegisterClassesInDI.cs b/ModExamples/11RegisterClassesInDI/RegisterClassesInDI.cs
similarity index 97%
rename from ExampleMods/Mods/11RegisterClassesInDI/RegisterClassesInDI.cs
rename to ModExamples/11RegisterClassesInDI/RegisterClassesInDI.cs
index 029d87d7..836a90b8 100644
--- a/ExampleMods/Mods/11RegisterClassesInDI/RegisterClassesInDI.cs
+++ b/ModExamples/11RegisterClassesInDI/RegisterClassesInDI.cs
@@ -2,7 +2,7 @@
using Core.Models.Utils;
using SptCommon.Annotations;
-namespace ExampleMods.Mods._11RegisterClassesInDI;
+namespace _11RegisterClassesInDI;
[Injectable]
public class Bundle : IPostDBLoadMod // Run after db has loaded
diff --git a/ExampleMods/Mods/11RegisterClassesInDI/package.json b/ModExamples/11RegisterClassesInDI/package.json
similarity index 100%
rename from ExampleMods/Mods/11RegisterClassesInDI/package.json
rename to ModExamples/11RegisterClassesInDI/package.json
diff --git a/ModExamples/12Bundle/12Bundle.csproj b/ModExamples/12Bundle/12Bundle.csproj
new file mode 100644
index 00000000..c919d80a
--- /dev/null
+++ b/ModExamples/12Bundle/12Bundle.csproj
@@ -0,0 +1,22 @@
+
+
+
+ net9.0
+ _12Bundle
+ enable
+ enable
+
+
+
+
+
+ ..\TempReferences\Core.dll
+
+
+ ..\TempReferences\SptCommon.dll
+
+
+ ..\TempReferences\SptDependencyInjection.dll
+
+
+
diff --git a/ExampleMods/Mods/12Bundle/Bundle.cs b/ModExamples/12Bundle/Bundle.cs
similarity index 91%
rename from ExampleMods/Mods/12Bundle/Bundle.cs
rename to ModExamples/12Bundle/Bundle.cs
index 4f0be59a..acfc0db8 100644
--- a/ExampleMods/Mods/12Bundle/Bundle.cs
+++ b/ModExamples/12Bundle/Bundle.cs
@@ -2,7 +2,7 @@
using Core.Models.External;
using SptCommon.Annotations;
-namespace ExampleMods.Mods._12Bundle;
+namespace _12Bundle;
[Injectable]
public class Bundle : IPostDBLoadMod
diff --git a/ExampleMods/Mods/12Bundle/bundles.json b/ModExamples/12Bundle/bundles.json
similarity index 100%
rename from ExampleMods/Mods/12Bundle/bundles.json
rename to ModExamples/12Bundle/bundles.json
diff --git a/ExampleMods/Mods/12Bundle/bundles/assets/content/patron_1143x33mmr_lead.bundle b/ModExamples/12Bundle/bundles/assets/content/patron_1143x33mmr_lead.bundle
similarity index 100%
rename from ExampleMods/Mods/12Bundle/bundles/assets/content/patron_1143x33mmr_lead.bundle
rename to ModExamples/12Bundle/bundles/assets/content/patron_1143x33mmr_lead.bundle
diff --git a/ExampleMods/Mods/12Bundle/package.json b/ModExamples/12Bundle/package.json
similarity index 100%
rename from ExampleMods/Mods/12Bundle/package.json
rename to ModExamples/12Bundle/package.json
diff --git a/ModExamples/1Logging/1Logging.csproj b/ModExamples/1Logging/1Logging.csproj
new file mode 100644
index 00000000..8d82e03b
--- /dev/null
+++ b/ModExamples/1Logging/1Logging.csproj
@@ -0,0 +1,23 @@
+
+
+
+ net9.0
+ _1Logging
+ enable
+ enable
+
+
+
+
+
+ ..\TempReferences\Core.dll
+
+
+ ..\TempReferences\SptCommon.dll
+
+
+ ..\TempReferences\SptDependencyInjection.dll
+
+
+
+
diff --git a/ExampleMods/Mods/1Logging/Logging.cs b/ModExamples/1Logging/Logging.cs
similarity index 97%
rename from ExampleMods/Mods/1Logging/Logging.cs
rename to ModExamples/1Logging/Logging.cs
index b6c200b4..ed8e0e4e 100644
--- a/ExampleMods/Mods/1Logging/Logging.cs
+++ b/ModExamples/1Logging/Logging.cs
@@ -3,7 +3,7 @@ using Core.Models.Logging;
using Core.Models.Utils;
using SptCommon.Annotations;
-namespace ExampleMods.Mods._1Logging;
+namespace _1Logging;
[Injectable]
public class Logging : IPostSptLoadMod // Using this interface means our mod will run AFTER SPT has finished loading
diff --git a/ExampleMods/Mods/1Logging/package.json b/ModExamples/1Logging/package.json
similarity index 100%
rename from ExampleMods/Mods/1Logging/package.json
rename to ModExamples/1Logging/package.json
diff --git a/ModExamples/2EditDatabase/2EditDatabase.csproj b/ModExamples/2EditDatabase/2EditDatabase.csproj
new file mode 100644
index 00000000..f181c6fc
--- /dev/null
+++ b/ModExamples/2EditDatabase/2EditDatabase.csproj
@@ -0,0 +1,22 @@
+
+
+
+ net9.0
+ _2EditDatabase
+ enable
+ enable
+
+
+
+
+
+ ..\TempReferences\Core.dll
+
+
+ ..\TempReferences\SptCommon.dll
+
+
+ ..\TempReferences\SptDependencyInjection.dll
+
+
+
diff --git a/ExampleMods/Mods/2EditDatabase/EditDatabaseValues.cs b/ModExamples/2EditDatabase/EditDatabaseValues.cs
similarity index 99%
rename from ExampleMods/Mods/2EditDatabase/EditDatabaseValues.cs
rename to ModExamples/2EditDatabase/EditDatabaseValues.cs
index 8414ec0e..aeffbecc 100644
--- a/ExampleMods/Mods/2EditDatabase/EditDatabaseValues.cs
+++ b/ModExamples/2EditDatabase/EditDatabaseValues.cs
@@ -4,7 +4,7 @@ using Core.Models.Utils;
using Core.Services;
using SptCommon.Annotations;
-namespace ExampleMods.Mods._2EditDatabase;
+namespace _2EditDatabase;
[Injectable]
public class EditDatabaseValues : IPostDBLoadMod // Using this interface means our mod will run AFTER the SPT database has finished loading but BEFORE SPT code has run
diff --git a/ExampleMods/Mods/2EditDatabase/package.json b/ModExamples/2EditDatabase/package.json
similarity index 100%
rename from ExampleMods/Mods/2EditDatabase/package.json
rename to ModExamples/2EditDatabase/package.json
diff --git a/ModExamples/3EditSptConfig/3EditSptConfig.csproj b/ModExamples/3EditSptConfig/3EditSptConfig.csproj
new file mode 100644
index 00000000..ef1ff413
--- /dev/null
+++ b/ModExamples/3EditSptConfig/3EditSptConfig.csproj
@@ -0,0 +1,22 @@
+
+
+
+ net9.0
+ _3EditSptConfig
+ enable
+ enable
+
+
+
+
+
+ ..\TempReferences\Core.dll
+
+
+ ..\TempReferences\SptCommon.dll
+
+
+ ..\TempReferences\SptDependencyInjection.dll
+
+
+
diff --git a/ExampleMods/Mods/3EditSptConfig/EditConfigs.cs b/ModExamples/3EditSptConfig/EditConfigs.cs
similarity index 98%
rename from ExampleMods/Mods/3EditSptConfig/EditConfigs.cs
rename to ModExamples/3EditSptConfig/EditConfigs.cs
index 84242a70..b92d079f 100644
--- a/ExampleMods/Mods/3EditSptConfig/EditConfigs.cs
+++ b/ModExamples/3EditSptConfig/EditConfigs.cs
@@ -5,7 +5,7 @@ using Core.Models.Utils;
using Core.Servers;
using SptCommon.Annotations;
-namespace ExampleMods.Mods._3EditSptConfig;
+namespace _3EditSptConfig;
[Injectable]
public class EditConfigs : IPostDBLoadMod
diff --git a/ExampleMods/Mods/3EditSptConfig/package.json b/ModExamples/3EditSptConfig/package.json
similarity index 100%
rename from ExampleMods/Mods/3EditSptConfig/package.json
rename to ModExamples/3EditSptConfig/package.json
diff --git a/ModExamples/4ReadCustomJson5Config/4ReadCustomJson5Config.csproj b/ModExamples/4ReadCustomJson5Config/4ReadCustomJson5Config.csproj
new file mode 100644
index 00000000..69f41dee
--- /dev/null
+++ b/ModExamples/4ReadCustomJson5Config/4ReadCustomJson5Config.csproj
@@ -0,0 +1,22 @@
+
+
+
+ net9.0
+ _4ReadCustomJson5Config
+ enable
+ enable
+
+
+
+
+
+ ..\TempReferences\Core.dll
+
+
+ ..\TempReferences\SptCommon.dll
+
+
+ ..\TempReferences\SptDependencyInjection.dll
+
+
+
diff --git a/ExampleMods/Mods/4ReadCustomJson5Config/ReadJson5Config.cs b/ModExamples/4ReadCustomJson5Config/ReadJson5Config.cs
similarity index 96%
rename from ExampleMods/Mods/4ReadCustomJson5Config/ReadJson5Config.cs
rename to ModExamples/4ReadCustomJson5Config/ReadJson5Config.cs
index 63e24694..7f550a6a 100644
--- a/ExampleMods/Mods/4ReadCustomJson5Config/ReadJson5Config.cs
+++ b/ModExamples/4ReadCustomJson5Config/ReadJson5Config.cs
@@ -3,7 +3,7 @@ using Core.Models.Utils;
using Core.Utils;
using SptCommon.Annotations;
-namespace ExampleMods.Mods._4ReadCustomJson5Config
+namespace _4ReadCustomJson5Config
{
[Injectable]
public class ReadJson5Config: IPreSptLoadMod
diff --git a/ExampleMods/Mods/4ReadCustomJson5Config/config.json5 b/ModExamples/4ReadCustomJson5Config/config.json5
similarity index 100%
rename from ExampleMods/Mods/4ReadCustomJson5Config/config.json5
rename to ModExamples/4ReadCustomJson5Config/config.json5
diff --git a/ExampleMods/Mods/4ReadCustomJson5Config/package.json b/ModExamples/4ReadCustomJson5Config/package.json
similarity index 100%
rename from ExampleMods/Mods/4ReadCustomJson5Config/package.json
rename to ModExamples/4ReadCustomJson5Config/package.json
diff --git a/ModExamples/5ReadCustomJsonConfig/5ReadCustomJsonConfig.csproj b/ModExamples/5ReadCustomJsonConfig/5ReadCustomJsonConfig.csproj
new file mode 100644
index 00000000..103a9ddd
--- /dev/null
+++ b/ModExamples/5ReadCustomJsonConfig/5ReadCustomJsonConfig.csproj
@@ -0,0 +1,22 @@
+
+
+
+ net9.0
+ _5ReadCustomJsonConfig
+ enable
+ enable
+
+
+
+
+
+ ..\TempReferences\Core.dll
+
+
+ ..\TempReferences\SptCommon.dll
+
+
+ ..\TempReferences\SptDependencyInjection.dll
+
+
+
diff --git a/ExampleMods/Mods/5ReadCustomJsonConfig/ReadJsonConfig.cs b/ModExamples/5ReadCustomJsonConfig/ReadJsonConfig.cs
similarity index 96%
rename from ExampleMods/Mods/5ReadCustomJsonConfig/ReadJsonConfig.cs
rename to ModExamples/5ReadCustomJsonConfig/ReadJsonConfig.cs
index 016c9148..7b16729c 100644
--- a/ExampleMods/Mods/5ReadCustomJsonConfig/ReadJsonConfig.cs
+++ b/ModExamples/5ReadCustomJsonConfig/ReadJsonConfig.cs
@@ -3,7 +3,7 @@ using Core.Models.Utils;
using Core.Utils;
using SptCommon.Annotations;
-namespace ExampleMods.Mods._5ReadCustomJsonConfig
+namespace _5ReadCustomJsonConfig
{
[Injectable]
public class ReadJsonConfig : IPreSptLoadMod
diff --git a/ExampleMods/Mods/5ReadCustomJsonConfig/config.json b/ModExamples/5ReadCustomJsonConfig/config.json
similarity index 100%
rename from ExampleMods/Mods/5ReadCustomJsonConfig/config.json
rename to ModExamples/5ReadCustomJsonConfig/config.json
diff --git a/ExampleMods/Mods/5ReadCustomJsonConfig/package.json b/ModExamples/5ReadCustomJsonConfig/package.json
similarity index 100%
rename from ExampleMods/Mods/5ReadCustomJsonConfig/package.json
rename to ModExamples/5ReadCustomJsonConfig/package.json
diff --git a/ModExamples/6OverrideMethod/6OverrideMethod.csproj b/ModExamples/6OverrideMethod/6OverrideMethod.csproj
new file mode 100644
index 00000000..7f4b6a3d
--- /dev/null
+++ b/ModExamples/6OverrideMethod/6OverrideMethod.csproj
@@ -0,0 +1,22 @@
+
+
+
+ net9.0
+ _6OverrideMethod
+ enable
+ enable
+
+
+
+
+
+ ..\TempReferences\Core.dll
+
+
+ ..\TempReferences\SptCommon.dll
+
+
+ ..\TempReferences\SptDependencyInjection.dll
+
+
+
diff --git a/ExampleMods/Mods/6OverrideMethod/OverrideMethod.cs b/ModExamples/6OverrideMethod/OverrideMethod.cs
similarity index 95%
rename from ExampleMods/Mods/6OverrideMethod/OverrideMethod.cs
rename to ModExamples/6OverrideMethod/OverrideMethod.cs
index c5df057b..70244895 100644
--- a/ExampleMods/Mods/6OverrideMethod/OverrideMethod.cs
+++ b/ModExamples/6OverrideMethod/OverrideMethod.cs
@@ -4,7 +4,7 @@ using Core.Services;
using Core.Utils;
using SptCommon.Annotations;
-namespace ExampleMods.Mods._6ReplaceMethod
+namespace _6OverrideMethod
{
[Injectable(InjectableTypeOverride = typeof(Watermark))]
public class OverrideMethod: Watermark
diff --git a/ExampleMods/Mods/6OverrideMethod/package.json b/ModExamples/6OverrideMethod/package.json
similarity index 100%
rename from ExampleMods/Mods/6OverrideMethod/package.json
rename to ModExamples/6OverrideMethod/package.json
diff --git a/ModExamples/7UseMultipleClasses/7UseMultipleClasses.csproj b/ModExamples/7UseMultipleClasses/7UseMultipleClasses.csproj
new file mode 100644
index 00000000..ebc01bb5
--- /dev/null
+++ b/ModExamples/7UseMultipleClasses/7UseMultipleClasses.csproj
@@ -0,0 +1,22 @@
+
+
+
+ net9.0
+ _7UseMultipleClasses
+ enable
+ enable
+
+
+
+
+
+ ..\TempReferences\Core.dll
+
+
+ ..\TempReferences\SptCommon.dll
+
+
+ ..\TempReferences\SptDependencyInjection.dll
+
+
+
diff --git a/ExampleMods/Mods/7UseMultipleClasses/SecondClass.cs b/ModExamples/7UseMultipleClasses/SecondClass.cs
similarity index 83%
rename from ExampleMods/Mods/7UseMultipleClasses/SecondClass.cs
rename to ModExamples/7UseMultipleClasses/SecondClass.cs
index 9e3e183d..e3c8440b 100644
--- a/ExampleMods/Mods/7UseMultipleClasses/SecondClass.cs
+++ b/ModExamples/7UseMultipleClasses/SecondClass.cs
@@ -4,7 +4,7 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
-namespace ExampleMods.Mods._7UseMultipleClasses
+namespace _7UseMultipleClasses
{
public class SecondClass
{
diff --git a/ExampleMods/Mods/7UseMultipleClasses/UseMultipleClasses.cs b/ModExamples/7UseMultipleClasses/UseMultipleClasses.cs
similarity index 89%
rename from ExampleMods/Mods/7UseMultipleClasses/UseMultipleClasses.cs
rename to ModExamples/7UseMultipleClasses/UseMultipleClasses.cs
index 845863c1..cf45dbdb 100644
--- a/ExampleMods/Mods/7UseMultipleClasses/UseMultipleClasses.cs
+++ b/ModExamples/7UseMultipleClasses/UseMultipleClasses.cs
@@ -1,12 +1,12 @@
using Core.Models.External;
using Core.Models.Utils;
-namespace ExampleMods.Mods._7UseMultipleClasses
+namespace _7UseMultipleClasses
{
///
/// Having multiple classes can make keeping your code maintainable easier, you can split related code into their own class
///
- public class UseMultipleClasses: IPostDBLoadMod
+ public class UseMultipleClasses : IPostDBLoadMod
{
private readonly ISptLogger _logger;
diff --git a/ExampleMods/Mods/7UseMultipleClasses/package.json b/ModExamples/7UseMultipleClasses/package.json
similarity index 100%
rename from ExampleMods/Mods/7UseMultipleClasses/package.json
rename to ModExamples/7UseMultipleClasses/package.json
diff --git a/ModExamples/8OnLoad/8OnLoad.csproj b/ModExamples/8OnLoad/8OnLoad.csproj
new file mode 100644
index 00000000..cf5b187e
--- /dev/null
+++ b/ModExamples/8OnLoad/8OnLoad.csproj
@@ -0,0 +1,22 @@
+
+
+
+ net9.0
+ _8OnLoad
+ enable
+ enable
+
+
+
+
+
+ ..\TempReferences\Core.dll
+
+
+ ..\TempReferences\SptCommon.dll
+
+
+ ..\TempReferences\SptDependencyInjection.dll
+
+
+
diff --git a/ExampleMods/Mods/8OnLoad/OnLoadExample.cs b/ModExamples/8OnLoad/OnLoadExample.cs
similarity index 96%
rename from ExampleMods/Mods/8OnLoad/OnLoadExample.cs
rename to ModExamples/8OnLoad/OnLoadExample.cs
index a2b00311..ac308741 100644
--- a/ExampleMods/Mods/8OnLoad/OnLoadExample.cs
+++ b/ModExamples/8OnLoad/OnLoadExample.cs
@@ -2,7 +2,7 @@
using Core.Models.Utils;
using SptCommon.Annotations;
-namespace ExampleMods.Mods._8OnLoad
+namespace _8OnLoad
{
// Flag class as being OnLoad and give it a load priority, check `OnLoadOrder` for list of possible choices
[Injectable(InjectableTypeOverride = typeof(IOnLoad), TypePriority = OnLoadOrder.PostSptDatabase)] // Can also give an int value for fine-grained control
diff --git a/ExampleMods/Mods/8OnLoad/package.json b/ModExamples/8OnLoad/package.json
similarity index 100%
rename from ExampleMods/Mods/8OnLoad/package.json
rename to ModExamples/8OnLoad/package.json
diff --git a/ModExamples/9OnUpdate/9OnUpdate.csproj b/ModExamples/9OnUpdate/9OnUpdate.csproj
new file mode 100644
index 00000000..7e5a74ce
--- /dev/null
+++ b/ModExamples/9OnUpdate/9OnUpdate.csproj
@@ -0,0 +1,22 @@
+
+
+
+ net9.0
+ _9OnUpdate
+ enable
+ enable
+
+
+
+
+
+ ..\TempReferences\Core.dll
+
+
+ ..\TempReferences\SptCommon.dll
+
+
+ ..\TempReferences\SptDependencyInjection.dll
+
+
+
diff --git a/ExampleMods/Mods/9OnUpdate/OnUpdateExample.cs b/ModExamples/9OnUpdate/OnUpdateExample.cs
similarity index 96%
rename from ExampleMods/Mods/9OnUpdate/OnUpdateExample.cs
rename to ModExamples/9OnUpdate/OnUpdateExample.cs
index cb0f22fc..65ca3ed1 100644
--- a/ExampleMods/Mods/9OnUpdate/OnUpdateExample.cs
+++ b/ModExamples/9OnUpdate/OnUpdateExample.cs
@@ -2,7 +2,7 @@
using Core.Models.Utils;
using SptCommon.Annotations;
-namespace ExampleMods.Mods._9OnUpdate
+namespace _9OnUpdate
{
// Flag class as being OnLoad and give it a load priority, check `OnLoadOrder` for list of possible choices
[Injectable(InjectableTypeOverride = typeof(IOnUpdate), TypePriority = OnUpdateOrder.PostSptUpdate)] // Can also give it an int value for more fine-grained control
diff --git a/ExampleMods/Mods/9OnUpdate/package.json b/ModExamples/9OnUpdate/package.json
similarity index 100%
rename from ExampleMods/Mods/9OnUpdate/package.json
rename to ModExamples/9OnUpdate/package.json
diff --git a/ModExamples/ModExamples.sln b/ModExamples/ModExamples.sln
new file mode 100644
index 00000000..6ea3f061
--- /dev/null
+++ b/ModExamples/ModExamples.sln
@@ -0,0 +1,82 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "1Logging", "1Logging\1Logging.csproj", "{98270ED7-04C7-4F90-91B1-820C672CE123}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "2EditDatabase", "2EditDatabase\2EditDatabase.csproj", "{42BF3751-D744-4373-B5CC-704A0CCA0106}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "3EditSptConfig", "3EditSptConfig\3EditSptConfig.csproj", "{CE1A0F24-D1CB-4E12-8462-13641A7FB964}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "4ReadCustomJson5Config", "4ReadCustomJson5Config\4ReadCustomJson5Config.csproj", "{CEFCC99D-C0C7-4894-93D9-3B6F3BAFD92F}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "5ReadCustomJsonConfig", "5ReadCustomJsonConfig\5ReadCustomJsonConfig.csproj", "{00CE855D-299F-4700-84C2-0567060593DF}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "6OverrideMethod", "6OverrideMethod\6OverrideMethod.csproj", "{494C6DB5-EAD2-4DCA-871A-34675D2452DE}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "7UseMultipleClasses", "7UseMultipleClasses\7UseMultipleClasses.csproj", "{B6DE92DC-7ADB-4E5E-BECF-68C829D7CBCA}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "8OnLoad", "8OnLoad\8OnLoad.csproj", "{556E07A1-E399-4761-89C0-AC74E6A20BA1}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "9OnUpdate", "9OnUpdate\9OnUpdate.csproj", "{113E9B1C-25E4-4DB3-9724-A48684A40B91}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "10CustomRoute", "10CustomRoute\10CustomRoute.csproj", "{4AF609A6-91C8-48CC-8D4B-9454864C98E2}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "11RegisterClassesInDI", "11RegisterClassesInDI\11RegisterClassesInDI.csproj", "{5B705F9E-7F4F-491A-8215-30EE5B5D77B0}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "12Bundle", "12Bundle\12Bundle.csproj", "{FE769EA8-4F31-4426-90A3-A1EFA8A43D6E}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {98270ED7-04C7-4F90-91B1-820C672CE123}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {98270ED7-04C7-4F90-91B1-820C672CE123}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {98270ED7-04C7-4F90-91B1-820C672CE123}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {98270ED7-04C7-4F90-91B1-820C672CE123}.Release|Any CPU.Build.0 = Release|Any CPU
+ {42BF3751-D744-4373-B5CC-704A0CCA0106}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {42BF3751-D744-4373-B5CC-704A0CCA0106}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {42BF3751-D744-4373-B5CC-704A0CCA0106}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {42BF3751-D744-4373-B5CC-704A0CCA0106}.Release|Any CPU.Build.0 = Release|Any CPU
+ {CE1A0F24-D1CB-4E12-8462-13641A7FB964}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {CE1A0F24-D1CB-4E12-8462-13641A7FB964}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {CE1A0F24-D1CB-4E12-8462-13641A7FB964}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {CE1A0F24-D1CB-4E12-8462-13641A7FB964}.Release|Any CPU.Build.0 = Release|Any CPU
+ {CEFCC99D-C0C7-4894-93D9-3B6F3BAFD92F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {CEFCC99D-C0C7-4894-93D9-3B6F3BAFD92F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {CEFCC99D-C0C7-4894-93D9-3B6F3BAFD92F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {CEFCC99D-C0C7-4894-93D9-3B6F3BAFD92F}.Release|Any CPU.Build.0 = Release|Any CPU
+ {00CE855D-299F-4700-84C2-0567060593DF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {00CE855D-299F-4700-84C2-0567060593DF}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {00CE855D-299F-4700-84C2-0567060593DF}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {00CE855D-299F-4700-84C2-0567060593DF}.Release|Any CPU.Build.0 = Release|Any CPU
+ {494C6DB5-EAD2-4DCA-871A-34675D2452DE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {494C6DB5-EAD2-4DCA-871A-34675D2452DE}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {494C6DB5-EAD2-4DCA-871A-34675D2452DE}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {494C6DB5-EAD2-4DCA-871A-34675D2452DE}.Release|Any CPU.Build.0 = Release|Any CPU
+ {B6DE92DC-7ADB-4E5E-BECF-68C829D7CBCA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {B6DE92DC-7ADB-4E5E-BECF-68C829D7CBCA}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {B6DE92DC-7ADB-4E5E-BECF-68C829D7CBCA}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {B6DE92DC-7ADB-4E5E-BECF-68C829D7CBCA}.Release|Any CPU.Build.0 = Release|Any CPU
+ {556E07A1-E399-4761-89C0-AC74E6A20BA1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {556E07A1-E399-4761-89C0-AC74E6A20BA1}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {556E07A1-E399-4761-89C0-AC74E6A20BA1}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {556E07A1-E399-4761-89C0-AC74E6A20BA1}.Release|Any CPU.Build.0 = Release|Any CPU
+ {113E9B1C-25E4-4DB3-9724-A48684A40B91}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {113E9B1C-25E4-4DB3-9724-A48684A40B91}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {113E9B1C-25E4-4DB3-9724-A48684A40B91}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {113E9B1C-25E4-4DB3-9724-A48684A40B91}.Release|Any CPU.Build.0 = Release|Any CPU
+ {4AF609A6-91C8-48CC-8D4B-9454864C98E2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {4AF609A6-91C8-48CC-8D4B-9454864C98E2}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {4AF609A6-91C8-48CC-8D4B-9454864C98E2}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {4AF609A6-91C8-48CC-8D4B-9454864C98E2}.Release|Any CPU.Build.0 = Release|Any CPU
+ {5B705F9E-7F4F-491A-8215-30EE5B5D77B0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {5B705F9E-7F4F-491A-8215-30EE5B5D77B0}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {5B705F9E-7F4F-491A-8215-30EE5B5D77B0}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {5B705F9E-7F4F-491A-8215-30EE5B5D77B0}.Release|Any CPU.Build.0 = Release|Any CPU
+ {FE769EA8-4F31-4426-90A3-A1EFA8A43D6E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {FE769EA8-4F31-4426-90A3-A1EFA8A43D6E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {FE769EA8-4F31-4426-90A3-A1EFA8A43D6E}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {FE769EA8-4F31-4426-90A3-A1EFA8A43D6E}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+EndGlobal
diff --git a/ModExamples/TempReferences/Core.dll b/ModExamples/TempReferences/Core.dll
new file mode 100644
index 00000000..4956458a
Binary files /dev/null and b/ModExamples/TempReferences/Core.dll differ
diff --git a/ModExamples/TempReferences/SptCommon.dll b/ModExamples/TempReferences/SptCommon.dll
new file mode 100644
index 00000000..53a34ccf
Binary files /dev/null and b/ModExamples/TempReferences/SptCommon.dll differ
diff --git a/ModExamples/TempReferences/SptDependencyInjection.dll b/ModExamples/TempReferences/SptDependencyInjection.dll
new file mode 100644
index 00000000..3a564f79
Binary files /dev/null and b/ModExamples/TempReferences/SptDependencyInjection.dll differ
diff --git a/server-csharp.sln b/server-csharp.sln
index 060cc192..e4359d39 100644
--- a/server-csharp.sln
+++ b/server-csharp.sln
@@ -9,8 +9,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Core", "Libraries\Core\Core
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTests", "UnitTests\UnitTests.csproj", "{6C0681F9-4013-4579-82DA-0A9297984FD3}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ExampleMods", "ExampleMods\ExampleMods.csproj", "{0A144F80-31B1-4CA0-AB98-1DC77169A56D}"
-EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Libraries", "Libraries", "{F084DDFD-89F3-44F9-89C3-5CA11F4CDEEF}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tools", "Tools", "{587959C2-5AFA-4B77-B327-566610F9A289}"
@@ -43,10 +41,6 @@ Global
{6C0681F9-4013-4579-82DA-0A9297984FD3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6C0681F9-4013-4579-82DA-0A9297984FD3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6C0681F9-4013-4579-82DA-0A9297984FD3}.Release|Any CPU.Build.0 = Release|Any CPU
- {0A144F80-31B1-4CA0-AB98-1DC77169A56D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {0A144F80-31B1-4CA0-AB98-1DC77169A56D}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {0A144F80-31B1-4CA0-AB98-1DC77169A56D}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {0A144F80-31B1-4CA0-AB98-1DC77169A56D}.Release|Any CPU.Build.0 = Release|Any CPU
{4B4AF50D-B2C6-47D1-B567-EA4560D8CBA1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4B4AF50D-B2C6-47D1-B567-EA4560D8CBA1}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4B4AF50D-B2C6-47D1-B567-EA4560D8CBA1}.Release|Any CPU.ActiveCfg = Release|Any CPU