summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitattributes2
-rw-r--r--.gitignore35
-rw-r--r--CONTRIBUTING.md17
-rw-r--r--LICENSE165
-rw-r--r--README.md184
-rw-r--r--docs/imgs/SMAPI.pngbin0 -> 252371 bytes
-rw-r--r--release-notes.md463
-rw-r--r--src/.editorconfig68
-rw-r--r--src/GlobalAssemblyInfo.cs6
-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.cs746
-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.Tests/Core/ModResolverTests.cs556
-rw-r--r--src/StardewModdingAPI.Tests/Core/TranslationTests.cs357
-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.sln86
-rw-r--r--src/StardewModdingAPI.sln.DotSettings19
-rw-r--r--src/StardewModdingAPI/App.config9
-rw-r--r--src/StardewModdingAPI/Command.cs159
-rw-r--r--src/StardewModdingAPI/Config.cs188
-rw-r--r--src/StardewModdingAPI/Constants.cs165
-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/EventArgsCommand.cs28
-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/EventArgsFarmerChanged.cs33
-rw-r--r--src/StardewModdingAPI/Events/EventArgsGameLocationsChanged.cs27
-rw-r--r--src/StardewModdingAPI/Events/EventArgsInput.cs126
-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/EventArgsLoadedGameChanged.cs27
-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/EventArgsNewDay.cs37
-rw-r--r--src/StardewModdingAPI/Events/EventArgsStringChanged.cs31
-rw-r--r--src/StardewModdingAPI/Events/EventArgsValueChanged.cs31
-rw-r--r--src/StardewModdingAPI/Events/GameEvents.cs216
-rw-r--r--src/StardewModdingAPI/Events/GraphicsEvents.cs116
-rw-r--r--src/StardewModdingAPI/Events/InputEvents.cs45
-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.cs115
-rw-r--r--src/StardewModdingAPI/Events/SaveEvents.cs56
-rw-r--r--src/StardewModdingAPI/Events/TimeEvents.cs163
-rw-r--r--src/StardewModdingAPI/Framework/Command.cs40
-rw-r--r--src/StardewModdingAPI/Framework/CommandManager.cs117
-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.cs37
-rw-r--r--src/StardewModdingAPI/Framework/DeprecationLevel.cs15
-rw-r--r--src/StardewModdingAPI/Framework/DeprecationManager.cs121
-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.cs202
-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.cs317
-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
-rw-r--r--src/StardewModdingAPI/Framework/ModLoading/Finders/MethodFinder.cs82
-rw-r--r--src/StardewModdingAPI/Framework/ModLoading/Finders/PropertyFinder.cs82
-rw-r--r--src/StardewModdingAPI/Framework/ModLoading/Finders/TypeFinder.cs133
-rw-r--r--src/StardewModdingAPI/Framework/ModLoading/IInstructionHandler.cs34
-rw-r--r--src/StardewModdingAPI/Framework/ModLoading/IncompatibleInstructionException.cs35
-rw-r--r--src/StardewModdingAPI/Framework/ModLoading/InstructionHandleResult.cs21
-rw-r--r--src/StardewModdingAPI/Framework/ModLoading/InvalidModStateException.cs14
-rw-r--r--src/StardewModdingAPI/Framework/ModLoading/ModDependencyStatus.cs18
-rw-r--r--src/StardewModdingAPI/Framework/ModLoading/ModMetadata.cs68
-rw-r--r--src/StardewModdingAPI/Framework/ModLoading/ModMetadataStatus.cs12
-rw-r--r--src/StardewModdingAPI/Framework/ModLoading/ModResolver.cs374
-rw-r--r--src/StardewModdingAPI/Framework/ModLoading/Platform.cs12
-rw-r--r--src/StardewModdingAPI/Framework/ModLoading/PlatformAssemblyMap.cs55
-rw-r--r--src/StardewModdingAPI/Framework/ModLoading/RewriteHelper.cs94
-rw-r--r--src/StardewModdingAPI/Framework/ModLoading/Rewriters/FieldReplaceRewriter.cs50
-rw-r--r--src/StardewModdingAPI/Framework/ModLoading/Rewriters/FieldToPropertyRewriter.cs51
-rw-r--r--src/StardewModdingAPI/Framework/ModLoading/Rewriters/Method