From 1374b2e929263849b9362bc2032e73ac19079563 Mon Sep 17 00:00:00 2001 From: thehun927 Date: Mon, 18 May 2026 18:43:51 -0400 Subject: [PATCH] d --- AbsorbentSoil/AbsorbentSoil.csproj | 19 + .../Release/net6.0/AbsorbentSoil.deps.json | 23 ++ .../bin/Release/net6.0/AbsorbentSoil.pdb | Bin 0 -> 22600 bytes .../AbsorbentSoil.csproj.nuget.dgspec.json | 77 ++++ .../obj/AbsorbentSoil.csproj.nuget.g.props | 15 + .../obj/AbsorbentSoil.csproj.nuget.g.targets | 2 + ...CoreApp,Version=v6.0.AssemblyAttributes.cs | 4 + .../net6.0/AbsorbentSoil.AssemblyInfo.cs | 22 ++ .../AbsorbentSoil.AssemblyInfoInputs.cache | 1 + ....GeneratedMSBuildEditorConfig.editorconfig | 17 + .../Release/net6.0/AbsorbentSoil.assets.cache | Bin 0 -> 150 bytes ...sorbentSoil.csproj.AssemblyReference.cache | Bin 0 -> 169757 bytes ...sorbentSoil.csproj.CoreCompileInputs.cache | 1 + .../AbsorbentSoil.csproj.FileListAbsolute.txt | 12 + .../obj/Release/net6.0/AbsorbentSoil.dll | Bin 0 -> 11264 bytes .../obj/Release/net6.0/AbsorbentSoil.pdb | Bin 0 -> 22600 bytes .../obj/Release/net6.0/ref/AbsorbentSoil.dll | Bin 0 -> 7168 bytes .../Release/net6.0/refint/AbsorbentSoil.dll | Bin 0 -> 7168 bytes AbsorbentSoil/obj/project.assets.json | 82 +++++ AbsorbentSoil/obj/project.nuget.cache | 11 + AbsorbentSoilMod.cs | 335 ++++++++++++++++++ 21 files changed, 621 insertions(+) create mode 100644 AbsorbentSoil/AbsorbentSoil.csproj 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/AbsorbentSoil.csproj.nuget.dgspec.json create mode 100644 AbsorbentSoil/obj/AbsorbentSoil.csproj.nuget.g.props create mode 100644 AbsorbentSoil/obj/AbsorbentSoil.csproj.nuget.g.targets create mode 100644 AbsorbentSoil/obj/Release/net6.0/.NETCoreApp,Version=v6.0.AssemblyAttributes.cs create mode 100644 AbsorbentSoil/obj/Release/net6.0/AbsorbentSoil.AssemblyInfo.cs create mode 100644 AbsorbentSoil/obj/Release/net6.0/AbsorbentSoil.AssemblyInfoInputs.cache create mode 100644 AbsorbentSoil/obj/Release/net6.0/AbsorbentSoil.GeneratedMSBuildEditorConfig.editorconfig create mode 100644 AbsorbentSoil/obj/Release/net6.0/AbsorbentSoil.assets.cache create mode 100644 AbsorbentSoil/obj/Release/net6.0/AbsorbentSoil.csproj.AssemblyReference.cache create mode 100644 AbsorbentSoil/obj/Release/net6.0/AbsorbentSoil.csproj.CoreCompileInputs.cache create mode 100644 AbsorbentSoil/obj/Release/net6.0/AbsorbentSoil.csproj.FileListAbsolute.txt 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 create mode 100644 AbsorbentSoil/obj/project.assets.json create mode 100644 AbsorbentSoil/obj/project.nuget.cache create mode 100644 AbsorbentSoilMod.cs diff --git a/AbsorbentSoil/AbsorbentSoil.csproj b/AbsorbentSoil/AbsorbentSoil.csproj new file mode 100644 index 0000000..6a380d0 --- /dev/null +++ b/AbsorbentSoil/AbsorbentSoil.csproj @@ -0,0 +1,19 @@ + + + + net6.0 + AbsorbentSoil + AbsorbentSoil + latest + disable + /home/attila/.local/share/Steam/steamapps/common/Schedule I + + + + + + + + + + \ No newline at end of file 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..d181b8db0a49274deac428ba4bd8a5f3767cd848 GIT binary patch literal 22600 zcmb7M2V4_Pu-}B<1Z)V3Viy$zv0?dygpdRXK|n-NAtVO`QZNZkQ9)2pKm`;;5D~i~ zc2tUBFIcfRM6rGLE-LEV&0QcN@q6$2^FlT^|Jm8u-PxJhy`%VfP)L9T&_82%`M6PR zVjb-rK@IwE{coBZvEiVI*3ZU3>9=+k;?(jlo zNC*5OayI;S4F0_e|C*6Vz=nkG;QvUVh)n`(d{Bu5cKeV(1-#zD%XA6}jDXh|cuj)W zEO_mJ*FJcCgcr+~1VZ5z2`>q}_QH$oM*

iiVm%{4)Ktpd^YuFoM5nE0sNASy!oy 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 literal 0 HcmV?d00001 diff --git a/AbsorbentSoil/obj/AbsorbentSoil.csproj.nuget.dgspec.json b/AbsorbentSoil/obj/AbsorbentSoil.csproj.nuget.dgspec.json new file mode 100644 index 0000000..870c537 --- /dev/null +++ b/AbsorbentSoil/obj/AbsorbentSoil.csproj.nuget.dgspec.json @@ -0,0 +1,77 @@ +{ + "format": 1, + "restore": { + "/home/attila/Projects/Schedule-1/AbsorbentSoilMod/AbsorbentSoil/AbsorbentSoil.csproj": {} + }, + "projects": { + "/home/attila/Projects/Schedule-1/AbsorbentSoilMod/AbsorbentSoil/AbsorbentSoil.csproj": { + "version": "1.0.0", + "restore": { + "projectUniqueName": "/home/attila/Projects/Schedule-1/AbsorbentSoilMod/AbsorbentSoil/AbsorbentSoil.csproj", + "projectName": "AbsorbentSoil", + "projectPath": "/home/attila/Projects/Schedule-1/AbsorbentSoilMod/AbsorbentSoil/AbsorbentSoil.csproj", + "packagesPath": "/home/attila/.nuget/packages/", + "outputPath": "/home/attila/Projects/Schedule-1/AbsorbentSoilMod/AbsorbentSoil/obj/", + "projectStyle": "PackageReference", + "configFilePaths": [ + "/home/attila/.nuget/NuGet/NuGet.Config" + ], + "originalTargetFrameworks": [ + "net6.0" + ], + "sources": { + "https://api.nuget.org/v3/index.json": {} + }, + "frameworks": { + "net6.0": { + "targetAlias": "net6.0", + "projectReferences": {} + } + }, + "warningProperties": { + "warnAsError": [ + "NU1605" + ] + }, + "restoreAuditProperties": { + "enableAudit": "true", + "auditLevel": "low", + "auditMode": "direct" + }, + "SdkAnalysisLevel": "10.0.100" + }, + "frameworks": { + "net6.0": { + "targetAlias": "net6.0", + "imports": [ + "net461", + "net462", + "net47", + "net471", + "net472", + "net48", + "net481" + ], + "assetTargetFallback": true, + "warn": true, + "downloadDependencies": [ + { + "name": "Microsoft.AspNetCore.App.Ref", + "version": "[6.0.36, 6.0.36]" + }, + { + "name": "Microsoft.NETCore.App.Ref", + "version": "[6.0.36, 6.0.36]" + } + ], + "frameworkReferences": { + "Microsoft.NETCore.App": { + "privateAssets": "all" + } + }, + "runtimeIdentifierGraphPath": "/usr/share/dotnet/sdk/10.0.104/RuntimeIdentifierGraph.json" + } + } + } + } +} \ No newline at end of file diff --git a/AbsorbentSoil/obj/AbsorbentSoil.csproj.nuget.g.props b/AbsorbentSoil/obj/AbsorbentSoil.csproj.nuget.g.props new file mode 100644 index 0000000..6caae6e --- /dev/null +++ b/AbsorbentSoil/obj/AbsorbentSoil.csproj.nuget.g.props @@ -0,0 +1,15 @@ + + + + True + NuGet + $(MSBuildThisFileDirectory)project.assets.json + /home/attila/.nuget/packages/ + /home/attila/.nuget/packages/ + PackageReference + 7.0.0 + + + + + \ No newline at end of file diff --git a/AbsorbentSoil/obj/AbsorbentSoil.csproj.nuget.g.targets b/AbsorbentSoil/obj/AbsorbentSoil.csproj.nuget.g.targets new file mode 100644 index 0000000..3dc06ef --- /dev/null +++ b/AbsorbentSoil/obj/AbsorbentSoil.csproj.nuget.g.targets @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/AbsorbentSoil/obj/Release/net6.0/.NETCoreApp,Version=v6.0.AssemblyAttributes.cs b/AbsorbentSoil/obj/Release/net6.0/.NETCoreApp,Version=v6.0.AssemblyAttributes.cs new file mode 100644 index 0000000..ed92695 --- /dev/null +++ b/AbsorbentSoil/obj/Release/net6.0/.NETCoreApp,Version=v6.0.AssemblyAttributes.cs @@ -0,0 +1,4 @@ +// +using System; +using System.Reflection; +[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v6.0", FrameworkDisplayName = ".NET 6.0")] diff --git a/AbsorbentSoil/obj/Release/net6.0/AbsorbentSoil.AssemblyInfo.cs b/AbsorbentSoil/obj/Release/net6.0/AbsorbentSoil.AssemblyInfo.cs new file mode 100644 index 0000000..972d1a6 --- /dev/null +++ b/AbsorbentSoil/obj/Release/net6.0/AbsorbentSoil.AssemblyInfo.cs @@ -0,0 +1,22 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +using System; +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")] +[assembly: System.Reflection.AssemblyProductAttribute("AbsorbentSoil")] +[assembly: System.Reflection.AssemblyTitleAttribute("AbsorbentSoil")] +[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] + +// Generated by the MSBuild WriteCodeFragment class. + diff --git a/AbsorbentSoil/obj/Release/net6.0/AbsorbentSoil.AssemblyInfoInputs.cache b/AbsorbentSoil/obj/Release/net6.0/AbsorbentSoil.AssemblyInfoInputs.cache new file mode 100644 index 0000000..9e8ac38 --- /dev/null +++ b/AbsorbentSoil/obj/Release/net6.0/AbsorbentSoil.AssemblyInfoInputs.cache @@ -0,0 +1 @@ +54ce364b284ea9f7c7e326b3938578be61e76fb507bfb64c59c1c67e28888f74 diff --git a/AbsorbentSoil/obj/Release/net6.0/AbsorbentSoil.GeneratedMSBuildEditorConfig.editorconfig b/AbsorbentSoil/obj/Release/net6.0/AbsorbentSoil.GeneratedMSBuildEditorConfig.editorconfig new file mode 100644 index 0000000..2f7a197 --- /dev/null +++ b/AbsorbentSoil/obj/Release/net6.0/AbsorbentSoil.GeneratedMSBuildEditorConfig.editorconfig @@ -0,0 +1,17 @@ +is_global = true +build_property.TargetFramework = net6.0 +build_property.TargetFrameworkIdentifier = .NETCoreApp +build_property.TargetFrameworkVersion = v6.0 +build_property.TargetPlatformMinVersion = +build_property.UsingMicrosoftNETSdkWeb = +build_property.ProjectTypeGuids = +build_property.InvariantGlobalization = +build_property.PlatformNeutralAssembly = +build_property.EnforceExtendedAnalyzerRules = +build_property._SupportedPlatformList = Linux,macOS,Windows +build_property.RootNamespace = AbsorbentSoil +build_property.ProjectDir = /home/attila/Projects/Schedule-1/AbsorbentSoilMod/AbsorbentSoil/ +build_property.EnableComHosting = +build_property.EnableGeneratedComInterfaceComImportInterop = +build_property.EffectiveAnalysisLevelStyle = 6.0 +build_property.EnableCodeStyleSeverity = diff --git a/AbsorbentSoil/obj/Release/net6.0/AbsorbentSoil.assets.cache b/AbsorbentSoil/obj/Release/net6.0/AbsorbentSoil.assets.cache new file mode 100644 index 0000000000000000000000000000000000000000..aeb394c9284f46d3e13b040f80038fb2b833a89c GIT binary patch literal 150 zcmWIWc6a1qU|?8xVCVMor~MnByD$6eyXp7la}~YsrA|L^*0+6SW14g?d=gL%v49b% lP*y)9KQ~oBv7{t3CsAK7uQWZiM86<0IXf{uwOF5!NdS12AEN*O literal 0 HcmV?d00001 diff --git a/AbsorbentSoil/obj/Release/net6.0/AbsorbentSoil.csproj.AssemblyReference.cache b/AbsorbentSoil/obj/Release/net6.0/AbsorbentSoil.csproj.AssemblyReference.cache new file mode 100644 index 0000000000000000000000000000000000000000..823168b100badfe53645f0a56be1a2c3a2197865 GIT binary patch literal 169757 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 H^T2-r#YZk{ literal 0 HcmV?d00001 diff --git a/AbsorbentSoil/obj/Release/net6.0/AbsorbentSoil.pdb b/AbsorbentSoil/obj/Release/net6.0/AbsorbentSoil.pdb new file mode 100644 index 0000000000000000000000000000000000000000..d181b8db0a49274deac428ba4bd8a5f3767cd848 GIT binary patch literal 22600 zcmb7M2V4_Pu-}B<1Z)V3Viy$zv0?dygpdRXK|n-NAtVO`QZNZkQ9)2pKm`;;5D~i~ zc2tUBFIcfRM6rGLE-LEV&0QcN@q6$2^FlT^|Jm8u-PxJhy`%VfP)L9T&_82%`M6PR zVjb-rK@IwE{coBZvEiVI*3ZU3>9=+k;?(jlo zNC*5OayI;S4F0_e|C*6Vz=nkG;QvUVh)n`(d{Bu5cKeV(1-#zD%XA6}jDXh|cuj)W zEO_mJ*FJcCgcr+~1VZ5z2`>q}_QH$oM*

iiVm%{4)Ktpd^YuFoM5nE0sNASy!oy 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 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..bf946c7995f00d394e42c1992fb8be6db5093399 GIT binary patch literal 7168 zcmeHLU2Ggz75?t-`Zw_=HcgZ^Rhi%vikc3a#zLe`QafwMS!&0wck@>ioY~!Ld+OPl zWoFj#1`=FK%R@oRQ>2PMPzexH9$GB~MgBs1@Z29`X=W36PM8gaqNccV>3i zaT)YY*d zv%t7Y#I0iu*i72BY2d+Id3VA`Tdr%VUgAeP39@WF=36Dvikt9jxkER9q7I3 zU7UgEUdQ?E$Nw_=>ftLr`SVNPx{E`-7uszyFrxY@hw4o!bfGi~Tp9p`BK{Yn|Gx7$ zT>SE35o=I=W@W_8nfr44_U=~-yWkMcvOf)91b)u@jxNrNp>Mm3fs%N?FKS=I$BX!o zbJZh=6puMj8NLX2c_osN_1c< zf{1q&R~da9TgF%mi`J!M$;n`J`nPaS_1bZuUiZ&DMdityAX<>iOlsmBL z^b-G6B$6LxT=ccDcQJ{97WPqQ6?^f-8I@9jIqeiAx0|jJ61~yuj%=(_55sW zE}$su;bn4D_yy@{e1Y=}zRT*4WKxt6Z4JMsVN=8B3A^zM;lubP;iLE*Ywy*xiA}f&6Q9C&2zTPggu{59@KL-; zxDS6Ld=fpvL>?1_PvaC}5t8sL@ChrLzD$@$z_oew6IS%R63@Sm3nDFEzz@YR;czNX z`2AEx&C@RkwJNiwqVF7Mn4!+UK#$`}%9% zaHujrKW+zg$7<#sD+osBb12M7t2*O4%_%zw&+f&6X|LLF$S5R59ZgE2N&Zf+^3c$|}anf#;W{8x}p=p#@Cy zznZHi^YgYFgqB;82-KQmR!t^W<{EBj6D>9C67;iPcbX^daLH?gbFyO9!-g+0Q7g+T zZH$F%v*ku8k@sqK+mXI@%nCbMEurIqwJ2K{#$~y&xM-D~4%%1{$XeNHmh7;TtUaHk zm+jRh%U_h?5xyD7bDqE4W+W<((47;~516lw%!0e%`87)=({esmD(|@q_F}`=a&0Br z8>OL5nv)AfYe9z1IqqZ7rblVf>*u6nt?F3^KXG=}X9ZNk_ChL@zT^%i5^YvOQMxU+ z*=EFBr|F?xwjDd{;Ko%H3z>1yd`P0;Jf5%DiQ3&Q_XxT13QzgB=z}I7D)p6pAMjR>ZAa+Q3Y*+MFw5nb%#AgdhDC2U0rc{OS zXthJpn~!7<9?KV(EWeJtBQ2lDrN-)&est3GG4!EaJu00#$xP?dvKb?0CG^OR&i1%% zExKM1+La(7B^#BTtfKT+?1~KHbHgO?C=;EwE4~+a3n3dsRgSTqn}HpmRTj}f32w8? zGv(*lPl^@au7?3443jd%5l@{hwh3Pb4JU*y0OdXEy!0z%xnVoif?JiVnDv<{-srx% zQ$Z9ba`EoAQaUYbp5KfbBe3CJA!7*9n>HZ2I2j!5GrGjk{aKDKBPFs~#paZ(LN^Iy z^}g}c{5JRdhmUt)vLAj{e^Qj4p2|To}&zkEn?ohTx zFjOUU<;=Ziu7|s0JJuw>kZcvW*`J&}qW~Nf*kK-k$59k-@(g^f#r?IbX_5t-2FYqEeB+ek%Xa5o4Gwko(A|VIq1qp=v&Sn zW42M|vE%_MdCSs0=(6DqtZOd7If2EE=HqT<>N5RbneJ~Nd4Ab=>649n+ijaJu=>fm z(GxdoetQ!919zLDzc+QzABo@p6zQ;E&W~0J;l>fsF2)%K9KVDn!oPOg38_)*2l2hLfPMzhudDLeWiSrS{6MP?-C!D|> zX9a#~Jx07hcqIDj$~T`s|1*r+kmcGu_0>?< zHkypcBF28rF-Ez7T%UJI-68FG+E0F;)oT;4$H@=)Mx=bGuk-OvI&ysQiI%@7sKck0 zc6@vJW|nJR%H|N|Rfa+>>(W=J!{d*)Wui(+^}Xg1K12nkxPDQuR?*kd)SfS5iJAd} z*Oaz36Vp{@m8~RRg+*EVcWg#^o~162el(b;u*2&+=Q+nWM1ECRxAxXdwetjgN#}Ho oc?=k1jXUQsI)hcVKD+HTD#v%h7>&M>l@8qnvD^#cKhD6v0K{ZGZ~y=R literal 0 HcmV?d00001 diff --git a/AbsorbentSoil/obj/Release/net6.0/refint/AbsorbentSoil.dll b/AbsorbentSoil/obj/Release/net6.0/refint/AbsorbentSoil.dll new file mode 100644 index 0000000000000000000000000000000000000000..bf946c7995f00d394e42c1992fb8be6db5093399 GIT binary patch literal 7168 zcmeHLU2Ggz75?t-`Zw_=HcgZ^Rhi%vikc3a#zLe`QafwMS!&0wck@>ioY~!Ld+OPl zWoFj#1`=FK%R@oRQ>2PMPzexH9$GB~MgBs1@Z29`X=W36PM8gaqNccV>3i zaT)YY*d zv%t7Y#I0iu*i72BY2d+Id3VA`Tdr%VUgAeP39@WF=36Dvikt9jxkER9q7I3 zU7UgEUdQ?E$Nw_=>ftLr`SVNPx{E`-7uszyFrxY@hw4o!bfGi~Tp9p`BK{Yn|Gx7$ zT>SE35o=I=W@W_8nfr44_U=~-yWkMcvOf)91b)u@jxNrNp>Mm3fs%N?FKS=I$BX!o zbJZh=6puMj8NLX2c_osN_1c< zf{1q&R~da9TgF%mi`J!M$;n`J`nPaS_1bZuUiZ&DMdityAX<>iOlsmBL z^b-G6B$6LxT=ccDcQJ{97WPqQ6?^f-8I@9jIqeiAx0|jJ61~yuj%=(_55sW zE}$su;bn4D_yy@{e1Y=}zRT*4WKxt6Z4JMsVN=8B3A^zM;lubP;iLE*Ywy*xiA}f&6Q9C&2zTPggu{59@KL-; zxDS6Ld=fpvL>?1_PvaC}5t8sL@ChrLzD$@$z_oew6IS%R63@Sm3nDFEzz@YR;czNX z`2AEx&C@RkwJNiwqVF7Mn4!+UK#$`}%9% zaHujrKW+zg$7<#sD+osBb12M7t2*O4%_%zw&+f&6X|LLF$S5R59ZgE2N&Zf+^3c$|}anf#;W{8x}p=p#@Cy zznZHi^YgYFgqB;82-KQmR!t^W<{EBj6D>9C67;iPcbX^daLH?gbFyO9!-g+0Q7g+T zZH$F%v*ku8k@sqK+mXI@%nCbMEurIqwJ2K{#$~y&xM-D~4%%1{$XeNHmh7;TtUaHk zm+jRh%U_h?5xyD7bDqE4W+W<((47;~516lw%!0e%`87)=({esmD(|@q_F}`=a&0Br z8>OL5nv)AfYe9z1IqqZ7rblVf>*u6nt?F3^KXG=}X9ZNk_ChL@zT^%i5^YvOQMxU+ z*=EFBr|F?xwjDd{;Ko%H3z>1yd`P0;Jf5%DiQ3&Q_XxT13QzgB=z}I7D)p6pAMjR>ZAa+Q3Y*+MFw5nb%#AgdhDC2U0rc{OS zXthJpn~!7<9?KV(EWeJtBQ2lDrN-)&est3GG4!EaJu00#$xP?dvKb?0CG^OR&i1%% zExKM1+La(7B^#BTtfKT+?1~KHbHgO?C=;EwE4~+a3n3dsRgSTqn}HpmRTj}f32w8? zGv(*lPl^@au7?3443jd%5l@{hwh3Pb4JU*y0OdXEy!0z%xnVoif?JiVnDv<{-srx% zQ$Z9ba`EoAQaUYbp5KfbBe3CJA!7*9n>HZ2I2j!5GrGjk{aKDKBPFs~#paZ(LN^Iy z^}g}c{5JRdhmUt)vLAj{e^Qj4p2|To}&zkEn?ohTx zFjOUU<;=Ziu7|s0JJuw>kZcvW*`J&}qW~Nf*kK-k$59k-@(g^f#r?IbX_5t-2FYqEeB+ek%Xa5o4Gwko(A|VIq1qp=v&Sn zW42M|vE%_MdCSs0=(6DqtZOd7If2EE=HqT<>N5RbneJ~Nd4Ab=>649n+ijaJu=>fm z(GxdoetQ!919zLDzc+QzABo@p6zQ;E&W~0J;l>fsF2)%K9KVDn!oPOg38_)*2l2hLfPMzhudDLeWiSrS{6MP?-C!D|> zX9a#~Jx07hcqIDj$~T`s|1*r+kmcGu_0>?< zHkypcBF28rF-Ez7T%UJI-68FG+E0F;)oT;4$H@=)Mx=bGuk-OvI&ysQiI%@7sKck0 zc6@vJW|nJR%H|N|Rfa+>>(W=J!{d*)Wui(+^}Xg1K12nkxPDQuR?*kd)SfS5iJAd} z*Oaz36Vp{@m8~RRg+*EVcWg#^o~162el(b;u*2&+=Q+nWM1ECRxAxXdwetjgN#}Ho oc?=k1jXUQsI)hcVKD+HTD#v%h7>&M>l@8qnvD^#cKhD6v0K{ZGZ~y=R literal 0 HcmV?d00001 diff --git a/AbsorbentSoil/obj/project.assets.json b/AbsorbentSoil/obj/project.assets.json new file mode 100644 index 0000000..fc3fd94 --- /dev/null +++ b/AbsorbentSoil/obj/project.assets.json @@ -0,0 +1,82 @@ +{ + "version": 3, + "targets": { + "net6.0": {} + }, + "libraries": {}, + "projectFileDependencyGroups": { + "net6.0": [] + }, + "packageFolders": { + "/home/attila/.nuget/packages/": {} + }, + "project": { + "version": "1.0.0", + "restore": { + "projectUniqueName": "/home/attila/Projects/Schedule-1/AbsorbentSoilMod/AbsorbentSoil/AbsorbentSoil.csproj", + "projectName": "AbsorbentSoil", + "projectPath": "/home/attila/Projects/Schedule-1/AbsorbentSoilMod/AbsorbentSoil/AbsorbentSoil.csproj", + "packagesPath": "/home/attila/.nuget/packages/", + "outputPath": "/home/attila/Projects/Schedule-1/AbsorbentSoilMod/AbsorbentSoil/obj/", + "projectStyle": "PackageReference", + "configFilePaths": [ + "/home/attila/.nuget/NuGet/NuGet.Config" + ], + "originalTargetFrameworks": [ + "net6.0" + ], + "sources": { + "https://api.nuget.org/v3/index.json": {} + }, + "frameworks": { + "net6.0": { + "targetAlias": "net6.0", + "projectReferences": {} + } + }, + "warningProperties": { + "warnAsError": [ + "NU1605" + ] + }, + "restoreAuditProperties": { + "enableAudit": "true", + "auditLevel": "low", + "auditMode": "direct" + }, + "SdkAnalysisLevel": "10.0.100" + }, + "frameworks": { + "net6.0": { + "targetAlias": "net6.0", + "imports": [ + "net461", + "net462", + "net47", + "net471", + "net472", + "net48", + "net481" + ], + "assetTargetFallback": true, + "warn": true, + "downloadDependencies": [ + { + "name": "Microsoft.AspNetCore.App.Ref", + "version": "[6.0.36, 6.0.36]" + }, + { + "name": "Microsoft.NETCore.App.Ref", + "version": "[6.0.36, 6.0.36]" + } + ], + "frameworkReferences": { + "Microsoft.NETCore.App": { + "privateAssets": "all" + } + }, + "runtimeIdentifierGraphPath": "/usr/share/dotnet/sdk/10.0.104/RuntimeIdentifierGraph.json" + } + } + } +} \ No newline at end of file diff --git a/AbsorbentSoil/obj/project.nuget.cache b/AbsorbentSoil/obj/project.nuget.cache new file mode 100644 index 0000000..acbe69d --- /dev/null +++ b/AbsorbentSoil/obj/project.nuget.cache @@ -0,0 +1,11 @@ +{ + "version": 2, + "dgSpecHash": "72I/i8FVP4Q=", + "success": true, + "projectFilePath": "/home/attila/Projects/Schedule-1/AbsorbentSoilMod/AbsorbentSoil/AbsorbentSoil.csproj", + "expectedPackageFiles": [ + "/home/attila/.nuget/packages/microsoft.netcore.app.ref/6.0.36/microsoft.netcore.app.ref.6.0.36.nupkg.sha512", + "/home/attila/.nuget/packages/microsoft.aspnetcore.app.ref/6.0.36/microsoft.aspnetcore.app.ref.6.0.36.nupkg.sha512" + ], + "logs": [] +} \ No newline at end of file diff --git a/AbsorbentSoilMod.cs b/AbsorbentSoilMod.cs new file mode 100644 index 0000000..4fb8f14 --- /dev/null +++ b/AbsorbentSoilMod.cs @@ -0,0 +1,335 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Reflection; +using HarmonyLib; +using MelonLoader; +using ScheduleOne.Growing; +using ScheduleOne.ItemFramework; +using ScheduleOne.ObjectScripts; +using UnityEngine; + +[assembly: MelonInfo(typeof(AbsorbentSoil.AbsorbentSoilMod), "Absorbent Soil", "0.1.0", "AttilaG")] +[assembly: MelonGame(null, "Schedule I")] + +namespace AbsorbentSoil +{ + public sealed class AbsorbentSoilMod : MelonMod + { + internal static bool VerboseLogging = false; + + public override void OnInitializeMelon() + { + 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) + { + if (!string.IsNullOrWhiteSpace(sceneName) && + (sceneName.IndexOf("menu", StringComparison.OrdinalIgnoreCase) >= 0 || + sceneName.IndexOf("main", StringComparison.OrdinalIgnoreCase) >= 0 || + sceneName.IndexOf("load", StringComparison.OrdinalIgnoreCase) >= 0)) + { + AdditiveMemory.Clear(); + MelonLogger.Msg($"Cleared additive memory on scene load: {sceneName}"); + } + } + } + + internal static class AdditiveMemory + { + private static readonly Dictionary> AdditivesByPotKey = new(); + + public static void Remember(Pot pot, string additiveId) + { + if (pot == null || string.IsNullOrWhiteSpace(additiveId)) + return; + + string key = PotKeyHelper.GetPotKey(pot); + if (string.IsNullOrWhiteSpace(key)) + return; + + if (!AdditivesByPotKey.TryGetValue(key, out HashSet set)) + { + set = new HashSet(StringComparer.OrdinalIgnoreCase); + AdditivesByPotKey[key] = set; + } + + if (set.Add(additiveId) && AbsorbentSoilMod.VerboseLogging) + MelonLogger.Msg($"Remembered additive '{additiveId}' for pot '{key}'."); + } + + public static IReadOnlyList Get(Pot pot) + { + if (pot == null) + return Array.Empty(); + + string key = PotKeyHelper.GetPotKey(pot); + if (string.IsNullOrWhiteSpace(key)) + return Array.Empty(); + + return AdditivesByPotKey.TryGetValue(key, out HashSet set) + ? set.ToArray() + : Array.Empty(); + } + + public static void Forget(Pot pot) + { + if (pot == null) + return; + + string key = PotKeyHelper.GetPotKey(pot); + if (!string.IsNullOrWhiteSpace(key)) + AdditivesByPotKey.Remove(key); + } + + public static void Clear() => AdditivesByPotKey.Clear(); + } + + internal static class PotKeyHelper + { + public static string GetPotKey(Pot pot) + { + 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()}"; + } + + private static object ReadMember(object instance, string name) + { + if (instance == null || string.IsNullOrWhiteSpace(name)) + return null; + + Type type = instance.GetType(); + + PropertyInfo prop = AccessTools.Property(type, name); + if (prop != null) + { + try { return prop.GetValue(instance); } catch { } + } + + FieldInfo field = AccessTools.Field(type, name); + if (field != null) + { + try { return field.GetValue(instance); } catch { } + } + + return null; + } + } + + internal static class SoilHelper + { + // Adjust these after checking the actual IDs/names from item definitions or Melon logs. + // The helper checks IDs/names case-insensitively and allows partial matches. + private static readonly string[] RetainingSoilTokens = + { + "longlife", + "long_life", + "long-life", + "long life", + "extralonglife", + "extra_long_life", + "extra-long-life", + "extra long life" + }; + + public static bool IsRetainingSoil(Pot pot) + { + if (pot == null) + return false; + + // In current Pot.cs, soil identity is probably on GrowContainer/PotData/base state rather than Pot itself. + // Try several likely member names so the mod remains resilient to EA renames. + foreach (string memberName in new[] + { + "SoilID", "soilID", "SoilId", "soilId", + "SoilDefinition", "soilDefinition", "SoilItem", "soilItem", + "Soil", "soil", "CurrentSoil", "currentSoil" + }) + { + object value = ReadMemberRecursive(pot, memberName); + if (MatchesRetainingSoil(value)) + return true; + } + + // Last resort: inspect chunks/transforms/names. This is intentionally broad but only affects whether + // additives are remembered/reapplied; if it is too broad, tighten RetainingSoilTokens above. + string potName = SafeLower(pot.name); + if (ContainsAnyToken(potName)) + return true; + + return false; + } + + private static bool MatchesRetainingSoil(object value) + { + if (value == null) + return false; + + if (ContainsAnyToken(SafeLower(value.ToString()))) + return true; + + foreach (string memberName in new[] { "ID", "Id", "Name", "name", "ItemID", "itemID", "Definition", "definition" }) + { + object nested = ReadMemberRecursive(value, memberName); + if (nested != null && ContainsAnyToken(SafeLower(nested.ToString()))) + return true; + } + + return false; + } + + private static object ReadMemberRecursive(object instance, string name) + { + if (instance == null || string.IsNullOrWhiteSpace(name)) + return null; + + Type type = instance.GetType(); + + while (type != null) + { + PropertyInfo prop = AccessTools.Property(type, name); + if (prop != null) + { + try { return prop.GetValue(instance); } catch { } + } + + FieldInfo field = AccessTools.Field(type, name); + if (field != null) + { + try { return field.GetValue(instance); } catch { } + } + + type = type.BaseType; + } + + return null; + } + + private static bool ContainsAnyToken(string text) + { + if (string.IsNullOrWhiteSpace(text)) + return false; + + return RetainingSoilTokens.Any(token => text.Contains(token)); + } + + private static string SafeLower(string value) => value == null ? string.Empty : value.ToLowerInvariant(); + } + + [HarmonyPatch(typeof(Pot), "ApplyAdditive")] + internal static class Pot_ApplyAdditive_Patch + { + private static bool _suppressCapture; + + public static void Postfix(Pot __instance, AdditiveDefinition __result, string additiveID, bool isInitialApplication) + { + try + { + if (_suppressCapture) + return; + + if (__instance == null || __result == null || string.IsNullOrWhiteSpace(additiveID)) + return; + + if (!SoilHelper.IsRetainingSoil(__instance)) + return; + + AdditiveMemory.Remember(__instance, additiveID); + } + catch (Exception ex) + { + MelonLogger.Warning($"ApplyAdditive postfix failed: {ex}"); + } + } + + public static void ReapplyWithoutRecapture(Pot pot, string additiveID) + { + if (pot == null || string.IsNullOrWhiteSpace(additiveID)) + return; + + MethodInfo applyAdditive = AccessTools.Method(typeof(Pot), "ApplyAdditive"); + if (applyAdditive == null) + { + MelonLogger.Warning("Could not find Pot.ApplyAdditive via reflection."); + return; + } + + try + { + _suppressCapture = true; + applyAdditive.Invoke(pot, new object[] { additiveID, true }); + } + catch (Exception ex) + { + MelonLogger.Warning($"Failed to reapply additive '{additiveID}': {ex}"); + } + finally + { + _suppressCapture = false; + } + } + } + + [HarmonyPatch(typeof(Plant), nameof(Plant.Initialize))] + internal static class Plant_Initialize_Patch + { + public static void Postfix(Plant __instance) + { + try + { + if (__instance == null || __instance.Pot == null) + return; + + Pot pot = __instance.Pot; + if (!SoilHelper.IsRetainingSoil(pot)) + return; + + IReadOnlyList additiveIds = AdditiveMemory.Get(pot); + if (additiveIds.Count == 0) + return; + + foreach (string additiveId in additiveIds) + Pot_ApplyAdditive_Patch.ReapplyWithoutRecapture(pot, additiveId); + + MelonLogger.Msg($"Reapplied {additiveIds.Count} retained additive(s) to new plant in pot '{PotKeyHelper.GetPotKey(pot)}'."); + } + catch (Exception ex) + { + MelonLogger.Warning($"Plant.Initialize postfix failed: {ex}"); + } + } + } + + [HarmonyPatch(typeof(Pot), "OnPlantFullyHarvested")] + internal static class Pot_OnPlantFullyHarvested_Patch + { + public static void Postfix(Pot __instance) + { + // 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. + } + } + + [HarmonyPatch(typeof(Pot), "Destroy")] + internal static class Pot_Destroy_Patch + { + public static void Prefix(Pot __instance) + { + // If the pot itself is destroyed/sold, stop tracking its additives. + try { AdditiveMemory.Forget(__instance); } + catch { } + } + } +}