#making-mods-general
1 messages · Page 543 of 1
More of an oversight
that is the better term
damn he flying around
But yeah, that's a thing that happens in mods sometimes, where people put grass more freely than vanilla does and you see where the clipping can start if it's on a building layer
absolutely zooming
Which means I should turn the range down i think lol but im more concerned with him not biting anything
The game doesn't know what dialogue is modded and what dialogue is vanilla, they all use the same priority rules
It has no way of knowing whether the dialogue was added by a mod or not
There's this one modded building I always trim grass around because there's this ONE building layer tile the grass gets too close to
and it does that
you are killing them before wolf can hit i think?
or maybe it is the invincibility
i recommend just using a timer thing bolb
me mowing someone else's lawn like a weird roving HOA
it might be something i can improve on framework side i just won't get around to it
ok i see, thank you. i'll try and nullify the offenders lol
Ah that fixed it!! Thanks so much
accidentally deleted my nighttiles and now i might scream
i hate daytiles and nighttiles
I do still have some residual hate from fighting a lamp post added with SVE
Hm... not quite right I think. Just a hunch.
for day/night tiles
looks good to me idk what you mean
I'm sure the modfest judges will love that
It doesnt have to be your modfest mod
You should just implementation the maze screen saver
hm so u can give a pitch to sound
It is freeing making a minor aesthetic mod just to get a participation trophy
but what is the default
no worries about judges, I'm just vibing
It Depends TM is what I recall fr this
winding order™
Even with correct winding order, I neglected to realize that I cannot just spin them around a center point because they are, in fact, not actually anchored to that center point
It does depend but I think a good default is often 1200 iirc
Sheeps go baah at like 2000 though
All the sounds in Soundboard play at a default 1200
I hate mystery numbers in programming
By the way Wren you've drawn primitives before too, right? Is there any way to actually turn off backface culling
this is why I will always believe that audio volume is evil
I might be misremembering if you've actually used them or just mentioned them once
When I tried to look it up I didn't find much except the CullMode on the rasterizer state which appears to do nothing
you can't turn it off bc it's not technically culling as far as I understand it. Terraria's solution to this is to just double back on all their polygons
Terrible times
there's a volume parameter you can set on your cue
though I believe doing so means you have to manually apply game volume settings
Accurate
ah ok
plays flute
can i use dynamic tokens and config schema in smapi to decide which dialogue edit gets presedence for example
"Name": "mod1", "Value": "Late" "When": "mod1": "true"
and Name": "mod1", "Value": "Early" "When": "mod1": "false"
to have it in config to decide if dialogue edit of my mod mod0 take presdence of any other conflicting mod, or that conflicting mod take presdence
or is it not possible or is it possible but through different method?
Hey @lucid iron Can TAS animations for Tinker be offset based on the direction (Like AnimClips)? I have a bite animation for my wolf but it looks pretty odd when not in the right direction
hm i dont remember implementing anything like that 
if u want the TAS to conform to the wolf, maybe what you want is just an animclip
TAS is usually more for stuff like the wolf bites something and they r now on fire
i recommend checking out the cat trinket in this mod
ooo will do!
tfw you havent made mods for ur own framework in months and now other ppl are better at it 
lolol you're all good, its because of you all this cool stuff can exist in the first place!!
Now you understand the BETAS Aviroen experience 🙂↕️
the Priority field in content patcher patches does not support tokens, so no, you can't do this specific method
you can have your config settings determine whether a patch applies at all, though, so you can either duplicate your patches accordingly or work out a similar solution
uhhh can you please explain it more simply wym by duplicate?
srry im new to modding stardew lol
well, you can't put a token in the Priority field, so you can't do
"Priority": "{{PatchPriority}}" (where you've defined PatchPriority to be "Early", "Late", etc.)
you can get the exact same effect as that if you make n copies of the patch, each one with the desired priority value, and determine which one applies with mutually-exclusive When fields. but i wouldn't recommend it unless you have no other recourse
its cause my mod does a chunk of dialogue edit and a mod i like to play with also does a chunk of dialogue edit and they conflict
but thanks
i see why my dialogue isnt showing up properly--the seasonal dialogue takes precedence over generic (day)(heart) dialogue. silly me. i just have to edit the seasonal dialogue too then!
[game] Can't parse map property 'ProduceArea' with value '3 10 17 4, 24 10 16 6' in location 'cryomancer.snesdogs_DogKennel35953c41-fff9-4375-918f-05bc70696e50': required index 3 (parsed > height) has value '4,', which can't be parsed as an integer.
ok well it didn't like that then
it's the comma
can you just have two areas spaced?
let me check the decompile
it's a single rectangle, so it'll ignore any further arguments, yeah
so no multiple areas then? or can you just have more than one map property for it
just a single area
dang
(I'm not sure if Tiled even allows duplicate keys, but the game wouldn't recognize them)
it's only used in one simple method if Harmony/C# is an option for you, but otherwise yeah
(possible .16 feature request too, I suppose)
I can't even find it in the code but yeah, wiki doesn't mention multiple so you can probably only put one
FarmAnimal -> setRandomPosition seems like the only reference to it (searching ProduceArea)
aaaah that's convoluted
yeah when it spawns start-of-day produce it uses the animal's position as a basis
I thought it would be doing placement checks referring to the map property but I guess just moving the animals in bounds yields "close enough" results
this looks jank as hell but I'll be damned if I draw diagonal sprites
honestly doesn't look jank to me
yeah that seems fine
if you say so, anything to get out of more drawing 
(now to draw recolor 10 more wagon and locomotive styles and I can call myself a furniture modder)
(anyway how it's going y'all I may or may not have spent the last 5 days binging OpenTTD and working on this mod)
no 😌
understandable
Open what
add a train conductor hat with it
ttd but opensource
so we can have sleeping cats in conductor hats near them like they passed out playing trains
is it a single gauge or can we have many different incompatible gauges and need dual gauge track and other fun hell problems
the current code does require the tracks to be of the same type for a path to be connected
also, is multi track drifting supported
because of pathfinding jankness a train may decide to go off the map, that's probably close enough
can I do ancient minecraft mechanisms of having an adjacent track collide and inject a bunch of speed into the main train
I have no idea what that is, is that like DF's impulse ramps
anyone familiar with interior doors in tiled? i'm trying to make it so that the farmer needs 2 hearts to open one, like the other marriage candidates', but i can't seem to interact with it at all in my custom map. when i hover over the door, the hand icon appears, so that makes me think the tileid is as least correct. i checked the layers: the bottom of the door is on the buildings layer, and the top two pieces are on front. on the buildings object layer, i have the tile property as Action>Door Ivaras as the wiki instructs, as well as the map property as Doors>9 16 townInterior 120. i thought it might be the tileset id with the name being townInterior, but i am not exactly sure.
also if your NPC's internal name is Mod Id prefixed you need to write it like that
but in tiled you'll have to write it out without using tokens, like myname.modname_Ivaras
impulse ramps my beloved
this would be an ideal use case for those diagonal train sprites 
Plz
hell yeah, that worked. i had originally tried putting the Modid in with the token cuz i wasn't sure if it was the name being finicky. it definitely was...
Also
yeah bullet trains are rad
Dont care is pixel art plz
im having trouble downloading mods can someone help?
im so sorry for bugging and asking questions a lot but is there any way to change what precedence the game loads dialogue in? i dont want it to load seasonal dialogue first...would that require more knowledge in game coding than we currently know?
@tender minnow You leveled up to Cowpoke. You can now speak in our voice channels and share images in all channels!
!harmony you would need to use harmony to patch the vanilla game code. it's feasible but i wouldn't recommend it for a published mod since it will upend how every existing mod assumes dialogue will work
Harmony is a framework for patching .NET code, allowing you to take any portion of the game's logic and insert or substitute your own. This gives you more flexibility and control than SMAPI helpers and events, at the cost of being typically more complex and difficult to use safely and correctly, and more likely to break with a future update of the game and/or SMAPI.
If you are trying to do something that isn't possible or practical with SMAPI alone, then Harmony is usually the solution.
For more information, refer to the following:
- Harmony Modder Guide - Intro, Use Cases, Initial Setup
- Tutorial: Harmony Patching - Types of patches and code examples
- Decompiling Stardew Valley - For finding methods to patch
sounds cool, I'll definitely add them 
hmm...yeah that's way more than I'm capable of and i def don't wanna break anything. damn. thank you for the info anyway though!
i'm a bit confused about schedule dialogue. i've made a separate scheduleStrings.json to put the string dialogue in and i have it referenced as the wiki instructs to do, like this: "Strings\schedules\{[ModId}}_IvarasWolfgang:Coffee.000" within the schedule itself. for some reason i am getting an error message from smapi saying it was ignored. i've included the schedule dialogue load in the content.json as well. anybody got ideas on what might be wrong?
!log do you have the actual log?
Important note: Your computer username may appear in the log. If your username is your full name, please be aware of this before uploading it.
Please share your SMAPI log file. To do so:
- Open this page: smapi.io/log.
- Follow the instructions at the top of the page to upload the log file. (Don't copy & paste from the console window!)
- After uploading, it will show a green box with a URL to share. Post that URL here.
Please do it even if you don't see any errors. This has useful info like what mods and versions you have, what the mods are doing, etc. If the issue didn’t occur in your last session, please load the game to the point where the issue occurs, then upload the log.
the error message probably has some clues
I want to add some items from pixel dungeon, and I wish to make sure I don't out scope myself. Is it possible to make a new item only spawn from vegetation in the mines? Or the ice crystals in frozen levels? From digging in mines? Only from certain floor ranges? From dinosaur levels in skull cavern? Is there a guide somewhere that covers this?
vegetation in the mines? Or the ice crystals in frozen levels?
Trivially with c#. Not possible with CP. Maybe a possibility with FTM but frankly I wouldn't know
Dino floors feel like a C# thing.
(Hoe dirt is a question...maybe doable with Data/Locations, maybe not)
Is this target correct when making an event take place at a custom map?"Target": "Data/Events/{{ModId}}_map1",
Is harmony the tool to patch c# ?
you can make a plain ol no harmony C# mod
in fact that's often the recommended starting place for C#
https://smapi.io/log/555630f5ddeb4db68e438923ec5759e0 here it is. it's changed a wee bit since i was testing some other things while i removed the animation. now it's a red error instead of yellow, lol. i messed something up for sure
Log Info: SMAPI 4.5.1 with SDV 1.6.15 build 24356 on Windows 11 (10.0.26200.0), with 18 C# mods and 5 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
harmony is more powerful than the smapi-provided events and also can get you into more trouble
it's not that bad but it's certainly not required for C#
so this looks relevant:
'Custom NPC Ivaras' has multiple patches with the 'Exclusive' priority which load the 'Strings/schedules/starfyzz.ivaraswolfgang_IvarasWolfgang' asset at the same time (Custom NPC Ivaras > Blank JSON load (Strings/schedules/{{ModId}}_IvarasWolfgang), Custom NPC Ivaras > Schedule Dialogue). None will be applied. You should report this to the content pack author.
you're going to want to find out where these conflicting patches are
figure out why/if they need to be exclusive
is it because i have a stringSchedule.json with the schedule dialogue in it? i kept the blank load in my content.json cuz i wasn't sure if it was necessary to remove
basically you said "only I can load!" and then once more "only I can load!" and smapi noticed that can't both be true
if you loaded a blank, that's fine but then you shouldn't load again, instead use EditData
there's no need to load something twice, it's like replacing your front door twice
specifically, only the highest priority load will ever run.
and in the case of exclusive priority (default) if there is a tie, then it simply doesn't load at all and will have vanilla try to do it instead (Content/Target.xnb)
i think i found the issue in my content, and got rid of the error. buuuuut now when i speak to himi while he's doing the animation, the dialogue box just quotes the string id instead of what the string id says
it never ends 
A patch export makes a copy of specific stuff in your content folder so you can see what changes have been applied.
- Load up a save (with Content Patcher installed)
- Type
patch export <FILEPATHOFTHING>in the SMAPI console and hit return - Look in your
patch exportfolder in the game folder for the relevant json file or image - If it's a json file, you can share it via smapi.io/json. If it's an image you should just be able to look at it.
in your case it looks like it should be at Strings/schedules/starfyzz.ivaraswolfgang_IvarasWolfgang
if i wanna replace those icon with mine,
do i need to code it per icon or can i do it all together (so that it can be made into one configurable settings if possible)?
two things could have happened: nothing actually got put there at all, or your edit failed to add that line specifically
you can do it all together in one EditImage but the configurability won't be there in that case. if there are some parts of the image you don't want to change, use EditImage with overlay iirc.
ooooh it empty. how might i fix this, though? do i need to redirect it to my scheduleStrings.json?
sounds like your editdata didn't work
if you load a blank json, it starts out blank
I think they meant they wanted the config to be all or nothing
In which case doing it all together is fine
i have tried and failed for maybe an hour to figure out why this basic event won't trigger in my custom location. The other event in the json works just fine. Is anything wrong here? { "LogName": "event 2", "Action": "EditData", "Target": "Data/Events/{{ModId}}_map1", "Entries": { "parcy.mrNPC_event2/Time 600 1700": "continue/9 10/farmer 8 14 0/skippable/addTemporaryActor Mystery 16 32 9 10 false Character/pause 10000/end " } }
since they are on two different rows, is the code like this correct?
"Target": "TileSheets/buffsIcons",
"FromFile": "assets/buffIcons.png",
"FromArea": { "X": 112,"Y": 48,"Width": 96,"Height": 16 , "X": 0,"Y": 64,"Width": 16,"Height": 16 },
"ToArea": { "X": 112,"Y": 48,"Width": 96,"Height": 16 , "X": 0,"Y": 64,"Width": 16,"Height": 16 } ```
did you load a blank
and 2. does it work when you debug ebi it
yeah, that's what i meant to say. but since it's on two different rows, do i need to make 2 EditImage or can i do it with just one?
oh, I'll try the debug. Does this in my content json count as loading a blank? { "Name": "blankFile", "Value": "assets/blank.json" },
it's a dynamic token
no, that looks like a DT
oh
you need a patch that uses Load to load something
the target would be the same as the target for your EditData
Is the background behind the head icons going to be transparent, or will they retain that greyish background?
ok. I'm assuming that has to do with getting a custom location to work in an event? I'll try both
(Or is that the transparent background? I'm not used to seeing Aseprite bgs)
(pretty sure that's the transparency bg grid chief)
yep, its transparent
yes, but the concept applies to any time you try to edit an asset that doesn't already exist
yep, it's aseprite transparent background
ah, that makes sense. debug ebi said nothing was found.
If it's transparent then I think you'll need two EditImages. But they can be controlled by the same config option
i see, thanks! i'll try it
so, I since have something that loads the map, I'll add a load for my blank json in the content json
so, this would be it, right?' { "Action": "Load", "Target": "data/events", "FromFile": "assets/blank.json" },
no, your target needs to be the same as the target of your edit data
oh sorry
so { "Action": "Load", "Target": "Data/Events", "FromFile": "assets/blank.json" }, would be correct? It's not Data/Events/{{ModId}}_map1 right?
wait sorry
(its Data/Events/{{ModId}}_map1)
the load patch and editdata patch should have the identical target
I pasted the same thing 😅
Ok. So this has to be done once for every event that takes place in a custom or with other unloaded assets once?
I need to check my references again...
once per new map
ok, that makes sense.
thanks, to the both of you
I'll try this
It worked! 😅
Thank you for the patience!
yay!
The way the SMAPI Content pipeline works is that it intercepts Content Pipeline™ loads.
eg for Events, the game tries to do
// Simplified
if (Game1.content.DoesAssetExist("Data/Events/MapName")) {
events = Game1.content.Load("Data/Events/MapName");
}
If SMAPI wasn't there, that would read the Content/Data/Events/MapName.xnb file.
With SMAPI present, SMAPI will announce to all the mods that are participating in the AssetRequested to see if any mods will want to provide a Loader and/or any Editers for the asset.
Which is what Content Patcher will do on your behalf in writing a content pack.
Once SMAPI has gotten the results, it will check who has the highest priority load, and load the asset using their loader.
If no one specified a loader, then it'll fall back to reading the XNB from the Content folder as per usual.
From there, SMAPI will then run all the edits in order of priority on that asset, but only if it actually loaded to begin with (either via mods or vanilla).
and then store that result in a cache, and return the completed asset back so the game logic can do what it wanted with it.
Hey guys! This is really intimidating but I wanted to start making mods… i’m learning the basics of c# at the moment, does anyone have any tips for where to go from there? Its a totally new field for me hehe
I’m hoping to do almost exclusively character mods but that includes making small maps for character houses :)
Are you learning C# because you want to anyway, or because you think you need to in order to mod? Because you don't need C# to mod at all, and can make character and map mods with Content Patcher alone, which will let you use simple json and not C#
Oh i thought i had to
what can I use instead?
!startmodding there are resources for content patcher here, like button mentioned. to make maps you'll also need to download Tiled, and heavily reference [[Modding:Maps]]
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.
Thank you guys!!! Youre a huge help
if i want to temporarily add an NPC warp to Mountain, but only until the earthquake, is it enough to just use a conditional EditMap patch? or are they persistent and i'd need to remove the NPC warp?
Conditional patch is fine
cool thanks!
Does a book stat keep incrementing each time you read the same book or does the game treat it like a binary and only keep track of 0 or 1? I'm testing out with a Trigger Action that sends a letter when you're at BookStat 2 but nothing's happening
looks like it's just 0 or 1 https://stardewvalleywiki.com/Modding:Stats
When the player reads a book a second time, they just get a bit of xp
so presumably there's no reason for the game to keep track of multiple reads, just whether the first happened
Yeah, makes sense
Can we make more mods compatible with curseforge
Cause i would LOVE npc location mods on curseforge
there are a multitude of reasons that stardew mod authors do not host on cf. why not simply use nexusmods?
Spite
respectable. unfortunately, we are also spiteful 🙂↕️
<@&239770080378880001>
oh nevermind the scam got caught
@vernal crest i found something interesting while formatting HM DS' entire soundtrack, theres over 20 minutes of ambient rain sounds and i remember you talking about liking rainy things
something fun that came to mind lol
its also somehow composed through midi
You can just import external mods? There's so many reasons for authors to not want to support cf
More than reasons against nexus imo
id recommend content patcher
i think it's on the tilesheet side, but i don't remember
okay found it thankss
how did you do it? just in case anyone else searches 
- Pick a tileset you want to have terrain brush for, press the edit tileset button
- In a new tab press the terrain button
- Now you can either create a new terrain set or edit already existent one (best one for stardew is a corner only set)
Also this is silly
But once again it lacks L sides
If someone by chance have a way
Noob question on writing events with Content Patcher. I am just writing it by hand and consulting the wiki. Is there a more efficient way of doing this that I just didn't notice.
Changing the "probability" tile property also changes the chances of it to appear using terrain and random mode while drawing dam
not really, althought if you make several events, you may copy paste some stuff you did to get a quick start
Figures. Well, I'm glad that intrusive thought is settled.
Made these work with terrain so far!
Terrain and tiles are super dependant on the layer, using wrong ones really break these
imo making good use of multilining and comment commands is the best way of improving your efficiency through readability, and using patch reload + ebi often will help you iterate
im really struggling to make them connect 😭
what ru trying to do
Make leaves work with terrain brush
sometimes terrain is faster, sometimes not
like here
I plan using it a lot so I really need it at least somewhat good
well maybe the copy paste brush is better then
ive never used terrain before
I made this pink one work but not the green one
ig ill try that 😔
cuz like WHY CA 😭
I hate those leaves
maybe he were sleepy
maybe its a problem with the tilesheet
probably just concerned
guys for ftm is it meant to like rewrite ur content.json
it keeps like doing that and messing it up
yes it is meant to
if it messing it up then you have something not done properly
it will not erase things that are done correctly
You guys excited for the nexus fest?? 
Good luck to everyone who plans to participate!!!
i'm moderately excited 🙂
but i don't want to be too much because if i do "bad" then i'll be disappointed
I just handplace my tiles; terrains are often not fine-grained enough
I do use the random brush for dirt though, and sometimes grass
i do terrain for the initial ground to get dirt/grass roughly like i want, then i polish it with custom stuff and random stuff
Look at them go!!!
Ooh nice
I really kickstarted some mad terraining everything science here. 
Why does all Back# layers get covered in water overlay 😭
Stuff got serious now, my map is flooded
You made all of those Water T
damn
but I dont see this property on tiles
Or is it a layer property
OH
I may know the issue
I kinda filled the whole back 1 with water
and then drew sand on top of it on back2
That would probably do it 🤔
That would definitely do it!
Game just draws the animated water overlay over the top of tiles marked water. Meaning that even if a Back tile marked water might be technically below a Back2 tile that isn't, it's still gonna get that water overlay.
interesting
that was definetely the reason
Hi, I have this idea to use the swing on the playground to have some fun and I know that's a lot of work. I have to edit the tilesheet to remove the original, of course. And then things get interesting. Can I add an interactable object with custom rendering or do I have to patch GameLocation?
you'd likely need C# for anything beyond sittable map chairs yes
though prior art if you're not already aware: https://www.nexusmods.com/stardewvalley/mods/14125
Thanks, that is the same as my idea. Last time I checked this mod didn't exist. Now on to something completely different 😉
I guess u can make funny furniture
So ppl can put slides n swings at home
Just gotta do the check action somehow
And if you manage to coax pets to use them if placed outside... I feel like that would be a killer fun mod.
How does map stops players from walking on water if these waves while being on buildings layer still has a Passable T property
also weird how tiled's bools are just strings with T and F
Vanilla mostly makes use of invisible tiles on the Buildings layer
But also note that Passable behaves differently on the Back and Buildings layers
Buildings are by default Passable F unless tiles have T property
But what about back layer ones?
is it like vice versa
passable unless stated F
From the wiki, about Passable on the Back layer: "Prevents players from walking or placing objects on this tile, even if they'd normally be able to do. (Direct opposite of Buildings Passable T below.) Commonly used on certain water tiles for bordering the sides of bridges, to prevent players from walking off into open water"
So its like this on the left side of the bridge for example
Thanks, exactly what I wanted. Finally the playground is fun 🙂
My next idea is sprinklers in indoor pots. Is anyone aware of that? Didn't find anything similar on Nexus.
Question for yall! How hard would it be to add an item that increases friendship with a particular pet?
Like, a treat or something?
It'd be nice to have that extra layer of interaction with the Familiars im working on
It's not a framework but pets enhanced has that right
OK, Thanks, seems I'm getting out of new ideas...
Does anyone have recommendations for windows programs for pixel sprites? Free is preferable but i can dish out a bit of money on it too :)
I use Krita (which is free but not specifically pixel art), but quite a few folks here use Asesprite (which is free if you compile it yourself if I remember right?)
Thank you!!!!
It's only $20 to buy Asesprite though, so it's not bad
!software
Here's a list of software for pixel art and JSON text editors we recommend: https://gist.github.com/ishanjalan/c8efb21afa21f74a052293176db107f7
For making SMAPI (C#) mods, see the Requirements section here for which IDE to install https://stardewvalleywiki.com/Modding:Modder_Guide/Get_Started#Get_started.
thanks atra, I always want to think it's the art command instead
I actually use Ibis Paint on my phone because its also free haha
Honestly I find you can make almost any art software work
Aseprite is also free if you know how to do the open source thing
!!
but buying it on steam sale was like the best decision in my life and it could be yours too
my next paycheck is absolutely going to asesprite fr
Im super familiar with ibispaint but i fear i would only make some JANKY ass sprites on ibis lol 
Ill probably invest in aseprite!!!
its the best choice rn
it supports a lot of stuff you may like to do in the future too
its pretty good to work with high res things too
better than krita for me sometimes
if you plan on putting any serious time into sprite making, definitely worth it!!
in my case im just on a budget haha
best text editor is kinda just a notepad tbh
as long as it supports search and replace
ideally a text editor for json would also have auto indent and bracket pair features
both make code more legible and less likely to contain syntax errors
something like this wont hurt surely
is there a way to add custom buildings to the game? (i wanna add a bakery)
So like similar to Gus's house i wanna add a shop to my bears Bear-kery where he can sell cake and other desserts
!mapmaking
If you want to make mods that add or edit maps:
-
Use Tiled to edit .tmx or .tbin files.
-
Refer to the Maps wiki page for details on how maps work in Stardew Valley.
-
Content Patcher allows you to create custom locations through editing Data/Locations
-
Vanilla Maps can be edited via Content Patcher as well: EditMap
lots of expansions and NPCs add buildings if you need examples
Yes you have to draw the tile sheet, so use an art program to create it and then you can use tiled to make it a map 
Just remember each tile is 16x16 pixels for scale. So if you like make a door and it’s 20 tiles wide, you might have a wonky placement of where you come out/go in
mwehehehehehe 
for seasonal tilesheets, do they just need to have _season at the end of the name?
or do i have to do code it to switch every season
it compiles ✨ now let's see if it explodes when I cactually run it
you need it season_ at the beginning
but that’s enough yeah
As long as it's an outdoors area
out of curiousity did you ever get your npc mod working? I made a video tutorial on the npc tutorial by tia to explain it better and was just thinking about you
o hi :3
well i got his likes and dislikes working and gave him a birthday
but like.... that's about it so far :(
I'm still trying to figure out his house
he has walk sprites and whatnot
https://stardewmodding.wiki.gg/wiki/Video_Tutorials theres some helpful video tutorials on making a new location here
https://stardewmodding.wiki.gg/wiki/Tutorial:_Map_Patches_and_Warps this one in particular is adding a new house which is what you're looking for
Hii, a small question, is it possible to attach a quest and an item in a single mail? or it's better to do it in an event?
yep this is possible! i have an example if needed
I'll keep it in my notes ty!
@latent mauve I just found out about your loz overhaul 2 hours ago, I think it looks really cool. I was wondering if you would be interested in me making stardew like zelda music for it, because I have the software CA uses for music
you're doing good progress I believe in you
this is so cool to be able to do such things with zero coding
i was also surprised I dont have to do farm map variations for each season
hello,
do someone know when this dialogue used by abigail?
||```
"Event_Tragic_1": "Yeah... I guess my own life is okay...$s",
"Event_Tragic_2": "...!$h",
"Event_Tragic_3": "I would feel better if I could believe that...#$b#But I don't.$s",
trying to edit some stuff but wonder where this one used on
unused
ah okay thanks
I am mainly focusing on the NPCs themselves, while JazzMinK's LTTP Overhaul mod is more focused on the tilesets/ambience, but I wouldn't necessarily be opposed to adding some custom character themes or custom music for the bonus regions I plan to add later on (Gerudo Town, Goron City, Zora's Domain, etc.)
yeah it's no problem for me, feel free to request anything in particular and i'll make it for you, as long as it's an existing zelda music and not composing anything new
I'll likely release the mod without those regions being included initially and have the respective custom NPCs (Urbosa and Daruk) commute into the desert or town until they are ready.
I've been pretty careful about redrawing all of the character and object art myself so as not to directly copy any original assets, so I will need to be equally cautious with the music source, if I do add it.
Sorry! I have a personal stance against ripping assets wholesale from established works, haha. So I figure it's best to make that clear.
I'm the exact same, that's why I asked if you wanted me to make remixes
Awesome, just wanted to make sure I understood and we were on the same page.
when adding a TemporaryActor, can you get them to face another direction outside of the one used when spawing them? Like after using a move command for instance? Because the temp actor always goes back to facing the original direction when I test.
do I just addTemporaryActor again to specify a new facing direction?
does faceDirection work with the TemporaryActors?
I don't think I've ever actually tried
Good to know! Do I need to add any separator or it's enough to put them simply one after another?
when using a temp actor, you have to add something like this addTemporaryActor npc 16 32 14 20 2 false the facing direction is specified in this command, and seems to be the only one the temp will go back to after doing an action like moving, even though a move command will specify it's own facing direction.
I mean, even with normal NPCs, I've definitely had to use faceDirection before after a move to get them to face the right way.
Events are finicky
before and after a move?
Specifically after a move, because for some reason, it seemed to ignore the facing direction in the move command sometimes.
Do stardew modders ever look for people to make custom music for their mods or is that not really a thing?
could I do Urbosa's theme as an example?
Ok, good to know. I'll test something new and see if it works
It happens, but usually with people asking who is taking commissions. There's a wiki page.
what wiki page?
If you want to, feel free to drop further discussion into the LoZ NPC Overhaul thread in #making-mods-art so that we don't flood this channel. 🙂
!comms
If you're looking for people who do mod commissions (either art or code), here's a wiki page with a non-comprehensive list of people who do them: https://stardewmodding.wiki.gg/wiki/Stardew_Mod_Commissions
thank you again, atra! Saving me from having to go digging for the command list.
That kinda sounds like a bug to me. I don't recall having issues with it. If you can reproduce it you might want to bring it up as a bug.
You can use faceDirection or showFrame (which is better if you don't have your facing frames in spots 0/4/8/12 like a regular NPC sprite)
I've pretty much changed all my events that had the issue to have a faceDirection after the move command already, but if I go to make a new event and it happens again, I'll see if it's reproduceable enough to report.
I just used faceDirection, and It worked, but only for a super brief period
interesting, so the direction is just... reverting, even after faceDirection?
My temp keeps reverting to the first specified direction at spawn, so maybe?? 😅
thanks for the suggestions
A warp with the new direction seems like overkill but might be a workaround.
does showFrame do it too?
I'll try that
showFrame I mean
oh, show frame wouldn't do it actually, because I'm playing an animation with frames after, I just need the facing direction changed. hmmm
i'll probably figure something out
events are finicky
Surprisingly, I don't hate them though
okay a question about a content json
if I add a custom tileset or one that map initially doesnt have
I add it to the mod folder right
and if I load the custom map, do I have to load the custom tileset alongside it or cp will do its magic thing
and if I have to load several assets, how do I add several targets via content json
I only load my edited farm map here
I read several wiki pages but either missed that or didnt get it
you're trying to get a custom farm into the game?
You should be able to play the animation without issue, show frame isn't permanent, just until the next move.
I need the animation frames to face the new direction though, so I don't think it would fix that?
What is the tilesheet you want to use?
thanks though
I load a custom edit of a beach farm which works pretty well
lets say I just add my own tilesheet that game doesnt have at all
I import it to tmx and embed it as well as keep the png file in the mod folder
but do I need to load it or do anything to make mod adress it on other ppl pcs
it's good practice to load your custom tilesheets to (for example) a target like Maps/MyFarm_tilesheet so that other mods can access it if they want
The animation will face whatever direction you draw it in. faceDirection won't change that either.
yeah, you can have a subfolder called tilesheets or something
are you using tilesheetinator btw?
whats that
!tilesheetinator a lifesaver
You can use the Tilesheetinator tiled extension to create Stardew Valley maps that work in-game without having to copy vanilla and modded tilesheets back-and-forth, rename files with a . in front of their name, edit maps only in the unpacked content folder or make symlink workarounds.
See the mod page for full installation and use instructions.
it eliminates a solid 60% of my issues with mapmaking
if I use it I dont have to do anything manually then
depends what you mean by anything
having to copy vanilla and modded tilesheets back-and-forth, rename files with a . in front of their name, edit maps only in the unpacked content folder or make symlink workarounds
this
ohh, thank you! that was what I was missing
I'll try that
yep! it might take some finagling to get it to work with an already-made map but it eliminates the need for working in your unpacked folder for example
ok idk if anyone can help with this
but
When trying to introduce a custom content sound for my custom animal it says it cant get the audio id because it doesnt exist, so i think i need to load it in does anyone know how to load in custom sounds so their recognized by content patcher/smapi?
you will have to fix the vanilla paths each time you close and re-open tiled though
just takes the press of a button for each map though
or command, I guess
[[Modding:Audio]]
I was told to keep my custom map in the initial place and save it there and move to the mod folder once Im finish
and it keeps the paths
yeah, this was standard practice before tilesheetinator was invented!
you don't need to that anymore with tilesheetinator
since saving it in the mod folder breaks paths
interesting
clicking save as DOES break paths, which is why you should ideally make a copy of a map into your mod folder first and then start editing it with tilesheetinator
however even if you do Save As it's fixable
just annoying
(would a pet/animal sound be a sound cue or a music cue do you think)
I've never built a house before, so this is gonna very interesting
sound
I'm gonna need a bakery design idea first 🤔
so if I use this magic tool I dont have to care about loading extra tilesets that the map uses and I can just keep it in the mod folder
music cues are like what plays at the beginning of the day or during events
aah ok
and also if I dont want other mods to be able to path to this tileset
ok time to test 07
this is super confusing and im super slow rn 😭
you don't ever need to load vanilla tilesheets. it's not required to load custom tilesheets, but it's good practice to do the subfolder>load thing because it allows other mods to access your tilesheet, e.g. recolors
Maybe one of these two, i love stores with lots of glass textures
it is super confusing you're right
oh so Load action doesnt just swap the assets but also can add custom subfolder as a whole asset
If I well load the folder as that
Loading in custom tilesheets is good for compatibility. Noted.
that reminds me...i need to also make a bakery
buildings are fun sometimes and pain other times
you can't load a whole folder at once, just individual files. (there are shortcuts you can do to cut down on number of Load patches needed but that's a different concept)
let me explain targets real quick
and the content pipeline TM
I understand targets mostly and how to use them in a contest json but
still not sure how to add something new rather than just swapping
that's what Load does. you can't Load two assets to the same target
if you try you either get an error or one Load wins and the other is discarded
this is how the content pipeline works
and is there a way to add myself to that list?
I see
Under "Who Does Commissions" it directs you to edit the page to add yourself and explains the format. Please read the instructions completely before you make the edit!
Page, you would likely be under Other with TheFrenchDodo who also does music commissions
i know
ill get on my laptop cause i dont think its showing me the full page on mobile
very likely, the wiki does not like tables on mobile
i just need to edit the page right? when i tried to it said im lacking permissions and need to contact a wiki moderator
don't forget to keep resolution right!
unless it doesnt matter that much to a sprite
I think it should fit 16 pixel on the width
Ah, they may have locked that page down more due to vandalism and not updated the information, I guess?
do you have an account? i think you need an account to edit the wiki at all, right?
i did make one yeah
It says "Sign up to edit" if you aren't signed in, there is no Edit button without an account at all. 🙂
ah i see
it works on my laptop now! :D
i had one without signing up on mobile and when i signed up it redirected me to some weird sites unrelated to stardew
idk how to make sure of it :0
weird
indeed
It's mostly just important to make sure that your building fits properly inside the 16x16 tile grid (so that your bottom edge is positioned correctly for the door's tile action, etc.)
I think most pixel art apps have some kind of grid to follow
(like aseprite)
if not then you have to eyeball it
is it okay if tsinator added a vanilla tileset before paths tileset in order
The only other concern that may come up, is if you are using a ripped tilesheet as your starting point (like from Spriters Resource) instead of the unpacked files, it may not be the correct size/zoom
order of tilesheets no longer matters as of... SMAPI 4.2 or something? i'd have to go through changelogs
I see
i haven't named any of my tilesheets z_whatever since starting to mod last february and there's no issues
okay now this one doesnt have any properties
By default, the z_ is prepended to the custom tilesheets now, from what I recall
So the rewriter does that for you
i see i see
yeah it's recommended to start from a vanilla map that has the tileset properties/animations you want. for example spring_outdoors is different in the Forest vs Mountain map
I managed to swap it with exported tileset and it has properties now
thank you all for the help, im now on the commissions wiki page :)
woo! make sure if it's a .tsx that you've embedded it
somehow only this one I added stayed 😭
im confused with this thing
it does fixed it temporary but only for tiled
does it stay if you ctrl+.
It does
yeah pressing the 'fix stardew tilesheets' button will be part of your daily ritual from now on lol
It only appears when I fix it either this way or a button
they all go to my mod asset folder fsr
not where needed
and this one I added doesnt care
cuz I added it via tsinator
ughhhhhh
your tsx isn't embedded
you wont even see the boat thing I suppose
(I should probably make that text yellow if it knows it skipped a .tsx...)
Does anyone know how to play an event after the player sleep (just like the cutscene of fairy or junimos repairing the minecart etc)? I want to trigger the event the night the player finish a custom quest (after the player sleep), but I can't find any command to start an event in the trigger action section.
More Nightly Events is a framework mod that lets you do that
but I had this when addin
you can't have night events just with trigger action
is it not the right thing
you can have one at 6am however
6 am also works fine for me!
hmm no that should be right
are you sure you had that checked?
were you adding the tsx via tilesheetinator or the button on the bottom right
I actually dont remember
bruh
okay i added it via ts
now all my tilesets are sure they come from mod asset folder
which wasnt the case before I saved my map in the maps folder
:(
why are you saving your map in the maps folder
I didnt this time
its in the mod asset folder now
as I was told tsinator doesnt need to do the maps folder thing
correct
well pressing this doesnt do anything either
it wasnt highlighted
okay i didnt have a crash this time and it managed to load it
I think now it works? not sure
adding it via tsinator doesn't include the option to embed it or not and this Embed button in the right bottom is not highlighted so I suppose it by default embeds it
and the reason it broke is cus I swapped the tileset with the one I exported
this is so hard omg
@gentle rose do you have any advice on embedding tsx with tilesheetinator? i'm out of my depth
@final sonnet If u need help with making a mod u can always come here 
is it okay if I share zip of my mod here for someone to test
I think it should be working now im just not sure if it really is 😭
it's allowed but you might get more response if you asked #modded-stardew instead since they actually play the game lol
oh
this thing pushed me away from this channel
since support is kinda thing I want to get on my own creation
It depends on if your intent is for like, beta feedback from playtesting, or aiding in making the mod itself
I just wanna be sure that all tilesets are loaded for other ppl
so I suppose its both
I'd say that'd be fine for in here instead! Just as long as it's understood that there might not be someone available immediately to try it
But, if it works on your computer, very good odds it'll work on someone elses
im not in hurry so I will share it then
Create a new Beach type farm and exit the house and go down
if its the average beach farm or not something that is on the picture attached please tell me 🙏
I added 2 vanilla tilesets from night market and pirate cave that beach farm initially doesnt have
so I wanna be sure they load as intended
Oh and if possible check if this pot is interactive
hope its not too much 😭
Hi there, I am trying to follow the getting started guide to stardew modding on the wiki. I installed VS Community and a video i was watching mentioned you can install the .NET 6 in VS. but it says its out of support. Is this not the right thing to download?
or should i download this that was linked in the wiki?
You can install whatever SDK you want as long as it is net 6 or later
You, however, have to target net 6
ohh i see, so do I not need to do either option since VS alreay has the .NET 10 Runtime installed with the .NET desktop development option?
OHH i figured it out haha
Yay!
BTW if I drop out of chat I'm not purposely ignoring you, I just got called away
all good no worries at all
I ended up doing both, check that check box and downloading the SDK version so I'll see what options are there when i go back into the project. I also have to be called away now haha
they should be automatically embedded...
they are, its just me who messed some stuff up
its all good now
should be
question yall! After my NPCs 6 heart event, I want their sprite and portrait to change in certain areas.
I tried to do this with an NPC Appearance, with the conditions HasSeenEvent and Location Here Forest. But this only checks when the NPC is loaded, not when the player enters or exits the area, which leads to... problems.
EX: If NPC enters forest first, they load, then the player enters, NPC doesnt change because they've already loaded.
The opposite also happens when leaving the forest to go somewhere else, if the npc exits (and loads) first
Any tips on getting the outcome I actually want?
You should be using the Condition field of an Appearance entry to control it, not content patcher conditions
it should work when the npc enter/exit the area, assuming player is in area too
You can look at Sam joja mart outfit
not totally sure i understand? This is what I have currently
You wrote HasSeenEvent which is a content patcher token so I assumed you were using when stuff
Ah my bad
Replace Here with Target probably
NPCs change appearance when they change locations, regardless of where the player is
I'm kind of lost on how to patch a map during an event. As a simple example, if I wanted to make a new asset appear during an event and stay on the map as it's own map patch from then on, how'd I go about that? I think it would have something to do with trigger actions and flags, but I'm not sure how to put that together.
any mods that do that in events that would be good to reference maybe?
if it's a large change it may simpyl be easier to load it as a temp location
hmmm, would that make it permanent after the event though?
i'd assume that you'd then use the eventseen condition on a separate CP map patch with your eventid as the value, which will also be applied on changing location from the temp location to the real one on event ended
thanks. I'm going to look into some things more, and hopefully understand that better after trying to put something together.
don’t quote me on this but i’m pretty sure change map tile is permanent if it’s only a few tiles
that event command edits the loaded map, so it'll probably persist until anything causes the game to reload the map asset
(just tbc that it won't be permanent in the sense that it's not saved to a file ever)
ah i see
Interesting.
The wiki page on reflection mentions that if you need to access a field many times it's better for performance to keep a reference to the field rather than accessing it repeatedly which makes sense. Is there a way to do that for calling a method, like holding a reference to the method, or is that irrelevant?
You can store a MethodInfo and Invoke it manually
I see IReflectedMethod so I'm guessing that's what I'd use
Is that a SMAPI Reflection helper thing? That'd probably do it too
Is there a performance reason to do so?
Costly to find the method every single time you want it (though SMAPI's reflectionhelper does do some caching if you use it instead of standard reflection)
yeah, that's the helper's GetMethod return type
I'm not sure about the performance details, but hanging on to it is probably preferable to calling the getter again, if you can
though ig if you're targeting an instance method you'll need to call it for each instance anyway
Usually with reflected methods, you pass the instance to do it on as the argument
SMAPI's reflection interface seems to require it
IReflectedMethod GetMethod(object obj, string name, bool required = true);
(Unsure in the case of SMAPIs helpers though, I don't tend to use them)
-> just an Invoke or Invoke<> with arguments as the arg
normal reflection (or harmony tools or w/e else exists) might be better if it's for a series of instances in that case
Smapi says this but it's actually better to take it all the way to a delegate
One second
interesting...
If you wanted to be silly you could maybe also just Reverse Patch the function into your own code
I don't know why you would do this though except for the love of the game (finally using a reverse patch)
lol, I've heard of these reverse patches, but never had reason to learn about them
That said, in this case it may just be the better choice to use the ctrl+c, ctrl+v method now that I look at this method in the decompile for the first time in months
Is it a function you have any concern about whether or not someone might patch it in some way
Nope, and even if someone does in some unexpected way, I have error handling and internal fixes to handle that
(Reverse patch and the delegate are about the same.)
Can I ask what create on load does again? I was looking at my maps, and can't remember why it's good to use...
This is why I simply said it was silly, since all else being equal I would question why someone used a Reverse Patch instead of a delegate 
Tbh I actually prefer the delegate over the method info because the typing is enforced lol
Ofc, your magic with publicizer is probably better but I'm lazy
Publicizer won't help for inter-mod reflecting, at least
I mean, it could, if I wanted a hard reference to the other mod, I guess
I'm getting too close to breaking parole also I have real world work to do
It feels weird getting back into the guts of some of this code... I'm relearning stuff I haven't had reason to think about, but also I'm somehow better than I used to be at understanding this stuff.
I still need to rewrite some stuff to use delegates 
never tried them because I figured they'd be slower, but they're simpler and at least equivalent to "give me a factory/handler instance through the pintail api"
(both run fine tbc, but fewer interfaces to copy-paste this way)
Anyway, Parcy had a question and I'm happy to return to my code (and do IRL stuff in a bit as well)
It's whether or not the location will be loaded when the player loads into their save. You need it to add a map to a location. Since there are very few instances where you'd need a location without a map, it is quite important lol
(Unfortunately I don't remember the exact answer so I wasn't intentionally skipping you Parcy, sorry)
thanks!
the only vanilla time it's not used is for locations that don't (usually) exist, "default" and "temp"/farm subtypes/etc
Don't worry about it! You don't have an obligation to help just because I asked when you were there. I appreciate it when you do though!
wait, this is interesting, because I have a location that doesn't have it and still appears. I'll add it now though
A location with a map?
A map patch, so maybe not the same thing actually
Map patches don't have CreateOnLoad because they're EditMap patches that edit another map. CreateOnLoad only applies to EditData patches editing Data/Locations.
oh, ok
something is forceloading textures and I can't figure out what's causing it
When does it happen ?
trying to figure that out
background is I do a thing where I suppress texture load calls while instancing furniture so I can defer it, which works in my dev env, but on my main modlist, a bunch of textures get loaded anyways according to the log
I was thinking about how I sometimes do an ALL_ITEMS query just for index of item info
Maybe u can use the Forbidden Skill of printing stack trace in ur harmony patch
the patch works, textures are being loaded outside of it somehow, that's what I'm trying to figure out
I am going to log stacktraces from AssetRequested though
my invesigation has not yielded answers but it has illuminated terrible json crimes that I was previously unaware of
like the furniture mod that has like 50 beds which share an image but have the same image loaded into a separate asset for each bed
wat
or the furniture mod that use the mod name instead of the unique id for asset paths, so it has spaces and brackets in it
New quote added by chu2.718281828459045235360287471 as #7451 (https://discordapp.com/channels/137344473976799233/156109690059751424/1476038675279118367)
oh no
WAT
Brb
Making a mod that loads every pixel of every asset individually
And stitches them together in post
you could even do that without c# by abusing building layers
Let's use mmap
hate that
a layer for every pixel???
Aren't y'all glad I'm retired
I will not participate in this
You will be participated for, don't worry
woe has befell me
Chue you're safe
"I will not participate" means nothing in the face of someone who knows how to edit the mod registry to replace my unique ID with yours
I'm walking out of work at 8:15pm
is this why you have the urge to do crimes
I have the urge to go the fuck to bed
where are you coming from
chat do I just explode my log and stacktrace every texture load
Sure why nit
you can embed warps in a tmx, can't you? I see that the bus stop does it
you can't use content patcher tokens in your tmx. you have to type out your mod id
Is it possible to add a warp that is conditional on a map patch specifically?
use the same condition for your EditMap and AddWarps patches 
in fact you can even use AddWarps in the same patch
I've been at this for hours and trying to use the same condition
I'm clearly doing it wrong lol
hi,
i read in wiki about abigail drawing question if we choose orc it give us 30 friendship, but when i check on actual dialogue is it only give 5?
"winter_Sun": "Oh, hello.#$q 29/30 winter_Sun_old#I made these two drawings. What do you think?#$r 29 20 Sun_29#I like the jungle island and the tiger.#$r 30 5 Sun_30#I like the orc with the battleaxe.#$r 29 -50 Sun_Bad#I don't like either of them.",
30 is the response ID, 5 is the friendship amount
#$r 30 5 Sun_30#I like the orc with the battleaxe.
i read it correctly then, thanks
i need a second pair of eyes on my NightTiles they're driving me nuts and i must be making a stupid mistake
AlwaysFront 27 16 70 AlwaysFront 28 16 71 AlwaysFront 29 16 72 AlwaysFront 30 16 73 Buildings 27 17 80 Buildings 28 17 81 Buildings 29 17 82 Buildings 30 17 83 Buildings 27 18 90 Buildings 28 18 91 Buildings 29 18 92 Buildings 30 18 93 Buildings 27 19 94 Buildings 28 19 95 Buildings 29 19 96 Buildings 30 19 97
- coordinates: 4x4 rectangle starting at 27,16 as shown, with the top row being on AlwaysFront
- the tilesheet is 10x10 with the nighttiles starting at index 70
they look fine during the day but this is what i see at night
okay it's mysteriously working now never mind
hi friends. does anyone know how I would go about getting an NPC to "go missing" so to speak? Using content patcher, not the debug kill command. I want it to "go missing" so that it will "SpawnIfMissing", to reset the NPC's home location based on a choice made early in the mod
I'm not aware of a literal method, but does adding a second Home entry to the list not work for you? Leo and MrQi have two in vanilla, for example
(iirc, people also used to work around that with "0 schedules" for a while, which warp NPCs to an alternate day start location)
the elliott invisible thing for a week would work maybe
where he goes on his book tour thing
the Trigger Action Action SetNPCInvisible <npcName> <daysDuration>
Elliott cheats and doesn't actually use it, but SetNPCInvisible uses the same mechanism under the hood that elliott uses
https://smapi.io/json/none/d191ffdd2ee841d09098138b461f3d0f why on earth is she holding frame 28 of all frames when she asks what you're doing here
can you elaborate on 0 schedules? I think that's what I want but I must be doing something wrong. I started with 3 home locations "Default" (0, 0 at backwoods. was working.). These were my other two. The problem was that, even after having seen the events cited by the condition, the npc was still spawning at 0, 0 backwoods every day. Then I ran the killNPC command and, upon starting the next day, they were in the proper spot.
{
"Id": "OutsideCat",
"Location": "BusStop",
"Tile": {
"X": 22,
"Y": 22,
},
"Direction": "down",
"Condition": "PLAYER_HAS_SEEN_EVENT Host {{ModId}}_SalemOutside",
},
{
"Id": "InsideCat",
"Location": "BusStop",
"Tile": {
"X": 24,
"Y": 24,
},
"Direction": "down",
"Condition": "PLAYER_HAS_SEEN_EVENT Host {{ModId}}_SalemFollows",
},
I'll look into this, too, but if there is a way to achieve what I want without the NPC being invis for a week, ykwim?
Was your default at the top of that list, originally? The first home with a true (or null) condition will be used
I figured that was the case, so I had actually accounted for that and had it last in the list
i just ctrl+F'd for 0 schedules tho so ima try to implement something rq
as far as I know, that system should work, and it'd be better to get the home logic worked out
but that said, 0 schedules exist in Leo's mainland schedule and such, among other places
I'm not sure if the wiki(s) mention them, but you start a schedule entry with 0 as the time, and it should warp them to that location/tile
"Mon": "0 IslandHut 7 7 0/...
(though fwiw I'm not an NPC modder, so someone more familiar might know more about home behavior)
Thanks 🙏 I think I have an idea of what I need to do but yes if anyone sees this and has further advice im always down lol
in an event theres also end invisible <npcName> which will do a one day invisible which Shane and Leo both use to disappear for the rest of the day but then show up at their schedule the next day
oh, pft, you know what? I wasn't thinking all the way because I've been up for like 26 hrs straight now. But I did try this, but the problem is that it causes the NPC to start their schedule from the center of town. The NPC in question is intended to be a cat familiar that would live either inside the farmhouse or on the farm- I was just using those busstop co-ords to test it. So unfortunately this method wouldn't work cleanly :( unless there's a way to set more than one set of schedule keys for an NPC and activate them conditionally? i was trying to figure that out anyway by looking at the modding: schedule data page but i didnt see anything about doing something like that.
i think i figured out how to use world state queries to make conditional schedules like i want
So, I'm aware you can make new farm buildings by either CP or C# but i wanted to know if there were limitations to using either one?
C# can do anything that CP can do because all CP is, is a C# mod that does your edits for you based on your json. In C# you can also just implement whatever custom functionality you want and aren't limited to the stuff you see in the unpack
in c# the limitations are your limitations. your limitations may be somewhat limiting
re buildings in particular, you'd generally add an entry to Data/Buildings, and you'd basically just be writing the same things in C# or CP for that
C# might be required to add any behaviors that CP can't manage, though the "item conversion" machine logic is fairly robust
- action tiles, keeping animal types based on data, etc is possible with CP
it's usually my preference to use CP for as much as i possibly can, and then fill in the rest with a separate C# mod
Ahh okay. Thank you all 
i just looked at documentation and supposedly all the boxes are checked by what CP can do but if there's something i need ill just add C# on top of it
Hi, I want to ask is it possible to put Dynamic Tokens elsewhere or must it be in the content js?
it must be in content.json
thank you so much!
If I wanted to reference the code on one of Aedenthorn's mods would that be fine? It says there are no restrictions on their mod page
Okay I'm reading it now and if i'm understanding this correctly, I can modify it as long as I redistribute the modified code as under the same license?
You'd need to make sure to keep aedenthorn's copyright notice as well ofc
err hold on where do I find that?
In the license
oh found it
Thank God these are still here. Because of Covid I needed to stop and forgot about this project. Now after 6 years I plan to continue working on it 🙂 I also updated my tractor skin mod, please check it out 🙂
so im getting back around to working with voxbox but im a little confused on how i intigrate it into my current content.json
Hello, I want to make my custom NPC comment on some vanilla events (e.g. make a comment a week after Kent is added to the game), do I need to edit the vanilla event to add a conversation topic or is there a better approach?
you should look at memory keys, they have CT for stuff like one week after seeing an event
since Kent introduction is an event, this should work without extra work
If the vanilla event gives no CT on its own, what I'd do is have a CT trigger action that would be triggered if the event has been seen.
hello,
do someone know if this things already in vanilla? and if yes where i can find it?
it should, unless the wiki has more context
you can try a search in the whole unpacked folder maybe
hmm lemme try search again, maybe need think what could be the file name
you don't need file name if you search in folder (which some of the text editor allow)
Google how to do a find in files search for your text editor
That is what lumina is referring to and the term "find in files" should get you helpful results
yeah using stuff in french usually, i translate roughly 😄
oh im only using notepad++ and already put all related dialogue and seems it not used yet in vanilla
Yup you're right there's no use of it in the vanilla content
i see, okay then
thanks for the tips
is there a way to prevent the game from playing the spring ambience sounds on the title screen and maintain the title song?
hello guys:), im playtesting the farmhouse mod I'm making and found an issue when you're married in-game.
on some days where the spouse stands infront of the house then would go inside to the kitchen- they're stuck standing at the entrance and when you talk to them they scold you for not cleaning the house cuz there's some obstacles in their pathing, but they're actually just gonna go out of bounds.
and on days that they just remain in the house, their default position should be right infront of the kitchen, but instead they're in the void:p
xD, im using the horse elliot mod
did you use the proper path spot for kitchen?
also, what's the way to add items to universal gifts already?
Gift tastes?
ooh, I'm afraid I don't know how to do that :0
Ahhh my bracket colouring is gone!
Wow this was a lot longer ago than I thought, I'm so sorry! It has been a busy few days for me. I think you mentioned earlier tonight that you're still having some trouble with this?
no worries and yeah, i cant figure out how to fit it into the rest of the patcher changes
Do you have an attempt in your json at the moment or did you get rid of it all when it didn't work?
i do not but i can recreate it easily
Hello there guys
i'm creating a mod with custom machines, i just added a recipe to get the item without the cheat menu, but in de Crafting menu, the sprite wont be showing up... did some one have a similar problem?
It'd be good if you can, yeah, because then I can figure out what exact part to help with.
That looks...roughly okay, although it looks like you've got some missing commas and stuff there. Can you upload your whole file to https://smapi.io/json/ and share the link with me so I can fix the indentation and syntax errors to check the rest of it?
(Also I'm sorry I thought there was some way to set a universal sound. Hmm, maybe you could just replace the sound that is currently used by vanilla - though it might be used in other places too.)
@whole raptor Did anyone tell you that you can use Bog's assets for the modfest? (Yes I am creeping on your message from 5 days ago lol)
sorry for the delay i was playing league
All good! Ok so your {{ModId}}_MESSAGE patch is in the wrong place right now and it has broken your entire file. You can actually just add that to your other AudioChanges patch. I've just quickly done that to fix up your syntax. https://smapi.io/json/content-patcher/72c086f45d4849d7b73c9293b4112b92 Try this in game and see if it works.
What was my message from 5 days ago
I did see something about that and ngl, I am slightly interested
A fun wizard's tower idea! Sorry I forgot you'd have no context for my message because it wasn't a reply LOL
Ah, yeah, rings a bell
I miiiight do something, but I'm unusually a bit busy this week 😅
It's ok you've got a month :P
Oh? Really? I thought it was like 10-14 days 
Nope it's Feb 26th to Mar 26th!
Nice
So exited to work on my Dessert animalssssss when I get home
Thinking I might do snow cone ducks? They drop popsicles instead of eggs and then waffle cone “bills”
it doesnt appear to work
!log Can you share your log, please? Using the website link
Important note: Your computer username may appear in the log. If your username is your full name, please be aware of this before uploading it.
Please share your SMAPI log file. To do so:
- Open this page: smapi.io/log.
- Follow the instructions at the top of the page to upload the log file. (Don't copy & paste from the console window!)
- After uploading, it will show a green box with a URL to share. Post that URL here.
Please do it even if you don't see any errors. This has useful info like what mods and versions you have, what the mods are doing, etc. If the issue didn’t occur in your last session, please load the game to the point where the issue occurs, then upload the log.
sure, ill dm it cuz it contains my first name
Ok so the error is that the MESSAGE_OPEN.wav file does not exist in the assets folder, according to the game
im dumb 💀
Also, to address the next error you'll get: I think you might have downloaded the source code for VoxBox instead of the release version. That's on me, because I linked you directly to the documentation instead of the Releases page. Here's the release page: https://github.com/ichortower/VoxBox/releases/tag/0.8.0-beta
GitHub makes releases a bit difficult to find imo
ah i see thats probably why
Hi, can I use "quest" for the type of a custom object? I want to add an item exclusively for a delivery quest (like the stardew rose). Or it's enough to set false in canbetrashed and canbegifted?
i think if its an item for a quest specifically, you don't need to worry about losing it while the quest is active
im not sure though
oh wait for delivery to an NPC? or deliver to a dropbox?
Delivery to an NPC
should be fine then
if u try gifting it, the game should tell you that its the wrong person
not sure about trashing
can always test it :3
how does the game tell the nearby and separate houses type apart if tile data has the same property and paths layer is purely visual?
unless it does help too
like it works for stumps and grass and whatever
I deleted both tile data and paths on my map and Im trying to recreate them now
and it doesnt work obv
The tiledata tells it the order of the cabin, but the cabin layout is determined from the tile index
And the cabins are only generated on the initial farm load (when you create the save)
if tile data doesnt have a visual tile underneath on paths layer it wont do anything?
Make sure your Order <number> tile data is on the Paths object layer
Every tile data object needs a tile object below it on the matching tile layer, so that it can "attach" to it
oh interesting
its a bit weird how some some tiles on tile layer have properties and some only have it on obj layer
Some tile properties were baked into the tilesheet itself, like Water T on the water tiles, in the vanilla game
but I suppose its to give some separate tiles particular properties instead of giving it to every tile of the map
right
That's mainly for tiles where the properties are unlikely to ever be different, such as terrain
but for example, if I add my custom water sprites with a new tileset I can either add Water T to object layer or to tileset itself right
I see
Yes
The big thing with cabins, if they do not work even after loading a new save, you need to be sure you didn't accidentally repeat an Order number on the Nearby path tile's objects, or on the Separate tile's data. They are two separate groups, so each can have 1-7, but you can't have 1 in the same group twice, etc.
If you repeat a number in the same cabin grouping, you will find that the cabins will stop spawning starting with that repeated number
I added pair of 1-7 tile datas for nearby and separate
and well it didnt spawn anything even after setting
weird
(we actually had a vanilla bug a while back on one of the maps because Order 1 was repeated and Order 3 was skipped)
And you made a brand new save after updating the map file in your mods folder?
yes
{
"name": "Order",
"propertytype": "",
"type": "int",
"value": 1
}
]```
1-7
on each tile
and same with other type
Ohhhh, that looks wrong
The Name of all tiledata objects must be TileData
And the properties go under Custom Properties
Yeah, that
Sure thing!
Now I wonder if its possible to determine the way of the cabins look before creating a save
like having the one particular type of cabins as default
without c
The appearance is in a specific rotation IIRC
It might pull from the Buildings/Skin order, but I am unsure
Uploading a custom tileset where all skins are the same hm
will break some stuff so okay whatever for now
I cant find a way to edit greenhouse position 😭
not in text or map properties
what stops you from having all the stuff here ca 😭
GreenhouseLocation should work right
per the Maps wiki page
maps that don't have it just use the default
Do I manually add this property?
it did work thanks!
hey, anybody here familiar enough on the technical side of stardrop to know if logs or something exist somewhere?
currently Stardrop just doesn't launch, it starts before without any feedback closes again (confirmed via task manager) so i have no idea whats going on.
!log
Important note: Your computer username may appear in the log. If your username is your full name, please be aware of this before uploading it.
Please share your SMAPI log file. To do so:
- Open this page: smapi.io/log.
- Follow the instructions at the top of the page to upload the log file. (Don't copy & paste from the console window!)
- After uploading, it will show a green box with a URL to share. Post that URL here.
Please do it even if you don't see any errors. This has useful info like what mods and versions you have, what the mods are doing, etc. If the issue didn’t occur in your last session, please load the game to the point where the issue occurs, then upload the log.
:)
So, I understand that legacy event precondition codes ( /j /n /c, etc) are deprecated and not supposed to be used with new mods, but does anyone know why they disappeared from the wiki? Having them there would surely help support/upgrade legacy mods?
they are still there (Deprecated section)
(what are those preconditions)
Clicking on it doesn't expand it. Maybe that's Brave being stupid, though
Oh huh, they used to be but I just looked on the events page and it looks like there's an expandable drop down that's supposed to show the deprecated commands and their newwer counterparts but nothing shows when you click on the drop-down
The only one that seems to work is the deprecated precondition of sendmail
Doh. I got confused. Sorry!
You've got to click the "Expand" link directly. Just clicking on the table header isn't enough

