#making-mods-general
1 messages Β· Page 576 of 1
(also backslashes will cancel out markdown, like \ ` in my examples up there)
You'll need to switchevent
To get back to using / as the event deliminator
Basically
I was wondering if escape quotes like temporaryAnimatedSprite \"TileSheets\\animations\" 1920 would help, but ig it depends on whatever parsers are involved
not something I've ever tried
Thanks! I'll try both methods and get back to you
oh! for quick questions, if you put an additional (break) after, it'll run that after the options and you can use / as deliminator again
as long as you havent switchEvent or end in your choice
so (break)choice1\\end(break)choice2\\switchEvent eventchoice3(break)insert code here/regular delimiters work again
Only choice 3 will run the code after, cus it hasnt switched or ended, and since theres no more choices you break out of the quick question and can use regular / as deliminator, so no need to switchEvent unless you actually want to switch events ofc
Got it working! I ended up using your option Nassi. using switchevent did work too. and esca your option didn't work 
sdv events are more painful than you would ever expect π we all gotta stay strong
1.6.16 is gonna streamline so much in event scripts with labels and choose, can't come soon enough
Can anyone help me troubleshoot my temporaryAnimatedSprite a little further? It's reading the command correctly now, but nothing is showing up. I have a feeling that I don't understand some of the later values correctly. temporaryAnimatedSprite TileSheets\\animations 0 1920 64 64 200 4 10 15 15 false false 1 0.1 0 0 0 0
It's supposed to be the four fire frames from the animations sheet on a loop
the 1 in false false 1 might be causing it to layer behind things, since it's on tile 15?
sort tile Y The tile Y position to use in the layer depth calculation, which affects which sprite is drawn on top if two sprites overlap. The larger the number, the higher layer the sprite is on.
reducing 0.1 to something lower like 0.01 might also be necessary, since it seems like that's per millisecond
Do you know how many layers there are, or is that dependent on the individual map?
You have 4 normal layers Back Buildings Front AlwaysFront
And then u can have numbered display layers
I think in this case it's not about map layers, just relative to anything else being drawn in the same frame and batch
it's not always relevant since the game closes and reopens the batch a lot, just something worth testing
Front1 or whatever
oh, and the 0 in 1 0.1 0 seems to be scale, which should probably not be zero
1 is probably the default
Ah got it
I'm getting there! Think I just have to change the scale a bit because that was a really big fire, lol
does anyone know how the "HasValue" check works when you want it to be true to a multitude of possible values? bc just commas doesnt seem to work
from what I understand, HasValue just checks whether the input is blank or not, so it's probably not what you're looking for?
instead, something like "When": {"YourToken": "A, B, C"} should be true if the token's text is A or B or C
https://github.com/Pathoschild/StardewMods/blob/develop/ContentPatcher/docs/author-guide/tokens.md#contains
oooohhhh, that's how i check the, okay, i was tryna figure that out earlier, thank you again π«‘
:3 does MeToken need the {{}}?
I think Spicy Krobus would love it.
it depends on context, but if it's just the key in a "When" section like that example, you don't need it
{{}} makes CP replace it with the value before anything reads it
So, I'm still working on a letter background, and I was wondering if this would have everything needed for the game to identify it? I was following the example from the wiki, but I'm not sure if that works for custom letters"Entries": {"{{ModID}}_santaLetter": "{{i18n:Mail.parcy.jack_santaLetter}}[letterbg Letter_GreenCandyCane 0][textcolor green][#]{{i18n:Mail.parcy.jack_santaLetter.title}}"}
:( no worky
Ah, nope, The letter bg command just shows in the letter 
"When" is a CP field, it shouldn't be underneath a "Trigger"
If you're trying to use it as a condition for trigger actions, you'll need to put it in Condition with {{}} after all. This might be the best format for it there, since it doesn't work like "When". 
"Condition": "ANY \"{{TruffleNumber |contains=10}}\" \"{{TruffleNumber |contains=11}}\" \"{{TruffleNumber |contains=12}}\""
that should turn into something like "Condition": "ANY \"false\" \"true\" \"false\"" when the game sees it, which should be treated as true
see this for what fields you can use inside trigger actions: https://stardewvalleywiki.com/Modding:Trigger_actions#Triggers
and here for how condition fields work (it's a lot) https://stardewvalleywiki.com/Modding:Game_state_queries
... ;-;
there's.. theres no more compact way around it, there's hella numbers π€£
like I mentioned last night, this is a lot of work just to make it slightly simpler for people to edit spawn amounts in FTM, yeah 
π i cant put the when in the condition?
not directly, no, conditions are game state queries (GSQs) and use a whole different syntax
technically you could apply it to the Data/TriggerActions edits (placing it outside the trigger action data), but whether that'll work depends on the setup and how players use it, since it needs to already exist to be triggered at start of day
what aboit using the spacecore spawn system
whole separate set of syntax, but yeah, still simpler than the CP->FTM wiring without 2.0
(which is also new syntax) (my rec's still just telling people where to find the min/max values in content.json)
Oh, I think I need to load these
mmmm, so pt3 of spamming more variables but now these are true or false when TruffleNumber so that i can effectively have the when inside condition?
I have a functional kitchen fire event π₯Ή this took me actual days to get right
yeah, the basic way to use token in conditions is to have them be "TRUE" or "FALSE" (caps help but aren't required)
so like "Condition": "{{token with true as its value}}" = "Condition": "true" = it triggers
dynamic tokens might help simplify it better than using contains repeatedly, ig
Yay! It works!
π€ okay so... uhh
How the heck do I get Krita to subtract a given value from a layer's color channels? I have differrent values that need to be subtracted from each of the rgb channels.
variables 1-10 of being true false when numbers, can i use "When": for those? or? i haven't read about the dynamic tokens yet, then those variables go into the conditions of the mail flags
I'm not sure if it's safe/effective to use "when" on trigger data, it might misfire depending on the timing
you'd either need to do the "contains" thing from earlier, a dynamic token setup, or maybe query tokens
https://github.com/Pathoschild/StardewMods/blob/develop/ContentPatcher/docs/author-guide/tokens.md#dynamic-tokens
e.g. if you want a token like {{MyTokenIsTenToTwelve}} where it's true if {{MyToken}} is 10/11/12:
"DynamicTokens": [
{
"Name": "MyTokenIsTenToTwelve",
"Value": "false"
},
{
"Name": "MyTokenIsTenToTwelve",
"Value": "true",
"When": {
"MyToken": "10, 11, 12"
}
}
],```
the "contains" thing is probably simplest for just getting true/false from a single setting
πββοΈ okay yea this is what I was meaning just.. yk, correct, using when so I donβt have to have a million contains, but then in the token
How would I... spawn a slime during an event... (SMAPI and content patcher alone) do I have to make a new sprite with all the parts combined?
I dont mind doing the latter btw, but wanted to know if there was another way
Does this then turn back off when itβs not 10-12
I think addTemporaryActor with the asset as \"Green Slime\" and the Monster setting should work? some monsters might be picky, though
https://www.stardewvalleywiki.com/Modding:Event_data#Event_scripts
it'll be true or false whenever MyToken is in that range, and it should update whenever MyToken changes, iirc
so "Condition": "{{MyTokenIsTenToTwelve}}" should trigger when 10-12 is the setting, or be skipped if not
or the opposite with "Condition": "!{{MyTokenIsTenToTwelve}}"
π this cannot open game because it is already open is gonna drive me insane, no steam its not still open
Hey, I've currently got a {{season}} for spring and winter before each TMX patch to change a poppy on the map, but there is a better way to do it without making two other TMX's for summer/fall isn't there? I need a separate winter tmx to get rid of the poppy and its data in winter, but it would be nice if the rest could just be on separate season spritesheets. Would that work?
Are you indoors or outdoors
Outdoors
Ok. Having a separate winter tmx will not mess with that right?
I'll try it out
thanks!
π i believe it's working now, gotta fully implament it, thank you Esca π«‘
Seasonal cursors omg 
Gotta make those
I wonder if I could just do something like from: assets/{{season}}.png with edit image
hnnng feeling the itch to do shaders again
but if I wanna do shaders I gotta do art first 
are there any tips for making pixel art lol, im really bad at art, and this is something im dreading doing lol
!pixelart
Where to Start With SDV-Style Pixel Art
If you've never done pixel art before, don't stress! It's easy to pick up the basics - the key is to start small, ask for feedback, and incorporate that into your work.
To start, you'll want an art program. See a list of recommended programs in the !software command.
Here's some good beginner tutorials!
http://pixeljoint.com/forum/forum_posts.asp?TID=11299&PID=139322
https://medium.com/pixel-grimoire/how-to-start-making-pixel-art-2d1e31a5ceab
To start off, try opening an existing portrait and changing the outfit. Start small: edit a shirt pattern, change a jacket collar, or remove a scarf and draw the clothes underneath. Ask for feedback too! The best way to improve is learning how to identify what's wrong and why, so then you can work out how to fix it.
Here's more good tips from the artist of "Celeste":
General pixel art 1: https://www.patreon.com/posts/pixel-art-1-6971422
General pixel art 2: https://www.patreon.com/posts/pixel-art-part-2-11225146
Outlines: https://www.patreon.com/posts/outlines-14106192
Shading: https://www.patreon.com/posts/shading-13869731
Portraits: https://www.patreon.com/posts/portraits-8693396
SDV has a few quirks to remember too:
- Colour limits: Limit the number of shades you use - stick to six including the outline.
- Hue shifts: Rather than making shadows and highlights lighter or darker versions of the base tone, SDV shifts the hue too. Eg. a base orange will have yellow highlights and red shadows. This goes for skintones too!
- Light source: SDV uses a top-right & slightly forward light source - check the vanilla art for reference.
Most importantly, don't hesitate to ask questions and get advice from people. Have fun!
Before doing stardew style, you may wanna learn general basics of pixel art tho
i really should yea
im the type of person that kinda goes headfirst into something and keeps going until its passable lol
can confirm, worked 
is there a reason the game won't recognize my empty winter_poppypatch tileset? I had to get rid of the {{season}} TMXs, because when in the json, the game needed more maps for summer and fall.
honestly for small sprites you can just kinda draw whatever as long as you put on an outline and like some super basic shading
the pngs should have seasonal names, not tsx or tmx files, or the internal tileset name
is the location marked as Outdoors?
The empty einter png isn't being used though
Uh
I used the busstop as a base, so probably
hmmm
I didn't change it to indoors
can you post the tmx?
Ok, I'll try
The poppy does show btw, the empty winter one is the problem because it just uses the spring one. I can not verify if fall and summer are broken because they look the same.
Ah I think you actually have to load the tilesheets into the game for this
Oh, ok!
you do, yes
that makes sense then
in general it's better to do that anyways than to use local tilesheets, so that they can be targeted by recolor mods
Ah, ok. Thanks for the help
Did you even need to look through the tmx to figure that out once I shared the picture? π
nope
I run into a lot of trouble by not loading assets π€¦ββοΈ
is putting the mod id's like this still compatible with recolors? { "Action": "Load", "Target": "{{ModId}}/spring_PoppyJack, {{ModId}}/summer_PoppyJack, {{ModId}}/fall_PoppyJack, {{ModId}}/winter_PoppyJack", "FromFile": "assets/{{TargetWithoutPath}}.png" },
all tilesheets have to be in Maps/, and if you want the seasons to work, they need to start with season_, so if you want to put your mod id in there, it should be after Maps/spring_, though of course then if you use TargetWithoutPath the filename will include your mod id
additionally, if you want SMAPI to actually load your custom tilesheets instead of using the local copy, you'll have to put them in a different folder as the map
Oh, so I should skip out on the mod id if I don't want to add it to the filenames then?
yes? no? the purpose of adding your mod id is to make sure it doesn't overlap with another mod. if your tilesheet names are already specific enough that they're unlikely to overlap, it's fine, but otherwise I would just add the mod id or at least your username to both the assets and the files
Hmm, I guess best practice would be to make them a little more unique
I can add parcy in front, I suppose
Or
at the end
cause of the season stuff
you could do like spring_parcy_poppyjack or something like that
Im kinda slow but why mod id doesn't work for you
It would need to be in the names of each asset, and I feel like that is annoyingly long for asset names
I hate having asset names longer than they have to be
if i understand this spaget correct Maps/{{ModId}}/spring_PoppyJack should work
string text = Path.GetFileNameWithoutExtension(tile.TileSheet.ImageSource);
however this is a annoying to actually use
so im not against Maps/spring_parcy_poppyjack
oh do subfolders work?
Oh? yeah, that does seem a bit complex for me π
ppl wont have to make a subdir this way
I thought I remembered there being some issues wth the mines maps because of that but maybe it was a directory climbing issu
subdir?
Mines are weird
All I want for 1.7 is mechanics from mines and volcano to be not hardcoded
spacecore kinda does that
Allow me to use those volcano gates Eric
use MMAP
Using frameworks is neat but it's something inside of me really wanting some of that stuff to be naturally accessible in vanilla settings
the existence of a framework that does a thing lessens pathos' desire to dehardcode said thing, afaik
Fair enough
Understandable
(and i say this as someone who has done cool dungeon stuff, fwiw, so i understand the urge)
i think mines and volcano r especially hardcoded and weirdβ’
Chue plz explain name
Well it works now! but the tiledata/buildings layer block remains when it doesn't make sense to have it there. I still need to figure out how to swap my regular tmx for a winter version only. Is that possible with this? Because the reason I tried seasonal tilesheets was so that I wouldn't have to have a {{season}} before 4 separate tmxs{ "Action": "EditMap", "Target": "Maps/BusStop", "SetProperties": {"CurrentTime": "{{Time}}"}, "Update": "OnDayStart", "FromFile": "assets/maps/PoppyPatch.tmx", "PatchMode": "Replace", "When": { "HasSeenEvent": "parcy.jack_lastHi"}, "ToArea": {"X": 27, "Y": 18, "Width": 1, "Height": 1}, },
I'm not sure seasonal tmx would work the same as seasonal tilesheets
But it's possible to do
there's a few ways to do it
I made one and it worked, I just needed 4 for it to not break in the other seasons
the simplest is probably to just have a single-tile map patch that deletes the property when the season is winter
what is CurrentTime doing here?
Uh, I'm not even sure
i can't find that on the maps wiki page is why i'm asking
do you know where you got it from
Ok, found it. It's here, right above onlocationchange, which I pulled from my other mod as I was doing a patchmode replace here too https://github.com/Pathoschild/StardewMods/blob/develop/ContentPatcher/docs/author-guide.md#update-rate
So, what you're suggesting here is another conditional patch that intercepts this condition patch in winter, right?
Or, a patch the game searches for in winter, and the original patch that the game searches for every other time
I'm starting to question whether 4 {{seasonal}} TMX's would be worse lol
thanks for linking! i'm not sure if pathos intended this to be an actual example of editing map properties so i shall simply shrug
but regardless if you don't know what it does in your patch, you probably don't need it
I can test that at some point and see I suppose!
you can use "Season": "Winter" for one and "Season |contains=Winter": "false" for the other
so one will only run in winter and the other will run only not in winter
Ah, ok. And both of those would stick around to get called on again after the other one runs out, right?
what do you mean stick around?
I mean, when it queries for the regular poppy, it doesn't just do it once, and then not apply the poppy anymore after it queries for the winter variant
I assume it sticks around
ah okay so I think you may be misunderstanding how the asset pipeline works
I've explained it many times but I will do so again bc it bears repeating
the reason why I was asking though is because it would be bad if it didn't π
whatever you write, may i stick it into a wiki page for future reference?
of course!
I'll be definitely read your answer too if you want to finish it, but I found what I was thinking of #making-mods-general message
the more explanations, the better, because they can cover different angles π
i usually tell ppl its a pizza
someone Load the dough
everyone else can Edit toppings
totally off topic: can one make boots that give immunity to a certain debuff (slow when walking on x type of tiles)
so the loading process for an asset looks something like this
- when the game wants to load something, it asks its content loader for the thing, which in this case is SMAPI.
- smapi turns around and sends out a ping to every mod that does things with asset saying "hey, can anybody give this to me"
- if no mods say yes, it checks the content files, otherwise...
- SMAPI asks the mod for it, and the mod creates or loads it and then hands it over to SMAPI
- SMAPI then sends out another ping that says "hey, anybody want to edit this?"
- all mods apply their edits in order of priority and then load order
- SMAPI now has a custom, modified asset, which it hands back to the game
by default, as mentioned, this is only called once ever, but SMAPI also adds a way for mods to say "hey, I need to make changes to this asset, the current stored version isn't valid any more", which will make SMAPI get rid of the stored version, and go through the whole process again next time the asset is needed
content patcher is essentially a macro for hooking into SMAPI's asset pings. You tell it "hey, I want to load this asset when x is true" and then the next time someone asks for the asset, CP will check if the condition is true, and then tell SMAPI "hey I can load this for you" Additionally, so that conditions can actually change, it has the UpdateRate field, which determines how often it tells SMAPI to "refresh" the asset and ditch the stored version. By default, this is the start of every day
TL;DR, patches are always applied from a blank slate, and they won't be reloaded unless you tel lthem to
ooh can someone pin this?
we could ping a junimo to do it if you think it's worth pinning, but a command is probably better
oh yeah!
I'm not sure how to make commands though
!define
To define a new custom command, use /define
it brings up a window
if it won't fit, then you can link to the wiki page i'm about to stick this in
maybe a !loadorder?
I'm going to save this myself, too
chiming in to add that, as mentioned, there is no intermediate asset cache, so whenever a mod needs to re-patch an asset, the entire thing has to be rebuilt from scratch, including running every mod's patches. this is why it is notoriously bad for performance to use OnLocationChange or OnTimeChange for edits to commonly-patched assets like Cursors.png
excuse me, what is the process of updating a mod on nexus?
(wanna ask if it's okay that I try and format this into a command?)
upload a new file, change the version number, optionally add a chanelog entry
by all means!
Oh... I was told that onTimeChange was worse though, so I've avoided that 
do you mean posting an update to someone else's obsolete mod, or your own mod?
it is. in general, you should avoid using time and location change update rates unless you absolutely have to (but this also applies broadly; in general, your mod should avoid doing unnecessary work /lh)
I'm at Edit Existing Files tab, what do I do with the current main file? Will it bump itself down to being a previous version?
My own
that's all well and good until my Edit nulls the base and gives you a doughnut instead
Yeah, my other mod needs an on location change, so I've had to use it there
nowhere in the rules does it say you only need to Load a base or Edit toppings specifically
yes, if you specify that the new file is a newer version of the existing file. There should be a checkbox and a dropdown menu for it
Oo okay
what if I want a pizza donut though
then i have just the mod for you
https://stardewmodding.wiki.gg/wiki/Understanding_the_Content_Pipeline please feel free to edit or tell me to make edits as desired
Below are a few collected explanations of the content pipeline, as given by members of the modding community. If you want to understand how and when actions are performed on assets, this guide may help.
y'all think !loadprocess would work for a command?
cause !loadorder already is a thing
i wouldn't put load in there, because it's more than just loads
I've explained it a few times
(amusingly on mobile at 75% zoom the doughnut super react just makes a lot of top-left corners of doughnuts. very sdvpufferchickbig1)
okay, /define time then!
it's most useful when someone gets confused about how assets work or why <x> patch isn't applying when they want
quickj question
if a player has never obtained a quest yet
but has played on their save file
and I update the quests trigger
(like, adding a friendship level requirement)
will their game follow the new requirement, since they havent gotten teh quest yet
or is it only new save files?
even if they havent obtained it yet?
Yes it will follow the requirement if they don't already have it
Only active quests are saved
bumping this bc i think we buried it lol
it's either 1.6.16 or 1.7 that adds tracking of completed quests, but yes at present there is no record of a quest existing once it leaves your journal
New command added! You can use it like !contentpipeline.
My upcoming 1.3 update wont have many new fish, however
it will have at least 30 brand new quests
non intrusive
locked behind friendship levels
and rare events
3 days and im 17 quests into my goal π«
(you can use /define again to edit/update any command)
uh oh
I triggered grandpa's evaluation when testing to make sure everything worked 
I have nothing to make him proud βΉοΈ
But my poppy patches do work now!!
no
Terrible spelling error just there π
thanks so much for the help!
Any idea why this isn't content patching? (Besides the phantom puctuation, which - insists on persisting even after removal attempts.)
https://smapi.io/json/none/e281ae7c2572469b84587e0d2eed3c31
seems like you can delete }, on line 8, it's closing ConfigSchema before your second option
Log Info: SMAPI 4.5.2 with SDV 1.6.15 build 24356 on Windows 11 (10.0.26200.0), with 27 C# mods and 18 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
did you put a comma after the } on line 7
There was, but I removed it before rerunning it in SDV.
As it is currently, lines 1 to 14:
{
"Format": "2.8.0",
"ConfigSchema": {
"EnableCellar": {
"AllowValues": "false, true",
"Default": "true"
}
{
"UnlockCellarWithHouseUpgrade": {
"AllowValues": "false, true",
"Default": "true"
}
},
{
"Format": "2.8.0",
"ConfigSchema": {
"EnableCellar": {
"AllowValues": "false, true",
"Default": "true"
},
{
"UnlockCellarWithHouseUpgrade": {
"AllowValues": "false, true",
"Default": "true"
}
},```
you need a comma
yeah every time I fix one, another missing comma shows up down the line, so check for those:
Where's the handbook on comma use? I think I need it.
button has a json tutorial, let me find it
If I want to send some letters from villagers, can I do it on the main content.json or do I need to make a new Mail.json for that?
it doesn't matter how you organize your files
as long as it's either in content.json or a file imported by content.json itself
AFAIK, tool upgrades retain the enchantments that the tools had before the upgrade.
Is this not possible to achieve with weapons, when say, doing a trade?
Weapon1(<enchantment_name>)
Trade>>>>>
Weapon1(<enchantment_name>)
Example:
Rusty Sword (Artful)
Trade>>>>>
Rusty Sword (Artful)
__
I'm assuming no, as the tool upgrade system is special and very different from directly "buying" from a shop. But still worth asking.
nope
(maybe I should make the 'upgrade tool' thing in Carpentry Catalogue also available for regular shops, not just blacksmith ones)
(Carpentry Catalogue/Blacksmith Bulletin/Custom Builders/etc.' tool/weapon upgrade system does carry over enchantments and attachments, but it's currently tied to a blacksmith shop that requires days to upgrade)
(let me know if you'd be interested in this feature also being available for regular shops)
Y'know, I'm glad I figured that poppy patch thing out today, instead of making 4 different tmx files, becuase now I'll be able to apply that concept to my other mod which will need winter seasonal varients for much bigger maps!
hmmmm i should consider making my mod compatible with more seasonal outfits π€
(you don't need a seasonal outfit mod to give your NPC seasonal outfits)
Is it possible to do this?
Like i want him to reach the wardrobe, change clothes, and at 9:20 AM, start moving to the register
And then, let's say, at 12 PM, he goes back to the drawer, changes clothes, at 12:20 PM, he goes outside
NPCs only update their appearance after warping
you'll need to briefly phase them out into a closet location
oh that's a good idea
I was going to say I saw people fighting with updating clothing, like changing into a bathing suit, but that's a good idea to get around it
that's...huh 
So i need to make a new warp map, add a location, add a warp tile, warp my NPC to there, make him change his clothes, and then warp back immediately?
yes (the new location could be a black void as long as it serves its purpose)
Make it a NPC only warp, of course
right
Actually to make it make sense i should probably add a door there
but inaccessible to the player
Similar to Haley's upper room
chat, question, on a scale of one to ten, how difficult would it be to make a simple npc that serves the same amount of purpose as an animal crossing npc, that just exists on the farm around their house a bit in the day? π€
"on the farm" is the qualifier that kicks this up a few numbers
how so π€
making a custom farm btw
is it the player's farm
i have no idea what an animal crossing npc does, but a simple npc is very simple indeed
or a separate map
they say some lines :3 uhhhh and they pretend they're being useful
players farm and in their own house that is a seperate map π€
So I uhhh did this thing lol
https://www.nexusmods.com/stardewvalley/mods/44592
becombus
you might want to fake it by using trinket tinker to make a trinket that looks like an NPC, rather than dealing with NPCs on the farm
π€ explainings please
A NPC is gonna wreck your fences without extra mods
i can path their excursions no? it's a large farm and im planning on having their walking paths quite clearly marked with dirt path on the floor
I'm not sure if npcs even have pathfinding on the farm to allow for a schedule, but even if they did the schedule works in absolute tile coordinates, so farms of different sizes will place the house and NPC in different relative positions
there's a framework called trinket tinker that allows the creation of custom trinkets. you have a high degree of control over their appearance and behavior, and you can manually equip the trinket for the player. you can anchor them to things like trees and weeds and pretend they're working
So this is for only you to use?
specifically for my custom farm
mmmm no, im gonna post it i think eventually, but its specifically for my farm im making
it's a whole thing of animal crossing new leaf stuff
that does simplify compatibility, but the pathfinding question remains
i should really know the answer by now but I've simply not tried myself
yeah, if someone builds a coop where your NPC is supposed to stop, you're fucked
π€£ how does pathfinding work? π€
like the farm
hmmmm i see
And even with the paths marked, you're going to need to take steps to make sure they don't build or place ANYTHING in their way
because they will obliterate it
this is why spouses are really boring in vanilla btw
or go around it and maybe obliterate something else
π€ the tiledata blocks should do, no?
i like the term obliterate considering the fact they do legit just walk through it with no added issue
you can use nobuild and nofurniture tiledata to cordon off an area of the map for your pathfinding, but that's if it works
i think trying to make a real NPC work will be an enormous headache
No, they destroy it
my advice is still faking it with a trinket
π§ββοΈ no issue towards them i mean
Oh yeah
explain trinkets to me please then π€
Like a Terminator or something
alright history for farm pathfinding is mostly people like me who just vaguely assume it's disabled or broken, but ameise did say it's outright blacklisted so I'll trust his judgement
https://www.nexusmods.com/stardewvalley/mods/29073 review this mod page and its documentation
thank you for checking i wasn't sure at all
chu writes very detailed and good docs btw so if you still have questions after reading through it you can let me or them know
he did say that 4 years ago, so if 1.6 changed this then we're back to being unsure
i don't have the codebase in front of me to check
i can pull it up if you know where it might be
I use trinket tinker a lot with my mods, what are you trying to do?
π€ so like, i saw a thing where someone had a bunch of pets following them, would it be similar to that but im just not having them follow the player but just exist in an area? I assume i can have them go in and out of their house without issue
you ever played animal crossing?
Yeah, I know what you mean, you don't want them to follow you around? Just be around the farm only?
no idea πββοΈ I'm sure if you search for "Backwoods" you'll find something relevant
you can have them follow the player, but you don't have to. you can anchor them to other things on the map and define their range. what i would do is put a real NPC in their house, and never have them leave. then when the player changes locations to the farm, manually equip the FakeNPCTrinket so it appears as if they're on the farm
I am but you probably have to find other interested people too first
i want animal crossing npcs on my custom farm im making, they're saying npcs cant work on the farm so they're saying trinkets, so i want to make em exist around their house and mind their own like they do in the AC games
another option is Have More Kids, which I believe can make "kid" NPCs run around the farm
another banger from chu
Yeah like what nic suggested, you can anchor them so they aren't on the player. You can also make it so they are equipped automatically without using a trinket slot.
okay, can you break down what I'd need for that? it seems like the stuff that would go in i assume the content.json file is simple enough, but what exactly do i need for making them look right
Thing is, anchors from what I recall are like stone, trees, crops, forage, things like that.
the documentation for trinket tinker is where you'll find all that info
So if you don't have those on the farm, they won't anchor
^ and will default to following the player around
as you can gather, this task is quickly rising on the scale from 1 to 10
i can pick specifically which one? then could i just make.. two of the same thing, have one in the house at all times, one outside at all times, makes no sense but oh well, then have the outside one anchored to a rock i have in the middle of the house but covered by a tile?
you wouldn't need two trinkets; a real NPC could exist in their house because it's not the farm, as long as they don't try to leave via the farm
:3 well i spent 4 hours getting truffles to spawn at a customizable rate in the woods for someone else's mod that i wont even use
i think i can do it if ive got the time
Let me have a look, see if it is going to be up near the 10 on your scale lol
π€ would i be able to have the real npc work normally in the house and the trinket only be visable outside the house?
the good thing about TT is there are a lot of example packs out there
ten is needing to code my own stuff in c#
yep, that's what i was suggesting earlier
oh sorry i did not understand that π
no worries!
π€ πββοΈ okay so all i need is a custom npc for inside the house, with it's own animations and what not, then use those same textures for the trinket, which i have down as automatically equipped without taking up a slot and only visable outside?
yep!
epic, and if I have the npc inside be pretty simple, that part should be pretty simple too? only hard part being the art atp?
Keep in mind that making NPCs is a complex process that requires learning many different aspects of Stardew modding.
Here are a few links that can help get you started on all that you need to know:
-
Tiakall has a great tutorial on making a custom NPC for 1.6.
-
NPCs no longer use dispositions, check the wiki page for the new NPC data.
-
Feel free to jump into the https://discord.com/channels/137344473976799233/1277457201077813280 thread for more interactive feedback and help!
-
Fireredlily has a WIP NPC Builder Please do report any errors you get with it into the NPC thread!
Yeah since you said C# and likely harmony is going to be a 10, that's the only downside, since you could have an override for the anchor, like a building or placeable object instead of stone, trees etc. But it would just hang there and not really walk around. So you would need to do some even more invasive coding to get it to waypoint between anchors using timers. Since it doesn't get stuck on objects or have collision that would work. But yeah, you would defs need C# and harmony and hook into the TT framework.
that knocks difficulty down to like a 3 imo
i have time but idk about enough to learn the needed coding and workings of other code
yeaaaa
(also, i'm not sure if you would strictly need to hook into TT, because i think the chances of there not being any rocks or crops or trees on the farm is very low, but that IS what you would need if you wanted to anchor to something else, yes)
Yeah depends on the farm, seen a lot of farms with like none of that and it's just buildings and placeables haha
hmmm
πββοΈ unfortunate, ill revisit this project in some years when i know code enough to overwrite the lack of npc pathing on the farm if it isnt already done my someone else
but for now we'll have some chronically inside lil guys
OH btw @urban patrol would you be able to showcase my Wumbus mod please?
oh yeah sure! no AI or NSFW, right?
Nah none of that with me haha
i figured but i always check haha
no problem
can AT do npcs?
I'm pretty sure it can do children, if you went the Have More Kids route
π went with they're just gonna be house recluses
would there somehow be a content patcher way to have love of cooking recognize book(s) as an ingredient?
Uhh... I think it would work with non-loc but perhaps it's something to ask blueberry about
it might be slightly odd to put a book and a flower in a frying pan
it's hard coded, i'm quite sure
that's fair π
was curious, hm...maybe I can have the recipe not show up if LoC is detected?
or something else, hm..
thank you both ^^
yummy book
i consume knowledge at a pace no one has ever dared attempt
π This edible book is made from dark chocolate jacket binding and white chocolate pages with two chocolate poles for structure and balance resting atop the ball.
Writing on tempered shine side up white chocolate was tough, I had no printed transfer sheets and I donβt yet know how to make custom sheets but I need to start this.
This book...
an item can be cooked if it fulfils all these conditions
return item is not null && item.Category > -90 && item.HasTypeObject() && item.canBeTrashed() && item.canBeShipped() && !IsSeasoning(item);
VMV has convinced me that books are delicacies
i suppose books fail the category check
Couldn't it be a crafting recipe instead of a cooking one?
Individual books work in recipes, interesting that the general book category doesn't
ideally it'd just be a flower that you slam in the loc cookbook to get the pressed flowers
simple solutions π
I currently have a machine way to do this technically
there's just also a 'microwave' option with the book if people prefer to cook to get the pressed flower (it's quicker)
I wonder if I can change it to a wood option maybe if LoC is spotted, kind of like how cornucopia has that fish and wood (stick) recipe
If they just wanted a dried flower, you could use the dehydrator
I did wonder about a 'machine' that was a heavy book that took flowers as input
mmm flower kebab
The machine is just War and Peace
oh I have a dehydrator option also..although I'm not sure if people know that...might mention it in an event or something maybe for a future update
Lol how many ways of doing this do you need?
having failed to read dostoyevsky on several occasions, i can confirm his novels are so dry they'd work as a dehydrator
at least 3
idk just wanted options
isn't war and peace by tolstoy
i haven't read it, just chiming in since we've run into the rare topic of books and dehydrators πββοΈ
i dropped it and need to try again cause it is a big boi
War and Peace is the book TV shows go to when they want a book you can cause brain damage by dropping on someone
don't drop it too often or you'll leave a crater
or at least they did when I watched TV as a kid.
i have several
anyone have tips on making custom tree designs? not to be cut down, just for visual
mm, idk if this is the one for that, but i do gotta head off so ill just figure it tmr
π³
- structure tip: draw the stem and branches first to help guide your overall shape for the foliage, match the usual structure of your type of tree, and maybe tell a story for the age and environment of the tree if it's important
- size tip: iirc most vanilla trees are about 64~80 wide and 80~96 tall, avoid going much larger. the bigger they are, the harder to draw. making smaller variants adds variety, character, and environment.
- reference tip: use the winter/summer vanilla tree sprites to compare foliage/stem shapes and stay stylistically consistent with vanilla
- shaping tip: avoid drawing individual leaves, just blobs of foliage around the branches, with a sort-of-top-down angle, to better create a whole contiguous tree rather than a collection of disconnected leaves
- lighting tip: blob in foliage in strips of colour or clusters of leaves, from dark to light, bottom to top, maybe 1-2 leaves in height each depending on the size of the tree, blending these to give a sense of depth and self-shading to match vanilla trees
- rendering tip: be careful of using too many tones per leaf, especially around edges to avoid making them thick and blurry, and instead use tones/groups of tones to influence the overall lighting of the tree, using the minimum per leaf to blend them and hint at the iconic shape of the leaf for the tree. likewise for the wood, balance your use of tones more towards iconic texture and features of the tree than lighting. don't draw ANY detail until the shape and silhouette is readable and satisfying.
- time-saving tip: some vanilla trees reuse the same base/stem/branches and only vary the foliage, so you can get away with copying the base trees for your own, or copy your own trees if you're making several similar sorts
- most important tip: use reference photos and the vanilla spritesheets!!! trees are unique in subtle ways and you'll best recreate those by studying them
- warning tip: drawing trees takes fucking forever
Very nice tips 
thanks i hate trees
Hmm
I can try making some kind of a tree generator specifically for sdv just for sillies
okay this is actually funny but does require much more things
especially leaves
Amaze
WIZARDRY
were you the one who sent the steam page for this app a while back? I know someone did!
Lani did send it in 2023
#making-mods-general message
And for three years no one talked about it here
Till I started using it and sharing some of its features
I also used it for my monster mod to pick og colors
#making-mods-art message
Conclusive evidence that sasha is a wizard

When do you guys typically release your mods? I'm working on an NPC and I would say she's half finished (functional, but without most events), and I'm wondering if it's better to release her now or wait until she's finished. Do people even download unfinished mods?
I had to release mine in a heavily WIP state due to modfest ending, and it did get downloads but I think it's best to wait until it's done so people can just download instead of waiting
Personally I wouldnt release before its finished
Yeah, that early rush of people does a lot, a shame I'll miss out on it with this one haha
Aside from the modfest time crunch a lot of people experienced, time isnt really an issue now, so i dont really see the benefit of giving people access to something thats not near complete or very close to it. I dont personally download mods that seem unfinished 
If you release It unfinished guaranteed people are going to complain it's unfinished
Yeap, agreed
WIP modfest release was a necessary evil π definitely not something I would ever do otherwise. Hate releasing stuff unfinished...
mmm yeah I suppose that makes sense, I'm just worried π Since I thought that with an early release people might give feedback about what to add/change
releasing when it's unfinished will negatively impact your initial downloads and visibility - people are less likely to download something that doesn't give them a more or less complete initial experience.
the modfest crunch was one thing, but when you're not on a crunch, there's no point. NPCs are so much work, it'll be a shame if fewer people see your mod
If you're just missing events I think it's fine to finish them. People can still give advice after, and you can always ask here what people think if you think an idea needs work, but yeah don't wanna release a WIP if possible
Make the mod how you like it. early release isnt really a substitute for a proper beta testing stage. if you feel your mod needs testing by multiple people i think its most fair to be upfront about wanting testers, rather than downloads from regular users. beta testing is not the same as using a mod the regular way one would use a mod
If she's romanceable, she needs heart events in the initial release, but if she's non-romanceable, then having at least her dialogue and such done is good, but you'd still need a couple events to keep people engaged
That being said, I recommend doing a proper beta in this server first
And/or elsewhere if you have the audience on your socials to request beta testers
Is there a place you can ask for beta testing in this server actually? I normally ask my friend but they don't know stardew well (they are a BUG MAGNET though. Literally everything that can go wrong will go wrong when they test stuff. Even things that happens to literally no one else idk how they do it)
sounds like amazing testers ngl 
As an appetizer apparently ibis ads will paste itself as an IMAGE ON THEIR CANVAS sometimes. What did you even doooo
They can erase it and stuff, like how does that happen π
alright, I think I will try to finish it first and then get my friends to test it before release ^^ How would that work, actually? Would I need to share them the mod file somehow?
Here! This channel is a good place to do it haha
Ohh tyty, do you just ask and then share the file or is there an etiquite for it?
I'd just put out a message during slightly busier hours with a blurb of what the mod does and saying that you're looking for testers!
If you find that you'll need a thread, you can ask a cheeto to make one for you
Tyty :3
How difficult would it be to add selective breeding mechanics to the game? Not anything crazy like getting into the actual genetics, but like minecraft horses/alpacas type thing
uhh 
β¨ with c# anything is possible β¨
Noooooooo 
you cant even choose specific animals to breed in sdv
(i mean i guess you can if you give the game no other choice but)
Yeah it'd have to either be Animal Husbandry's insemination mechanic or add a mechanic needing a male and female for a pregnancy to happen
mind you, we have no male cows or sheep
wait
sheep maybe
cows
ugh all i know is mpreg is possible
Pigs can be male or female. So that's not as hard (I hope) it's just adding a new animal type
The pregnancy requiring both would probably have to be a new mechanic though... and designating 2 parents to an animal
But it'd be soooo cool for animals to have traits you can selectively breed to bring out certain ones, like with irl animal husbandry/ranching
Besides the C# stuff you would have to define what these traits even mean
yeah, i was going to ask what traits are you selectively breeding for to beginw ith
cuteness?
I was thinking certain pretty/showring features yeah, that increase sell price. Along with the amount of produce they provide, and/or how much meat you get from them
Like with reptiles (irl) you generally breed for strong rare traits that make them desireable, with cows you generally breed for milk or meat production
Helloo people. I have some questions! For the introduction dialogue, is it possible to ask a question in it? Is there anyway of having a higher heart level with a npc from the beginning of a save?
π€ you could probably do something like that via uhh, trigger actions
hi! I'm new to mod making and am trying small for now (before trying to be insane and make an npc mod lmao). I'm having a hard time looking for resources to start understanding how mods work in general, and was wondering if anyone knew any articles or vids I can watch to hopefully get a grasp? I've been fighting with a small recipe mod as a starting proof of concept but it is NOT going well lol qwq
!startmodding
Making mods can be broadly divided into two categories:
- Content packs are formatted text files, and don't need any programming knowledge. They can add/edit NPCs, maps, new items, shops, and more. To get started, see the list of framework mods, the wiki tutorial for Content Patcher, and there might be relevant guides on the tutorial wiki.
- C# mods use programming code to change fundamental game mechanics. See getting started with C# modding.
Usually itβs easier to start with making content packs, since you don't need to learn programming.
ah ty
Last edited by AtlasVBot on 2025-09-13 18:56:08
i think yes for question
i forget but i think i did it let me just chcek wiki
yeah you can ask a question
Oo okay! Thank you
I referenced minecraft-type mechanics because in it you can selectively breed horses for health, speed, breed/coat, and jump height, you can even create mules by breeding a horse and a donkey
I would just love for there to be something like that with animal ranching, since it's kind of obsolete to breed/sell animals in the game, even with mods like animal husbandry
would be interesting for animals with a bunch of colors too
Yeah ikr! And it's such a core principle of irl farming/ranching
Not to mention reptile/dog/cat/horse/livestock breeders and etc being a whole thing
Imagine just raising bunnies in SDV 
But yeah any idea how hard that would be to do? Like could I nerdsnipe say... Selph, into making it, or would that require learning complex C#?
poor Selph π not sure anyone deserves to be sniped quite that hard

LMAOO
Happens when you're basically the one person who actually knows their way around stuff ππ
Mhm, selph has some animal mechanic mods. I'm sure they'd manage :p
hey dont sell the rest short like that 
Sadly i've already nerdsniped Chu too much to ask for more... for now
you just woke up today and chose violence huh
/lh
If you can't beat up people, then it's the pixels' turn π€π«ΈπΌπ€πΌ
oh wait, should prob change server tag π
better lol
How would you play a sound in a c mod? And is there a way of listening to the sound(s) associated with each id?
for the last one, Soundboard mod for the vanilla sounds iirc
π
bah scope creeped myself into moving every vanilla crop up a pixel or two where possible to make them look neater and more consistent in garden pots 
ive been wanting to check out cornucopia too which means ill have to do those as well 
maybe one day they will find a cure
It could be worse. Iβve scope creeped myself into learning C# for a furniture mod
for your unapologetic crimes against framework modders i feel less sorry for you /lh /j 
Instead of breeding 2 specific animals, you could have the other animals in the building effect the output. For example, if you had 2 white cows and 1 brown cow in a barn, whenever a cow in said barn gives birth there could have a 2/3 chance of being white and 1/3 chance of being brown (and maybe you could altar those odds a bit based on the animal giving birth).
With that in mind, you'd probably want to also add an item that forces an animal to give birth, even if it is just for debugging
Oh interesting
is there an easy way to edit the minimap
(but ye C# scarier scopecreep than some pixels
)
What minimap
like the world map
I feel like thatβd create some possible methods of abuse though, like making a barn with 2 of the type animal you want would basically guarantee certain traits
gasp Do I spot someone I could nerdsnipe 
You could add rng to the mix (for example, there could be a 5% chance of there being a blue cow).
can just edit loosesprites/map or wshateer it's called
-# do traps work as well if youre shouting Trap! Trap! while running towards your victim? ...asking for a friend
i wonder if other mods edit the map (ik sve does)
i havent noticed
compat hell if so
Custom NPC Ailyah!
quite a few custom farms make edits to the world map
It also seems to be fairly compatible with other mods that edit the map
Ridgeside edits it too
anyways unfortunately i got lore creeped by myself so i have to go write down everything 
oh cool 
sir this is genetic research, this is beyond nerd sniping and into the realm of having to do work
it also has tons of pictures for all kinds of npcs/expansions
good thing u said that
Dead boys detective does it properly
Isn't that kinda the point of adding a breeding mechanic to the game though? I mean, you could certainly add rng to the output that raises/lowers the stat by a certain amount.
But if a player can't impact the output traits, your basically just giving them a roulette board of stats.
personally i feel like having other barn animals influence the outcome takes away from the genetic manner of the idea, like it no longer is based on the parents and a small amount of random mutations 
Yeah, like my thought is then you would need multiple barns to selectively breed certain pairs or itβd be random
Id love a chance to breed a smaller but faster horse tbh
I'm tired of it being stuck everywhere
if wanting to add more player input theres doubtlessly a variety of ways it could be implemented though. for example if going for a lighthearted silly sort of science then the player could feed the animal foods that affect the odds, like how its done in the sims, with apples or something affecting the sex of the baby (might be misremembering the specific food)
I mean, here's how I'd view it working:
- you have animal 1. This is the animal that is giving birth.
- you have animal 2. This is a randomly selected animal of the same species in that barn.
- From there, you could combine their stats, whether that be in the form of taking their average, or randomly deciding which parent stat to use. And if you want to add mutations, you could have a chance of incrementing/decrementing a certain stat by a random amount
I think that'd be the easiest way of doing it without needing to go off the deepend of c modding
but the amount of coding that would be required for even simplistic inheritance of traits sounds pretty immense to my uneducated self. and it would only increase the more complex the inheritance mechanics get, not to mention if you have more types of traits needing to be stored and calculated
insert Nike logo
I (mostly) agree. This idea just serves to eliminate some of that complexity
Ask my boss that
Ahhhhh that makes sense! Like how breeding pens are used irl. If you have them open in the same barn it could be bred with any of the viable males, but if you have them specifically together itβd be that pair 
Feeding my rabbits radioactive ore for them to have ten legs
No
they dont even hop in vanilla and you wanna make them flop across the floor like a cursed flesh mop π
New quote added by mailia_foe as #7831 (https://discordapp.com/channels/137344473976799233/156109690059751424/1489641018470174931)
That sounds like a βmaybeβ to me
/j
Yep! IDK how complex you want those stats to be, but that'd probably be the easiest method of introducing a means of modifying said stats given the traits of two parents.
a coarse implementation of stats could be how many days to produce product?
not sure if it would go up a whole day step at a time though
or chance to produce deluxe item or something
Or maybe the size of the animal
friendliness = how much friendship gained for petting etc
breeding for friendliness means befriending the animals is overall easier
But for testing purposes, you could also just add a few dummy attributes that you can track.
Yeah exactly the kinds of things I was thinking. And I think you could get the genetic part relatively simple. Give them traits on the backend and have something like 75% chance for a trait be inherited if both parents have it, 40% if one parent has it, and maybe like 5-15% for certain additional traits to be added that neither parent has, and just run the check for an animals stats upon birth. Then once itβs traits are decided, have some sort of βstrength levelβ be set for each trait, maybe based on the parents with %βs the same way the traits themselves are decided
Then make the actual changes happen in game based on those values
making-gene-specialists-general
Just be sure to set an upper and lower bounds of those values.
just crush sashas dreams of 20 legged bunnies like that 
terrifying
augh I'm not yapping enough
You could still have 20 legs. You just need a way to ensure they don't reach above or below a certain number
This pie looks so good, who wan some?
0 leg bunny 
I was moreso thinking negative legs (technically speaking a 0 legged bunny is completely possible)
negative legs would indeed be bad
... negative legs... is the bunny folding in on itself
no he goes around in the night and robs the other bunnies
brings down the property values cause of the unsafe neighborhood
actually how would he go around in the night 
worm
No, the legs would be comprised of antimatter that immediately disintegrates.
kablooey
Did someone say quantum?!?!
( π im like half asleep and reading this chat is . im trying not to laugh)
Oh yeah ofc. Like for the friendliness trait you could (for a very ruff example) have 5 levels that are β+ 10 friendship points on interactionβ up to β+ 100 friendship points on interactionβ and you basically selectively breed to get higher levels of traits. And youβd have to have some traits that donβt mix, like you canβt breed for βlevel 5β milk production and meat amount it has to be one or the other (or make it dynamically somewhere in-between, like say you can only have say 6 levels across milk and meat combined)
You can't say that word to someone with a degree in Quantum computing and not expect a response
It's become a baked in pavlovian response
what is it with this community and having ridiculously smart science persons in the modding channels
/lh
Nah, I'm an idiot π€£.
with a degree in quantum computing, uh huh
and I'm the easter bunny 
the venn diagram of "is willing to do reverse engineering for fun as a hobby" and "gets paid to solve hard problems" overlaps quite a lot
that would explain how I ended up here, except I haven't gotten to the "gets paid" part yet
Well, I haven't reached that last step yet.
Yall, the job market rn freaking sucks
-# smart seems more like being able to do stupid things faster with greater umph and efficiency 
soo, I tried adding the animate command to my event, but it just completely doesn't work, like it just skips to the next action for some reason :'D Can anyone take a look if I did it right? It's at the end of the file
https://smapi.io/json/content-patcher/0831e50945c14a3cb645e858081a9726
π€
I'm entry level and it is rough out there
have you tried simply being older and already being established in the market already
wise words
have you tried being born with 10 years of experience
the babies just need to pull themselves up by their bootstraps and invest in the stock market. being 5 months old is no excuse
At least of you're in the tech field, get the first internship or job offer you get. So many "entry" level jobs require prior experience.
I'm lucky in that regard, it's just that I'm not in a quantum computing job atm (or at least not completely)
I uh
I'm a lawyer
I have 5 internships under my belt but I'm getting smote by language requirements since I'm a migrant
this is a recent development, had I known it would be like this I'd have started working towards fluency years before I moved here
Whelp, can't help you there π
At least that is a reasonable excuse for rejecting an application, and not just an AI message
I still get the AI message, dw 
I've made the inferences myself
I'm just salty (I got one of those very recently)
Granted, I didn't need to make an inference
But yeah I donβt think the genetic aspect itself would have to be very complicated, youβd just have to be careful to balance the values.
So the core bits would just be:
Allowing 2 animals to be specified as parents, with pairs selected from the current barn.
Creating a pretty simplistic traits system, using % chances based on the parents traits.
Implement the traits in game to have visual/functional effects.
See? Totally do-able. Someone get nerdsniped and make this please 
If you break it down like that, it DOES sound doable... until you actually try it. πππ
I mean, I'd have a rough idea as to how to do most of that.
The thing I struggle with the most with modding is A) learning the ins and outs of the Stardew Valley code itself and B) syntax mistakes from switching between Python and C. Plus, my syntaxes have been absolutely demolished since College (there was a period of time wherein I was actively working with 5 or 7 different programming languages at the same time π )
-# (psstt mailia, they're halfway into the trap already. dont startle them π€« )
Yeah I feel like itβs mostly just knowing how to do C#, not that the concept itself would be complicated to make. Like for me it would be super difficult cause idk how to even code % chances, but for someone familiar with how to do those things I think itβd be relatively straightforward?
Jokes on you, the only reason I haven't triggered it yet is bc I have like 50 other mods I'm working on
Plus, if I do any animal C# animal mod, it's probably gonna be one that adds a galaxy golden animal cracker. #GalaxySoulsDeserveRights
I should probably learn C#
Do it
Maybe once I'm done studying for the certification I'm doing
CIPP/E first, atra
C# second
I'll do that power bi course on the side while prepping for CIPP/E though, it looks stupidly easy
If i was doing a content pack for a new character, but also need to do some C# for parts of it, i know it wouldnt be possible to have them be like together. Is the way to do it like having the c# be kind of a separate mod working in tandem with the content pack? not sure if i described what i meant well lol
think so? much like how you see mods that have a CP and an AT module
You can have them as two separate mods, then bundle them under the same folder
Mod
CP part
C# part
Things like sve do it this say
ooh yea thats what i was thinking of
*way
why is ambient lighting making my maps so DARK
ModBuildConfig can also do this automatically for you
look at the documentation for bundled content pack
i see, ill look up what that is then
hi! if I wanted to recolor the ocean of the Ginger Island, how would I go about that? I read somewhere that recoloring water can be tricky? do I simply recolor the tilesheets or do I need to do something else
The color overlay is on cursors 
So the trouble here is that location changed cursor edits suck very much
If u want i have implemented water texture and color things in mmap
oh :/ I guess I will avoid it then, my mod already has a few location conditioned edits already
Oh that's very helpful. I was thinking of using mmap already for adding lights to the trees
If u put this on the ginger island location context it will apply to all locations there
MMAP is a godsent
The underlying tiles are still just tiles ofc, u have to recolor that too
This is just for the water overlay
thank you, you make the best frameworks ever
quick question cuz idk where i heard it or if i imagine it but...was there a way to make an NPC glow?
I would be interested in knowing the answer to that too
Not rly
dangit
A long time ago i made a C# to do it but it's pretty annoying
i thought i could make my anglerfish dude glow
cant one just plonk a istorch thing on them, sigh /j
now, if nps could jsut hold things and we could give em a glow ring...well, anyway. i guess my usecase is way too specific lol
New mod: When You Gift People Torch They Glow
ngl i had hoped there was something like the effect for BC/scarecrows where you could just be like yeah thats totally a toch, its not, but lets just pretend anyway xD
probably never actually making this mod bc i dont have the skills needed BUT. i dont think anyone has capitalized on the alien that ends up running loose in the valley. would be cute to make that a modded npc
somebody made an alien in hiding but i don't know if it was meant to be the one from the capsule
and bc i came up with this when i was reminiscing abt adopt n skin, would be cute if the alien comes to admire earth animals and we introduce the alien to the concept of animal shelters so that it doesnt just. collect animals to collect them. and then we have an animal shelter in the valley to adopt animals!!
Ooo would love to see that
Stardew valley has some scifi elements going on that nobody really ever acknowledges lmfao
CUTE
Is there a way to add glow to a certain forage object?
Attempted to do the same thing but with showFrame and it also didn't work-
nope
on a scale from 1-10 how important is line-by-line debugging when making mods
certified glorp
You can always just add log everywhere 
bet
I would say it's about as important as line by line debugging in any single threaded application
neovim it is then
i gotta reinstall tho, my settings are very messy
i'm just waiting for when cosmic becomes more stable so i can do a system wipe and restart
new day new attempt at fixing this, if anyone can decipher the red text in this smapi log any help would be awesome :,) i have been trying to figure this out for a while now
looks like a bad room map file
!giderror
What does this mean?
You edited your map without one of the tilesheets present in the same folder as your tmx, causing the XML data to lose information about the tilesheet and recalculate the starting GID's for the other tilesets incorrectly.
And/Or
A tilesheet your map references no longer exists in the files, causing the same above problem.
How do I fix it?
Make sure all the tilesheets your map uses are in the same folder as your tmx, then make any small change to your map, and finally save your map.
This should cause Tiled to update the XML data and recalculate the starting GID's. You can then remove the change you made and save again.
Always make sure to have your tilesheets in the same folder as your tmx when editing your map (unless you're using tilesheetinator) in order to avoid invalid tile GID errors.
And/Or
If your map was using a tilesheet that no longer exists (several were removed in 1.6.9+), then you need to replace any reference to that tilesheet with one that does still exist or get a copy of it and ship it with your mod.
i thought i made that a command
oh awesome
oh yay there it is
y'all have a command for everything lol
my speed surpasses urs nic muahaha
i just realised i don't have a usb drive to reinstall linux with lmao
.quote
hm.
an umamusume gasplosm
iβm on mobile does someone else want to add !invalidtilegid as a synonym for !giderror
otherwise iβll set a reminder
this is where things get a little iffyβi had the tilesheets in the same folder as my tmxs but removed them since i was done editing the maps, and thats when it gave me all the errors. i was under the impression though that it would auto redirect to the maps in the game files if it couldn't find the ones in my folder
hmm i should probably actually learn to mod instead of just adding mod ideas to my notes app
ahhhh thank you
it does; gid errors happen seemingly randomly(?) i recommend using tilesheetinator for your own convenience, but to fix the gid error you have to open the map, change something, save it, then change it back, all without visible map errors
i fear the day i need to remove the tilesheets from my maps folder
wizzzz use TSinator i swear it will change your life
the textile shop? yeah iβve loved your progress!
thankfully i did install it but things were already messed up at that point haha. before i change something, do i need to add the maps back to the same folder as my tmxs?
what does tsinator even do
yep otherwise there will be red Xs
prevents you having to have a maps workspace folder or copying vanilla tilesheets to your maps folder
okay but what if i use my own tilesheets on top of vanilla ones
then thatβs fine you just tell it to also look in your custom tilesheets subfolder
(because you should be loading those to the content pipeline so others can edit them as well)
(no no one touch my tilesheets they are my chaos babies)
u think anyone gon want to touch this
yowza
that actually looks very neat and organized
it does, but i'm also scared of tilesheets
i feel like if i touch it wrong, it'll collapse
okay i've made the small changes and saved. should it be okay now to remove the tilesheets from the folder and try reloading the game?
i have no room to talk
yep!
so did you fill in the blank spots so you didn't accidentally use them too? π
you all want to see true horror on a tilesheet
of course
yes
it's not that bad
anything bigger will now be cut down to fill the left spaces
CA valley
everything is CA what the fuck
yeah lol
i regularly forget where i put certain assets
ye but there is both rhyme and reason to it- have you seen cursors
i like my dedicated invisible tile
omg you do this too?
ofc
ngl more often than not i was thinking of filling my other empty tiles but since ive always been editing it to add more i havent done that so far
man it's still not working
here's the recent smapi log after doing the recommended fix in tiled: https://smapi.io/log/12e10a956a6642fabb0b6cd05935876d
Log Info: SMAPI 4.5.2 with SDV 1.6.15 build 24356 on Windows 11 (10.0.26200.0), with 17 C# mods and 5 content packs.
i am at a loss
oh youβre trying to use tilesheets outside the maps folder
this is possible as of a recent SMAPI update but you have to specify the file path
i think itβs ../TileSheets/furniture
ohh where would i have to go to change that then? sorry, i am a newbie to this kind of stuff haha
the clue is in βThe tilesheet couldn't be found relative to either the map file or the game's content folder.β
I also have some dedicated invisible tiles
One for npc passable and non passable and stuff
open your map in a text editor and ctrl f furniture.png
^
horrifying
since i'm using the furniture png in multiple tmxs, i'm assuming i'll need to do this for all of them?
yup
actually let me check something
why did I decide to check back into this chat at this very moment
same
to have another chance to glimpse His glory π
@uncut viper did you implement checking for/fixing the path of tilesheets outside of the maps folder in the map fixer? i donβt remember if you were planning to or not. scroll up for context
for a totally non-specific reason i suddenly want cake
(for context, this was irocendar making a mod that replaces every* texture with nicolas cage)
incredible
i found the furniture.png in the text editor, what is it that i need to edit here?
i can send a screenshot of where i'm looking but it'd be skinnyyy lol
i think itβs ../TileSheets/furniture.png
whatever the path of it is in your unpacked files
the key is βrelative to the content folderβ
hmm maybe i'm in the wrong spot. i only see the image source but no place to insert file path
hollup
yeah image source
yep thatβs where
oooooh okay i was overthinking it
maps look scary as text i get it
i'd type it exactly as you sent it? ../TileSheets/furniture.png?
yes*
*caveat that iβm on mobile and donβt have the files in front of me so thatβs from memory
the .. is the βrelative to the content folderβ part
yay!
that had me stressin so hard
i was hoping the map fixer tool would be able to go βfurniture png? umm did you mean TILESHEETS/furniture png?β but weβll have to wait for button to answer
i'm so sad i only found out about tilesheetinator after i had already done everything the long hard way </3 it seems so helpful
i wonder if the maps wiki page mentions it
imo itβs a must have for any mapmaker who wants any sort of QOL
but i think the wiki may not want to link to outside stuff
Question about using the appearance system, I have an event that can cause an appearance change for a spouse, and I want that appearance to NOT APPLY anywhere on the farm (porch, spouse patio).
I'm using !LOCATION_NAME Here Farm but that isn't working
I think I know why but I'm not sure what the correct approach is
I think "here" just applies to where the farmer is, not the NPC
maybe that's making it go weird
yeah I agree and I know that the appearance system applies when the NPC changes locations, not the farmer, which is why I think it's not working.
but is there a way to use the appearance system and have that not apply on the farm?
i'm wrapping up my custom npc mod and i wanna make sure i have all my bases covered. does anybody have any tips/recommendations/advice before publishing? it's my first mod so i feel like there's probably something i'm forgetting, haha
i probably should have tips but usually im just anxious to publish xd
Congrats! Make sure you delete the config.json file before uploading. Chances are you will discover something you did wrong but that's OK, just upload a new version.
testing events would probably be something
if there's a sequence of events make sure they trigger correctly. same goes for quests and mail and such
Make sure you put your Nexus key in the update key
very basic, very easy to forget if you didn't make your Nexus page ahead of time
all events have been gone through many times
that was my biggest concern for sure. there might be something i miss that others catch but everything's running well so far!
@stark ocean You leveled up to Cowpoke. You can now share images in all channels!
as long as ur npc isnt breaking u can fix other bugs as they come up
yesss good call!
it never fixed the tilesheets for things outside the map folder for ata and it never will for SMAPIs version of it either. what the ata check did was just skip "correcting" some specific climbing paths if they existed. it never added the ata prefix. the map fixer will also never add for example "../TileSheets" in front of furniture.png because there is literally no way for it to know it's supposed to do that
I have seen many people go "AH CRAP I FORGOT MY UPDATE KEY" and I've damn near done it myself, it's sooo little and easy to forget
ive done it its grr
makes sense, thank you!
i'll for sure be pushing future updates, what ivaras has now is a more basic version of what i want him to be, BUT it'll get him out there and i will be adding things when i have the time :3 i feel like there's so much to learn yet and i've only skimmed the surface rahhh
once i forgot to update the manifest to 1.2.0, so it went live as 1.1.0, then i released a new update to correct it to 1.2.0, but updated my mod page to 1.2.1 because of the manifest key fix, and had to update again bc i forgot to put 1.2.1 instead
oh updating the version number is the worst. I try to get around forgetting it by updating the number the SECOND I edit anything
im trying to do that now too lmao otherwise i just forget
after i publish a new update i go into my manifest and up the version number immediately
that's also a good idea
reflecting on this I think I can avoid worrying about the location and use the schedule instead, since this will only apply when the NPC is married and is on their "funLeave"/"job" schedule day
job does not apply to custom NPCs
its hardcoded for a few vanilla npcs
the schedule is in place and working I just wasn't sure what to call it
the point is I can target Tue/Thu/Fri when my NPC has a schedule so they shouldn't show up on the porch those days, right?
where's chu
I'll have you all know they're really annoying me, how dare they make exactly the update I asked them to make in a super reasonable amount of time so now I, after a much less reasonable amount of time, have to do what I said and integrate it 
oh are you referring to a generic schedule that is meant for the npc to go to job and not the specific job schedule key?
chu your helpfulness offends me >:(
if so that makes sense
yes
if they have a schedule they will use it
right, I misspoke by calling it "job", I just think of it that way because the NPC goes to their old job on those days
its not the specific key
it would be nice if we could use the job key but i guess its about the same level of complexity
is it possible to change the home of an npc using the when condition?
yes but it takes a day or so for the home change to take effect in my experience, and it can cause their schedule the next day to be wacky. warp rooms are helpful for this
warp rooms?
right, so for example my mod lets you put people in jail which I could potentially handle by changing their 'home' to the jail when conditions are met. But it works better to have them ALWAYS have their home be a custom 'warp room', and then change the warp target if they're in jail
I haven't found a solution that works perfectly 100% of the time but the warp room solution has been the most consistent for me
It is potentially problematic for compatibility with other mods though which could be a concern
unless its just your own NPC that you're changing
Hi! I'm not sure if this is the right place to ask, but is there any way to change the farmer's design/model? Like, draw it and add it to the game
yes but i think its hard
I've never done a mod before, I'd appreciate any help
Oh 
i encourage u to try!!
could someone take a gander at this json and let me know what I did wrong? this is a content json of a mod (not owned by me) that I edited for my own personal use, and the edit I made was adding strawberry seeds to the list of Y1 buyables at Pierre's. The section with the item ID 745 is the part I added. The mod worked before without adding that part, but afterwards SMAPI said "[13:52:35 WARN Content Patcher] Can't apply data patch "Year 2 Seeds In Year 1 > EditData Data/Shops #3" to Data/Shops: the field 'SeedShop' > 'Items' > '(O)745' doesn't match an existing target" so I dunno what I did wrong.. https://smapi.io/json/none/f8305e34b3844ab2a8d6a8d125445f7f
Thank youu
FWIW as I recall Pierre's shop is partly hardcoded
you can use Target instead of Here btw
ooh that sounds convenient, thank you
Pierre's shop is not hardcoded but you're trying to edit an entry that does not exist yet in the shop.
there are no strawberry seeds in pierre's shop at all, so your patch starting on line 28, which is looking for an Items entry whose id is (O)745, is failing
oh I think I understand.. because he never sells them at all I can't use the same format as the other seeds?
correct, all the others are just changing the conditions of existing Items entries
you would need to separately add the entry anew
makes sense to me, thank you. I'll see what I can do about figuring that out before I come crawling back here π
Button, do you have an example of a BETAS DelayedAction? I can't seem to make it happy with my formatting
I'm trying to delay a MMAP action which may be too cursed
no, but odds are its an issue with your quotes and the amount of escaping needed
Ahg I was chucking that action in loose like a dumbass
yeah you need to quote it
and if it has quotes inside it they need to be nested properly
if you have more than 2 layers of nesting or some amount of tokenizable strings or if its just getting too annoying then i would just DelayedAction to delay a Spiderbuttons.BETAS_TriggerAction and put all the stuff in the trigger action you call instead
Hello, I am new here, and I know this might be an extremely stupid question, but what is the best way to get an existing mods source code to update it?
github/gittea/gitlab/whatever if they put it in their mod description
assuming its a C# mod
That did it 
I'm just delaying one of Chu's fancy warps, so it's not too fussy
keep in mind a mods permissions and that you may not be allowed to update it (you can do so for personal use as long as it never leaves your computer, but uploading may be a no go)
if it's not a C# mod (i.e. a content patcher mod or an alternative textures mod or some other content pack) then the mod you download IS the source code
Ok. Tysvm.
So I decided to be overly ambitious and decided to make an expansion because I wanted to parse out a new farm and area for a mystical mod I've been thinking of making and I'm running into a brick wall on the C# component. Does anyone have any walk throughs or wikis that might help? I've tried looking but most things I've found have mostly been centered around Content Patcher
!startmodding
Making mods can be broadly divided into two categories:
- Content packs are formatted text files, and don't need any programming knowledge. They can add/edit NPCs, maps, new items, shops, and more. To get started, see the list of framework mods, the wiki tutorial for Content Patcher, and there might be relevant guides on the tutorial wiki.
- C# mods use programming code to change fundamental game mechanics. See getting started with C# modding.
Usually itβs easier to start with making content packs, since you don't need to learn programming.
the second bullet point has stuff for setting up a C# mod and getting a very basic example mod running
beyond that C# is very, very, very freeform bc you are literally just writing all the code you need yourself and using whatever game functions you can find or know about in the decompile so there aren't really guides to doing anything. its all DIY
not guides for specific things, anyway
some (but not all) people here may be able to help point you in a general direction for suggestions on how to go about accomplishing something but 99% chance there wont be a tutorial for it
since if you're making a C# mod you're sort of expected to know C# already as teaching that is beyond the scope of things here
Oh that's fine. I don't mind relearning code. Its been a decade since I did any coding and it was mostly C++ and Java but I'm always happy to learn other languages. Just was hoping for a launching point. But thank you! I'll definitely read over than and continue going over the wiki until things make sense π
what C# components are u planning for (curious)
there are very few things that make me feel as dumb as attempting to find where something is on nexus
where are my premium months
I would try to help but I think my brain is annoyed at me for trying queries:
"Query: '{{Spouse:anyPlayer}}' = 'Abigail' OR '{{HasSeenEvent:anyPlayer |contains=SebastianAbigailWedding}}' = 'true'": true
does this look okay
found them
Thank you that's a more flexible solution and it seems to be working
if it works, it's MUCH neater than a thousand conditional patches...
they're in billing, which is a sensible place for something I have never been billed for
kicks rock
I misunderstood what Target was used for before so that's good to know
Well, when they made them, they were ea thing you needed to be billed for, then they did free versions. it's just one of those things
{{Spouse:anyPlayer}} can resolve to multiple names in a multiplayer game
I'll have you all know that this is all chu's fault
"Spouse:anyPlayer": "Emily",
wait. so would this condition fail to detect if anyone has married Emily? or is it just becuase of how I'm using it in the query
no, that will work
I was trying to use Durin's Rest (trust me, I know) as a good way to look into what can be done since I saw the mod author has been looking for people to help rebuild it and when it was working I enjoyed how it felt like its own area and was hoping to build an area with its own warp points, special locations, dedicated farm that you can switch to. I did decompile the code for the game itself to get a better idea of how things are done and what was possible but I've been staring at it for the past week going what am I even looking at so I'm honestly just trying to see what is even possible with c# vs something like content patcher
like most things
the way that one works is checking if Emily is inside the list of values that Spouse:anyPlayer returns
now I have to update their mod to test if I integrated the update they very kindly made me >:(
oh wait I saw a query thing about lists...
also I'm dismayed from testing that one of my very common NPC spouse responses seems to be missing a portrait, which was an easy fix but this error has probably been around for like a year (I normally marry my other NPC in my own playthroughs and somehow missed the issue in testing the other one)
what you've described sounds like a lot of content patcher
but if two people are married in multiplayer then your query will be Query: 'Haley, Abigail' = 'Abigail' for example
im not sure about the new farm area, but locations, warps can be done with CP
I will happily use Content patcher π my brain is fried looking at this
there is IN for query to check if things are in a list, but I don't think it'd be in the right format from the token
yeah I was looking at that...
Would anyone be interested in hearing my character ideas for an alien NPC who would run an animal shelter?
You'd need the single quotes around each entry and I'm not sure how you'd get around that
I had a lot of ideas today lol and I have some dialogue
dying sounds
if it were me (and i am also making an expansion), i'd just do all the content patcher stuff first since C# is there to fill in what cant be done with CP
Reviving sounds
test the limits of CP and then bring in the C#
I really don't want to have twenty copies of this patch for every potential combo of married to player, rival hearts marriage thing...
Query: '{{Spouse:anyPlayer |contains=Abigail}}' OR '{{HasSeenEvent:anyPlayer |contains=SebastianAbigailWedding}}': true
Making an NPC mod is not difficult, just time consuming. You should go for it yourself : )
expansion you say? π
Oh another contains! THANK YOU
There's plausibly a better way to do that kind of OR check but Im still waking up so idk it
YEA THEY ARE
I guess my issue has been trying to understand what C# is able to do that content patcher cannot which is where my brain has been going "HUH?" llol
Merge?
you can worry about that when the time comes i think 
"Merge: {{Spouse:anyPlayer |contains=Abigail}}, {{HasSeenEvent:anyPlayer |contains=SebastianAbigailWedding}}": "true"
The problem is the main function of the NPC would be to keep an animal shelter with random dogs, cats and horses that the player has downloaded that the player can adopt. That part would be hard to include in the mod but maybe that would be a stretch goal once I have the storyline and stuff down
oooo
That will become, for example, Merge: true, false which just becomes the set true, false so it'll check "true": "true" which is... true



