diff --git a/GeneralMods/AdvancedSaveBackup/AdvancedSaveBackup.csproj b/GeneralMods/AdvancedSaveBackup/AdvancedSaveBackup.csproj index 46bf2a7a..56a8f844 100644 --- a/GeneralMods/AdvancedSaveBackup/AdvancedSaveBackup.csproj +++ b/GeneralMods/AdvancedSaveBackup/AdvancedSaveBackup.csproj @@ -66,7 +66,7 @@ MinimumRecommendedRules.ruleset - + diff --git a/GeneralMods/AdvancedSaveBackup/manifest.json b/GeneralMods/AdvancedSaveBackup/manifest.json index 559192a8..ca57093f 100644 --- a/GeneralMods/AdvancedSaveBackup/manifest.json +++ b/GeneralMods/AdvancedSaveBackup/manifest.json @@ -1,10 +1,10 @@ { "Name": "Advanced Save Backup", "Author": "Alpha_Omegasis", - "Version": "1.7.0", + "Version": "1.7.1", "Description": "Backs up your save files when loading SMAPI and every in game night when saving.", "UniqueID": "Omegasis.AdvancedSaveBackup", "EntryDll": "AdvancedSaveBackup.dll", - "MinimumApiVersion": "2.10.1", + "MinimumApiVersion": "3.0.0", "UpdateKeys": [ "Nexus:435" ] } diff --git a/GeneralMods/AutoSpeed/AutoSpeed.cs b/GeneralMods/AutoSpeed/AutoSpeed.cs index d4859a35..85e3d3ef 100644 --- a/GeneralMods/AutoSpeed/AutoSpeed.cs +++ b/GeneralMods/AutoSpeed/AutoSpeed.cs @@ -1,3 +1,5 @@ +using System.Collections.Generic; +using System.Linq; using Omegasis.AutoSpeed.Framework; using StardewModdingAPI; using StardewModdingAPI.Events; @@ -8,12 +10,24 @@ namespace Omegasis.AutoSpeed /// The mod entry point. public class AutoSpeed : Mod { + /********* + **Static Fields + *********/ + /// + /// All of the speed that is added together for auto speed. This is used for mod authors to hook in their speed boosts before auto speed applies the default speed boost. + /// + public Dictionary combinedAddedSpeed; + /********* ** Fields *********/ /// The mod configuration. private ModConfig Config; + /// + /// A static reference to expose public fields. + /// + public static AutoSpeed Instance; /********* ** Public methods @@ -24,6 +38,17 @@ namespace Omegasis.AutoSpeed { helper.Events.GameLoop.UpdateTicked += this.OnUpdateTicked; this.Config = helper.ReadConfig(); + this.combinedAddedSpeed = new Dictionary(); + Instance = this; + } + + /// + /// Returns a copy of the mods' api. + /// + /// + public override object GetApi() + { + return new AutoSpeedAPI(); } @@ -36,7 +61,10 @@ namespace Omegasis.AutoSpeed private void OnUpdateTicked(object sender, UpdateTickedEventArgs e) { if (Context.IsPlayerFree) - Game1.player.addedSpeed = this.Config.Speed; + { + int addedSpeed = this.combinedAddedSpeed.Values.Sum(); + Game1.player.addedSpeed = this.Config.Speed+addedSpeed; + } } } } diff --git a/GeneralMods/AutoSpeed/AutoSpeed.csproj b/GeneralMods/AutoSpeed/AutoSpeed.csproj index 50269de6..46dda84d 100644 --- a/GeneralMods/AutoSpeed/AutoSpeed.csproj +++ b/GeneralMods/AutoSpeed/AutoSpeed.csproj @@ -66,7 +66,7 @@ MinimumRecommendedRules.ruleset - + @@ -77,6 +77,8 @@ Properties\GlobalAssemblyInfo.cs + + diff --git a/GeneralMods/AutoSpeed/Framework/AutoSpeedAPI.cs b/GeneralMods/AutoSpeed/Framework/AutoSpeedAPI.cs new file mode 100644 index 00000000..020fc43b --- /dev/null +++ b/GeneralMods/AutoSpeed/Framework/AutoSpeedAPI.cs @@ -0,0 +1,34 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Omegasis.AutoSpeed.Framework +{ + /// + /// API for auto speed to hook into the Game1.player.addedSpeed function. + /// + public class AutoSpeedAPI + { + + /// + /// Allows adding a speed for Auto Speed to take acount for when calculating Game1.player.addedSpeed; Will fail if a unique key has already been added. + /// + /// + /// + public void addSpeedBoost(string ID, int Amount) + { + AutoSpeed.Instance.combinedAddedSpeed.Add(ID, Amount); + } + /// + /// Removes an added speed boost by passing in the unique key. + /// + /// + /// + public void remvoveSpeedBoost(string ID, int Amount) + { + AutoSpeed.Instance.combinedAddedSpeed.Remove(ID); + } + } +} diff --git a/GeneralMods/AutoSpeed/Framework/IAutoSpeedApi.cs b/GeneralMods/AutoSpeed/Framework/IAutoSpeedApi.cs new file mode 100644 index 00000000..6edeaff4 --- /dev/null +++ b/GeneralMods/AutoSpeed/Framework/IAutoSpeedApi.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Omegasis.AutoSpeed.Framework +{ + /// + /// Interface used to interface AutoSpeed's API class. + /// + public interface IAutoSpeedAPI + { + void addSpeedBoost(string ID, int Amount); + /// + /// Removes an added speed boost by passing in the unique key. + /// + /// + /// + void remvoveSpeedBoost(string ID, int Amount); + } +} diff --git a/GeneralMods/AutoSpeed/manifest.json b/GeneralMods/AutoSpeed/manifest.json index b5c3f9e3..ac3c625b 100644 --- a/GeneralMods/AutoSpeed/manifest.json +++ b/GeneralMods/AutoSpeed/manifest.json @@ -1,10 +1,10 @@ { "Name": "Auto Speed", "Author": "Alpha_Omegasis", - "Version": "1.8.0", + "Version": "1.9.0", "Description": "Got to go fast!", "UniqueID": "Omegasis.AutoSpeed", "EntryDll": "AutoSpeed.dll", - "MinimumApiVersion": "2.10.1", + "MinimumApiVersion": "3.0.0", "UpdateKeys": [ "Nexus:443" ] } diff --git a/GeneralMods/BillboardAnywhere/BillboardAnywhere.csproj b/GeneralMods/BillboardAnywhere/BillboardAnywhere.csproj index d98ba599..36bff343 100644 --- a/GeneralMods/BillboardAnywhere/BillboardAnywhere.csproj +++ b/GeneralMods/BillboardAnywhere/BillboardAnywhere.csproj @@ -66,7 +66,7 @@ MinimumRecommendedRules.ruleset - + diff --git a/GeneralMods/BuildEndurance/BuildEndurance.csproj b/GeneralMods/BuildEndurance/BuildEndurance.csproj index 83e9f2df..ea68b11c 100644 --- a/GeneralMods/BuildEndurance/BuildEndurance.csproj +++ b/GeneralMods/BuildEndurance/BuildEndurance.csproj @@ -66,7 +66,7 @@ MinimumRecommendedRules.ruleset - + diff --git a/GeneralMods/BuildHealth/BuildHealth.csproj b/GeneralMods/BuildHealth/BuildHealth.csproj index f1846f3b..2121f301 100644 --- a/GeneralMods/BuildHealth/BuildHealth.csproj +++ b/GeneralMods/BuildHealth/BuildHealth.csproj @@ -66,7 +66,7 @@ MinimumRecommendedRules.ruleset - + diff --git a/GeneralMods/BuyBackCollectables/BuyBackCollectables.csproj b/GeneralMods/BuyBackCollectables/BuyBackCollectables.csproj index dcba9f4e..d1de638c 100644 --- a/GeneralMods/BuyBackCollectables/BuyBackCollectables.csproj +++ b/GeneralMods/BuyBackCollectables/BuyBackCollectables.csproj @@ -66,7 +66,7 @@ MinimumRecommendedRules.ruleset - + diff --git a/GeneralMods/CustomNPCFramework/CustomNPCFramework.csproj b/GeneralMods/CustomNPCFramework/CustomNPCFramework.csproj index a6467cf3..6abb32e1 100644 --- a/GeneralMods/CustomNPCFramework/CustomNPCFramework.csproj +++ b/GeneralMods/CustomNPCFramework/CustomNPCFramework.csproj @@ -68,7 +68,7 @@ MinimumRecommendedRules.ruleset - + diff --git a/GeneralMods/DailyQuestAnywhere/DailyQuestAnywhere.csproj b/GeneralMods/DailyQuestAnywhere/DailyQuestAnywhere.csproj index 13cf5c50..5e0d840b 100644 --- a/GeneralMods/DailyQuestAnywhere/DailyQuestAnywhere.csproj +++ b/GeneralMods/DailyQuestAnywhere/DailyQuestAnywhere.csproj @@ -66,7 +66,7 @@ MinimumRecommendedRules.ruleset - + diff --git a/GeneralMods/Fall28SnowDay/Fall28SnowDay.csproj b/GeneralMods/Fall28SnowDay/Fall28SnowDay.csproj index 23b5bc04..9ba5c5f8 100644 --- a/GeneralMods/Fall28SnowDay/Fall28SnowDay.csproj +++ b/GeneralMods/Fall28SnowDay/Fall28SnowDay.csproj @@ -66,7 +66,7 @@ MinimumRecommendedRules.ruleset - + diff --git a/GeneralMods/FarmersMarketStall/FarmersMarketStall.csproj b/GeneralMods/FarmersMarketStall/FarmersMarketStall.csproj index d77edb4c..3c073956 100644 --- a/GeneralMods/FarmersMarketStall/FarmersMarketStall.csproj +++ b/GeneralMods/FarmersMarketStall/FarmersMarketStall.csproj @@ -66,7 +66,7 @@ MinimumRecommendedRules.ruleset - + diff --git a/GeneralMods/HappyBirthday/HappyBirthday.csproj b/GeneralMods/HappyBirthday/HappyBirthday.csproj index 6f54c1d7..4730af0c 100644 --- a/GeneralMods/HappyBirthday/HappyBirthday.csproj +++ b/GeneralMods/HappyBirthday/HappyBirthday.csproj @@ -70,7 +70,7 @@ - + diff --git a/GeneralMods/MapEvents/EventSystem.csproj b/GeneralMods/MapEvents/EventSystem.csproj index 227d5cbf..9a6a2791 100644 --- a/GeneralMods/MapEvents/EventSystem.csproj +++ b/GeneralMods/MapEvents/EventSystem.csproj @@ -66,7 +66,7 @@ MinimumRecommendedRules.ruleset - + diff --git a/GeneralMods/MapExampleRF1/MapExampleRF1.csproj b/GeneralMods/MapExampleRF1/MapExampleRF1.csproj index 5c9a3a80..efb94200 100644 --- a/GeneralMods/MapExampleRF1/MapExampleRF1.csproj +++ b/GeneralMods/MapExampleRF1/MapExampleRF1.csproj @@ -50,15 +50,12 @@ - - - - + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. - + \ No newline at end of file diff --git a/GeneralMods/MapExampleRF1/packages.config b/GeneralMods/MapExampleRF1/packages.config index 84563214..b24c9890 100644 --- a/GeneralMods/MapExampleRF1/packages.config +++ b/GeneralMods/MapExampleRF1/packages.config @@ -1,4 +1,4 @@  - + \ No newline at end of file diff --git a/GeneralMods/MoreRain/MoreRain.csproj b/GeneralMods/MoreRain/MoreRain.csproj index 1517a05e..1e95e354 100644 --- a/GeneralMods/MoreRain/MoreRain.csproj +++ b/GeneralMods/MoreRain/MoreRain.csproj @@ -66,7 +66,7 @@ MinimumRecommendedRules.ruleset - + diff --git a/GeneralMods/MuseumRearranger/MuseumRearranger.csproj b/GeneralMods/MuseumRearranger/MuseumRearranger.csproj index 7f1ced70..b5736d52 100644 --- a/GeneralMods/MuseumRearranger/MuseumRearranger.csproj +++ b/GeneralMods/MuseumRearranger/MuseumRearranger.csproj @@ -68,7 +68,7 @@ MinimumRecommendedRules.ruleset - + diff --git a/GeneralMods/NightOwl/NightOwl.csproj b/GeneralMods/NightOwl/NightOwl.csproj index 7c0f46b8..05d47fe6 100644 --- a/GeneralMods/NightOwl/NightOwl.csproj +++ b/GeneralMods/NightOwl/NightOwl.csproj @@ -66,7 +66,7 @@ MinimumRecommendedRules.ruleset - + diff --git a/GeneralMods/NoMorePets/NoMorePets.csproj b/GeneralMods/NoMorePets/NoMorePets.csproj index d6478fbb..cffd18df 100644 --- a/GeneralMods/NoMorePets/NoMorePets.csproj +++ b/GeneralMods/NoMorePets/NoMorePets.csproj @@ -66,7 +66,7 @@ MinimumRecommendedRules.ruleset - + diff --git a/GeneralMods/Revitalize/Revitalize.csproj b/GeneralMods/Revitalize/Revitalize.csproj index bc7a392e..86c29d0d 100644 --- a/GeneralMods/Revitalize/Revitalize.csproj +++ b/GeneralMods/Revitalize/Revitalize.csproj @@ -34,7 +34,7 @@ 12.0.1 - + diff --git a/GeneralMods/SaveAnywhere/SaveAnywhere.csproj b/GeneralMods/SaveAnywhere/SaveAnywhere.csproj index 2fb9a4ca..9e2f201d 100644 --- a/GeneralMods/SaveAnywhere/SaveAnywhere.csproj +++ b/GeneralMods/SaveAnywhere/SaveAnywhere.csproj @@ -66,7 +66,7 @@ MinimumRecommendedRules.ruleset - + diff --git a/GeneralMods/SimpleSoundManager/SimpleSoundManager.csproj b/GeneralMods/SimpleSoundManager/SimpleSoundManager.csproj index 4e840a0a..f7060a80 100644 --- a/GeneralMods/SimpleSoundManager/SimpleSoundManager.csproj +++ b/GeneralMods/SimpleSoundManager/SimpleSoundManager.csproj @@ -66,7 +66,7 @@ MinimumRecommendedRules.ruleset - + diff --git a/GeneralMods/StardewSymphonyRemastered/StardewSymphonyRemastered/StardewSymphonyRemastered.csproj b/GeneralMods/StardewSymphonyRemastered/StardewSymphonyRemastered/StardewSymphonyRemastered.csproj index 6ae1d2b7..08c2e6e7 100644 --- a/GeneralMods/StardewSymphonyRemastered/StardewSymphonyRemastered/StardewSymphonyRemastered.csproj +++ b/GeneralMods/StardewSymphonyRemastered/StardewSymphonyRemastered/StardewSymphonyRemastered.csproj @@ -68,7 +68,7 @@ - + diff --git a/GeneralMods/StardustCore/StardustCore.csproj b/GeneralMods/StardustCore/StardustCore.csproj index 84ef868f..fc202b8a 100644 --- a/GeneralMods/StardustCore/StardustCore.csproj +++ b/GeneralMods/StardustCore/StardustCore.csproj @@ -69,7 +69,7 @@ - + diff --git a/GeneralMods/SundropMapEvents/SundropMapEvents.csproj b/GeneralMods/SundropMapEvents/SundropMapEvents.csproj index fecf165e..46ffd780 100644 --- a/GeneralMods/SundropMapEvents/SundropMapEvents.csproj +++ b/GeneralMods/SundropMapEvents/SundropMapEvents.csproj @@ -67,7 +67,7 @@ - + diff --git a/GeneralMods/TimeFreeze/TimeFreeze.csproj b/GeneralMods/TimeFreeze/TimeFreeze.csproj index b91c66e6..091ef460 100644 --- a/GeneralMods/TimeFreeze/TimeFreeze.csproj +++ b/GeneralMods/TimeFreeze/TimeFreeze.csproj @@ -66,7 +66,7 @@ MinimumRecommendedRules.ruleset - + diff --git a/GeneralMods/Vocalization/Vocalization/Vocalization.csproj b/GeneralMods/Vocalization/Vocalization/Vocalization.csproj index ce9bb04a..62287599 100644 --- a/GeneralMods/Vocalization/Vocalization/Vocalization.csproj +++ b/GeneralMods/Vocalization/Vocalization/Vocalization.csproj @@ -30,7 +30,7 @@ 4 - +