#making-mods-general
1 messages · Page 544 of 1
Those are old shorthands. /n would check for a mail flag existing, for example. Not supposed to use them anymore. /LocalMail is the modern one
Oh gosh I have no idea. I think they may have been the original set of event preconditions? I don't know when the explicit long-hand versions were released. I know for a fact that some of my mods still use the shorthand, but that's because I was learning from older mods when I first started
I need to go through and update them all at some point
I definitely have events that mix the old and new format preconditions xD
hmmm i will check out mine too. i released my first mod in errr 2024?
no wait
wait yes
yeah 2023
no wait 2024

I also need to go and do some updating bc I know I use the old preconditions for event seen and has mail TT
Good thing I'm doing an intense scruitinizing and update in general haha
i think your misuderstanding.
can't even launch the game modded right now.
can't test mod ive been working on. stardrop broke for unknown reasons that im still trying to diagnose without losing everything
I would submit a ticket in https://discord.com/channels/137344473976799233/1272025932932055121 then, iirc they can help with stardrop issues
I hope you get it figured out that's no fun 
Better than potentially losing stuff 
There's always turn it off and turn it back on again (uninstall/reinstall), but idk if that'll damage anything so I can't advise it
people cant help you without having the proper information. making a post will give people information
there's not exactly any information to give?
litterally no feedback from stardrop itself
you know as much as i do
Mmg isn’t really the place to ask for this info either way
whatever
still, #1272025932932055121 is the place the get help
i was hoping to avoid that. sorry
Why avoid the thread for modded game help if you're having an issue with a modded game?
Well i guess you're gonna not get any help...?
lets just leave it at that folks
Vinilla have you ever considered being chocolate or strawberry
Or perhaps even Neapolitan
i have not
perhaps ironic since chocolate is sort of my preferred flavor for things
I miss Neapolitan ice cream
I vote neapolitan, all the good ones right in one thing
I havent had it in years
still not a huge fan of chocolate cake tho
I like chocolate cake > vanilla, but vanilla > chocolate ice cream any day
Evil vin: chocolit
that would be a good april fools name 4 me
can someone please tell my why trying to conditionally load warps not only doesn't make them conditional, but also makes the map patch they are for disappear?? If I get rid of the warp load at the bottom, everything's fine, but then I have no warps. I spent hours yesterday trying to figure it out and failed, where I tried and retried lot of stuff 
Here's basically what I'm trying to do:
"Action": "EditMap",
"Target": "Maps/{{ModId}}_map1",
"FromFile": "assets/maps/map2.tmx",
"PatchMode": "Replace",
"When": {
"HasSeenEvent": "parcy.mrNPC.eventY"
},
"ToArea": {"X": 5, "Y": 5, "Width": 1, "Height": 3}
},
{
"Action": "Load"
"Target": "Maps/{{ModId}}_map2",
"FromFile": "assets/maps/map2.tmx"
},
{
"Action": "EditMap",
"Target": "Maps/{{ModId}}_map2",
"When": {
"HasSeenEvent": "parcy.mrNPC.eventY"
},
"AddWarps": [
"9 8 {{ModId}}_map3 13 14"
]
},```
what are map 1 and map 2, location wise? i want to make sure i understand your intent
map 1 is a new location, map 2 is a small patch on map 1 that changes some tiles aesthetically and adds a warp to map 3.
do you have a patch that loads map 1?
yes, map 1 is not affected negatively
you shouldn’t need to load map 2 if it’s just a map patch
I think I tried not loading it, but it didn't work?? I can test again to make sure
your warps should be targeting map 1 since warps are a locational thing
I'll get rid of the load and see if it still appears
then add the warps again and then chsnge them
I will not load without the load
I'm confused
correct it shouldn’t be loaded. map patches use EditMap and never Load
no im saying I got rid of the load and it didn't appear
But it does with the load??
what didn’t appear
map 2
are your conditions met for the map patch to have happened?
yes, I just watched the event
is it different because of "PatchMode": "Replace",?
does that need a load, maybe?
do a patch summary yourmodid and send your log
no. there is never a Load needed when you’re patching a section of map.
Ok, I'll try that
Here's the log, sorry for the wait. Should be noted that I removed the warps from map2 to map3 entirely when I tested getting rid of the load. https://smapi.io/log/28a2455e0b8f4b7585efb6792231f5fe
Log Info: SMAPI 4.4.0 with SDV 1.6.15 build 24356 on macOS Unix 15.6.1, with 17 C# mods and 8 content packs.
Suggested fixes: One or more mods are out of date, consider updating them, SMAPI is out of date, consider updating it
Idk why the load listed here makes makes it appear if map patches don't need loads. What I'm doing is a patch, right?
this log shows you haven’t seen eventY
But I did? Skipping through counts doesn't it?
And it won't trigger again
when I enter under the right conditions
i’m just telling you why your map patch isn’t applying. the conditions don’t match because you don’t have that event marked as seen
you can manually trigger an event using the debug ebi command
that's odd. I'll trigger it again then
alright, I ran it again, didn't skip through, and the patch still isn't applying
does a patch summary show you’ve seen that event?
I'll run a another patch summary and read through it
Doesnt look too bad for a test
Is house position also changable the same way as greenhouse?
I see
debug completecc command seems to trigger the cutscenes etc., but the CC still remains locked. Is this a bug or am I using the wrong command?
did you sleep?
yeah, multiple days after the cutscene
although i didnt sleep before running the command on day1
it’s a different flag to unlock it i believe
you have to have seen the event where lewis introduces you to it
oh got it, thanks
any way to trigger the cutscene early? Need to test mods again n again
HasSeenEvent | [X] 65, 60367, 100162, 1590166, 3102768, MovieTheaterScreening, parcy.mrNPC.intro.part1, parcy.mrNPC.eventY?
debug ebi theeventid
yep it should be applying your map patch now
If I add the load back in, it would apply it for some reason?
It should apply it, but won't. Hmm
tried it again on another save, and no patch still
parcy i don’t know if i can explain to you more clearly that you do not need to load a map to patch a section of map. maybe reviewing content patcher documentation or the maps wiki page would help you grasp the concept more?
Sorry, I get that, but what I'm saying is that when I loaded it in, the patch would apply, and when I got rid of the load, it stopped applying it. Since a load is not necessary, something else must be wrong, and the load must be overriding that issue I guess.
i see. can you send your full json?
The full maps json you mean? Because I made a separate one just for all the maps stuff
maps and locations
Yes, they are all in the same one. I'll clean it up a little and send it over. Is it alright if I dm it to you, or do you want me to upload it here?
here please
ok
that way even if i’m away someone else can step in
@lucid iron Hi, I looked at my code again and I'm not sure that IsValidLittleNPCIndex is what you need. Do you need the information which kids are currently LittleNPCs or which ones are / can become LittleNPCs at all? IsValidLittleNPCIndex does the latter. I think about adding an API in the next beta release.
Can I turn off season changes on the farm map and keep the climat like on GI?
hey sorry, I'll upload the json here later. Thanks for your help though Nic. Whether you're able to take a look at it later or not, I appreciate what you've done with me here. 
also is there a way to move only some tiles on a layer? I currently cut them and then paste in a needed place and this is pretty annoying
It may be a bit late to ask but could you please show me the example? 😂
"{{ModId}}_GiveEverbloomQuest": "{{i18n:Mail.{{ModId}}_GiveEverbloomQuest.text}}%item id {{ModId}}_EverbloomSeed %% %item quest {{ModId}}_EverbloomQuest true %% [#]{{i18n:Mail.{{ModId}}_GiveEverbloomQuest.title}}",
Yeah ideally I know that little npc plan to make these children littlenpcs eventually
The reason is because hmk's flavor of custom children affects all stages of their life
In the current stable version the first 2 children will eventually become LNPCs. In the current beta you can configure that, e.g. you have 4 children but only 2 will grow up. But you can't decide which ones. This depends on their index and that depends on birthday.
I also need to find time to improve the check on my end, but imagine scenario like this
- there is 1 hmk custom kid available based on parent/shared
- little npc plans to turn child 1 and 2 into little npcs
The desired effect should be that - player has 2 kids, they become little npc
- hmk determines that the 3rd child is not managed and will apply hmk custom child
- a 4th child is left alone by both mods
The special case of adopting a npc as your child (e.g. Leo in Have More Kids and adopt Leo) is handled by HMK patching getChildren to exclude Leo's Child counterpart
So he essentially has no child index
Seems possible. The given use case should already work since only the first 2 children grow up. Or in the beta, you can configure how many grow up and set this limit to 2 . And children without index don't exist for LittleNPCs mod.
Yeah, it's mostly just hmk needs to know about that somehow 
Than IsValidLittleNPCIndex seems to be the right method indeed.
You're welcome. Take your time. I just don't want to publish a useless API 😉
There are some nuances with HMK allowing kids to wander outside on the farm
But littleNPC doesn't really have a toddler stage right 
Everything vanilla until day 83 (default).
API draft so far:
bool IsValidLittleNPCIndex(int childIndex);
int GetAgeWhenKidsAreModified();
}```
Yeah I can use it to determine if I should still try to send kids outside
It doesn't matter too much since the child is made invisible and I can know from that
Is it possible to make some specific machine's sprite invisible?
I am trying to make the boiler room furnace be actually usable, and the first easy way that comes to my mind is what is i could somehow place a invisible furnace at the appropriate tile. But is something like that actually possible?
yeah just have a texture with no colored in pixels
question is greenrain totally hard coded is there a way to change it to a different color depending on the area
It's a white pixel that is coloured either blue or green depending on the type of rain in the draw code, and that same white pixel is used for a billion other things, so you can't change it per location.
You'd need/want to look at Cloudy Skies most likely for an entirely custom weather, if that was applicable
Animations allow to time when thing is passable omg
isn't that white pixel also part of the moon or something like that
That white pixel is staminaRect which is used for many many things.
It's whole purpose is to be a white pixel that can be stretched into any rectangle and coloured as needed in code.
so cloudy skies, ill look into it
(Like, for example, the stamina rectangle)
which tile and on what layer is best to use for an invisible boundary?
buildings
and any invisible tile that you know won't be.. un-invisibled
i generally pick one in the trees/water
I used first tile from paths tileset on buildings 2
cuz mods arent really going to affect those
buildings 2 is passable
yeah, Buildings specifically, the numbered layers are secondary and mostly* cosmetic
you have to put it on buildings
The number-suffixed ones are purely so you can do some visual layering
:(
They do not offer actual functionality beyond that
I see
If your waves are on Buildings then your waves will block movement
Then your waves will be non-passable already, and you just need invisible tiles on the ones around the dock 
Button beat me to it
I type so slow smh
as an exception, there's the Passable tile property that makes Back layer tiles block you or Buildings tiles not block you, iirc
but yeah, Buildings tiles should just stop movement by default
Heyyy 
I was wondering if someone would want to help me with my very first mod in stardew valley (I’m so bad with spritesheets) and please excuse my sense of direction (I got lost three times until I reached this channel hahahah)

How are you? : D
This channel is full of people who love to help so feel free to describe your issue!
don't worry about getting lost haha, at least you're here now
Pretty good! Just had second lunch and about to get on my pc to make furniture/NPC sprites :3
And I second what those guys said 
Tysmmm!! Is just the fact that I really love this character and I would love to add her into stardew valley but my art skills are horrible
Hahahaha yesss finally!
WOAH THATS SO COOL
!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!
Here are some art resources, there are also resources specifically for making NPC’s when you’re ready!
Thank you so much!!! : D
you have a few options - first of all, this server is ridiculously good at teaching pixel art if you're willing to try. Then there's the option of commissioning an artist if you're willing to pay
Is this the example?
I’ll try the first one! (I’m really sorry but I’m 16 and I still don’t have my own money 🥹💖)
!npc
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!
the first one is what we like to see!

rhea... is that you....
YESSSS
It's not updated for 1.6
SHE IS MY FAVORITE CHARACTER
There's a beta for it, but I don't know how far along it is
Oh yeah I downloaded that one
Then it may or may not have some parts that are missing or not updated for 1.6 functionality
Ops 😨
New here. 👋 😁 Entering the mod content tomorrow.
I'll post in mod showcase once I submit it.
You can't post in the showcase yourself without mod author role
Thanks
But another mod author can (but is not required to!) showcase it for you, if they feel comfortable giving you a sort of soft vouch
there are templates in the npc tutorial linked above, and you can learn more about formatting json files specifically through this tutorial
(Also remember to follow our rules on acceptable mods, and best of luck in the contest
)
that was for @wicked rivet
can one content json load several things?
yes
One content.json can load as many things as you're willing to type into it before you lose your sanity
Thank you!!
I see
I think most people choose to start using Includes instead once they've lost about a quarter of their sanity
{
"Action": "Load",
"Target": "Maps/Farm_Island",
"FromFile": "assets/Farm_Island1.tmx"
}
]```
I just copy and paste my Load action in a changes array right
I started to use Include on account of Avi's crimes and I have not looked back since
"Changes": [
{
"Action": "Load",
...
},
{
"Action": "EditData",
...
}
]
like so
Remember to put commas between them!
is there a list of all accesible actions I can do via content
Everything available is on the content patcher documentation
not reading again 😭
Well you're either readin it there or reading it here but explained in less (potentially important) detail
TYSM!! : D
Do note that making an NPC is a complex and time-consuming hobby to do, more so if it's your first mod. But it's doable with persistence and grit.
Good luck!
okay then, if my custom farm uses a custom tileset, I load it via tsinator, it embeds itself, and all I have to do is load it via content json to the same place my farm is being loaded, right?
Yep, a custom tilesheet should be loaded to Maps/<the name of your tilesheet> and other maps (such as the farm) will be able to find it when used in their tmx
The target you Load it to must match the name of the tilesheet image source in Tiled or vice versa (minus the Maps/ part)
so its
Load
target: maps/name
from: assets/name.png
Yep!
yay
ty!
Make sure your custom tilesheet is not in the same folder as the .tmx in your mod folder too
When you publish at least (I forget what tilesheetinator does for that)
so I create a subfolder for my tilesets
If the tilesheet a .tmx needs is in the same folder as the .tmx, it will just use the .png directly and skip whatever the Load did
and then load from there
Yes!
I start to understand things now
This is how it is going!!
(I’ll do more details later)
Im planning the base
So far so good
barriers working as well
some terrain issues I probably will polish one day
cant cast fishing pole in the water 💔
these barriers break fishing, it works without em
interesting
How do you guys think that it is looking? : D
Idk how you guys are so talented to do this! It is super hard
use data layers to see where invisible buildings tiles are
would I delete all this to get rid of a tilesheet issue that tilesheetinator can't resolve, or would it just be the image source specifically?
It looks awesome! Tip - I would use a separate outline color for the dress
what specifically does your log say
What's the issue? But seeing as it says it has a tilecount of 0 and has the firstgid the same as the next sheet, I can't imagine it's even doing anything at all right now and it probably won't do anything bad to remove it
TYYY!!
maybe a grey one?
the location won't event load right now, so I don't see anything about tilesheets
in the log that is
I don't see anything about tilesheets in the log either but that's because you haven't sent it /lh
(Please send it! The errors may be relevant anyway)
Ok.
Yeah! Or if you wanted to keep it vanilla, I would hue shift it to a grey-blue or dark beige (shading guide in the pixelart resources)
reminder that we have #making-mods-art specifically for posting and getting feedback on mod assets!
SORRY!
i like having some art here 😄
THATS SUCH A GREAT IDEA!
its not a big deal! youre not in trouble
it's not mandatory, just a good place to get more feedback
i suggest that, wherever you post stuff, you post bigger images
i usually resize things x4 to be similar that what the games have
Thank you so much for the tip! : D
I'll send the log over in a little bit after I do something
(Last one here sorry) this is how is going!! (I’m doing the base before the details) : D
okay I fixed it by making back water not passable yay
not ideal but works for me
if you want to block people walking on it, then you can use invisible Buildings tiles
but you said you also had the Back layer marked as Passable
I fixed casting by making back tiles passable instead of invis building tiles yeah
oh its noticable here a bit
but I like it
Base completed!
Sitting here making sure these events are linked to all the text i wrote out 😅 a lot to go through
sdv doesnt support tiled's parallax feature yet right?
I say yet as if it could ever happen
I also wonder how that GI forest near parrots boy house has that rays overlay
you can use a framework like MMAP (miscellaneous map actions and properties) to have parallax!
The rays overlay is hardcoded to be drawn on top of the screen. MMAP might handle that too?
I suppose its possible to animate a always on top layer to do something like this
but rays seems to be much higher res
so may not worth it
You'd need to cover the entire map and then some, and animate each tile individually
An egregious amount of work in that
I would heavily disagree with that but don't let that stop you from trying
you may also be interested in recommending to players that they use god rays? it wouldn't be under your control but you wouldn't have to do any work
"Cover the map and then some" is because you don't know where the top of the screen is. You'll never be able to get it right for everyone
yeah its not optimised obv but this way I can learn what and what not to do the next time I think
also yay
Ok, so this is not related to one of my custom maps not loading at all anymore (which I fixed) or a tilesheet issue, but something I was struggling with earlier.
My map PATCH refuses to show up without a load, and I can only get my conditional warps to work one way, not both, based on a HasSeenEvent check. Anyone see where I must be making some pretty glaring errors?
https://smapi.io/json/content-patcher/4e92fa84eb474d4b8018e93ce8be4e37
also, I know the json validator is showing some warp issues, but I think that has to do with the {{ModID}} being a part of the map names there, for some reason.
not sure if i'll ever use this perfectly valid harmony syntax again 
public class ModEntry : Mod
{
public override void Entry(IModHelper helper)
{
new Harmony(helper.ModRegistry.ModID).PatchAll();
}
}
[HarmonyPatch]
public static class HarmonyImprovements
{
static IEnumerable<MethodBase> TargetMethods()
{
return typeof(TemporaryAnimatedSprite).GetMethods()
.Where(method => method.ReturnType == typeof(TemporaryAnimatedSprite))
.Cast<MethodBase>();
}
static void Postfix(object[] __args, MethodBase __originalMethod, TemporaryAnimatedSprite __result)
{
// improve the game
}
}
typo?
i really think you should use more specific names haha
Two things
Do you mean the TargetMethods thing because I've used that before, I do think it is perfectly valid
Kinda what it's there for innit
- PatchAll() is fun, and by fun I mean it uses StackTrace
It's not entirely reliable
Recommendation
It's literally never failed me ever
Nor anyone using any of my mods, which all use PatchAll
PatchAll(typeof(ModEntry).Assembly)
i will use harmony annotations and tsx files and nobody can stop me
That said blueberry why are you casting to MethodBase
That was 2.
a MethodInfo is a MethodBase already
There is no need to cast to MethodBase. That's the superclsss
oh that was in the original docs and i just didn't bother to change it
go blame pardeike
A long time ago I tracked down one of the weird harmony AVEs to that specific thing
It went away after I used the OTHER overload which is the same thing minus the StackTrace
Wren can back me up
No, it's actually map2t... I did have more specific names, but I still feel uncomfortable revealing too much about the stuff I'm making so I changed ALL occurrences of the names to be generic 😅
I would expect more bug reports if it was that unreliable after some 1mil UDLs
Nexus users love bug reports
Well, it's hard for people to know which mod is causing the AVE
I think you underestimate how often people go "well the only thing I changed was installing your mod so [completely unrelated bug] is your problem"
(i kinda understand but in my experience, all the time i posted stuff that i altered to not give too much info, it made debugging harder)
(risk of error is also greater this way)
I actually changed all the occurrences in the files though, so that I wouldn't have to change them when sharing
Worse than the casting to MethodBase or PatchAll though it feels wrong to not keep your harmony instance... I don't know why I just could never discard it so easily 
i care not 🙂↕️ thrown to the garbage collector
yeah there's really no reason why you would have to load map2 in order to do an EditMap to map1 with it. i can't see any glaring issues with this, not without errors in the log, and assuming you do indeed have the flag HasSeenEvent parcy.MrNPC.eventY
I keep mine around in case I wanna unpatch and repatch mostly, or patch from another class
so since you've brought it up, why specify my own assembly for PatchAll, or is that simply for the stack trace
Well thats what it uses the stacktrace to get
ah i see
public void PatchAll()
{
Assembly assembly = new StackTrace().GetFrame(1).GetMethod().ReflectedType.Assembly;
this.PatchAll(assembly);
}
It is gross I won't deny it
It scans the assembly for your annotations
So you probably don't wanna give it someone elses assembly
Yeah, it's really confusing... it just doesn't show if I get rid of the load though. I wouldn't even mind keeping it in at this point, I just want my warps to work on the conditions I set...
load-bearing 'probably'
can you try commenting out the load, restarting the game, and then giving a log with a patch summary where it doesn't show the change?
one where you do have that flag?
Ok
Like if you dynamically load a separate .DLL that has some intermod compat. stuff with hard references, and then give Harmony that assembly
Yeah!
Oh, something just came up. I need to step away from the computer. I'll post again when I come back.
Fun thing to try
Create a new harmony instance
With same id
And try to unpatch from there
Harmony instances are kinda a myth, it's the ID that matters, iirc
That I know
i'm just saying, this limits the help you can receive, and unless you're changing stuff for reasons like avoiding nsfw stuff, chance is, no one will care what the content is
But the instance still stores some per-instance stuff
but in the end it's up to you
yeah it's important to remember that we're very far removed from users here hahah
revealing to mod authors isn't a soft release
yeahhh if the issue ends up being something to do with file names or whatever, the more time i've sunk into it the more frustrating it ends up being
and this goes for my own stuff as well
people are not kicking down my door trying to get at bugs. you're safe
(For example, I just realized each instance has a RunMethod() generic, but that seems to... only run your patch methods if you call them? Like, not the method youre patching, but the method you use to patch something... I'm not sure why you'd ever want to do that.)
(Actually scratch that a little bit, it's the PatchClassProcessor your instance creates that does that. But it seems the instance does not store its own PatchClassProcessors. Don't know where they go. Don't feel like looking too deeply into Harmony right now.)
Yet
Have u seen the fun state tracking class?
The HarmonySharedState?
does anyone happen to know if the various multiple spouse mods do anything to chores?
I'm kind of just patching marriageduties to say 'all chores were done, so skip em!'
And then making my own setup.
Yes! It's so fun
I find it interesting that they serialize things into bytes
The actual mechanics behind how it all works on a deeper level is still a mystery to me but it's all stuff I'd love to fuck around with for no reason someday.
It's very spooky
Oh, it's not nsfw at all 😓
I guess I could see why that would make sense as a reason though
I did run into file name issues when changing them, but I fixed those.
I'll get the log. I also needed the load before changing all the file name occurrences, and file name assets, so I don't have any idea why it's like that
each farm has different look on minimap, which place has those?
Data/WorldMap in the Valley.MapAreas Farm.Textures section
Ok, this is the smapi log I have after removing the load for the map patch. I also did a patch summary. https://smapi.io/log/941e5b6b7bde47278df86d8cac387b1b
Log Info: SMAPI 4.4.0 with SDV 1.6.15 build 24356 on macOS Unix 15.6.1, with 17 C# mods and 7 content packs.
Suggested fixes: One or more mods are out of date, consider updating them, SMAPI is out of date, consider updating it
I also played the event which is the condition twice. Once naturally, and once though debug, just to be safe
what is the problem?
My map patch refuses to show up without a load, and I can only get my conditional warps to work one way, not both, based on a HasSeenEvent check.
which map patch?
"Action": "EditMap",
"Target": "Maps/{{ModId}}_map1",
"FromFile": "assets/maps/map2t.tmx",
"PatchMode": "Replace",
"When": {
"HasSeenEvent": "parcy.mrNPC.eventY"},
"ToArea": {"X": 9, "Y": 7, "Width": 1, "Height": 3}
},```
you have 3 map patches on Maps/{{ModId}_map1, the first two are failing their HasSeenEvent when condition, the third is passing
This is the current json https://smapi.io/json/content-patcher/daa66c93f6c944b988496d53f712c141
which 2 are the problem patches?
EditMap fromFile doesn't copy map properties iirc
but it would be both of your EditMaps checking against parcy.mrNPC.eventY.
and note that patches only re-evaluate their conditions on DayStarted unless you specify otherwise in UpdateRate
Oh, so the both the map patch itself and the warp are failing to log the event as seen. What is the 3rd patch on map1 that is loading?
you can use LogName to distinguish patches in the log
Goofy mod concept: the farmer gets sent back in time. Everyone's younger, you can romance some of the usually non-marriageable NPCs
the third patch is the unconditional one adding warps to go to busstop
Ah, ok.
When you don't specify LogName it auto generates them in order
so EditMap Maps/{{ModId}}_map1 #1 is the first patch in the file that is an EditMap that targets Maps/{{ModId}}_map1 etc
For any interested mod authors: as of version 1.2.0, World Navigator's API now lets you initiate a navigation task yourself
So, I should be adding an UpdateRate that updates right after or (during the event if possible?), and I should be adding warp properties to the tmx files too?
Because "EditMap fromFile doesn't copy map properties" means that the warps would also (or only?) be needed in the maps' tmx. files? Sorry if I'm misunderstanding...
Can I even add a warp to a match patch's tmx though, so that it only appears when the map patch is applied?
with content patcher, your only options are OnLocationChange or OnTimeChange (which is expensive and should be avoided if at all possible). consider instead rewriting your event to happen naturally at the end of the day and then kicking the player out
Monkeys paw curls, because of it you can only romance them because all the other marriage candidates are now underage
as for point 2, no, EditMap does not transfer map properties whether they're in JSON or TMX. that's what AddWarps is for
Ok... I'm going to go back to the wiki for a little bit before I ask more questions
Does anyone know where OnLocationChange is on the wiki? I couldn't find any mentions of it through the modding name space.
cp docs
Regarding the mod contest, if something is broken - will i be able to update a new version of the submission?
doing my best to squash bugs
It's probably better to ask the nexus discord
We don't know any more than what the rules say
pretty
if they extended downloads to 30 days past end, i assume that's when they'll do the judging/deliberation but who knows...
pretty!
Say you are making custom farm right
yeah
Are u doing additional farm 
im loading it as beach one for now
I am always recommending ppl to do additional farm, though it's true that beach has the hardcoded supply crates
I kinda wanna make the whole gameplay around that
and well I dont really know how to do it as additional rather than swap it for a beach farm
for now
I tried searching patho's repository and I also scrolled through this page https://github.com/Pathoschild/StardewMods/blob/develop/ContentPatcher/docs/author-guide/tokens.md and didn't see anything about OnLocationChange. Did I miss it, or is this the wrong doc?
Confusingly, the info is on another page: https://github.com/Pathoschild/StardewMods/blob/develop/ContentPatcher/docs/author-guide.md#update-rate
Oh, ok, so it wasn't just me failing 😅
its in the various action pages too
as its a characteristic of the action and not any token
Ok, so I should be fiddling around with OnLocationChange instead of loading the map patch to make it show up...
And then I still need to make the warps work both ways, and after the event.
Oh sorry
I actually meant to ping my myself
And link to my json again
This
Alright, I'm going to mess with the code more
Ok, so doing this:
"Action": "EditMap",
"Target": "Maps/{{ModId}}_map1",
"SetProperties":
{"CurrentTime": "{{Time}}"},
"Update": "OnLocationChange",
"FromFile": "assets/maps/map2t.tmx",
"PatchMode": "Replace",
"When": {
"HasSeenEvent": "parcy.mrNPC.eventY"},
"ToArea": {"X": 9, "Y": 7, "Width": 1, "Height": 3},
},```
and this (for the warps)
{
"Action": "EditMap",
"Target": "Maps/{{ModId}}_map1",
"SetProperties":
{"CurrentTime": "{{Time}}"},
"Update": "OnLocationChange",
"When": {
"HasSeenEvent": "parcy.mrNPC.eventY"},
"AddWarps": ["9 8 {{ModId}}_map3fr 13 14"]
},
{
"Action": "EditMap",
"Target": "Maps/{{ModId}}_map3fr",
"SetProperties":
{"CurrentTime": "{{Time}}"},
"Update": "OnLocationChange",
"When": {
"HasSeenEvent": "parcy.mrNPC.eventY"},
"AddWarps": [
"13 14 {{ModId}}_map1 9 9"
]
},
did make the location update after I saw the event then left it. This is a win, even though I haven't fixed everything yet! 
My issues now are that when I warp my farmer I'd like her to face a different direction when she arrives at the warp on map3fr, and I need to find a way to change the location during the event so that the map match can register as soon as it's done, for consistency reasons.
Are either of these possible? num1 is nice to have, num2 is kind of needed for how I've written everything out...
Also, thanks for the patience, guys. I'm sorry this took as long as it did.
spacecore can spawn crates
Some mods do it and it doesnt feel right anyways
Because I tend to hold a direction while going through warps, I end up just barely turning for a frame
You can combine those two map1 patches together because you don't need a separate patch for the AddWarps field. You can use changeMapTile to change the map while in the event
Just because I'm not sure if you mean "combine the warps for map1 with the map edit for map1" or "combine the warps for map1 and map3fr", you can do the former but not the latter.
Do you know if I can effectively register a location change during an event?
Surprisingly, when I was still trying to load in the map patch, it did apply it right after the event was done.
Yes, I was testing out some things on my mod and when you don’t put false on the [pan] condition the viewport doesn’t work right
I just wanted to check about that because as far as I'm aware there are no other arguments for that command, there's only map and pan. Is my understanding incorrect?
Yeah it kept porting the screen to the far right of the map without putting pan as false
I checked some event code in the game and for Maru’s event for example it has false as a part of the argument for what I assume is for pan
So you have used it like changeToTemporaryMap ExampleMap false 32 14/ (imaginary example) and it does actually move the viewport to 32 14?
I can't see any code in the decompile that lets it accept the viewport coordinates
No, it’s
changeToTemporaryMap ExampleMap false/
No numbers at all for some reason
It just keeps the viewport from changing when switching maps?
Ah, okay. "Argument" refers to something within the same command, so by writing By setting this parameter to false, the map will appear at the viewport you specify in the next argument. that indicates that there will be more to come in the same command. But it sounds like you mean "the viewport you specify when using the viewport command" instead?
Ahh yes
I made it a bit confusing
I'll need to check about you having had to use false for pan, though, because that directly contradicts what I found about the pan argument being broken and performing the same regardless of what the value is.
pan defaults to true, and while panning by 0,0 doesn't really do much, it does reclamp the viewport to be in-bounds.
so setting pan to false will avoid reclamping the viewport.
but setting the viewport in the next command should trivially override it regardless of if it got clamped or not
It performs correctly if there few commands after the changetotemporarymap, but when i added multiple warp commands for example it would flicker to 0,0 and then jump the the viewport I gave
My understanding back when I edited the wiki is that the panScreen method that [pan] controls doesn't do anything.
It clamps the viewport
So it doesn't pan like it's supposed to but it doesn't have zero effect?
Well it's arguable what it was actually "supposed" to do or if it was simply an oddly named variable
Or perhaps it doesn't pan like its name suggests it will lol
But it does have an effect
To my experimenting it was worth putting false for sure
I just meant whether it "works" or not kind of depends on what you call the parameter here.
Sure, it doesn't pan, but if you rename it to "reclamp" then voila, it works
Yeah, that is what I meant as well
So it's not functionless, and setting it to false specifically doesn't do anything, it just doesn't do something else
Yes, I will need to update the description
Thanks for clarifying, I wasn’t totally sure what it was doing, just that it would be helpful to know in the case the command wasn’t working as expected
Any improvements?
Change the location to a temporary one loaded from the map file specified by {{t|map}}. The {{o|pan}} argument (<samp>true/false</samp>, default <samp>true</samp>) reclamps the viewport to be in-bounds when <samp>true</samp>. It does not pan the viewport.
While this may be a more subjective choice, there's little reason not to just rename the parameter to "clamp" or similar on the wiki page and remove mention of panning altogether.
The only place it's actually called "pan" is in the decompile, where its already actually got a different name "shouldPan"
I think a couple other parameter names across various wiki pages are also renamed from their decompile variables, but I don't remember any off the top of my head.
Tiled and ts-inator only work with tilesets from Maps/ right? Anything outside of it can only work if I upload it as a custon tileset to a mod folder?
I kinda wanna use springobjects.png on my map for example
springobjects is already in Maps, no?
You're in luck
Wait is it
To answer though, there is no good reason to Load a custom tilesheet to anywhere but Maps/ really, at least in 99% of cases. However, as of latest SMAPI, you can use images from other locations that are not inside Maps as tilesheets, but it takes a little more work, though I believe tilesheetinator can help you with that, too.
Emphasis on custom tilesheet. Springobjects is not a custom tilesheet, that's a vanilla asset, but if you drew your own, that'd be custom.
So don't go re-Loading vanilla assets into the Maps folder
(Some caveats apply for Mine tilesheets.)
I see
(also springobjects isn't coupled to what the item sprites are, mods that change the item appearances can do so by changing the object directly to use a different texture)
I'm fine with that I think
Yep with Tilesheetinator using vanilla spritesheets from outside the Maps/ folder is no more difficult than using ones from inside it. Nor is the way to do it any different - you just choose "Add Vanilla Stardew Tilesheet" and navigate to the one you want. It'll automatically add it with the correct image source.
i get it. because it's in a cave
Ok, have updated the changeToTemporaryMap description. Thanks y'all for the input!
Some cave eats apply 🙂↕️
Can i clone a game location is that legal
I understand that this commonly leads to "don't do X, do Y" issues however I feel like it would be irresponsible of me to answer without knowing the intentions
I made a minigame that uses player current location to do stuff
It work pretty good in single player but I'm too afraid to test what happens in co-op rn
So that I can intentionally make the minigame happen in the shadow realm
Where the other player can't mess with anything
see what i've done for a similar task is setup a playercontrolevent for a not-a-festival minigame
That could work
Though honestly I'm tempted to just ban u from starting the minigame with another player in same location
It's not exactly a cooperative activity
Can I ask a clarification question, do you not mean IMinigame
ah well mine is exactly a cooperative activity
Yeah i mean IMinigame
But I did shenanigans to make the normal world renderloop happen
Would describing the goal of the minigame be spoilers too far for you
i was gonna say you'd need shenanigans to make the normal world renderloop happen
It's on my github so it's not that secret but yes contest mod spoilers look at ur own discretion
But the point is that i do actually use objects n characters in the location
i skip iminigame entirely and just have the behaviour happen from some new temp location with a custom type and also a netobject that does whatever else it wants for some reason this was probably a long time ago
So it's more involved than just new GameLocation
I suppose I could have done events from the begining but IMinigame had better marketing
i'd send you my own code but you'd probably ask 'what is wrong with you' more than any actual technical questions
The thing wrong with blueberries is me forgetting the speedgro once again
I don't wanna spoil myself because I don't want to be accidentally influenced by it
Perfect crop otherwise 9.8/10
Is it more involved than a new Gamelocation?
If you keep a reference to it you can just copy all the objects over
make event actors
the important part is i need to manually add to Game1._locationLookup and then send a location request 🙂↕️ i do not know why
Wow that is very specific
Or just use a changeToTemporaryMap event and playercontrol. That does sound easiest
i'm sure i could've just used temp
eventually i'll probably rewrite this to be an unmaintainable dialogue tree with a dozen custom actions
The other reason why I'm kinda ehhh about just doing this is that I was thinking I potentially want a non minigame version for dum reasons...
But either way good suggestions thanks gang
New quote added by atravita as #7468 (https://discordapp.com/channels/137344473976799233/156109690059751424/1476423254750138440)
To be fair usually when I ask people this it's because I want to harvest whatever is wrong with them for my own modmaking too
New quote added by atravita as #7469 (https://discordapp.com/channels/137344473976799233/156109690059751424/1476424219079213169)
What's wrong with atra: atra seems to have a quote button
Button pulling the thing wrong with bluebs out for her own purposes
I was thinking more like a Jimmy Neutron situation
please put it back i need it to make mistakes
It's ok u get it back at the end of the episode
"We gave blueberry irresponsible use of Harmony syntax, let's give Button publicized access to the mod registry."
Uh
It's ok if you don't know what a Jimmy Neutron is atra
... you know what, it's a moldy cheeto
I assume the moldy cheetos know what they're doing
Blueberry is a moldy cheeto at heart
unfortunately i currently have great power and great responsibility
I already called dibs on harmony/reflectioning into the mod registry like 2 years ago
Welp, if i gave you a war game you probably wouldn't pick nukes 95% of the time so you're Gucci
i call dibs on itranslationhelper. this is my turf
Use it or lose it bucko /lh
Besides I'm not reflecting I'm publicizing. Legally distinct crimes.
ah yes there's the responsibility now. forgetting i have #bulletin-board emoji power and now there's a few hundred
reacts
https://github.com/SinZ163/StardewMods/blob/main/SinZationalSixSupport/ModEntry.cs
https://github.com/SinZ163/StardewMods/blob/main/SinZationalSeleneSupport/ModEntry.cs
https://github.com/SinZ163/StardewMods/blob/main/SinZationalSnakeSupport/ModEntry.cs
I have 3 whole mods that mess with the mod registry
New quote added by atravita as #7470 (https://discordapp.com/channels/137344473976799233/156109690059751424/1476425801204367380)
I don't even have bulletin board emoji power. 
you may be on the stardew valley discord staff, but i do not yet grant you the rank of admin
YouTube concert
I heavily enjoyed both of the concerts to date
Blueberry secretly several owner?
You can probably guess a stardew concert does not fit in the atra budget
the symphony of seasons in sydney was simply stellar
the melbourne one was packed, Gave me PAX vibes with how busy it was
helps that it was in the same venue as PAX
definitely the most people i've seen dressed as vegetables in one room
So how quickly can someone set up a mod to watch the stream from inside the Movie Theatre?
New quote added by atravita as #7471 (https://discordapp.com/channels/137344473976799233/156109690059751424/1476426579759333386)
You're up
Unfortunately our version of Monogame does not come with any video stuff so I don't even want to try rolling my own 😌
What's monogame
Must.. fight... the scope creep... while finishing up... my modfest mod...
You have four days to scope creep
Awful influences lol
Also u can procrastinate more cus they said the counting is 30 days after mar 26 
Ship a full browser with your mod and line up the window to be over the movie bit
We need an electron of stardew mods
They have 1 hour to scope creep wdym
It's....not the 22nd?
well aedenthorn's done half the work already of course
https://www.nexusmods.com/stardewvalley/mods/6524
This implementation isn't to my preference.
My shit aint done so I'll upload next week 
My stuff is not even close to done
But I've got other smaller things I can probably get out right quick if I want to
Y'all have all month!
Me every 30 seconds irl
"This implementation isnt to my preference" I say to my left knee
To the world in general
New quote added by spiderbuttons as #7472 (https://discordapp.com/channels/137344473976799233/156109690059751424/1476428939365716018)
You overestimate my ability to make a broadly appealable mod that can attract enough attention to earn enough downloads to overcome the early upload buff from others.
Look
For u button I will fish out my Nexus password
Download ur mod
And remember to hit the endorse button
i can't make a broadly appealing mod full stop, let alone on a tight schedule
I can't promise anything else
i think this mod fest is nice break from irl
It got me modding again!
Yay!
i didnt realize there were 2 pointing up reactions lol
Well, it has me writing the extremely easy json for all Bog's hard work, but y'know. We take what we can get lol
Honestly this is actually closer to me too (and you're not allowed to counter me with my books mod because I can counter you with Lacey my beloved)
-cough over a million udls cough-
I wouldn't call frameworks broadly appealing
I just want the participation badge, honestly.
(same)
also same
what r badges
Then explain why BETAS took like 5 months to get a single mod using it /lh
i just want to try joining for once 
well. i also want to get the last 6k udls to get that lifetime premium.... but who's counting.
Also I think most nexus users would rather not download a framework that isnt Content Patcher or SpaceCore if given the choice
Like if they could get their same mods without extra dependencies I think they would
Things you don't need but want just because they exist.
Because I'm so slow 
(Honestly I don't know either in Nexus context. I was just "oh there's badge? I'm in then.")
if there's one non-content mod nexus users absolutely love downloading, it's spacecore lol
What's the first mod that uses BETAS, Button?
People love to still download JA too even when they don't have mods in their logs even using it
...i totally didnt needlessly have spacecore as a dependency for years.... nope.
<- me irl
(in my defence i was originally going to do something with it)
I believe Aviroen used it for their Lance mod first, and I think shortly after that was Avi's halloween modjam entry, and then Aba's halloween modjam entry
I wonder how much higher than average new mods will be over the next 2 days lol.
Anyone know where that cute scope creep stick bug gif is. I want to show my husband lol. I'm trying to explain scope creep to him and the stick bug is funny
I was trying make a mod to change krobus into my partner's character, incl. dialogue, sprites and name below portrait, but when i tried to change his name like shown his sprite moved off center and got all weird
You've used Entries instead of Fields
That means every other value that can go inside Character data is being reset to default
So everything about Krobus is being reset
Do we? 😄 I was thinking we'd need to also get people to download the mod within the timeframe to have any chance of winning.... Maybe more like 3ish weeks
They did add an extra 30 days for judging (not for uploading) but yeah, that's still a calculus you'll have to make.
ohh???
Interesting!
...
I have a bad idea
But I don't want to take a break from working on my current npc mod!
I'm so interested in it right now
Replace the word "Entries" with "Fields"
(I am completely ignoring the big prizes.)
That's fair
Granted I'm completely ignoring the whole modfest
lol
But I'm double ignoring the big prizes
haha
i mean i could use a computer? but not more than anyone else i guess
nice simulations computer...
I'm sure plenty of great mods will be created but they will be created by people working normal hours
I actually have an idea for modfest though...

But it would be pretty time consuming which would mean ---> less time spent on my big npc mod
I wish there could have been more warning for something as huge as a modfest, because who knows when there'll be another one??
I get why we'll only get a month though
there are sometimes modfests that are not this "big"
like server events here, or other smaller servers, or probably there's general modfests out there somewhere though I don't know anything about them
For stardew specifically?
Hello!! Sorry to interrupt but Would anyone be able to look at my JSON here and tell me why it's not working? I'm trying to make it so after an event the game immediatly starts a conversation topic, then the next day, there's the welcome mail and another CT begins as well https://smapi.io/json/content-patcher/ea5bcd6787dc4c149ce03e7a4f2e5596
i know i came here a few days ago with a similar issue and I have no idea why it stopped working DX
what part isn't working?
the whole thing DX
yeah, this server does stardew modfests sometimes
well, the syntax is correct. is it loading into the game?
do you get errors in the log?
has the patch been applied?
yeah and no errors either
Those would be cool to compete in whenever they pop up too!
!patchsummary this will tell you if the patches got applied
Can you do these steps to provide more info?
- Load your save and view the content that should be patched.
- Type
patch summarydirectly into the SMAPI window and press enter. - Upload your SMAPI log to https://smapi.io/log (see instructions on that page).
- Post the log link here.
yup it says they were all applied
medium-sized nocturnal burrowing mammals. mainly found in europe. hope this helps
Log Info: SMAPI 4.5.1 with SDV 1.6.15 build 24356 on macOS Unix 15.7.3, with 20 C# mods and 2 content packs.
how do you get the rose role for the tenth anniversary? I enabled the channels...
say something nice in #archived-stardew-memories
update i made it workish by maintaining my own list of actors
reinventing the event wheel ig 
So it goes
i wanted to just start like, a blank event that doesnt have a real script
didnt work err handling too stronk
Update: I got the mail to work, and only one of the CTs worked and only for Harvey and no one else and it was a day late.... 🙁
Is it possible to even have CTs start immediately or do they HAVE to be the day after they're triggered from when the event happens?
You could make one start with a custom event command that does what you want and feed it in via C#
Or just manually set things like Game1.event and Game1.isEventUp
A CT is started as soon as it is added.
well i need it to do nothing
If you have dialogue patches that rely on the CT however with Content Patcher When conditions, those won't update immediately.
but even even a new Event() does plenty of things so i prob wont pursue that any further
Subclass event 😌
I have them triggered by an event or a piece of mail, would it still not work?
@vocal knoll You leveled up to Cowpoke. You can now speak in our voice channels and share images in all channels!
You have what triggered, the patches?
The soonest any content patcher patch can update is either on location change or on time change. By default, they are re-evaluated at day start.
Doesn't matter what they rely on
is there not a flag for the earthquake that allows access to the railroad? would it be a bad idea to edit Strings/Events.json to set a mail flag when that line pops up? i need to do a conditional map edit
The game uses the Days Played stat to control railroad access
Not what day it is
Days played
Subtle but important difference!
If days played >= 31, you have railroad
ohhhh
Sorry, just > 31
Can also just set your own mail flag
You could also do GameStateQuery LOCATION_ACCESSIBLE Railroad as a precondition
i want the map to be patched only beforehand, so i'd be setting it on a negative then i think. idk if that's better than checking range 0-31
oh wait you are doing CP conditions not event
i forget, are GSQs better for performance when checked like this?
yeah conditional map patch
this is honestly minor, it just adds a warp so my NPC doesn't choose to walk through the rock wall
I'm a bit too tired to be able to hold all the mental estimates for performance here so uh go with your gut
(Or go with what SinZ says)
"DaysPlayed |Contains={{Range: 0,31}}": false would test if railroad is still blocked I think
oh not just "When": { "DaysPlayed": "{{Range: 0, 31}}" }
I mostly just wasn't sure if the overhead of checking that in perpetuity(?) would be worse than a GSQ mail flag that is then checked instead
No because that'd stop working after 31 days
Or well
I guess thats the point
yes that's ideal
Sorry I got it backwards (see: mentions of tired)
no worries you've been in the mines all week i know
i'd recommend scheduling an npc to spawn in the railroad and path to town and see if they end up out of bounds each day
I think mine does test for railroad being open not closed
Why would the mine test that
note that no matter what, CP will do the check every day regardless, as its declarative
i have an NPC warp from their map to mountain because i can't path them through backwoods, which works great, but to go back home i want her to pretend to take the backwoods as well (until railroad opens up)
and arguably checking if a token resolving to a single number is in the literal set of 0-31 is probably cheaper and more predictable than the huge collection that mailflags would become
the Range is deterministic so would get immediately optimised out and be no different to writing "DaysPlayed": "0,1,2,3,4...30,31"
perf wise the difference is kinda negligible
as the act of cp having to actually do anything when it changes is orders of magnitude more expensive
okay great! thank you all
Fun fact: this month there are 1691 mods created or updated on Nexus, 227 on CurseForge, and one (1) on ModDrop.
Does that account for the fact that the one on ModDrop could genuinely just be malware atp
(In this case it's a known legitimate mod. Maybe next month will be more exciting though.)
exciting (/negative)
Okay! I got it! I'll have to revaluate my story structure just a bit. Thank you 🙂
Uploaded my first mod for ModFest!! Bit of a silly one but I'm happy I got something out! xD https://www.nexusmods.com/stardewvalley/mods/42860
Do I need to ask someone specific for mod author? The link just says 'ask here'.
I doth ask
clearly you need to message this @here person
@here person, i do humbly request the mod author role
oh. how do you make it one word long? :P
the real answer to DM @outer glacier !
(single backtick each side!)
ah, i see
do also be sure to add yourself to the community page to be eligible for the mod author role:
https://stardewvalleywiki.com/Modding:Community#Modders
(At a Junimo's direction via Bouncer, and not before asking 🙂↕️)
is it a known issue that having a full inventory in an event that uses addItem can cause command(s) to be skipped? i had to throw something in the trash, and it didn't ask the QQ that was the next event command
I have no idea actually, may be worth bringing up, especially since it may be affected by the removal of addItemToInventoryBool() in 1.6.16
will do! i might test some more first just in case i broke something, but this is actually a very simple event by my standards
also a general "did you know?": doAction doesn't work to make the farmer sit in chairs 😔
manually animating things my beloathed
there is a FreeInventorySlots <number> precondition you can use if you're not aware
that's good to know, but idk that i want to actually gate the event behind that? it's just having tea with an NPC and i thought it would be cute if you actually got a cup of tea. it's not like a plot relevant item or anything
and i don't want the bug reports of "i showed up for teatime, why won't this trigger" lol
"Dear [Farmer], please join me for a spot of tea tomorrow at noon. Make sure your User Interface has at least one available Item Slot with no item present in it. Xoxo, [NPC]"
'be sure to leave some room in your pocket for this open teacup (liquid included)'
I don't know why noon in particular. Seemed like a tea time.
"careful, it's still hot"
i'm sure high tea has all sorts of arcane rules idk about, and it's very reasonable one of them would be "this happens at noon"
it's important to my people that i mention teatime is at 4
but truly teatime is whenever you ask
teatime is when i have a sore throat
Blueberry, would you join me for a cup of tea right now as I open up Rider to try and do some late night modding
Oh my god, I've found another person with the same definition!
dh we are the same people lol
I am not one of you but I have definitely heard of power surges that happen there at 4 pm because of tea. Can't find a reliable source quickly, but I did learn about upticks during commercial breaks from Wikipedia. Genuinely this would be funny to incorporate into a mod somehow. https://en.wikipedia.org/wiki/TV_pickup
that’s actually hilarious omg
Yeah cuz everyone puts the kettle on at the same time ❤️
(I love tea, though I usually have a few cups in the am and then I have different herbal ones I rotate through in the evening)
(what if you add a pause command?)
(if it works, it's a quick fix and doesn't prevent the situation to be properly fixed if needed later)
When the football (read: soccer) world cup is on, and England is playing, the energy companies have to ensure that during half-time, there is sufficient energy available on the grid to account for the kettle usage. It's 100% a real thing and would be amazing to put into a mod somehow. A sudden power surge in Pelican Town owning to an upcoming festival where you then have to deliver batteries to the various businesses to keep them running.
The upside being that it's the one day Marnie can't stare at her microwave 
Omg yes! That would be very cool 😄 Something I could see Maru getting behind
see the only massive power spike in energy usage i can imagine is marnie staring at her microwave 
XD Sam and Shane abusing the microwave at Joja to reheat like, burritos and pizza at the same time.
Sam going too hard at band practice too.
Hi guys, what does the H mean in Kent's introduction event? It says
"63/y 2/t 600 1800/H"
I am a bit of a disaster with anything computer related so I really couldnt figure it out 😅
I believe it means "Is Host" like person is host player - it's a deprecated command - new one is "IsHost" 🙂
there's a complete list of preconditions and their uses here:
https://stardewvalleywiki.com/Modding:Event_data#Built-in_preconditions
the shorthand aliases are listed in a collapsed table marked 'deprecated'
Ahhh thank you!!
Oh dude this is so ironic I was JUST scouring the page but I guess youre better at this type of deal than me :") thank you so much !!
i'm the best at opening wiki pages 🙂↕️ a grandmaster
I've learned the trick is to just - never close the wiki pages -
fear not the man who has opened 1000 wiki pages. fear the man who has opened 1 page 1000 times:
https://stardewvalleywiki.com/Category:Modding
I have windows dedicated to the regular modding wiki, and a separate one for github related modding info XD they're also sorted that way in my bookmarks
plus, browser does that thing where I start typing and it's like "yo do you wanna go to where you already have this open instead of YET ANOTHER tab"
but yeah, sometimes I do make myself just, close them all - as a treat to my pc
I have like 9 tabs open at all times but I dont categorize them correctly haha
Some are regular stardew and some are about modding
It took me a little while before the organization happened - tis not my strong suit lol
hey guys. if i wish to change a simple dialogue in a mod for an event, then i only need to edit it in the i18n file right?
that's what ive done but was curious if i need to do anything else
just changed a few words
that's generally all it takes
(assuming it's for personal use etc)
yeah just for personal use
to be specific, its for the wizardry mod. rasmodia asks to pray at the altar to gain access to spells in an event, which feels uncomfortable because of my religious beliefs
though now altering it after seeing the event wont do anything :p
Fun fact...there is a lot of hydro storage for that
Britain Turned This Mountain Into An Incredible Hydroelectric Power Station To Support Tea Drinkers https://share.google/GOmAZBm8pYsivu2LG
A power station inside of the Ginger Island volcano with a quest to reach it and turn it on...?
Okay... hear me out:
A yearly sporting event:
Pelican Town vs Zuzu City in a new tradition sporting event (tennis or something) where one member of Pelican Town is selected randomly to compete.
Everyone goes to Gus's Saloon to watch the game - and reports come in that a power surge is predicted.
SOMEone needs to get to the Ginger Island volcano and turn on the hydro power station -> and you can't use the shortcut as it's hidden someone randomly within the volcano, so you've got to fight your way through and turn on the power BEFORE the sporting match begins at 8pm that night.
I'm nervous I havent tested this enough but about ready to upload for the mod contest 😅
yay!
How would I go about adding approximately 500 items without loosing my sanity? They'll be all the same size, same behaviour, just 500 different textures and names.
For now it's all on one sprite sheet, but I'm easily able to separate it all in individual sheets.
I'm not quite finished with the art part, but I'm wondering in advance about it 🤔
It would be easy to make a script that would write the json with each individual names, but surely there is a more concise way apart from writing 500 Changes objects
local tokens...
I'll look into that when I'll get to it then, thanks ^^
Why do you need 500 items?
there are about 500 animal crossing villagers lol
Python
🐍
Yeah that was my "I could make a script" thing, but I wanted to know if there wasn't a cleaner way to do so x)
Local tokens are good for templating, not sure how much time can be saved with it tho (definitely the cleanest way imo)
Forsy's right, I'm adding all Animal Crossing villagers as little plushies (cf. #making-mods-art message)
And before finishing this monstrosity, I wonder how I would go about actually adding these in-game
Unless you have an idea that won't be "adding all 500 textures as items"? ^^'
And just fun to use 
Idk i think python is correct 
If u had loose textures I would have suggested my smithy mod though
Tho that's assuming these r furniture
Furniture yes, and by "loose textures" you mean "each their own file"? Because aseprite is a godsend and I can cut my file into files
Yeah if u do it like
editing/input/animalcrossingplush/allyourlose.png
Smithy can do a import that automatically merge the sheet and put in the corresponding sprite index
The reason it gotta be loose png is just cus otherwise smithy has no idea what individual sprite are
I see, I'll check it out too then ^^
Testing my mod. Whenever I navigate to the social menu and select my NPC, it doesn't show me their gift tastes- instead, it spews out error code.
Additionally, whenever I give the NPC a gift, more of the error codes pop out. It also says "You have already given this NPC a gift this day" and puts an X in the second gift box? Idk seems weird.
Log Info: SMAPI 4.5.1 with SDV 1.6.15 build 24356 on Windows 11 (10.0.26200.0), with 12 C# mods and 1 content packs.
you may want to say what your mod is and does
It's an NPC mod, sorry. All it has currently is a basic NPC, 3 events, some basic dialogue.
And an object and some mail
It's something wrong with the gift taste data, but I have no idea what
Hey guys, quick question, I am trying to do a TemporaryAnimatedSprite for an event and the first index says "source of the asset", so I tried putting animations and TileSheets/animations and also 'TileSheets/animations' but neither of those work
Smapi throws the error "content file doesn't exist", but I don't know what that is supposed to mean in this context
Nvm, it seems like SMAPI is searching for an xnb file. I'll figure that out
I see- I didn't realize I had to fill in every field. I began to suspect that and am checking right now to see if that resolves it. Yup. I'm good. Thanks!
fill, maybe not, make them existing is a different thing
haha, yes, true! thank you again :3
Try TileSheets\\animations ?
That's what happens when you don't provide an asset that you tell it to load. If no mod provides an asset, it falls back to the game's loader, which will try and load it from xnb, and then throw an error when the file doesn't exist
Oh yeah, sorry, completely forgot to update. The solution waw actually TileSheets\animations. When I did the data path with /, the game thought I meant the end of the command here. I want to use the game's xnb file, I was just a bit confused what Smapi meant with "content file", but yeah, it was as simple as \ instead of / 😅
That would do it. Slash-delimited data is always tricky
Yeah, so far data paths always worked with the normal / version and I was always confused why the game keeps using \ instead, but yeah, here's the first case for me where it was actually necessary XD
Why does discord keep making my double \ into a single one? XD whatever, I meant two \ xD
is there dialogue during the wedding? i cant remember
from lewis yeah, not from your spouse or anything though
yes
and you can make basically whatever by editing the event/making a character specific event script
hmm true
aster in VMV has custom location+some dialogues from aster in addition of lewis speech
following up on this, I did this and the answer is that it is actually working as expected. Textures are being loaded by something else for reasons I'm unsure of, but it seems to be unrelated to the load cycle, which I guess is good enough for me.
unqualified furniture IDs bypass it but that is expected and not something I intend to change, given the ambiguity of unqualified ids
Making custom weddings is like other events except it’s kinda picky, I wasn’t able to use all my usual tokens but with trial and error, it’s a great bonus event.
I think editing the dialogue is a good enough custom patch for me
I don’t typically view the wedding as a super important thing
going trhough and making sure everything doesn't have capital letters 
What is needed to make an NPC marriageable? Is it just Marriage Schedule and Marriage Dialogue? and ideally a spouse room?
(Other than the CanBeRomanced flag)
and perhaps a spouse patio
ahh right the patio
Oh! That reminds me... can you make events happen at the patio? Or not really since its location varies based on the farm type?
not very well
since yeah the spouse patio changes location based on farm
darn. I guess theres a reason most farm events just sort of happen at the farmhouse door
I had an idea where the player builds a mini temple for the npc, since they're a sort of "forgotten god"
And then having the temple stay on the farm would be a cute touch
but maybe i can implement a similar idea some other way
ooo maybe I could make a gunther/marlon quest where once the player is married they can craft it as decor? Maybe even a blessing statue? hmmm
Hey modding stars, can anyone recommend a way to count all of one type of plant on a farm? I know the itemIDs, I'm just not sure how to identify which item ID is in a preserves jar, a keg and which one is a plant awaiting maturity.
if you mean crops, they're not objects, but are either in hoedirts (which themselves are terrain features), or in indoor pots (which are themselves objects)
So, i'd have to identify all instances where a particular itemID occurs in HoeDirt?
if you browse the source I think there's Utility.ForEachCrop
you can reference it and copy the code
Which source file?
Utility.cs
I'm currently looking at a game save file, trying to count in there
I suppose you're working on a save game parser? either way my answer stands
(also note that the ID of the crop instance refers to the seed item and not the harvest item)
Yes, save game parser.
How are seed and harvest items differentiated in the Object file? I see "Cherry Sapling" has a different ID from "Cherry". Is the second one not the harvest item?
those are fruit trees, which would also be terrain features
they're differentiated by their category+ whether they have data in Data/FruitTrees
Ok, thanks!
Has anyone ever made a custom pet that you can adopt from start? I figure you'd need to change/add the adoption event somehow but I'm unsure if there isn't something hardcoded there which might make it hard with just CP.
yes and no
ive done a pet u adopt after a series of events
so its possible to do what you want
with just CP
Can I just make it normally be adopted with Marnie?
yes
if you want to do everything the same, but change when the event happens, that's pretty easy
I haven't messed around with events much, my approach would be copying and editing the one in Data/Events/Farm, would I need to do anything else?
Anyone know why i'm getting this error? https://smapi.io/log/da8835292f2a46d59553d9ecba572417
I enter the movie theatre with my custom NPC, and that happens. I can't speak with them beforehand, but all the middle and after dialogue work. My custom invite dialogue also doesn't work
Movies json: https://smapi.io/json/none/517090ab11954a5995ea4b2df625b40d
Log Info: SMAPI 4.3.2 with SDV 1.6.15 build 24356 on Microsoft Windows NT 10.0.19045.0, with 44 C# mods and 23 content packs.
Suggested fixes: One or more mods are out of date, consider updating them, SMAPI is out of date, consider updating it
i dont know the exact process, but you shouldn't need to copy/paste, but just edit the event preconditions
Would it make sense to disable all mods but the one you're working on and see if the event goes through? It could be that it's clashing with another mod.
Another option is that something in your mod code is clashing with SMAPI. HTH.
Ok I'll look into it, thank you!
hmm could but im not sure what would be conflicting. ideally my mod would work with all of the mods i currently have installed
Just for the sake of testing, see if you get the same error if you disable all other mods. Clean run, see if it functions with bare game code.
Ideally != current state
fair enough
low iq question but with patcher am i able to bulk replace music IDs in one go or do i need to add the ID and file path for every single one (eg. spring1, spring2, spring3 all being replaced at once)
If it works, it's data, if it doesn't work, it's data.
hmm yeah its working now
although the invite dialogue isnt working
not sure why that it is
but no error yay
now to figure out which mod is messing things up
Hey guys, I have a question about modding. For context, i have little to no experience coding other than some basic Python from first year engineering but im a relitively quick learner. Basically what I was wondering is how difficult would it be for a beginner to make a custom event like the flower festival. I want to propose to my gf by making a little event for her to go through and im not sure what is realistic to consider for scope.
I was hoping for a 2 or so day event where a new mystery character (me) has her get the materials for a ring. She will give those to the guy, and the next day I want a short "cutscene" where the guy walks up, addresses her directly, and proposes.
If thats not crazy difficult, I might add more (please feel free to give suggestions)
I have no clue if this is do able for a beginner or if its crazy difficult. I also apologise if I cant respond quickly, im studying for midterms but I dont want to put this off. Feel free to pm me if you have anything that might be helpful, anything is appreciated :)
nvm i was literally using the wrong dialogue key
events are different to festivals
events = cutscenes
and then festivals = festivals
My bad lol, thank ya :)
it sounds like the materials gathering can be a quest
after which an event can be triggered where the guy proposes
i dont think it needs to be a festival
In the code festivals are just sparkling events though
But what you want on the whole isn't too complicated, but did you have like, a deadline
Not yet, we have talked about getting married when im out of school next year but ideally I want to have this done by the end of this summer
So nothing crazy pressing, I just dont want to push it off
Oh end of summer should be plenty of time, unless you think you'll need a lot to learn pixel art
That wont be a huge issue, I have friends in art programs who are more than willing to help
But if you already know how to draw pixel art or you wanna commission or you just don't care how it looks then even easier
That also helps 
OH I did want to throw in my own music too
Just as long as they can fit within the resolution constraints
Oooo okok
Are you familiar with json?
Not really...
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.
Is json java script?
https://stardew.button.gay/tutorials/json
People often recommend this tutorial for it
It is not JavaScript, just a simple way to store data in text mostly
This might be a dumb question, but like a string?
But it's what over half of all Stardew modding is based on and you can do everything you want with just json and art assets
Oh sweet
Json data can hold strings but is not itself a string
Closer to a dictionary of arbitrary properties
Ohhh ok
Tysm for the resources, ima take some time to figure out what you've given me but I will defo be back lol
Thanks again :)
Best way to learn is to just start messing with stuff
making some small example mods that just replace simple things to start off is good, like portrait replacements or dialogue replacements
You're always welcome to ask in here for help too
Hiii, I want to start making mods for stardew valley but I don't know where to start 😞I've never done anything that involves programming
!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 good news is for a lot of mods you dont even need to code!
Content Patcher is a godsend
Do you know what kind of mod you'd want to make? Buildings, NPCs, animals, crops?
Someone needs to recreate/mod in those procedural mines. THEY LOOK SO FIRE
The cliff edges with huge background views of the caves, the goblin villages, making a little base in the mines, it all looks so awesome. Theres so much potential.
It looks hard to do, but crazy cool.
https://www.youtube.com/watch?v=geiTg6Z7w3A
Here's a special video for the Stardew Valley 10 year anniversary.
I go over some old builds of the game w/ commentary, briefly go over the many updates, give a special message to the players, and reveal the 2 new marriage candidates in 1.7. Thanks for watching.
the box marked 'procedural generation' is often a pathway to anguish and woe, though
is that an old mod?
This is the tenth anniversary video
CA showed clips of old Stardew
oh i forgot
i wish i could watch it so bad but im in the middle of class
yeah i missed the live, let me watch it
I agree 100%, it looks absolutely amazing. Also the cliffs within the mine, goddamn I would LOVE to do that myself but jesus christ, I am by far not good enough for that yet XD Maybe someone can actually do that XD
it was ||clint and sandy|| as the two new marriage candidates
Woops
