summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitattributes2
-rw-r--r--.gitignore20
-rw-r--r--CONTRIBUTING.md17
-rw-r--r--LICENSE165
-rw-r--r--README.md183
-rw-r--r--docs/imgs/SMAPI.pngbin0 -> 252371 bytes
-rw-r--r--release-notes.md474
-rw-r--r--src/.editorconfig68
-rw-r--r--src/GlobalAssemblyInfo.cs6
-rw-r--r--src/StardewModdingAPI.AssemblyRewriters/Properties/AssemblyInfo.cs7
-rw-r--r--src/StardewModdingAPI.AssemblyRewriters/SpriteBatchMethods.cs59
-rw-r--r--src/StardewModdingAPI.AssemblyRewriters/StardewModdingAPI.AssemblyRewriters.csproj44
-rw-r--r--src/StardewModdingAPI.Installer/Enums/Platform.cs12
-rw-r--r--src/StardewModdingAPI.Installer/Enums/ScriptAction.cs12
-rw-r--r--src/StardewModdingAPI.Installer/InteractiveInstaller.cs740
-rw-r--r--src/StardewModdingAPI.Installer/Program.cs17
-rw-r--r--src/StardewModdingAPI.Installer/Properties/AssemblyInfo.cs6
-rw-r--r--src/StardewModdingAPI.Installer/StardewModdingAPI.Installer.csproj56
-rw-r--r--src/StardewModdingAPI.Installer/readme.txt44
-rw-r--r--src/StardewModdingAPI.Models/ModInfoModel.cs48
-rw-r--r--src/StardewModdingAPI.Models/ModSeachModel.cs30
-rw-r--r--src/StardewModdingAPI.Models/StardewModdingAPI.Models.projitems15
-rw-r--r--src/StardewModdingAPI.Models/StardewModdingAPI.Models.shproj13
-rw-r--r--src/StardewModdingAPI.Tests/Core/ModResolverTests.cs556
-rw-r--r--src/StardewModdingAPI.Tests/Core/TranslationTests.cs356
-rw-r--r--src/StardewModdingAPI.Tests/Properties/AssemblyInfo.cs6
-rw-r--r--src/StardewModdingAPI.Tests/Sample.cs30
-rw-r--r--src/StardewModdingAPI.Tests/StardewModdingAPI.Tests.csproj69
-rw-r--r--src/StardewModdingAPI.Tests/Utilities/SDateTests.cs255
-rw-r--r--src/StardewModdingAPI.Tests/Utilities/SemanticVersionTests.cs302
-rw-r--r--src/StardewModdingAPI.Tests/packages.config7
-rw-r--r--src/StardewModdingAPI.Web/Controllers/ModsController.cs162
-rw-r--r--src/StardewModdingAPI.Web/Framework/ConfigModels/ModUpdateCheckConfig.cs74
-rw-r--r--src/StardewModdingAPI.Web/Framework/InternalControllerFeatureProvider.cs27
-rw-r--r--src/StardewModdingAPI.Web/Framework/ModRepositories/BaseRepository.cs51
-rw-r--r--src/StardewModdingAPI.Web/Framework/ModRepositories/ChucklefishRepository.cs92
-rw-r--r--src/StardewModdingAPI.Web/Framework/ModRepositories/GitHubRepository.cs97
-rw-r--r--src/StardewModdingAPI.Web/Framework/ModRepositories/IModRepository.cs24
-rw-r--r--src/StardewModdingAPI.Web/Framework/ModRepositories/NexusRepository.cs89
-rw-r--r--src/StardewModdingAPI.Web/Framework/RewriteSubdomainRule.cs30
-rw-r--r--src/StardewModdingAPI.Web/Framework/VersionConstraint.cs15
-rw-r--r--src/StardewModdingAPI.Web/Program.cs26
-rw-r--r--src/StardewModdingAPI.Web/Properties/AssemblyInfo.cs4
-rw-r--r--src/StardewModdingAPI.Web/Properties/launchSettings.json29
-rw-r--r--src/StardewModdingAPI.Web/StardewModdingAPI.Web.csproj26
-rw-r--r--src/StardewModdingAPI.Web/Startup.cs70
-rw-r--r--src/StardewModdingAPI.Web/appsettings.Development.json10
-rw-r--r--src/StardewModdingAPI.Web/appsettings.json30
-rw-r--r--src/StardewModdingAPI.sln128
-rw-r--r--src/StardewModdingAPI.sln.DotSettings19
-rw-r--r--src/StardewModdingAPI/App.config9
-rw-r--r--src/StardewModdingAPI/Constants.cs169
-rw-r--r--src/StardewModdingAPI/ContentSource.cs12
-rw-r--r--src/StardewModdingAPI/Context.cs37
-rw-r--r--src/StardewModdingAPI/Events/ChangeType.cs15
-rw-r--r--src/StardewModdingAPI/Events/ContentEvents.cs29
-rw-r--r--src/StardewModdingAPI/Events/ControlEvents.cs112
-rw-r--r--src/StardewModdingAPI/Events/EventArgsClickableMenuChanged.cs31
-rw-r--r--src/StardewModdingAPI/Events/EventArgsClickableMenuClosed.cs26
-rw-r--r--src/StardewModdingAPI/Events/EventArgsControllerButtonPressed.cs32
-rw-r--r--src/StardewModdingAPI/Events/EventArgsControllerButtonReleased.cs32
-rw-r--r--src/StardewModdingAPI/Events/EventArgsControllerTriggerPressed.cs37
-rw-r--r--src/StardewModdingAPI/Events/EventArgsControllerTriggerReleased.cs37
-rw-r--r--src/StardewModdingAPI/Events/EventArgsCurrentLocationChanged.cs31
-rw-r--r--src/StardewModdingAPI/Events/EventArgsGameLocationsChanged.cs27
-rw-r--r--src/StardewModdingAPI/Events/EventArgsInput.cs124
-rw-r--r--src/StardewModdingAPI/Events/EventArgsIntChanged.cs29
-rw-r--r--src/StardewModdingAPI/Events/EventArgsInventoryChanged.cs41
-rw-r--r--src/StardewModdingAPI/Events/EventArgsKeyPressed.cs26
-rw-r--r--src/StardewModdingAPI/Events/EventArgsKeyboardStateChanged.cs31
-rw-r--r--src/StardewModdingAPI/Events/EventArgsLevelUp.cs52
-rw-r--r--src/StardewModdingAPI/Events/EventArgsLocationObjectsChanged.cs28
-rw-r--r--src/StardewModdingAPI/Events/EventArgsMineLevelChanged.cs30
-rw-r--r--src/StardewModdingAPI/Events/EventArgsMouseStateChanged.cs42
-rw-r--r--src/StardewModdingAPI/Events/EventArgsValueChanged.cs31
-rw-r--r--src/StardewModdingAPI/Events/GameEvents.cs96
-rw-r--r--src/StardewModdingAPI/Events/GraphicsEvents.cs116
-rw-r--r--src/StardewModdingAPI/Events/InputEvents.cs43
-rw-r--r--src/StardewModdingAPI/Events/ItemStackChange.cs20
-rw-r--r--src/StardewModdingAPI/Events/LocationEvents.cs54
-rw-r--r--src/StardewModdingAPI/Events/MenuEvents.cs40
-rw-r--r--src/StardewModdingAPI/Events/MineEvents.cs28
-rw-r--r--src/StardewModdingAPI/Events/PlayerEvents.cs43
-rw-r--r--src/StardewModdingAPI/Events/SaveEvents.cs56
-rw-r--r--src/StardewModdingAPI/Events/TimeEvents.cs37
-rw-r--r--src/StardewModdingAPI/Framework/Command.cs40
-rw-r--r--src/StardewModdingAPI/Framework/CommandManager.cs116
-rw-r--r--src/StardewModdingAPI/Framework/Content/AssetData.cs44
-rw-r--r--src/StardewModdingAPI/Framework/Content/AssetDataForDictionary.cs45
-rw-r--r--src/StardewModdingAPI/Framework/Content/AssetDataForImage.cs70
-rw-r--r--src/StardewModdingAPI/Framework/Content/AssetDataForObject.cs54
-rw-r--r--src/StardewModdingAPI/Framework/Content/AssetInfo.cs82
-rw-r--r--src/StardewModdingAPI/Framework/ContentManagerShim.cs50
-rw-r--r--src/StardewModdingAPI/Framework/CursorPosition.cs35
-rw-r--r--src/StardewModdingAPI/Framework/DeprecationLevel.cs15
-rw-r--r--src/StardewModdingAPI/Framework/DeprecationManager.cs105
-rw-r--r--src/StardewModdingAPI/Framework/Exceptions/SAssemblyLoadFailedException.cs16
-rw-r--r--src/StardewModdingAPI/Framework/Exceptions/SContentLoadException.cs18
-rw-r--r--src/StardewModdingAPI/Framework/Exceptions/SParseException.cs17
-rw-r--r--src/StardewModdingAPI/Framework/GameVersion.cs68
-rw-r--r--src/StardewModdingAPI/Framework/IModMetadata.cs47
-rw-r--r--src/StardewModdingAPI/Framework/InternalExtensions.cs131
-rw-r--r--src/StardewModdingAPI/Framework/Logging/ConsoleInterceptionManager.cs86
-rw-r--r--src/StardewModdingAPI/Framework/Logging/InterceptingTextWriter.cs63
-rw-r--r--src/StardewModdingAPI/Framework/Logging/LogFileManager.cs57
-rw-r--r--src/StardewModdingAPI/Framework/ModHelpers/BaseHelper.cs23
-rw-r--r--src/StardewModdingAPI/Framework/ModHelpers/CommandHelper.cs54
-rw-r--r--src/StardewModdingAPI/Framework/ModHelpers/ContentHelper.cs476
-rw-r--r--src/StardewModdingAPI/Framework/ModHelpers/ModHelper.cs129
-rw-r--r--src/StardewModdingAPI/Framework/ModHelpers/ModRegistryHelper.cs48
-rw-r--r--src/StardewModdingAPI/Framework/ModHelpers/ReflectionHelper.cs200
-rw-r--r--src/StardewModdingAPI/Framework/ModHelpers/TranslationHelper.cs140
-rw-r--r--src/StardewModdingAPI/Framework/ModLoading/AssemblyDefinitionResolver.cs61
-rw-r--r--src/StardewModdingAPI/Framework/ModLoading/AssemblyLoadStatus.cs15
-rw-r--r--src/StardewModdingAPI/Framework/ModLoading/AssemblyLoader.cs333
-rw-r--r--src/StardewModdingAPI/Framework/ModLoading/AssemblyParseResult.cs36
-rw-r--r--src/StardewModdingAPI/Framework/ModLoading/Finders/EventFinder.cs82
-rw-r--r--src/StardewModdingAPI/Framework/ModLoading/Finders/FieldFinder.cs82