diff --git a/.idea/gradle.xml b/.idea/gradle.xml index 7b46144..a0de2a1 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -7,7 +7,7 @@ - + diff --git a/app/src/main/assets/apk/Mono.Android.dll b/app/src/main/assets/apk/Mono.Android.dll index 2fe212d..3c823e3 100644 Binary files a/app/src/main/assets/apk/Mono.Android.dll and b/app/src/main/assets/apk/Mono.Android.dll differ diff --git a/app/src/main/assets/apk/Mono.Security.dll b/app/src/main/assets/apk/Mono.Security.dll index dc77592..abacf9e 100644 Binary files a/app/src/main/assets/apk/Mono.Security.dll and b/app/src/main/assets/apk/Mono.Security.dll differ diff --git a/app/src/main/assets/apk/Newtonsoft.Json.dll b/app/src/main/assets/apk/Newtonsoft.Json.dll index b501fb6..b0ad409 100644 Binary files a/app/src/main/assets/apk/Newtonsoft.Json.dll and b/app/src/main/assets/apk/Newtonsoft.Json.dll differ diff --git a/app/src/main/assets/apk/OpenTK-1.0.dll b/app/src/main/assets/apk/OpenTK-1.0.dll deleted file mode 100644 index b0d45e0..0000000 Binary files a/app/src/main/assets/apk/OpenTK-1.0.dll and /dev/null differ diff --git a/app/src/main/assets/apk/SMAPI.Toolkit.CoreInterfaces.dll b/app/src/main/assets/apk/SMAPI.Toolkit.CoreInterfaces.dll index 1e2db88..4cd25b6 100644 Binary files a/app/src/main/assets/apk/SMAPI.Toolkit.CoreInterfaces.dll and b/app/src/main/assets/apk/SMAPI.Toolkit.CoreInterfaces.dll differ diff --git a/app/src/main/assets/apk/SMAPI.Toolkit.dll b/app/src/main/assets/apk/SMAPI.Toolkit.dll index fbbeb70..8f35cc5 100644 Binary files a/app/src/main/assets/apk/SMAPI.Toolkit.dll and b/app/src/main/assets/apk/SMAPI.Toolkit.dll differ diff --git a/app/src/main/assets/apk/StardewModdingAPI.dll b/app/src/main/assets/apk/StardewModdingAPI.dll index 26dceff..0d67b4e 100644 Binary files a/app/src/main/assets/apk/StardewModdingAPI.dll and b/app/src/main/assets/apk/StardewModdingAPI.dll differ diff --git a/app/src/main/assets/apk/System.ComponentModel.Composition.dll b/app/src/main/assets/apk/System.ComponentModel.Composition.dll index 34661c0..0ad53f6 100644 Binary files a/app/src/main/assets/apk/System.ComponentModel.Composition.dll and b/app/src/main/assets/apk/System.ComponentModel.Composition.dll differ diff --git a/app/src/main/assets/apk/System.Core.dll b/app/src/main/assets/apk/System.Core.dll index 4ad7ac3..e27a672 100644 Binary files a/app/src/main/assets/apk/System.Core.dll and b/app/src/main/assets/apk/System.Core.dll differ diff --git a/app/src/main/assets/apk/System.Data.DataSetExtensions.dll b/app/src/main/assets/apk/System.Data.DataSetExtensions.dll index 4d892bc..79e9bce 100644 Binary files a/app/src/main/assets/apk/System.Data.DataSetExtensions.dll and b/app/src/main/assets/apk/System.Data.DataSetExtensions.dll differ diff --git a/app/src/main/assets/apk/System.Data.dll b/app/src/main/assets/apk/System.Data.dll index 7bb09b8..9d9507c 100644 Binary files a/app/src/main/assets/apk/System.Data.dll and b/app/src/main/assets/apk/System.Data.dll differ diff --git a/app/src/main/assets/apk/System.Drawing.Common.dll b/app/src/main/assets/apk/System.Drawing.Common.dll deleted file mode 100644 index 23285d7..0000000 Binary files a/app/src/main/assets/apk/System.Drawing.Common.dll and /dev/null differ diff --git a/app/src/main/assets/apk/System.IO.Compression.FileSystem.dll b/app/src/main/assets/apk/System.IO.Compression.FileSystem.dll index 082419b..f2dce7f 100644 Binary files a/app/src/main/assets/apk/System.IO.Compression.FileSystem.dll and b/app/src/main/assets/apk/System.IO.Compression.FileSystem.dll differ diff --git a/app/src/main/assets/apk/System.IO.Compression.dll b/app/src/main/assets/apk/System.IO.Compression.dll index 5515acb..cd27bb3 100644 Binary files a/app/src/main/assets/apk/System.IO.Compression.dll and b/app/src/main/assets/apk/System.IO.Compression.dll differ diff --git a/app/src/main/assets/apk/System.Net.Http.dll b/app/src/main/assets/apk/System.Net.Http.dll index e7b3cda..a2cb5bb 100644 Binary files a/app/src/main/assets/apk/System.Net.Http.dll and b/app/src/main/assets/apk/System.Net.Http.dll differ diff --git a/app/src/main/assets/apk/System.Numerics.dll b/app/src/main/assets/apk/System.Numerics.dll index 8613f35..271b29b 100644 Binary files a/app/src/main/assets/apk/System.Numerics.dll and b/app/src/main/assets/apk/System.Numerics.dll differ diff --git a/app/src/main/assets/apk/System.Runtime.Serialization.dll b/app/src/main/assets/apk/System.Runtime.Serialization.dll deleted file mode 100644 index 915f27c..0000000 Binary files a/app/src/main/assets/apk/System.Runtime.Serialization.dll and /dev/null differ diff --git a/app/src/main/assets/apk/System.Runtime.dll b/app/src/main/assets/apk/System.Runtime.dll index c124dbf..27906a6 100644 Binary files a/app/src/main/assets/apk/System.Runtime.dll and b/app/src/main/assets/apk/System.Runtime.dll differ diff --git a/app/src/main/assets/apk/System.ServiceModel.Internals.dll b/app/src/main/assets/apk/System.ServiceModel.Internals.dll deleted file mode 100644 index 8ad7e8b..0000000 Binary files a/app/src/main/assets/apk/System.ServiceModel.Internals.dll and /dev/null differ diff --git a/app/src/main/assets/apk/System.Transactions.dll b/app/src/main/assets/apk/System.Transactions.dll index f4d7173..7b40ec6 100644 Binary files a/app/src/main/assets/apk/System.Transactions.dll and b/app/src/main/assets/apk/System.Transactions.dll differ diff --git a/app/src/main/assets/apk/System.Web.Services.dll b/app/src/main/assets/apk/System.Web.Services.dll index a09906a..df41fbf 100644 Binary files a/app/src/main/assets/apk/System.Web.Services.dll and b/app/src/main/assets/apk/System.Web.Services.dll differ diff --git a/app/src/main/assets/apk/System.Xml.dll b/app/src/main/assets/apk/System.Xml.dll index 93729da..cb847a5 100644 Binary files a/app/src/main/assets/apk/System.Xml.dll and b/app/src/main/assets/apk/System.Xml.dll differ diff --git a/app/src/main/assets/apk/System.dll b/app/src/main/assets/apk/System.dll index d5969bf..a90a229 100644 Binary files a/app/src/main/assets/apk/System.dll and b/app/src/main/assets/apk/System.dll differ diff --git a/app/src/main/assets/apk/mscorlib.dll b/app/src/main/assets/apk/mscorlib.dll index a2ac827..041dc8b 100644 Binary files a/app/src/main/assets/apk/mscorlib.dll and b/app/src/main/assets/apk/mscorlib.dll differ diff --git a/app/src/main/assets/apk/netstandard.dll b/app/src/main/assets/apk/netstandard.dll index 118f814..0f46724 100644 Binary files a/app/src/main/assets/apk/netstandard.dll and b/app/src/main/assets/apk/netstandard.dll differ diff --git a/app/src/main/assets/apk_files_manifest.json b/app/src/main/assets/apk_files_manifest.json index 7f3dfe3..0f816b8 100644 --- a/app/src/main/assets/apk_files_manifest.json +++ b/app/src/main/assets/apk_files_manifest.json @@ -1,12 +1,8 @@ { - "minBuildCode": 148, + "minBuildCode": 162, "maxBuildCode": null, "basePath": "", - "targetPackageName": [ - "com.chucklefish.stardewvalley", - "com.zane.stardewvalley", - "com.martyrpher.stardewvalley" - ], + "targetPackageName": ["com.chucklefish.stardewvalley"], "manifestEntries": [ { "targetPath": "classes.dex", @@ -74,47 +70,11 @@ "compression": 8, "external": false }, - { - "targetPath": "assemblies/0Harmony.dll", - "assetPath": "smapi/0Harmony.dll", - "compression": 0, - "external": false - }, - { - "targetPath": "assemblies/Mono.Cecil.dll", - "assetPath": "smapi/Mono.Cecil.dll", - "compression": 0, - "external": false - }, - { - "targetPath": "assemblies/MonoMod.RuntimeDetour.dll", - "assetPath": "smapi/MonoMod.RuntimeDetour.dll", - "compression": 0, - "external": false - }, - { - "targetPath": "assemblies/MonoMod.Utils.dll", - "assetPath": "smapi/MonoMod.Utils.dll", - "compression": 0, - "external": false - }, - { - "targetPath": "assemblies/System.Xml.Linq.dll", - "assetPath": "smapi/System.Xml.Linq.dll", - "compression": 0, - "external": false - }, - { - "targetPath": "assemblies/TMXTile.dll", - "assetPath": "smapi/TMXTile.dll", - "compression": 0, - "external": false - }, { "targetPath": "assemblies/", - "assetPath": "assemblies/*.dll", + "assetPath": "assemblies/assemblies.blob", "origin": 1, - "isXALZ": true, + "isXABB": true, "compression": 0, "external": false } diff --git a/app/src/main/assets/smapi/0Harmony.dll b/app/src/main/assets/smapi/0Harmony.dll deleted file mode 100644 index 2e893d0..0000000 Binary files a/app/src/main/assets/smapi/0Harmony.dll and /dev/null differ diff --git a/app/src/main/assets/smapi/Mono.Cecil.dll b/app/src/main/assets/smapi/Mono.Cecil.dll deleted file mode 100644 index 1d8f94b..0000000 Binary files a/app/src/main/assets/smapi/Mono.Cecil.dll and /dev/null differ diff --git a/app/src/main/assets/smapi/MonoMod.RuntimeDetour.dll b/app/src/main/assets/smapi/MonoMod.RuntimeDetour.dll deleted file mode 100644 index ec1859a..0000000 Binary files a/app/src/main/assets/smapi/MonoMod.RuntimeDetour.dll and /dev/null differ diff --git a/app/src/main/assets/smapi/MonoMod.Utils.dll b/app/src/main/assets/smapi/MonoMod.Utils.dll deleted file mode 100644 index 956871c..0000000 Binary files a/app/src/main/assets/smapi/MonoMod.Utils.dll and /dev/null differ diff --git a/app/src/main/assets/smapi/System.Xml.Linq.dll b/app/src/main/assets/smapi/System.Xml.Linq.dll deleted file mode 100644 index 7ffc57b..0000000 Binary files a/app/src/main/assets/smapi/System.Xml.Linq.dll and /dev/null differ diff --git a/app/src/main/assets/smapi/TMXTile.dll b/app/src/main/assets/smapi/TMXTile.dll deleted file mode 100644 index 46f9dee..0000000 Binary files a/app/src/main/assets/smapi/TMXTile.dll and /dev/null differ diff --git a/app/src/main/assets/smapi/config.json b/app/src/main/assets/smapi/config.json index d30425c..0d00db4 100644 --- a/app/src/main/assets/smapi/config.json +++ b/app/src/main/assets/smapi/config.json @@ -6,13 +6,27 @@ This file contains advanced configuration for SMAPI. You generally shouldn't cha The default values are mirrored in StardewModdingAPI.Framework.Models.SConfig to log custom changes. +This file is overwritten each time you update or reinstall SMAPI. To avoid losing custom settings, +create a 'config.user.json' file in the same folder with *only* the settings you want to change. +That file won't be overwritten, and any settings in it will override the default options. Don't +copy all the settings, or you may cause bugs due to overridden changes in future SMAPI versions. + + */ { /** - * Whether SMAPI should log more information about the game context. + * The logs for which to enable verbose logging, which may show a lot more information to + * simplify troubleshooting. + * + * The possible values are: + * - "*" for everything (not recommended); + * - "SMAPI" for messages from SMAPI itself; + * - mod IDs from their manifest.json files. + * + * For example: [ "SMAPI", "Pathoschild.ContentPatcher" ] */ - "VerboseLogging": false, + "VerboseLogging": [], /** * Whether SMAPI should check for newer versions of SMAPI and mods when you load the game. If new @@ -25,32 +39,51 @@ The default values are mirrored in StardewModdingAPI.Framework.Models.SConfig to * Whether to enable features intended for mod developers. Currently this only makes TRACE-level * messages appear in the console. */ - "DeveloperMode": false, + "DeveloperMode": true, + + /** + * Whether SMAPI should listen for console input. Disabling this will prevent you from using + * console commands. On some specific Linux systems, disabling this may reduce CPU usage. + */ + "ListenForConsoleInput": true, + + /** + * Whether SMAPI should rewrite mods for compatibility. This may prevent older mods from + * loading, but bypasses a Visual Studio crash when debugging. + */ + "RewriteMods": true, + + /** + * Whether to make SMAPI file APIs case-insensitive (even if the filesystem is case-sensitive). + * + * If null, it's only enabled on Android and Linux. + */ + "UseCaseInsensitivePaths": null, /** * Whether to add a section to the 'mod issues' list for mods which directly use potentially * sensitive .NET APIs like file or shell access. Note that many mods do this legitimately as * part of their normal functionality, so these warnings are meaningless without further - * investigation. When this is commented out, it'll be true for local debug builds and false - * otherwise. + * investigation. + * + * If null, it's only enabled for local debug builds. */ - //"ParanoidWarnings": true, + "ParanoidWarnings": null, /** - * Whether SMAPI should show newer beta versions as an available update. When this is commented - * out, it'll be true if the current SMAPI version is beta, and false otherwise. + * Whether SMAPI should show newer beta versions as an available update. + * + * If null, it's only enabled if the current SMAPI version is beta. */ - //"UseBetaChannel": true, + "UseBetaChannel": null, /** * SMAPI's GitHub project name, used to perform update checks. */ - "GitHubProjectName": "MartyrPher/SMAPI-Android-Installer", + "GitHubProjectName": "Pathoschild/SMAPI", /** * The base URL for SMAPI's web API, used to perform update checks. - * Note: the protocol will be changed to http:// on Linux/Mac due to OpenSSL issues with the - * game's bundled Mono. */ "WebApiBaseUrl": "https://smapi.io/api/", @@ -59,20 +92,15 @@ The default values are mirrored in StardewModdingAPI.Framework.Models.SConfig to */ "LogNetworkTraffic": false, - /** - * Whether to generate a 'SMAPI-latest.metadata-dump.json' file in the logs folder with the full mod - * metadata for detected mods. This is only needed when troubleshooting some cases. - */ - "DumpMetadata": false, - /** * The colors to use for text written to the SMAPI console. * * The possible values for 'UseScheme' are: - * - AutoDetect: SMAPI will assume a light background on Mac, and detect the background color + * - AutoDetect: SMAPI will assume a light background on macOS, and detect the background color * automatically on Linux or Windows. * - LightBackground: use darker text colors that look better on a white or light background. * - DarkBackground: use lighter text colors that look better on a black or dark background. + * - None: disables all colors, so everything is written in the default terminal color. * * For available color codes, see https://docs.microsoft.com/en-us/dotnet/api/system.consolecolor. * @@ -104,11 +132,32 @@ The default values are mirrored in StardewModdingAPI.Framework.Models.SConfig to } }, + /** + * Whether to prevent mods from enabling Harmony's debug mode, which impacts performance and + * creates a file on your desktop. Debug mode should never be enabled by a released mod. + * + * If you actually need debug mode to test your own mod, set this to false. + */ + "SuppressHarmonyDebugMode": true, + /** * The mod IDs SMAPI should ignore when performing update checks or validating update keys. */ "SuppressUpdateChecks": [ "SMAPI.ConsoleCommands", + "SMAPI.ErrorHandler", "SMAPI.SaveBackup" - ] + ], + + /** + * The mod IDs SMAPI should load before any other mods (except those needed to load them) + * or after any other mods. + * + * This lets you manually fix the load order if needed, but this is a last resort — SMAPI + * automatically adjusts the load order based on mods' dependencies, so needing to manually + * edit the order is usually a problem with one or both mods' metadata that can be reported to + * the mod author. + */ + "ModsToLoadEarly": [], + "ModsToLoadLate": [] } diff --git a/app/src/main/assets/smapi/i18n/de.json b/app/src/main/assets/smapi/i18n/de.json index a8b3086..595c3ef 100644 --- a/app/src/main/assets/smapi/i18n/de.json +++ b/app/src/main/assets/smapi/i18n/de.json @@ -1,3 +1,6 @@ { - "warn.invalid-content-removed": "Ungültiger Inhalt wurde entfernt, um einen Absturz zu verhindern (siehe SMAPI Konsole für weitere Informationen)." + // short date format for SDate + // tokens: {{day}} (like 15), {{season}} (like Spring), {{seasonLowercase}} (like spring), {{year}} (like 2) + "generic.date": "{{season}} {{day}}", + "generic.date-with-year": "{{season}} {{day}} im Jahr {{year}}" } diff --git a/app/src/main/assets/smapi/i18n/default.json b/app/src/main/assets/smapi/i18n/default.json index 4464316..b9fa1c8 100644 --- a/app/src/main/assets/smapi/i18n/default.json +++ b/app/src/main/assets/smapi/i18n/default.json @@ -1,5 +1,8 @@ { - "warn.invalid-content-removed": "Invalid content was removed to prevent a crash (see the SMAPI console for info).", + // short date format for SDate + // tokens: {{day}} (like 15), {{season}} (like Spring), {{seasonLowercase}} (like spring), {{year}} (like 2) + "generic.date": "{{season}} {{day}}", + "generic.date-with-year": "{{season}} {{day}} in year {{year}}", "warn.save-broken": "Load save failed, your save file may be broken.You can swap to previous day's save, or restore save files manually with save backups.Backup provided by SMAPI was located at StardewValley/smapi-internal/save-backups", "btn.swap": "Swap", "btn.back": "Back" diff --git a/app/src/main/assets/smapi/i18n/es.json b/app/src/main/assets/smapi/i18n/es.json index f5a74df..76228d7 100644 --- a/app/src/main/assets/smapi/i18n/es.json +++ b/app/src/main/assets/smapi/i18n/es.json @@ -1,3 +1,6 @@ { - "warn.invalid-content-removed": "Se ha quitado contenido inválido para evitar un cierre forzoso (revisa la consola de SMAPI para más información)." + // short date format for SDate + // tokens: {{day}} (like 15), {{season}} (like Spring), {{seasonLowercase}} (like spring), {{year}} (like 2) + "generic.date": "{{seasonLowercase}} {{day}}", + "generic.date-with-year": "{{seasonLowercase}} {{day}} del año {{year}}" } diff --git a/app/src/main/assets/smapi/i18n/fr.json b/app/src/main/assets/smapi/i18n/fr.json index 6d05102..e32ee71 100644 --- a/app/src/main/assets/smapi/i18n/fr.json +++ b/app/src/main/assets/smapi/i18n/fr.json @@ -1,3 +1,6 @@ { - "warn.invalid-content-removed": "Le contenu non valide a été supprimé afin d'éviter un plantage (voir la console de SMAPI pour plus d'informations)." + // short date format for SDate + // tokens: {{day}} (like 15), {{season}} (like Spring), {{seasonLowercase}} (like spring), {{year}} (like 2) + "generic.date": "{{day}} {{seasonLowercase}}", + "generic.date-with-year": "{{day}} {{seasonLowercase}} de l'année {{year}}" } diff --git a/app/src/main/assets/smapi/i18n/hu.json b/app/src/main/assets/smapi/i18n/hu.json index aa0c754..2e3b726 100644 --- a/app/src/main/assets/smapi/i18n/hu.json +++ b/app/src/main/assets/smapi/i18n/hu.json @@ -1,3 +1,6 @@ { - "warn.invalid-content-removed": "Érvénytelen elemek kerültek eltávolításra, hogy a játék ne omoljon össze (további információk a SMAPI konzolon)." + // short date format for SDate + // tokens: {{day}} (like 15), {{season}} (like Spring), {{seasonLowercase}} (like spring), {{year}} (like 2) + "generic.date": "{{season}} {{day}}", + "generic.date-with-year": "{{year}}. év {{season}} {{day}}" } diff --git a/app/src/main/assets/smapi/i18n/it.json b/app/src/main/assets/smapi/i18n/it.json index 4349301..7ada11f 100644 --- a/app/src/main/assets/smapi/i18n/it.json +++ b/app/src/main/assets/smapi/i18n/it.json @@ -1,3 +1,6 @@ { - "warn.invalid-content-removed": "Contenuto non valido rimosso per prevenire un crash (Guarda la console di SMAPI per maggiori informazioni)." + // short date format for SDate + // tokens: {{day}} (like 15), {{season}} (like Spring), {{seasonLowercase}} (like spring), {{year}} (like 2) + "generic.date": "{{day}} {{season}}", + "generic.date-with-year": "{{day}} {{season}} dell'anno {{year}}" } diff --git a/app/src/main/assets/smapi/i18n/ja.json b/app/src/main/assets/smapi/i18n/ja.json index 9bbc285..c95ac1b 100644 --- a/app/src/main/assets/smapi/i18n/ja.json +++ b/app/src/main/assets/smapi/i18n/ja.json @@ -1,3 +1,6 @@ { - "warn.invalid-content-removed": "クラッシュを防ぐために無効なコンテンツを取り除きました (詳細はSMAPIコンソールを参照)" + // short date format for SDate + // tokens: {{day}} (like 15), {{season}} (like Spring), {{seasonLowercase}} (like spring), {{year}} (like 2) + "generic.date": "{{season}} {{day}}日", + "generic.date-with-year": "{{year}}年目 {{season}} {{day}}日" } diff --git a/app/src/main/assets/smapi/i18n/ko.json b/app/src/main/assets/smapi/i18n/ko.json new file mode 100644 index 0000000..8d267e5 --- /dev/null +++ b/app/src/main/assets/smapi/i18n/ko.json @@ -0,0 +1,6 @@ +{ + // short date format for SDate + // tokens: {{day}} (like 15), {{season}} (like Spring), {{seasonLowercase}} (like spring), {{year}} (like 2) + "generic.date": "{{season}} {{day}}", + "generic.date-with-year": "{{year}} 학년 {{season}} {{day}}" +} diff --git a/app/src/main/assets/smapi/i18n/pl.json b/app/src/main/assets/smapi/i18n/pl.json new file mode 100644 index 0000000..fa4650a --- /dev/null +++ b/app/src/main/assets/smapi/i18n/pl.json @@ -0,0 +1,6 @@ +{ + // short date format for SDate + // tokens: {{day}} (like 15), {{season}} (like Spring), {{seasonLowercase}} (like spring), {{year}} (like 2) + "generic.date": "{{day}} {{seasonLowercase}}", + "generic.date-with-year": "{{day}} {{seasonLowercase}} w roku {{year}}" +} diff --git a/app/src/main/assets/smapi/i18n/pt.json b/app/src/main/assets/smapi/i18n/pt.json index 5927368..7a08b08 100644 --- a/app/src/main/assets/smapi/i18n/pt.json +++ b/app/src/main/assets/smapi/i18n/pt.json @@ -1,3 +1,6 @@ { - "warn.invalid-content-removed": "Conteúdo inválido foi removido para prevenir uma falha (veja o console do SMAPI para mais informações)." + // short date format for SDate + // tokens: {{day}} (like 15), {{season}} (like Spring), {{seasonLowercase}} (like spring), {{year}} (like 2) + "generic.date": "{{season}} {{day}}", + "generic.date-with-year": "{{season}} {{day}} no ano {{year}}" } diff --git a/app/src/main/assets/smapi/i18n/ru.json b/app/src/main/assets/smapi/i18n/ru.json index a6a242f..b8ff55c 100644 --- a/app/src/main/assets/smapi/i18n/ru.json +++ b/app/src/main/assets/smapi/i18n/ru.json @@ -1,3 +1,6 @@ { - "warn.invalid-content-removed": "Недопустимое содержимое было удалено, чтобы предотвратить сбой (см. информацию в консоли SMAPI)" + // short date format for SDate + // tokens: {{day}} (like 15), {{season}} (like Spring), {{seasonLowercase}} (like spring), {{year}} (like 2) + "generic.date": "{{season}}, {{day}}-е число", + "generic.date-with-year": "{{season}}, {{day}}-е число, {{year}}-й год" } diff --git a/app/src/main/assets/smapi/i18n/th.json b/app/src/main/assets/smapi/i18n/th.json new file mode 100644 index 0000000..361b7aa --- /dev/null +++ b/app/src/main/assets/smapi/i18n/th.json @@ -0,0 +1,6 @@ +{ + // short date format for SDate + // tokens: {{day}} (like 15), {{season}} (like Spring), {{seasonLowercase}} (like spring), {{year}} (like 2) + "generic.date": "วันที่ {{day}} {{season}}", + "generic.date-with-year": "วันที่ {{day}} {{season}} ปีที่ {{year}}" +} diff --git a/app/src/main/assets/smapi/i18n/tr.json b/app/src/main/assets/smapi/i18n/tr.json index 34229f2..ba0c33c 100644 --- a/app/src/main/assets/smapi/i18n/tr.json +++ b/app/src/main/assets/smapi/i18n/tr.json @@ -1,3 +1,6 @@ { - "warn.invalid-content-removed": "Yanlış paketlenmiş bir içerik, oyunun çökmemesi için yüklenmedi (SMAPI konsol penceresinde detaylı bilgi mevcut)." + // short date format for SDate + // tokens: {{day}} (like 15), {{season}} (like Spring), {{seasonLowercase}} (like spring), {{year}} (like 2) + "generic.date": "{{day}} {{season}}", + "generic.date-with-year": "{{day}} {{season}} Yıl {{year}}" } diff --git a/app/src/main/assets/smapi/i18n/uk.json b/app/src/main/assets/smapi/i18n/uk.json index 6554254..a428636 100644 --- a/app/src/main/assets/smapi/i18n/uk.json +++ b/app/src/main/assets/smapi/i18n/uk.json @@ -1,6 +1,6 @@ { - "warn.invalid-content-removed": "Недійсний вміст видалено, щоб запобігти аварійному завершенню роботи (Додаткову інформацію див. на консолі SMAPI).", - "warn.save-broken": "Помилка завантаження збереження, ваше збереження може бути пошкоджене. Ви можете замінити його на попередній день збереження або відновити файли збереження вручну з резервними копіями. Резервні копії, надані SMAPI, знаходяться у StardewValley/smapi-internal/save-backups", - "btn.swap": "Замінити", - "btn.back": "Назад" + // short date format for SDate + // tokens: {{day}} (like 15), {{season}} (like Spring), {{seasonLowercase}} (like spring), {{year}} (like 2) + "generic.date": "{{season}}, {{day}}-й день", + "generic.date-with-year": "{{season}}, {{day}}-й день, {{year}} рік" } diff --git a/app/src/main/assets/smapi/i18n/zh.json b/app/src/main/assets/smapi/i18n/zh.json index 29a536d..36d459d 100644 --- a/app/src/main/assets/smapi/i18n/zh.json +++ b/app/src/main/assets/smapi/i18n/zh.json @@ -1,6 +1,6 @@ { - "warn.invalid-content-removed": "非法内容已移除以防游戏闪退(查看SMAPI控制台获得更多信息)", - "warn.save-broken": "无法加载该存档,存档可能已损坏.你可以切换到前一日的存档,或者手动恢复到备份的存档.SMAPI提供的备份文件位于: StardewValley/smapi-internal/save-backups", - "btn.swap": "切换", - "btn.back": "返回" + // short date format for SDate + // tokens: {{day}} (like 15), {{season}} (like Spring), {{seasonLowercase}} (like spring), {{year}} (like 2) + "generic.date": "{{season}}{{day}}日", + "generic.date-with-year": "第{{year}}年{{season}}{{day}}日" } diff --git a/app/src/main/assets/smapi/metadata.json b/app/src/main/assets/smapi/metadata.json index 989e7d7..d654b18 100644 --- a/app/src/main/assets/smapi/metadata.json +++ b/app/src/main/assets/smapi/metadata.json @@ -3,6 +3,7 @@ * Metadata about some SMAPI mods used in compatibility, update, and dependency checks. This * field shouldn't be edited by players in most cases. * + * * Standard fields * =============== * The predefined fields are documented below (only 'ID' is required). Each entry's key is the @@ -14,6 +15,10 @@ * other fields if no ID was specified. This doesn't include the latest ID, if any. Multiple * variants can be separated with '|'. * + * - SuppressWarnings: the mod warnings to suppress, even if they'd normally be shown. This + * should match the ModWarning enum. + * + * * Versioned metadata * ================== * Each record can also specify extra metadata using the field keys below. @@ -42,10 +47,18 @@ * - StatusReasonPhrase: a message to show to the player explaining why the mod can't be loaded * (if applicable). If blank, will default to a generic not-compatible message. * - * - AlternativeUrl: a URL where the player can find an unofficial update or alternative if the - * mod is no longer compatible. + * - StatusReasonDetails: a technical reason shown in TRACE logs, indicating why the status + * was overridden. If not provided, it defaults to the StatusReasonPhrase or 'no reason given'. */ "ModData": { + /********* + ** Mods bundles with SMAPI + *********/ + "Error Handler": { + "ID": "SMAPI.ErrorHandler", + "SuppressWarnings": "PatchesGame" + }, + /********* ** Common dependencies for friendly errors *********/ @@ -54,15 +67,15 @@ "Default | UpdateKey": "Nexus:2270" }, - //"Content Patcher": { - // "ID": "Pathoschild.ContentPatcher", - // "Default | UpdateKey": "Nexus:1915" - //}, + "Content Patcher": { + "ID": "Pathoschild.ContentPatcher", + "Default | UpdateKey": "Nexus:1915" + }, - //"Custom Farming Redux": { - // "ID": "Platonymous.CustomFarming", - // "Default | UpdateKey": "Nexus:991" - //}, + "Custom Farming Redux": { + "ID": "Platonymous.CustomFarming", + "Default | UpdateKey": "Nexus:991" + }, "Custom Shirts": { "ID": "Platonymous.CustomShirts", @@ -76,8 +89,7 @@ "JSON Assets": { "ID": "spacechase0.JsonAssets", - "Default | UpdateKey": "Nexus:1720", - "1.3.1 | Status": "AssumeBroken" // causes runtime crashes + "Default | UpdateKey": "Nexus:1720" }, "Mail Framework": { @@ -87,8 +99,7 @@ "MTN": { "ID": "SgtPickles.MTN", - "Default | UpdateKey": "Nexus:2256", - "~1.2.6 | Status": "AssumeBroken" // replaces Game1.multiplayer, which breaks SMAPI's multiplayer API. + "Default | UpdateKey": "Nexus:2256" }, "PyTK": { @@ -96,12 +107,6 @@ "Default | UpdateKey": "Nexus:1726" }, - "Rubydew": { - "ID": "bwdy.rubydew", - "SuppressWarnings": "UsesDynamic", // mod explicitly loads DLLs for Linux/Mac compatibility - "Default | UpdateKey": "Nexus:3656" - }, - "SpaceCore": { "ID": "spacechase0.SpaceCore", "Default | UpdateKey": "Nexus:1348" @@ -112,7 +117,7 @@ "Default | UpdateKey": "Nexus:2341" }, - "TMX Loader": { + "TMXL Map Toolkit": { "ID": "Platonymous.TMXLoader", "Default | UpdateKey": "Nexus:1820" }, @@ -129,7 +134,7 @@ "Bee House Flower Range Fix": { "ID": "kirbylink.beehousefix", "~ | Status": "Obsolete", - "~ | StatusReasonPhrase": "the bee house flower range was fixed in Stardew Valley 1.4." + "~ | StatusReasonPhrase": "the bee house flower range was fixed in Stardew Valley 1.4." }, "Colored Chests": { @@ -150,17 +155,207 @@ "~ | StatusReasonPhrase": "debug mode was removed in SMAPI 1.0." }, + "Split Screen": { + "ID": "Ilyaki.SplitScreen", + "~ | Status": "Obsolete", + "~ | StatusReasonPhrase": "split-screen mode was added in Stardew Valley 1.5" + }, + + /********* + ** Broke in SMAPI 3.14.0 + *********/ + "CFAutomate": { + "ID": "Platonymous.CFAutomate", + "~2.12.11 | Status": "AssumeBroken", + "~2.12.11 | StatusReasonDetails": "causes runtime errors in newer versions of Automate" + }, + "Dynamic Game Assets": { + "ID": "spacechase0.DynamicGameAssets", + "~1.4.1 | Status": "AssumeBroken", + "~1.4.1 | StatusReasonDetails": "causes runtime errors fixed in Dynamic Game Assets 1.4.2" + }, + + /********* + ** Broke in SDV 1.5.5 + *********/ + "Animated Portrait Framework": { + "ID": "akai.AnimatedPortrait", + "~1.0.0 | Status": "AssumeBroken", + "~1.0.0 | StatusReasonDetails": "requires the 'System.Windows.Forms' API, which isn't available in .NET 5" + }, + "Audio Devices": { + "ID": "maxvollmer.audiodevices", + "~3.0.1 | Status": "AssumeBroken", + "~3.0.1 | StatusReasonDetails": "fails to load due to an outdated implementation of the game's 'IAudioEngine' interface" + }, + "Battery Warning": { + "ID": "Husky110.BatteryWarningMod", + "~1.0.4 | Status": "AssumeBroken", + "~1.0.4 | StatusReasonDetails": "requires the 'System.Management' API, which is a different DLL in .NET 5" + }, + "Junimo Studio": { + "ID": "Becks723.JunimoStudio", + "~2.0.1 | Status": "AssumeBroken", + "~2.0.1 | StatusReasonDetails": "requires 'Microsoft.Xna.Framework.Audio.AudioCategory' which doesn't exist in MonoGame" + }, + "Skip Intro": { + "ID": "Pathoschild.SkipIntro", + "~1.9.1 | Status": "AssumeBroken", + "~1.9.1 | StatusReasonDetails": "causes freeze during game launch" + }, + "Stardew Hack": { + "ID": "bcmpinc.StardewHack", + "~5.1.0 | Status": "AssumeBroken", + "~5.1.0 | StatusReasonDetails": "runtime error when initializing due to an API change between .NET Framework and .NET 5" + }, + "Stardew Valley Expanded": { + "ID": "FlashShifter.SVECode", + "~1.13.11 | Status": "AssumeBroken", + "~1.13.11 | StatusReasonDetails": "fails to load due to an outdated implementation of the game's 'ICue' interface" + }, + "Stardew Web": { + "ID": "prism99.stardewweb", + "~0.7.2 | Status": "AssumeBroken", + "~0.7.2 | StatusReasonDetails": "requires the 'System.Drawing' API, which isn't available in .NET 5" + }, + "Sundrop City": { + "ID": "SundropTeam.SundropCity", + "~0.4.1 | Status": "AssumeBroken", + "~0.4.1 | StatusReasonDetails": "causes freeze during game launch" + }, + "UI Info Suite": { + "ID": "Cdaragorn.UiInfoSuite", + "~2.0.0 | Status": "AssumeBroken", + "~2.0.0 | StatusReasonDetails": "causes lag, errors, or crashes in-game" + }, + "Video Player": { + "ID": "aedenthorn.VideoPlayer", + "~0.2.5 | Status": "AssumeBroken", + "~0.2.5 | StatusReasonDetails": "requires an XNA Framework API that's not available in MonoGame and causes a crash to desktop" + }, + + /********* + ** Broke in SMAPI 3.12.0 + *********/ + "Always Scroll Map": { + "ID": "bcmpinc.AlwaysScrollMap", + "~4.1.0 | Status": "AssumeBroken", + "~4.1.0 | StatusReasonDetails": "causes Harmony patching errors for other mods" // requested by the mod author + }, + "Big Silo": { + "ID": "lperkins2.BigSilo", + "~0.0.3 | Status": "AssumeBroken", + "~0.0.3 | StatusReasonDetails": "not compatible with Harmony 2.x" + }, + "Fix Animal Tools": { + "ID": "bcmpinc.FixAnimalTools", + "~4.1.0 | Status": "AssumeBroken", + "~4.1.0 | StatusReasonDetails": "causes Harmony patching errors for other mods" // requested by the mod author + }, + "Grass Growth": { + "ID": "bcmpinc.GrassGrowth", + "~4.1.0 | Status": "AssumeBroken", + "~4.1.0 | StatusReasonDetails": "causes Harmony patching errors for other mods" // requested by the mod author + }, + "Harvest With Scythe (bcmpinc)": { + "ID": "bcmpinc.HarvestWithScythe", + "~4.1.0 | Status": "AssumeBroken", + "~4.1.0 | StatusReasonDetails": "causes Harmony patching errors for other mods" // requested by the mod author + }, + "Movement Speed": { + "ID": "bcmpinc.MovementSpeed", + "~4.1.0 | Status": "AssumeBroken", + "~4.1.0 | StatusReasonDetails": "causes Harmony patching errors for other mods" // requested by the mod author + }, + "PlatoTK": { + "ID": "Platonymous.PlatoTK", + "~1.9.3 | Status": "AssumeBroken", + "~1.9.3 | StatusReasonDetails": "fails to load with 'ReflectionTypeLoadException' error" + }, + "Tilled Soil Decay": { + "ID": "bcmpinc.TilledSoilDecay", + "~4.1.0 | Status": "AssumeBroken", + "~4.1.0 | StatusReasonDetails": "causes Harmony patching errors for other mods" // requested by the mod author + }, + "Tree Spread": { + "ID": "bcmpinc.TreeSpread", + "~4.2.0 | Status": "AssumeBroken", + "~4.2.0 | StatusReasonDetails": "causes Harmony patching errors for other mods" // requested by the mod author + }, + "Wear More Rings": { + "ID": "bcmpinc.WearMoreRings", + "~4.1.0 | Status": "AssumeBroken", + "~4.1.0 | StatusReasonDetails": "causes Harmony patching errors for other mods" // requested by the mod author + }, + + /********* + ** Broke in SDV 1.5 (Content Patcher packs) + *********/ + "mi.Mermaids": { + "ID": "mi.Mermaids", + "~1.0.0 | Status": "AssumeBroken", + "~1.0.0 | StatusReasonDetails": "causes errors due to removed Stardew Valley 1.5 content" + }, + + /********* + ** Broke in SDV 1.5 (SMAPI mods) + *********/ + "ChestEx": { + "ID": "berkayylmao.ChestEx", + "~1.3.4 | Status": "AssumeBroken", + "~1.3.4 | StatusReasonDetails": "has no effect due to changes in Stardew Valley 1.5, causes crashes in other mods like Chests Anywhere" + }, + + "Custom Furniture": { + "ID": "Platonymous.CustomFurniture", + "~0.11.2 | Status": "AssumeBroken", + "~0.11.2 | StatusReasonDetails": "causes errors and custom furniture no longer work in Stardew Valley 1.5" + }, + + "Custom Localization": { + "ID": "ZaneYork.CustomLocalization", + "FormerIDs": "SMAPI.CustomLocalization", // changed in 1.0.1 + "~1.1 | Status": "AssumeBroken", + "~1.1 | StatusReasonDetails": "reflection error due to renamed _localizedAssets field" + }, + + "Geode Info Menu": { + "ID": "cat.geodeinfomenu", + "~1.5.2 | Status": "AssumeBroken", + "~1.5.2 | StatusReasonDetails": "shows no info, freezes game if you try to search" + }, + + "Mod Settings Tab": { + "ID": "GilarF.ModSettingsTab", + "~0.2.1 | Status": "AssumeBroken", + "~0.2.1 | StatusReasonDetails": "fails extending title menu" + }, + + "More Grass": { + "ID": "EpicBellyFlop45.MoreGrass", + "~1.0.8 | Status": "AssumeBroken", + "~1.0.8 | StatusReasonDetails": "crashes on save load" + }, + + "TreeTransplant": { + "ID": "TreeTransplant", + "~1.0.9 | Status": "AssumeBroken", + "~3.0.0 | StatusReasonDetails": "breaks game launch due to AccessViolationException" + }, + /********* ** Broke in SDV 1.4 *********/ - "Fix Dice": { - "ID": "ashley.fixdice", - "~1.1.2 | Status": "AssumeBroken" // crashes game on startup + "Auto Quality Patch": { + "ID": "SilentOak.AutoQualityPatch", + "~2.1.3-unofficial.7-mizzion | Status": "AssumeBroken", + "~2.1.3-unofficial.7-mizzion | StatusReasonDetails": "broken due to runtime errors" }, - "Grass Growth": { - "ID": "bcmpinc.GrassGrowth", - "~1.0 | Status": "AssumeBroken" + "Fix Dice": { + "ID": "ashley.fixdice", + "~1.1.2 | Status": "AssumeBroken", + "~1.1.2 | StatusReasonDetails": "crashes game on startup" }, "Invite Code Mod": { @@ -188,11 +383,6 @@ "~2.15 | Status": "AssumeBroken" }, - "Yet Another Harvest With Scythe Mod": { - "ID": "bcmpinc.HarvestWithScythe", - "~1.1 | Status": "AssumeBroken" - }, - /********* ** Broke in SMAPI 3.0 (runtime errors due to lifecycle changes) *********/ @@ -201,27 +391,11 @@ "~1.0.0 | Status": "AssumeBroken" }, - "Arcade 2048": { - "ID": "Platonymous.2048", - "~1.0.6 | Status": "AssumeBroken" // possibly due to PyTK - }, - - "Arcade Snake": { - "ID": "Platonymous.Snake", - "~1.1.0 | Status": "AssumeBroken" // possibly due to PyTK - }, - "Better Sprinklers": { "ID": "Speeder.BetterSprinklers", "~2.3.1-unofficial.7-pathoschild | Status": "AssumeBroken" }, - "Content Patcher": { - "ID": "Pathoschild.ContentPatcher", - "Default | UpdateKey": "Nexus:1915", - "~1.6.4 | Status": "AssumeBroken" - }, - "Current Location (Vrakyas)": { "ID": "Vrakyas.CurrentLocation", "~1.5.4 | Status": "AssumeBroken" @@ -232,20 +406,10 @@ "~1.8 | Status": "AssumeBroken" }, - "Custom Farming Redux": { - "ID": "Platonymous.CustomFarming", - "Default | UpdateKey": "Nexus:991", - "~2.10.10 | Status": "AssumeBroken" // possibly due to PyTK - }, - "Decrafting Mod": { "ID": "MSCFC.DecraftingMod", - "~1.0 | Status": "AssumeBroken" // NRE in ModEntry - }, - - "JoJaBan - Arcade Sokoban": { - "ID": "Platonymous.JoJaBan", - "~0.4.3 | Status": "AssumeBroken" // possibly due to PyTK + "~1.0 | Status": "AssumeBroken", + "~1.0 | StatusReasonDetails": "fails due to NullReferenceException in ModEntry" }, "Level Extender": { @@ -263,11 +427,6 @@ "~1.5 | Status": "AssumeBroken" }, - "Seed Bag": { - "ID": "Platonymous.SeedBag", - "~1.2.7 | Status": "AssumeBroken" // possibly due to PyTK - }, - "Stardew Valley ESP": { "ID": "reimu.sdv-helper", "~1.1 | Status": "AssumeBroken" @@ -275,12 +434,14 @@ "Underdark Krobus": { "ID": "melnoelle.underdarkkrobus", - "~1.0.0 | Status": "AssumeBroken" // NRE in ModEntry + "~1.0 | Status": "AssumeBroken", + "~1.0 | StatusReasonDetails": "fails due to NullReferenceException in ModEntry" }, "Underdark Sewer": { "ID": "melnoelle.underdarksewer", - "~1.1.0 | Status": "AssumeBroken" // NRE in ModEntry + "~1.1.0 | Status": "AssumeBroken", + "~1.1.0 | StatusReasonDetails": "fails due to NullReferenceException in ModEntry" }, /********* @@ -289,60 +450,77 @@ "2cute FarmCave": { "ID": "taintedwheat.2CuteFarmCave", "Default | UpdateKey": "Nexus:843", - "~2.0 | Status": "AssumeBroken" // references deleted Content/Mine.xnb + "~2.0 | Status": "AssumeBroken", + "~2.0 | StatusReasonDetails": "references the deleted Content/Mine asset" }, "Ace's Expanded Caves - Default Cave": { "ID": "Acerbicon.AECdefault", "Default | UpdateKey": "Nexus:2131", - "~1.2.2 | Status": "AssumeBroken" // references deleted Content/Mine.xnb + "~1.2.2 | Status": "AssumeBroken", + "~1.2.2 | StatusReasonDetails": "references the deleted Content/Mine asset" }, "Ace's Expanded Caves - Desert Cave": { "ID": "Acerbicon.AECdesert", "Default | UpdateKey": "Nexus:2131", - "~1.2.2 | Status": "AssumeBroken" // references deleted Content/Mine.xnb + "~1.2.2 | Status": "AssumeBroken", + "~1.2.2 | StatusReasonDetails": "references the deleted Content/Mine asset" }, "Ace's Expanded Caves - Ice Cave": { "ID": "Acerbicon.AECice", "Default | UpdateKey": "Nexus:2131", - "~1.2.2 | Status": "AssumeBroken" // references deleted Content/Mine.xnb + "~1.2.2 | Status": "AssumeBroken", + "~1.2.2 | StatusReasonDetails": "references the deleted Content/Mine asset" }, "Ace's Expanded Caves - Lava Cave": { "ID": "Acerbicon.AEClava", "Default | UpdateKey": "Nexus:2131", - "~1.2.2 | Status": "AssumeBroken" // references deleted Content/Mine.xnb + "~1.2.2 | Status": "AssumeBroken", + "~1.2.2 | StatusReasonDetails": "references the deleted Content/Mine asset" }, "Ace's Expanded Caves - Slime Cave": { "ID": "Acerbicon.AECslime", "Default | UpdateKey": "Nexus:2131", - "~1.2.2 | Status": "AssumeBroken" // references deleted Content/Mine.xnb + "~1.2.2 | Status": "AssumeBroken", + "~1.2.2 | StatusReasonDetails": "references the deleted Content/Mine asset" + }, + + "Critical Crow": { + "ID": "leonary.CRCROWS", + "Default | UpdateKey": "Nexus:2663", + "~1.2.2 | Status": "AssumeBroken", + "~1.2.2 | StatusReasonDetails": "removes newer content from the TileSheets/Craftables asset" }, "Green Pastures Farm": { "ID": "bugbuddy.GreenPasturesFarm", "Default | UpdateKey": "Nexus:2326", - "~1.0 | Status": "AssumeBroken" // references deleted Content/weapons.xnb + "~1.0 | Status": "AssumeBroken", + "~1.0 | StatusReasonDetails": "references the deleted Content/weapons asset" }, "Immersive Farm 2": { "ID": "zander.immersivefarm2", - "~2.0.1 | Status": "AssumeBroken" // references deleted Content/Mine.xnb + "~2.0.1 | Status": "AssumeBroken", + "~2.0.1 | StatusReasonDetails": "references the deleted Content/Mine asset" }, "Karmylla's Immersive Map Edits": { "ID": "Karmylla.ImmersiveMapEdits", "Default | UpdateKey": "Nexus:1149", - "~2.4 | Status": "AssumeBroken" // references deleted Content/weapons.xnb + "~2.4 | Status": "AssumeBroken", + "~2.4 | StatusReasonDetails": "references the deleted Content/weapons asset" }, "Secret Gardens Greenhouse": { "ID": "jessebot.secretgardens", "Default | UpdateKey": "Nexus:3067", - "~2.0.1 | Status": "AssumeBroken" // references deleted Content/Mine.xnb + "~2.0.1 | Status": "AssumeBroken", + "~2.0.1 | StatusReasonDetails": "references the deleted Content/Mine asset" }, /********* @@ -350,117 +528,55 @@ *********/ "Canon-Friendly Dialogue Expansion": { "ID": "gizzymo.canonfriendlyexpansion", - "~1.1.1 | Status": "AssumeBroken" // causes a save crash on certain dates + "~1.1.1 | Status": "AssumeBroken", + "~1.1.1 | StatusReasonDetails": "causes a save crash on certain dates" }, "Everytime Submarine": { "ID": "MustafaDemirel.EverytimeSubmarine", - "~1.0.0 | Status": "AssumeBroken" // breaks player saves if their beach bridge is fixed - }, - - "Always Scroll Map": { - "ID": "bcmpinc.AlwaysScrollMap", - "~0.6 | Status": "AssumeBroken" // breaks newer versions of bcmpinc mods (per bcmpinc's request) - }, - - "Arcade Pong": { - "ID": "Platonymous.ArcadePong", - "~1.0.2 | Status": "AssumeBroken" // broke in SMAPI 2.6-beta.16 due to reflection into SMAPI internals + "~1.0.0 | Status": "AssumeBroken", + "~1.1.1 | StatusReasonDetails": "breaks player saves if their beach bridge is fixed" }, "BJS Night Sounds": { "ID": "BunnyJumps.BJSNightSounds", - "~1.0.0 | Status": "AssumeBroken" // runtime errors with Harmony 1.2.0.1 in SMAPI 2.8+ - }, - - "Craft Counter": { - "ID": "bcmpinc.CraftCounter", - "~0.6 | Status": "AssumeBroken" // breaks newer versions of bcmpinc mods (per bcmpinc's request) + "~1.0.0 | Status": "AssumeBroken", + "~1.0.0 | StatusReasonDetails": "runtime errors with Harmony 1.2.0.1 in SMAPI 2.8+" }, "Fishing Adjust": { "ID": "shuaiz.FishingAdjustMod", - "~2.0.1 | Status": "AssumeBroken" // Method not found: 'Void Harmony.HarmonyInstance.Patch(System.Reflection.MethodBase, Harmony.HarmonyMethod, Harmony.HarmonyMethod, Harmony.HarmonyMethod)' + "~2.0.1 | Status": "AssumeBroken", + "~2.0.1 | StatusReasonDetails": "fails with 'method not found' error for 'Void Harmony.HarmonyInstance.Patch(System.Reflection.MethodBase, Harmony.HarmonyMethod, Harmony.HarmonyMethod, Harmony.HarmonyMethod)'" }, "Fishing Automaton": { "ID": "Drynwynn.FishingAutomaton", - "~1.1 | Status": "AssumeBroken" // runtime errors with Harmony 1.2.0.1 in SMAPI 2.8+ - }, - - "Fix Animal Tools": { - "ID": "bcmpinc.FixAnimalTools", - "~0.6 | Status": "AssumeBroken" // breaks newer versions of bcmpinc mods (per bcmpinc's request) - }, - - "Fix Scythe Exp": { - "ID": "bcmpinc.FixScytheExp", - "~0.3 | Status": "AssumeBroken" // broke in 1.3: Exception from HarmonyInstance "bcmpinc.FixScytheExp" [...] Bad label content in ILGenerator. + "~1.1 | Status": "AssumeBroken", + "~1.1 | StatusReasonDetails": "runtime errors with Harmony 1.2.0.1 in SMAPI 2.8+" }, "More Silo Storage": { "ID": "OrneryWalrus.MoreSiloStorage", - "~1.0.1 | Status": "AssumeBroken" // broke in SDV 1.3 - }, - - "Movement Speed": { - "ID": "bcmpinc.MovementSpeed", - "~0.6 | Status": "AssumeBroken" // breaks newer versions of bcmpinc mods (per bcmpinc's request) + "~1.0.1 | Status": "AssumeBroken" }, "No Added Flying Mine Monsters": { "ID": "Drynwynn.NoAddedFlyingMineMonsters", - "~1.1 | Status": "AssumeBroken" // runtime errors with Harmony 1.2.0.1 in SMAPI 2.8+ + "~1.1 | Status": "AssumeBroken", + "~1.1 | StatusReasonDetails": "runtime errors with Harmony 1.2.0.1 in SMAPI 2.8+" }, "Server Bookmarker": { "ID": "Ilyaki.ServerBookmarker", - "~1.0.0 | Status": "AssumeBroken" // broke in Stardew Valley 1.3.29 (runtime errors) - }, - - "Skull Cave Saver": { - "ID": "cantorsdust.SkullCaveSaver", - "FormerIDs": "8ac06349-26f7-4394-806c-95d48fd35774 | community.SkullCaveSaver", // changed in 1.1 and 1.2.2 - "1.3-beta | Status": "AssumeBroken" // doesn't work in multiplayer, no longer maintained - }, - - "Split Screen": { - "ID": "Ilyaki.SplitScreen", - "~3.0.1 | Status": "AssumeBroken" // broke in SMAPI 2.6-beta.16 due to reflection into SMAPI internals - }, - - "Stardew Hack": { - "ID": "bcmpinc.StardewHack", - "~0.6 | Status": "AssumeBroken" // breaks newer versions of bcmpinc mods (per bcmpinc's request) + "~1.0.0 | Status": "AssumeBroken", + "~1.0.0 | StatusReasonDetails": "runtime errors in Stardew Valley 1.3.29" }, "Stephan's Lots of Crops": { "ID": "stephansstardewcrops", - "~1.1 | Status": "AssumeBroken" // broke in SDV 1.3 (overwrites vanilla items) - }, - - "Summit Reborn": { - "ID": "KoihimeNakamura.summitreborn", - "FormerIDs": "emissaryofinfinity.summitreborn", // changed in 1.0.2 - "~1.0.2 | Status": "AssumeBroken" // broke in SDV 1.3 (runtime errors) - }, - - "Tilled Soil Decay": { - "ID": "bcmpinc.TilledSoilDecay", - "~0.6 | Status": "AssumeBroken" // breaks newer versions of bcmpinc mods (per bcmpinc's request) - }, - - "Tree Spread": { - "ID": "bcmpinc.TreeSpread", - "~0.6 | Status": "AssumeBroken" // breaks newer versions of bcmpinc mods (per bcmpinc's request) - }, - - /********* - ** Broke circa SDV 1.2 - *********/ - "Move Faster": { - "ID": "shuaiz.MoveFasterMod", - "~1.0.1 | Status": "AssumeBroken" // doesn't do anything as of SDV 1.2.33 (bad Harmony patch?) + "~1.1 | Status": "AssumeBroken", + "~1.1 | StatusReasonDetails": "causes errors due to overwritten Stardew Valley 1.3 items" } } } diff --git a/app/src/main/assets/smapi_files_manifest.json b/app/src/main/assets/smapi_files_manifest.json index e849a82..17d5d76 100644 --- a/app/src/main/assets/smapi_files_manifest.json +++ b/app/src/main/assets/smapi_files_manifest.json @@ -11,106 +11,7 @@ }, { "targetPath": "smapi-internal/", - "assetPath": "smapi/*.dll", - "origin": 0 - }, - { - "targetPath": "smapi-internal/Mono.Android.dll", - "assetPath": "apk/Mono.Android.dll", - "origin": 0 - }, - { - "targetPath": "smapi-internal/MonoGame.Framework.dll", - "assetPath": "apk/MonoGame.Framework.dll", - "origin": 0 - }, - { - "targetPath": "smapi-internal/mscorlib.dll", - "assetPath": "apk/mscorlib.dll", - "origin": 0 - }, - { - "targetPath": "smapi-internal/Newtonsoft.Json.dll", - "assetPath": "apk/Newtonsoft.Json.dll", - "origin": 0 - }, - { - "targetPath": "smapi-internal/SMAPI.Toolkit.CoreInterfaces.dll", - "assetPath": "apk/SMAPI.Toolkit.CoreInterfaces.dll", - "origin": 0 - }, - { - "targetPath": "smapi-internal/SMAPI.Toolkit.dll", - "assetPath": "apk/SMAPI.Toolkit.dll", - "origin": 0 - }, - { - "targetPath": "smapi-internal/StardewModdingAPI.dll", - "assetPath": "apk/StardewModdingAPI.dll", - "origin": 0 - }, - { - "targetPath": "smapi-internal/StardewValley.dll", - "assetPath": "assemblies/StardewValley.dll", - "isXALZ": true, - "origin": 1 - }, - { - "targetPath": "smapi-internal/StardewValley.GameData.dll", - "assetPath": "assemblies/StardewValley.GameData.dll", - "isXALZ": true, - "origin": 1 - }, - { - "targetPath": "smapi-internal/System.Core.dll", - "assetPath": "apk/System.Core.dll", - "origin": 0 - }, - { - "targetPath": "smapi-internal/System.Data.dll", - "assetPath": "apk/System.Data.dll", - "origin": 0 - }, - { - "targetPath": "smapi-internal/System.dll", - "assetPath": "apk/System.dll", - "origin": 0 - }, - { - "targetPath": "smapi-internal/System.Net.Http.dll", - "assetPath": "apk/System.Net.Http.dll", - "origin": 0 - }, - { - "targetPath": "smapi-internal/System.Numerics.dll", - "assetPath": "apk/System.Numerics.dll", - "origin": 0 - }, - { - "targetPath": "smapi-internal/System.Runtime.Serialization.dll", - "assetPath": "apk/System.Runtime.Serialization.dll", - "origin": 0 - }, - { - "targetPath": "smapi-internal/System.ServiceModel.Internals.dll", - "assetPath": "apk/System.ServiceModel.Internals.dll", - "origin": 0 - }, - { - "targetPath": "smapi-internal/System.Xml.dll", - "assetPath": "apk/System.Xml.dll", - "origin": 0 - }, - { - "targetPath": "smapi-internal/BmFont.dll", - "assetPath": "assemblies/BmFont.dll", - "isXALZ": true, - "origin": 1 - }, - { - "targetPath": "smapi-internal/xTile.dll", - "assetPath": "assemblies/xTile.dll", - "isXALZ": true, + "assetPath": "assemblies/*.dll", "origin": 1 } ] \ No newline at end of file