Question Re: making mods using content patcher

junimobrat

Cowpoke
Greetings, everyone!

I would like to learn how to make some mods for SDV, for personal use. And I'm considering on using content patcher, since I don't have everyday access to a computer to program.

So I was wondering, could I make some complex mods using content patcher? Like maybe adding in new events to the game? Or making a mod that edits the prices of crops? Or changing some dialogues, the weather, or how they respond to a gift based on their heart level? Also, add an NPC or make one my kids a working independent NPC with their own personality based on their parents?

I have all this ideas for a mod I would like to add to my already patched game. Any answer would be appreciated. Thanks in advance!
 

mouse

Farmer
Yep, yep, yep, yep, nope, yep, yep, nope.

The general theme of the responses is that with Content Patcher, you can edit/replace/add to any asset in the game, but you can't change the way the game uses them*. If the game itself pulls from the content files (as opposed to hardcoded logic somewhere), you can edit those files under a staggering array of conditions.

Since NPCs are spawned in the game based on a list of them in NPC Dispositions, CP modders can take advantage of that to create their own, no programming necessary -- just edits to various vanilla files and some new ones loaded to where the game will expect them to be.

Turn your toddler sprites into badgers every other Wednesday when at 8 hearts or below with your spouse as long as your spouse isn't Abigail or Sebastian? No problem. Changing how children function requires a SMAPI mod (C#), and the one that tried to do just that has not yet been updated to 1.5, and I believe the unofficial update has some breaking issues still. Worth checking out, though!

Make sure you check out some mods that already do some of what you're thinking! It's extremely helpful to be able to see how someone else put something together, or sometimes to start with making very smol changes to another mod to get used to how those changes should be made. The #making-mods channel of the Stardew Valley Discord server is also very helpful.

* (There are several other very useful frameworks that similarly allow you to do different things with only json/image/map editing. For example, if you want to add a brand new object that needs a numerical ID, you should use JSON Assets, since it handles the ID assignment dynamically to avoid collision.)
 

junimobrat

Cowpoke
Yep, yep, yep, yep, nope, yep, yep, nope.

The general theme of the responses is that with Content Patcher, you can edit/replace/add to any asset in the game, but you can't change the way the game uses them*. If the game itself pulls from the content files (as opposed to hardcoded logic somewhere), you can edit those files under a staggering array of conditions.

Since NPCs are spawned in the game based on a list of them in NPC Dispositions, CP modders can take advantage of that to create their own, no programming necessary -- just edits to various vanilla files and some new ones loaded to where the game will expect them to be.

Turn your toddler sprites into badgers every other Wednesday when at 8 hearts or below with your spouse as long as your spouse isn't Abigail or Sebastian? No problem. Changing how children function requires a SMAPI mod (C#), and the one that tried to do just that has not yet been updated to 1.5, and I believe the unofficial update has some breaking issues still. Worth checking out, though!

Make sure you check out some mods that already do some of what you're thinking! It's extremely helpful to be able to see how someone else put something together, or sometimes to start with making very smol changes to another mod to get used to how those changes should be made. The #making-mods channel of the Stardew Valley Discord server is also very helpful.

* (There are several other very useful frameworks that similarly allow you to do different things with only json/image/map editing. For example, if you want to add a brand new object that needs a numerical ID, you should use JSON Assets, since it handles the ID assignment dynamically to avoid collision.)
So I can't do weathers with content patcher, along with assigning traits to kids based on who their parents are. Coding seems to be the best way to make a mod, but without any PC I guess all I could do is learn the basics of it at least. I'll try my hands on content patcher for now.

Thanks for taking the time to answer my questions.
 

mouse

Farmer
Programming definitely kicks open some doors, but the initial hurdles are higher for people that don't have any experience with it, which is probably a majority of the modding community, hehe.

Keep in mind that there are usually compromises you can make if you can settle for something not being exactly how something works in the game. Lots of stuff can be faked via events, animations, things like that.

You won't be able to say "add in a new type of weather that will join the vanilla ones" without C#, but with content packs for different frameworks you can say "give rainy days in fall a chance of spawning special monsters or forage, and make the foliage in this location a different color, and also put this animated layer over the whole map to pretend there are raining lizards!" There's a lot of different parts to all the things you wanted to do, and you'll need to get familiar with all of them at some point no matter how you end up putting those pieces together in the end :)

(Once you do decide to take up SMAPI modding, you can find the initial setup and links to API reference and decompiling instructions etc on the wiki!)
 

junimobrat

Cowpoke
Programming really is the spice some of the mods are missing. The language I most am familiar with is C++, and I dabbled in that area years ago. So if ever I take on programming again, for the sake of making a mod that gives a fictional baby character some personality, that means that I have to re-learn all the basic principles of programming. Which is not fun, but also fun in some ways.

For the mean time, I'm going to learn how to add events to the game using content patcher. Also editing and adding some dialogues. There are already many mods for textures and recolour that I have no problem with, so I'm not going to study that part.
 
Top