Feature Idea: To make the mod more legit, can you give us an option that we actually pay for the refill stuff the vendor price? Maybe switchable between card/on person money - as we can buy from legal and illegal shops soil.
I'm thinking of doing a inventory frame like on the coke leaf machine where you place soil and each time it takes from that stack instead of auto filling, and maybe function to allow to put fertilizer as well.
That Sounds Absolutely Amazing to have, would make it so much easier to keep plants constantly fertilized. I like doing a lot of taking care of things around my base, like i don't have employees a lot and that would be so helpful lol
Thank you for the suggestion Joker, as for where I learned to code, its a collaboration with the chat,
I know what the mod should do, its just learning how the game code works, basically I provide the chat the game code to summarize what functions I need to look at in order to understand what functions to patch, for example for this mod I've looked into the SoilPourer class with dnspy then I use them in my code, for example
private void ProcessSoilPourer(SoilPourer soilPourer) { // Ensure soil type is set to extra long life soil if (soilPourer.SoilID != TargetSoilID) { soilPourer.SendSoil(TargetSoilID); }
// Keep soil level at maximum soilPourer.SetSoilLevel(1.0f);
bool needsFilling = false;
foreach (Pot pot in soilPourer.GetPots()) { if(pot == null) continue;
if(!pot.IsFilledWithSoil) { _filledPots++; needsFilling = true; break; // Only need one pot to trigger dispensing } }
I'm using the SoilPourer class functions SendSoil, GetPots, HandleInteracted, SetSoilLevel to send new actions automatically instead of doing it manually,
It is a trial and error of testing until I'm satisfied, I'm quite new to C so the bot is really useful as I'm used to powershell/python/html coding only.
Alright thank you so much I'm going to have to learn C I think and be more efficient with learning to mod other games, do you suggest anyone when it comes to tutorials or websites.
My suggestion is to start with something small like building the project and printing some data from the game in the console, like how many pots you have in Schedule I,
Unfortunately for Schedule I, I've had to do some digging because MelonLoader is not very easy to use compared to SMAPI or BepInExPack for valheim for example, all 3 are used to mod unity games,
It contains most of the things that I needed to get started,
In a nutshell all projects are done in vscode, you need two main files, a csproj and a cs file, with those you use dotnet to build then you take the created dll file from ModName\obj\Debug\net6.0 and place it then in your mods folder,
Its a start, but you will understand the basic flow for creating the project and referencing assemblies,
VSCode and Dnspy are you best friends,
Also as a tip, best way to learn for me is to get into it and ask questions when something doesn't work :D
Also here is my git hub if you want to check the existing mods https://github.com/lecamihai?tab=repositories
and here is a stardew mod which you will see functions the same way, even if stardew uses SMAPI and Schedule I uses MelonLoader https://github.com/lecamihai/Birthday-Reminder-Stardew/tree/main
Awesome mod, however (in my personal opinion, for me only at least) it feels a little cheaty especially with the price of extra long life soil adding up. I think if/when you'd add a config like you had stated with your idea in an earlier comment. I think having a way where it could be used but still be able to be fully legit would be absolute incredible. Keep up the great work :D
Thanks for this great mod! It's exactly how it should be, like the water sprinkler. It's past time to mess with fertilizer bags taking up space and time as that is getting old already. One suggestion is to allow this to trigger the water sprinkler on the same pot if there is one connected. Or maybe just allow this mod to trigger all water sprinklers as well? It's 2025, we have the technology for these things, and it's not cheating. ;) This would put me over the moon.
Hey, thank you for reaching out, I do have another mod which enables the sprinkles to run when needed if a pot is provided and soil https://www.nexusmods.com/schedule1/mods/563
And I agree, I've made the addons for me because it seemed normal for them to work automatically, I suspect the developer of the game will add later some sprinklers / dispensers that will be automatic but until then :D
20 comments
Feature Idea: To make the mod more legit, can you give us an option that we actually pay for the refill stuff the vendor price? Maybe switchable between card/on person money - as we can buy from legal and illegal shops soil.
Thank you!
I'm thinking of doing a inventory frame like on the coke leaf machine where you place soil and each time it takes from that stack instead of auto filling, and maybe function to allow to put fertilizer as well.
should be still optional though, others may not want this :-P
I know what the mod should do, its just learning how the game code works, basically I provide the chat the game code to summarize what functions I need to look at in order to understand what functions to patch, for example for this mod I've looked into the SoilPourer class with dnspy then I use them in my code, for example
private void ProcessSoilPourer(SoilPourer soilPourer)
{
// Ensure soil type is set to extra long life soil
if (soilPourer.SoilID != TargetSoilID)
{
soilPourer.SendSoil(TargetSoilID);
}
// Keep soil level at maximum
soilPourer.SetSoilLevel(1.0f);
bool needsFilling = false;
foreach (Pot pot in soilPourer.GetPots())
{
if(pot == null) continue;
if(!pot.IsFilledWithSoil)
{
_filledPots++;
needsFilling = true;
break; // Only need one pot to trigger dispensing
}
}
if(needsFilling && !soilPourer.isDispensing)
{
soilPourer.HandleInteracted();
}
}
I'm using the SoilPourer class functions SendSoil, GetPots, HandleInteracted, SetSoilLevel to send new actions automatically instead of doing it manually,
It is a trial and error of testing until I'm satisfied, I'm quite new to C so the bot is really useful as I'm used to powershell/python/html coding only.
Unfortunately for Schedule I, I've had to do some digging because MelonLoader is not very easy to use compared to SMAPI or BepInExPack for valheim for example, all 3 are used to mod unity games,
For Valheim you could try to start with
https://github.com/RandyKnapp/ValheimMods/blob/main/ValheimModding-GettingStarted.md
It contains most of the things that I needed to get started,
In a nutshell all projects are done in vscode, you need two main files, a csproj and a cs file, with those you use dotnet to build then you take the created dll file from ModName\obj\Debug\net6.0 and place it then in your mods folder,
Its a start, but you will understand the basic flow for creating the project and referencing assemblies,
VSCode and Dnspy are you best friends,
Also as a tip, best way to learn for me is to get into it and ask questions when something doesn't work :D
Also here is my git hub if you want to check the existing mods https://github.com/lecamihai?tab=repositories
and here is a stardew mod which you will see functions the same way, even if stardew uses SMAPI and Schedule I uses MelonLoader https://github.com/lecamihai/Birthday-Reminder-Stardew/tree/main
And I agree, I've made the addons for me because it seemed normal for them to work automatically, I suspect the developer of the game will add later some sprinklers / dispensers that will be automatic but until then :D