From 7eba0a03f019a3817f694cbae7ecb1d5f3104e45 Mon Sep 17 00:00:00 2001 From: thehun927 Date: Mon, 18 May 2026 20:42:30 -0400 Subject: [PATCH] going to stop reading remaining soil uses --- AbsorbentSoil/AbsorbentSoilMod.cs | 138 ++++++++++-------- .../Release/net6.0/AbsorbentSoil.deps.json | 23 +++ .../bin/Release/net6.0/AbsorbentSoil.pdb | Bin 0 -> 22452 bytes .../net6.0/AbsorbentSoil.AssemblyInfo.cs | 2 +- .../AbsorbentSoil.AssemblyInfoInputs.cache | 2 +- .../AbsorbentSoil.csproj.FileListAbsolute.txt | 7 + .../obj/Release/net6.0/AbsorbentSoil.dll | Bin 0 -> 11264 bytes .../obj/Release/net6.0/AbsorbentSoil.pdb | Bin 0 -> 22452 bytes .../obj/Release/net6.0/ref/AbsorbentSoil.dll | Bin 0 -> 7168 bytes .../Release/net6.0/refint/AbsorbentSoil.dll | Bin 0 -> 7168 bytes 10 files changed, 111 insertions(+), 61 deletions(-) create mode 100644 AbsorbentSoil/bin/Release/net6.0/AbsorbentSoil.deps.json create mode 100644 AbsorbentSoil/bin/Release/net6.0/AbsorbentSoil.pdb create mode 100644 AbsorbentSoil/obj/Release/net6.0/AbsorbentSoil.dll create mode 100644 AbsorbentSoil/obj/Release/net6.0/AbsorbentSoil.pdb create mode 100644 AbsorbentSoil/obj/Release/net6.0/ref/AbsorbentSoil.dll create mode 100644 AbsorbentSoil/obj/Release/net6.0/refint/AbsorbentSoil.dll diff --git a/AbsorbentSoil/AbsorbentSoilMod.cs b/AbsorbentSoil/AbsorbentSoilMod.cs index ee9a8ae..4786335 100644 --- a/AbsorbentSoil/AbsorbentSoilMod.cs +++ b/AbsorbentSoil/AbsorbentSoilMod.cs @@ -4,11 +4,13 @@ using System.Linq; using System.Reflection; using HarmonyLib; using MelonLoader; +using Il2CppInterop.Runtime; using Il2CppScheduleOne.Growing; using Il2CppScheduleOne.ItemFramework; using Il2CppScheduleOne.ObjectScripts; +using UnityEngine; -[assembly: MelonInfo(typeof(AbsorbentSoil.AbsorbentSoilMod), "Absorbent Soil", "0.1.1", "AttilaG")] +[assembly: MelonInfo(typeof(AbsorbentSoil.AbsorbentSoilMod), "Absorbent Soil", "0.1.0", "AttilaG")] [assembly: MelonGame(null, "Schedule I")] namespace AbsorbentSoil @@ -22,15 +24,16 @@ namespace AbsorbentSoil MelonLogger.Msg("Absorbent Soil loaded. Additive retention is active for long-life soils."); } + // This keeps slot/session bleed low if the player backs out and loads another save without restarting. + // It does NOT persist anything to disk. It only tracks pots currently seen in the running game session. public override void OnSceneWasLoaded(int buildIndex, string sceneName) { - // Prevent save-slot/session bleed if the player returns to menu and loads another save. if (!string.IsNullOrWhiteSpace(sceneName) && (sceneName.IndexOf("menu", StringComparison.OrdinalIgnoreCase) >= 0 || sceneName.IndexOf("main", StringComparison.OrdinalIgnoreCase) >= 0 || sceneName.IndexOf("load", StringComparison.OrdinalIgnoreCase) >= 0)) { - AdditiveMemory.ClearAll(); + AdditiveMemory.Clear(); MelonLogger.Msg($"Cleared additive memory on scene load: {sceneName}"); } } @@ -73,27 +76,28 @@ namespace AbsorbentSoil : Array.Empty(); } + public static bool HasStored(Pot pot) + { + if (pot == null) + return false; + + string key = PotKeyHelper.GetPotKey(pot); + return !string.IsNullOrWhiteSpace(key) && + AdditivesByPotKey.TryGetValue(key, out HashSet set) && + set.Count > 0; + } + public static void Forget(Pot pot) { if (pot == null) return; - Forget(PotKeyHelper.GetPotKey(pot)); + string key = PotKeyHelper.GetPotKey(pot); + if (!string.IsNullOrWhiteSpace(key)) + AdditivesByPotKey.Remove(key); } - public static void Forget(string potKey) - { - if (string.IsNullOrWhiteSpace(potKey)) - return; - - if (AdditivesByPotKey.Remove(potKey) && AbsorbentSoilMod.VerboseLogging) - MelonLogger.Msg($"Cleared retained additives for pot '{potKey}'."); - } - - public static void ClearAll() - { - AdditivesByPotKey.Clear(); - } + public static void Clear() => AdditivesByPotKey.Clear(); } internal static class PotKeyHelper @@ -103,10 +107,13 @@ namespace AbsorbentSoil if (pot == null) return string.Empty; + // Most Schedule I buildable/grid items have a GUID inherited from a base class. + // Use reflection so this survives minor EA API shifts. object guid = ReadMember(pot, "GUID") ?? ReadMember(pot, "Guid") ?? ReadMember(pot, "guid"); if (guid != null && !string.IsNullOrWhiteSpace(guid.ToString())) return guid.ToString(); + // Fallback for testing only. Not stable across reloads, but better than hard failing. return $"scene:{pot.GetInstanceID()}"; } @@ -116,21 +123,17 @@ namespace AbsorbentSoil return null; Type type = instance.GetType(); - while (type != null) + + PropertyInfo prop = AccessTools.Property(type, name); + if (prop != null) { - PropertyInfo prop = AccessTools.Property(type, name); - if (prop != null) - { - try { return prop.GetValue(instance); } catch { } - } + try { return prop.GetValue(instance); } catch { } + } - FieldInfo field = AccessTools.Field(type, name); - if (field != null) - { - try { return field.GetValue(instance); } catch { } - } - - type = type.BaseType; + FieldInfo field = AccessTools.Field(type, name); + if (field != null) + { + try { return field.GetValue(instance); } catch { } } return null; @@ -142,28 +145,30 @@ namespace AbsorbentSoil private static readonly FieldInfo RemainingSoilUsesField = AccessTools.Field(typeof(GrowContainer), "_remainingSoilUses"); - public static bool IsRetainingSoil(Pot pot) - { - if (pot == null || string.IsNullOrWhiteSpace(pot.SoilID)) - return false; - - string soilId = pot.SoilID.ToLowerInvariant(); - - return soilId.Contains("longlifesoil") || - soilId.Contains("extralonglifesoil"); - } - public static int GetRemainingSoilUses(Pot pot) { if (pot == null || RemainingSoilUsesField == null) return 0; - return (int)RemainingSoilUsesField.GetValue(pot); + try + { + return (int)RemainingSoilUsesField.GetValue(pot); + } + catch + { + return 0; + } } - public static bool CanRetainAdditives(Pot pot) + public static bool CanCaptureNewAdditives(Pot pot) { - return IsRetainingSoil(pot) && GetRemainingSoilUses(pot) > 0; + // Normal soil should have 1 use, long-life should have more than 1. + return GetRemainingSoilUses(pot) > 1; + } + + public static bool CanReapplyRetainedAdditives(Pot pot) + { + return GetRemainingSoilUses(pot) > 0; } } @@ -171,7 +176,6 @@ namespace AbsorbentSoil internal static class Pot_ApplyAdditive_Patch { private static bool _suppressCapture; - private static readonly MethodInfo ApplyAdditiveMethod = AccessTools.Method(typeof(Pot), "ApplyAdditive"); public static void Postfix(Pot __instance, AdditiveDefinition __result, string additiveID, bool isInitialApplication) { @@ -183,7 +187,7 @@ namespace AbsorbentSoil if (__instance == null || __result == null || string.IsNullOrWhiteSpace(additiveID)) return; - if (!SoilHelper.IsRetainingSoil(__instance)) + if (!SoilHelper.CanCaptureNewAdditives(__instance)) return; AdditiveMemory.Remember(__instance, additiveID); @@ -199,7 +203,8 @@ namespace AbsorbentSoil if (pot == null || string.IsNullOrWhiteSpace(additiveID)) return; - if (ApplyAdditiveMethod == null) + MethodInfo applyAdditive = AccessTools.Method(typeof(Pot), "ApplyAdditive"); + if (applyAdditive == null) { MelonLogger.Warning("Could not find Pot.ApplyAdditive via reflection."); return; @@ -208,7 +213,7 @@ namespace AbsorbentSoil try { _suppressCapture = true; - ApplyAdditiveMethod.Invoke(pot, new object[] { additiveID, true }); + applyAdditive.Invoke(pot, new object[] { additiveID, true }); } catch (Exception ex) { @@ -232,12 +237,8 @@ namespace AbsorbentSoil return; Pot pot = __instance.Pot; - - if (!SoilHelper.CanRetainAdditives(pot)) - { - AdditiveMemory.Forget(pot); + if (!SoilHelper.CanReapplyRetainedAdditives(pot)) return; - } IReadOnlyList additiveIds = AdditiveMemory.Get(pot); if (additiveIds.Count == 0) @@ -258,15 +259,33 @@ namespace AbsorbentSoil [HarmonyPatch(typeof(Pot), "OnPlantFullyHarvested")] internal static class Pot_OnPlantFullyHarvested_Patch { - private static void Postfix(Pot __instance) + public static void Postfix(Pot __instance) { - if (__instance == null) - return; + // Intentionally do nothing. This patch exists as a reminder that retained additives should survive harvest. + // Do NOT clear AdditiveMemory here, because long-life/extra-long-life soil should carry additives forward. + } + } - if (!SoilHelper.CanRetainAdditives(__instance)) + [HarmonyPatch(typeof(GrowContainer), "SetRemainingSoilUses")] + internal static class GrowContainer_SetRemainingSoilUses_Patch + { + private static void Postfix(GrowContainer __instance, int uses) + { + try { - AdditiveMemory.Forget(__instance); - MelonLogger.Msg("[Absorbent Soil] Cleared retained additives because soil has no retaining uses left."); + if (__instance == null || uses > 0) + return; + + Pot pot = __instance.TryCast(); + if (pot == null) + return; + + AdditiveMemory.Forget(pot); + MelonLogger.Msg("[Absorbent Soil] Cleared retained additives because soil uses reached zero."); + } + catch (Exception ex) + { + MelonLogger.Warning($"SetRemainingSoilUses postfix failed: {ex}"); } } } @@ -276,6 +295,7 @@ namespace AbsorbentSoil { public static void Prefix(Pot __instance) { + // If the pot itself is destroyed/sold, stop tracking its additives. try { AdditiveMemory.Forget(__instance); } catch { } } diff --git a/AbsorbentSoil/bin/Release/net6.0/AbsorbentSoil.deps.json b/AbsorbentSoil/bin/Release/net6.0/AbsorbentSoil.deps.json new file mode 100644 index 0000000..074dff0 --- /dev/null +++ b/AbsorbentSoil/bin/Release/net6.0/AbsorbentSoil.deps.json @@ -0,0 +1,23 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v6.0", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v6.0": { + "AbsorbentSoil/1.0.0": { + "runtime": { + "AbsorbentSoil.dll": {} + } + } + } + }, + "libraries": { + "AbsorbentSoil/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + } + } +} \ No newline at end of file diff --git a/AbsorbentSoil/bin/Release/net6.0/AbsorbentSoil.pdb b/AbsorbentSoil/bin/Release/net6.0/AbsorbentSoil.pdb new file mode 100644 index 0000000000000000000000000000000000000000..74111c805400f71a4bd565f90569b87b55b2d0da GIT binary patch literal 22452 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 itqL}9yGOb8=q@b*yM{pI1Mq(>E)@s> literal 0 HcmV?d00001 diff --git a/AbsorbentSoil/obj/Release/net6.0/AbsorbentSoil.AssemblyInfo.cs b/AbsorbentSoil/obj/Release/net6.0/AbsorbentSoil.AssemblyInfo.cs index 7b132cd..7699a91 100644 --- a/AbsorbentSoil/obj/Release/net6.0/AbsorbentSoil.AssemblyInfo.cs +++ b/AbsorbentSoil/obj/Release/net6.0/AbsorbentSoil.AssemblyInfo.cs @@ -13,7 +13,7 @@ using System.Reflection; [assembly: System.Reflection.AssemblyCompanyAttribute("AbsorbentSoil")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Release")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] -[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+57f6a7917f7640bd65cefb3f66b24ea34b817e0c")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+3c7ea09f730c3ca38d3c004961f111503e0905c8")] [assembly: System.Reflection.AssemblyProductAttribute("AbsorbentSoil")] [assembly: System.Reflection.AssemblyTitleAttribute("AbsorbentSoil")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] diff --git a/AbsorbentSoil/obj/Release/net6.0/AbsorbentSoil.AssemblyInfoInputs.cache b/AbsorbentSoil/obj/Release/net6.0/AbsorbentSoil.AssemblyInfoInputs.cache index d6bf4c6..e5d73e1 100644 --- a/AbsorbentSoil/obj/Release/net6.0/AbsorbentSoil.AssemblyInfoInputs.cache +++ b/AbsorbentSoil/obj/Release/net6.0/AbsorbentSoil.AssemblyInfoInputs.cache @@ -1 +1 @@ -8a3855f139cd66387b0e747834f0fb38e6416f2dc381e733183dbdeaa1f21465 +b331521ed94e421a5866942ca81a55cff8e0735dcb4bc556f934ca310386ca0f diff --git a/AbsorbentSoil/obj/Release/net6.0/AbsorbentSoil.csproj.FileListAbsolute.txt b/AbsorbentSoil/obj/Release/net6.0/AbsorbentSoil.csproj.FileListAbsolute.txt index e6c9830..96cd45d 100644 --- a/AbsorbentSoil/obj/Release/net6.0/AbsorbentSoil.csproj.FileListAbsolute.txt +++ b/AbsorbentSoil/obj/Release/net6.0/AbsorbentSoil.csproj.FileListAbsolute.txt @@ -1,5 +1,12 @@ +/home/attila/Projects/Schedule-1/AbsorbentSoilMod/AbsorbentSoil/bin/Release/net6.0/AbsorbentSoil.deps.json +/home/attila/Projects/Schedule-1/AbsorbentSoilMod/AbsorbentSoil/bin/Release/net6.0/AbsorbentSoil.dll +/home/attila/Projects/Schedule-1/AbsorbentSoilMod/AbsorbentSoil/bin/Release/net6.0/AbsorbentSoil.pdb /home/attila/Projects/Schedule-1/AbsorbentSoilMod/AbsorbentSoil/obj/Release/net6.0/AbsorbentSoil.csproj.AssemblyReference.cache /home/attila/Projects/Schedule-1/AbsorbentSoilMod/AbsorbentSoil/obj/Release/net6.0/AbsorbentSoil.GeneratedMSBuildEditorConfig.editorconfig /home/attila/Projects/Schedule-1/AbsorbentSoilMod/AbsorbentSoil/obj/Release/net6.0/AbsorbentSoil.AssemblyInfoInputs.cache /home/attila/Projects/Schedule-1/AbsorbentSoilMod/AbsorbentSoil/obj/Release/net6.0/AbsorbentSoil.AssemblyInfo.cs /home/attila/Projects/Schedule-1/AbsorbentSoilMod/AbsorbentSoil/obj/Release/net6.0/AbsorbentSoil.csproj.CoreCompileInputs.cache +/home/attila/Projects/Schedule-1/AbsorbentSoilMod/AbsorbentSoil/obj/Release/net6.0/AbsorbentSoil.dll +/home/attila/Projects/Schedule-1/AbsorbentSoilMod/AbsorbentSoil/obj/Release/net6.0/refint/AbsorbentSoil.dll +/home/attila/Projects/Schedule-1/AbsorbentSoilMod/AbsorbentSoil/obj/Release/net6.0/AbsorbentSoil.pdb +/home/attila/Projects/Schedule-1/AbsorbentSoilMod/AbsorbentSoil/obj/Release/net6.0/ref/AbsorbentSoil.dll diff --git a/AbsorbentSoil/obj/Release/net6.0/AbsorbentSoil.dll b/AbsorbentSoil/obj/Release/net6.0/AbsorbentSoil.dll new file mode 100644 index 0000000000000000000000000000000000000000..9000eee96a53b1e17b709b7036e4c5441f7db0e9 GIT binary patch literal 11264 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 itqL}9yGOb8=q@b*yM{pI1Mq(>E)@s> literal 0 HcmV?d00001 diff --git a/AbsorbentSoil/obj/Release/net6.0/ref/AbsorbentSoil.dll b/AbsorbentSoil/obj/Release/net6.0/ref/AbsorbentSoil.dll new file mode 100644 index 0000000000000000000000000000000000000000..d656e87fa53e83a31fbbe6704f63b886c4121361 GIT binary patch literal 7168 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