#making-mods-general
1 messages Ā· Page 291 of 1
If you are bored enough you can try the whole decompile game and fix it up to be compilable thing
just run the main executable with mono
Can anyone explain this line to me?
Some of my users started experiencing a new bug and we are starting to suspect the SMAPI update causes it. This line seems the most thematically related to the bug
SMAPI has a pair of events Saving and Saved
They should mark when it is actual saving
I believe this lines refer to events like UpdateTicked
I am calling Game1.NewDay(0); within the OnDayStarted() event, for my multisleep feature (players can choose to sleep 5 days in a row, for example).
But if they ship something during the day, the very first day of their multisleep has a chance to glitch out strangely, and they get stuck in a half-asleep state where they can't use items
I wonder if u can bandaid it by doing the sleep at 610 
Are EditImage overlays heavier on performance than the default replace? How many would there have to be to see any realistic difference? 
Another question, was it the dynamic tokens that didn't refresh when changing options in GMCM?
I remember that some things could be changed in game and some wouldn't work before without restart/new day.
Or I might remember it completely wrong... I probably remember it wrong š
Is it possible to add custom monsters with CP?
You can spawn them with ftm or spacecore
But they would be reskinned versions of existing monsters
Would it be possible to reskin the monsters for certain areas but not others?
The way FTM works is that you define a monster texture to use
Ah ok, so they can look different in a particular map/area?
Yeah
Awesome!
Look different per spawn really
(The actually not hacked together rewrite is coming along.)
Using base map texture directory: /home/alan/Dev/Stardew/StardewValley/Content/Maps/
Handling tilemap: /home/alan/Dev/Stardew/Forest.tmx. Checking image paths...
Handling tileset "outdoors"
Target file: /home/alan/Dev/Stardew/spring_outdoorsTileSheet
New target file: /home/alan/Dev/Stardew/StardewValley/Content/Maps/spring_outdoorsTileSheet
Handling tileset "Paths"
Target file: /home/alan/Dev/Stardew/paths
New target file: /home/alan/Dev/Stardew/StardewValley/Content/Maps/paths
Handling tileset "untitled tile sheet2"
Target file: /home/alan/Dev/Stardew/spring_outdoorsTileSheet2
New target file: /home/alan/Dev/Stardew/StardewValley/Content/Maps/spring_outdoorsTileSheet2
Handling tileset "v16_Shadows"
Target file: /home/alan/Dev/Stardew/spring_Shadows
New target file: /home/alan/Dev/Stardew/StardewValley/Content/Maps/spring_Shadows
Handling tileset "v16_Waterfalls"
Target file: /home/alan/Dev/Stardew/spring_Waterfalls
New target file: /home/alan/Dev/Stardew/StardewValley/Content/Maps/spring_Waterfalls
SdvTiled 
Something I'd like to have is automation for the whole export tsx and embed into custom map dance
To get anim and map props
I don't think I've ever done that to know the process...
Oh so the steps is
- Open vanilla map
- Export tileset from the tileset panel, to get the tsx
- Add tsx to custom map
- (Optional) Embed it to tmx
This is important for waterfalls
Purely to avoid the (huge, I can imagine) hassle of recreating the animated tiles for the waterfalls, I assume?
Hello, can anyone take a look at my code for an event and help me figure out why I cannot get it working?
changeLocation command seems like it should be straightforward, but it's not working like I would expect.
can CP load Effects?
I need help with making hair for fashion sense again sjdgkdhg I'm trying to make hair for a character but everytime I load it in it looks like this. I can figure out how to position it on the head on my own but Im not sure why it's including every angle of the hair as one???
Here's the coding I have for the hair
what are you seeing?
your hair length is 96 pixels, is that the problem by any chance?
HeadPosition should be tweaked to get it on the head properly
fs_reload is very helpful during that process
6:10 would be wayyy too late lmao. My players actually complain that the sleeping animation takes too long and they'd like me to accelerate it somehow. Sleeping a full year takes several minutes š¦
I do not see anyone once the location changes to the hospital. It works fine if I just run the hospital scene (With minor changes due to starting position vs warp from another location.)
Lemme try changing it all to 96 pixels and see if that fixes it :o
Hibernation...
I guess you can try debouncing it with delayed action for like 10ms
Just so that whatever you are doing happens after all other day started events
instead of change location, can you see what change to temporary map does?
Thanks, I did try that too. the viewport is a bit off, but same issue.
Unfortunately no errors. That would help if there was anything.
yeah haha
Hmm, just looked again to be sure, there might be something here...
[11:55:55 ERROR game] Event '1772022' has command 'warp Pam 20 12 3' which couldn't be parsed: optional index 4 (bool continueImmediate) has value '3', which can't be parsed as a boolean.
oh that would cause it to skip that command yeah
Going to edit this some....
!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.
in the future you can use this
so, fun
suddenly somehow my Nexus account got closed
without me doing anything or receiving any emails about it
not banned
closed
weird that when it's renamed to "deleted".. it's very much not deleted
(to be fair, that's good in this context)
it would be very bad if that would remove all content tied to my account lol
very bad indeed
"Many apologies for this, we are investigating what has happened here and will let you know soon"
okay that was fast
Who did you make enemies with over at Nexus?
John Nexus himself
honestly my best guess is that it was an automated thing due to junk data in their database
when i started modding Stardew, i've somehow managed to make a second Nexus account
idk when i've made the first one
but i wanted my name back
so i've messaged support
they did some magic and "merged" the two accounts
Hi! Can someone help me pls? I'm pretty new to modding and started with some recipes, which worked really well! I then got the idea for a machine, and after a few days of trial and error and reading half of the internet up and down, the machine works! There is just one problem which is driving me nuts. The textures are not showing! Smapi tells me it can't find the files, but everything is there! English is not my native language, sorry in advance if i'm a bit slow with understanding.
!json post what you have!
JSON is a standard format for machine-readable text files that's used by Stardew Valley mods.
If you need help with a JSON file, you can upload it to smapi.io/json to see automatic validation and share the link here.
When making mods, it's recommended to edit your files in a text editor with JSON support, such as VS Code, Notepad++, or Sublime Text. These programs will check for syntax errors.
Slap PerScreen everywhere 
I believe menus (assigned to activeClickableMenu) is already instanced, what is incompatible in your mod?
https://smapi.io/json/content-patcher/340512e27ed142059db247a5e165e916 this is machines.json
https://smapi.io/json/content-patcher/a7ed3770746b42e6accb2a8cd3b01dca this is bigcraftable, anything else I should post?
the code that loads the textures
sorry i don't know what you mean, maybe thats what im missing?
Only Player2 can open the UI, and it opens for both players when they do
According to a bug report I got
if your texture is named "assets/bigcraftables.png", you first need to use a Load action to load it into, for example, "MyModId/BigCraftables"
then in your big craftables data you'd set your Texture as "MyModId/BigCraftables"
Something like this?:
"LogName": "New Machine Sprite",
"Action":"Load",
"Target":"Mods/{{ModId}}/BigCraftable",
"FromFile":"{{ModId}}/assets/eismaschine.png"
},
you dont need the ModId part in FromFile
it's already relative to your mod's folder
no
[game] Failed loading texture Ninels.Gurkensalat/eismaschine for item (BC)Ninels.Gurkensalat_Eismaschine: asset doesn't exist
š¦
Any ideas if or how I could make it work for both Portraits and Characters in one line where the only difference is that {{OverlayStyle}} folder is present only for Portraits? 
"FromFile": "assets/{{TargetPathOnly}}/{{Overlay Style}}/Clothes/Bottom_Hat.png"
i don't know if i understand target in the right way
Hhhhhhhow does a custom farm specify what fish it has, y'all?
Cuz I'm looking at ForeverFalls and I don't see it making any changes to LocationData or specifying what fish it has anywhere
Not in FTM or in its CP component
My dumb thought would be making a dynamic token with querying whether {{TargetPathOnly}}=Portraits for which the value would be /{{Overlay Style}}... but I have no idea if it's how Target tokens can work š
Is that cus of split screen key bindings?
For farms usually they use the location fish thing
Does anyone know what this means? 
!json that json is invalid
JSON is a standard format for machine-readable text files that's used by Stardew Valley mods.
If you need help with a JSON file, you can upload it to smapi.io/json to see automatic validation and share the link here.
When making mods, it's recommended to edit your files in a text editor with JSON support, such as VS Code, Notepad++, or Sublime Text. These programs will check for syntax errors.
Any idea why it's flagging the end as bad? ;-;
I tried just deleting it but then it says the line 62 is a problem and so forth
Hard to say with a screenshot like this (please send link instead) but you probably have mismatched { }
Using something like vscode helps a lot cus it has built-in json validation
post what you have again pls
I truly should switch to using VSC.... but then I would have to configure it and get used to a new UI and ... eugh
You were correct! I just needed to add another } š
I mean if your workflow works for you then don't change it
I been thinking "maybe i should use something not built on javascript" for over 7 years
@brittle pasture okay now the machine has a sprite, it's only the craft menu where it shows the red error icon
that means the recipe is wrong probably
repeating myself here, but post your recipe data?
ooh no... I've started to work on/update "Everyone is Clint" again...
the problem is that your output contains (BC) but you also set "is craftable" to true
so the game will try to make (BC)(BC){{ModId}}_Eismachine
remove (BC) or just flip that field to false
I feel like 96 pixels is far too tall. The farmer is about 32 pixels tall, for context. And the hair looks close to being aligned to the head here? Just needs a slight x-axis offset.
@brittle pasture It works!!!!! Tyvm!!!!
FS allows for higher res accessories
you need to scale it down appropriately
though looking at that image it doesn't seem like you need 96 pixels
Is there an equivalent to this that we can use in CP's query?
{{ TargetWithoutPath == 'Portraits' ? 'Yes' : '' }}
Im not sure what you are trying to do
Something dumb... basically use this in a FromFile so it modifies the path if the asset currently edited is a portrait and not characters
I mean you could use a dynamic token for it no? unless you mean for multiple different characters then perhaps not
Unless im misunderstanding what you're trying to do (entirely possible)
(Probable even)
"Action": "EditImage",
"Target": "Portraits/Emily, Characters/Emily",
"FromFile": "assets/{{TargetPathOnly}}{{Query: {{TargetPathOnly}} = 'Portraits' ? '/Version' : ''}}/{{TargetWithoutPath}}.png"
}```
Something like this, for when portraits have an extra variant
Why not just use 2 Editimage 
I could.. but that would add over 100 more lines of basically the same edits just for characters 
Local token it
Put the 2 Editimage in an include and just pass character internal name
Uhh... not sure if I know what you mean, how would I do that? 
For more context, I have 11 EditImages, where the only thing stopping me from slapping Characters into the target so I won't double basically the same code, is that Portraits have an extra tokenized folder in the path
Didn't know it was a thing, give me a sec
Y'all. Before I do something crazy, EscasAPI allows tile-based fish catching for custom maps. I need to know the Esca data for an entire map, if it exists. The only method provided by the API requires a tile to work correctly. I cannot be about to iterate over every tile of a map to check for Esca data. That simply cannot be what I have to do
It lets me reuse this include 3 times for different shops https://github.com/Mushymato/TrinketTinker/blob/main/[CP] Pack Possum and Critter Cages/data/opossum-hire.json
What's esca's API?
EMP?
Yes
If it's like TileData then yes you do in fact have to do this
There are custom farm maps that do not properly display what fish are catchable, because they're handled exclusively by Esca's
Is there ANY way I can make that performant
Well of course
I implemented this so that it only needs to happen when the map asset is invalidated
So I just have to
(am i stupid (likely) or is different fishing zones already a vanilla thing)
Ugh I did NOT want my mod to be part of the "Make my save take an extre minute to load" gang, but I'm gonna end up this way
And the getting of prop happens when player enter map
It's tile based, and yes different zones is vanilla behavior
I think esca made this before the vanilla thing
Ooh, yeah, that's great, thanks!
EMP predates data locations
ah makes sense
it's unfortunate we would have to do all this extra work on game launch but alas
Tbh I wouldn't worry too much about custom farm fishing as long as it doesn't throw errors, since I doubt there's anything unique there anyway (it might be just me tho) š
There is, my current save has a custom farm with both ocean and river fish
And only the river fish are showing
do they accept PRs to switch to vanilla fishing zones
I mean as in, there's nothing that can't be caught elsewhere (I have no idea how many people actually fish on the farm... I never did)
I'm stubborn
I think u can just add a toggle for this, if the performance is too terrible
It'll only ever do it if Escas is present, and I can add a config to disable the compat
In my case it's cheap because i only ever scan the current map a player is in
If you want to scan everything then yea that's expensive
so if you add torch_item context tag to an item it works?
there's some weirdness I think but I think it works
Extra Torch Config
I've been trying to add it with C# for awhile now
well I put the context tag and now my item lights up but what If I want to take it a step further and change the color?
Iām only going to scan the farm itself once :3
Then it's not very expensive at all 
I made an item that attracts wisps
Yea especially with caching
not sure what I could do with it
For a while mmap was doing this with no caching and i never got any complaints about it
You need Item Extensions then
hm.
vanilla torches can only be yellow (except for the unused spirit torch which is hardcoded to be blue)
IE allows objects to be colored light sources
Does any1 know where the Mystery Box item drops are located in the game files?
hardcoded in C#
So it's inaccessible through the game files?
Or is there a way to mod the mystery boxes
Alright thanks for the tip, what about the items that you get from the box, is it the same case or are they located in a specific file?
custom geodes are vanilla now
how can we post video clips on discord
If they are below 50mb u can just post
For example if I wanted to completely delete the Jojacola (aka diabetes) , is the item accessible through the game files or nah
You can modify the joja cola item to something else
Rename it joja cola zero and change the sprite etc
straight up deleting any vanilla items is definitely ill advised
i think samboss wants to remove joja cola from the list of drops from the mystery box?
in which case i think those lists are hardcoded, but i'd have to go digging
Ye, and if possible replace other obtainable items with other more useful stuff, like replacing totems with something like gold bars & replace DiabetesCola with Bread
(random but you get my point)
do you feel like learning harmony transpilers today 
i can't speak for everyone, but i would appreciate it if you didn't call sugary foods or drinks "diabetes"
Got it, I apologize
Sure
!harmony
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
The most important part is naming your mystery box dehardcoding framework 
Extra Mystery Box Configs
anyone know if HasModData is an actual content patcher conditions?
the wiki page is lagging
it is a vanilla GSQ but only for farmers 
I think Extra (thing) Config is still a more informative name than Better (thing)
It implies more knobs are exposed for (thing) 
in which files are totems located again?
if you mean their object data, it's Data/Objects
if you mean their teleport functionality, that's in code
SpaceCore allows making custom warp totems
I unpacked the XNB file and found like tens of Stone items, didn't find a single totem, either I missed them all or they don't exist, I'm gonna look again

Nvm found em
under the unused meat sprites
So hypothetically, if I replace the entirety of the item data code with another item's , I'd get that item instead?
I'll put the Mystery Box's object data and see what happens, imagine getting a mystery box out of a mystery box, that'd be hilarious
"Edibility -300"
So you can straight up make items edible by editing that value?
@brittle pasture Currently fixing modded farms (which I thought would be way faster) and then Iām gonna work on the randomitemid thingy :3
no, all you'd be doing is changing its display name and texture
not its behavior in game code
You will get item 688 and then when you use it you will warp to farm
The functionality would still be the same?
yea
Ah
I see
To actually make mystery box drop do anything different you will need to do C#
just to clarify once and for all - there is no workaround to using C# if you want to change mystery boxes drops
Custom farms work!
nice!
Now I'm gonna work on the lag when loading a crap ton of fish to the HUD
does anyone know the location name for blue moon vineyard in SVE? apparently my warp there doesnāt work
i thought it was Custom_BlueMoonVineyard
I thought it was that too
Try patch export Data/Locations
SVE still uses CustomLocations but I believe smapi just edits those in for you now
This is what FTM is calling for the Vineyard: "Custom_BlueMoonVineyard"
hmm yeah the export says it is that
What does your warp say
itās a map property for a custom location and itās 32 0 Custom_BlueMoonVineyard 55 63
i shouldnāt have to patch it in right? my warps to the beach work
i also swear i tested this before release but i just tested it now and can confirm it doesnāt work
preface it with mod id or no
Use your actual tmx asset name
There's accessable layer that shows where warps are
hmm couldnāt load asset but like i can see it and visit it in game
oh yeah i used that on my desktop (testing on my laptop rn and donāt have that installed)
sigh why did i choose to make this SVE compatible
okay i donāt think iām patch exporting correctly, i get the same error ācouldnāt load asset using a likely typeā for every map i try to load
I'm having way too much fun with LocalTokens 
I have a .json file but for some reason it's not getting converted to an xnb file on the GitHub tool site
Why do you want to convert it back into xnb..?
!xnb
XNB mods often break the game and are not recommended. See:
- using XNB mods for more info and a list of Content Patcher alternatives;
- reset your content files to fix problems caused by XNB mods.
For mod creators, see editing XNB files for help unpacking & editing them (including for use with Content Patcher).
Zola combines the above two 
I finished modifying the file so I'm converting it back to xnb so that I can replace it with an in game file
The only valid reason to make an xnb mod is perhaps to mod non-pc sdv where it's possible
Otherwise, you should be making it a content patcher mod
That's what I'm doing
Yeah but android smapi supports content patcher
Oh yeah, I meant like switch. Not sure if any other platform supports xnb modding. Maybe xbox?
While it is still not that stable i would say it's better than xnb packing
I don't think xbox allows modifying game files in any way 
Oh nevermind then. I've never actually looked into it, I kind of just assumed xbox would be more open than say ios or playstation.
I'm not exactly sure either, just an educated guess š
outside of nintendo (which has relatively weak security apparently) is there a console that was jailbroken since the days of the ps3/vita
I haven't paid attention to the scene since those days
Other than switch, the vita is my last modded console
As of December 2024, Stardew Valley has sold over 41 million copies across all platforms, with over 26 million copies sold on PC, and 7.9 million copies on the Nintendo Switch.
I don't think it's very attractive to jail break the other consoles when their games eventually get pc ports
Except bloodborne ofc
PC is still the beegest
iphones still get jailbroken, I wonder if it'd be possible to do xnb modding on ios
Let's not go there
for our sanity
hurry, before the junimos arrive /s
I get the sense iphone modding atttempts like that would be pretty niche because it really decreases QoL of using the phone
like at that point just get an Android (I say, as a lifelong apple user)
I just think it'd be neat for an expansion to be created that uses vanilla data models and features, so that it's theoretically possible for the entire expansion to work without any framework
Like, an expansion that could run without SMAPI even
Matt why do you say such terrifying things
I meant it more in a way "The hordes of ios users will flood demanding mods" 
It's the sort of thing where I feel like it's a fun mental exercise but no fun to actually do
Yeah, just a thing to do to show that it can be done
Like if I were making an expansion I would have more fun just doing whatever I want with lots of frameworks
hmm what's the biggest content mod that's pure CP rn
With all the dehardcoding of 1.6 it's more possible than ever
maybe this explains why my expansion ideas never got off the ground lol
I just do whatever is most fun to me
every expansion has a bespoke C# component nowadays
Honestly I think that's what matters
For this to work, you couldn't use CP tokens either though
This is why I have like 50 object sprites and like 0.5 tree sprites
ah that's even more limiting then
like in theory just Loads
no tokens, no whens, no configs
Even though it's bad practice
Yeah, it's a challenge that really has no point other than, "look at what 1.6 gave up"
among my own mods that leaves only.... White Coconuts
An important mod!
True... vanilla edits are the biggest obstacle
Well hm
Honestly the c# part is so fun that's why everything i write ends up with a c# part and why if I ever make the expansion idea I have it'll have bespoke c#
It'd have to be xnb-fied but you could get all of vanilla tweeks in there
Just sprite replacements after all
The temptation to C# is always there...lurking...
I occasionally do things in C# I don't striiiiictly speaking have to, tbh
Until the cp foreach is implemented, we c# š
When i need a foreach i just get the
out and make it write CP for me
I once did that in Matlab š
MathPerson...
It's disappointing how C# isn't some animal
Can't imagine things like a snek writing me mod with its tail
Therefore we should switch to rust
O'reilly publishing books gave it a bird
I dont actually know what kind of bird it is
C# 3 was a fish
Thus i vote bird
Hello 
This might be a dumb question...
I made a content pack adding more details to the farm buildings, and now I've been asked to do the SVE buildings as well. I checked the SVE mod page's permissions tab, but I'm very new to this and a bit paranoid (lol), does this mean that I can use/edit the files with proper credit?
Got it, thanks! :D
That said it is possible to do this without including the sve assets
You can go for edit image patch overlay
When did SVE go open source? It's been a while, but I'm curious at what point 
How about a mod that starts by removing 100% of vanilla assets, and only then builds on top of it? That would be interesting.
Instead of an expansion it would be a contraction
Are you suggesting to use sdv as a game engine lol
It's been on github for a while
Stardew Valley Contracted
Is it compatible with sve?
It's the polar opposite, so they just cancel each other out, and you end up with vanilla
Ah crap, I meant open perms š
(SVE has always been open perm but I've never been very vocal about it)
They've been summoned
This is only for the C# portion though
Wait really?
I don't know why I thought otherwise
I think this means the assets r all rights reserved but with whatever legal rights nexus perms grants you 
big craftables are 16x32 right
has anyone used Sprites in Detail to make slightly bigger sprites than vanilla? or do I have to use the 64x128 for it to work and not look bad
If u only need a couple more pixels you could maybe just adjust it with vanilla
i may mess with that first then, but i think i may need more wiggle room for some sprites
trying to make a CP mlp mod šāāļø
Ah what you want is probably poohcore
The issue with bigger npcs is actually the pathing (they get stuck on 1 tile wide stuff
That framework mod fixes it
Yo
ooo bet bet thank you!!
If I wanted to change how in-game items look, in which file will I find the items' designs?
depends on the item type. regular items are in maps/springobjects
Various types of items are spread across different spritesheets, but the regular objects are in maps
I'd recommend checking maybe the Vanilla Tweaks mods which changes items appearance so you can see how it's done correctly
LocalTokens can't be used in LogName? 
They can i think
Ah yeah, I looked at the wrong thing
hello! i have dificcult to make new npcs, somebody helpme?
!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.
-
Aviroen has put together a template that will allow you to easily create a romanceable NPC.
-
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!
Oh god
Absolutely
@brittle pasture Okay I pushed the update, now to work on that RandomItemID
Pillow when are you making the XNB only expansion mod that works on the switch
sooooo i had my nexus update key wrong in my initial upload. how fucked am i
Update it fast and tbh you probably wonāt see much impact?
a bit
How long has it been since the initial upload?
people that already downloaded it will miss the update warning but it happens
so i did this actually for fun
but i cant stand playing sdv on the switch so it was a meaningless venture to me
oh no
not an expansion though dear god no
just a portrait mod and multiple graphic changes
so it doesnt burn my retinas on my switch
it was on sunday
so 4 days
i'm sitting at like 200-300 downloads rn
well thats what the checklist is for 
there is nothing u can do besides update and fix it
I didn't look at the wrong thing after all 
https://smapi.io/log/ee0c18a85c6f45789349013d57afcaf2
Log Info: SMAPI 4.2.2-unofficial-sinz-2+3 with SDV 1.6.15 build 24356 on Microsoft Windows 10 Home, with 24 C# mods and 3 content packs.
Hey guys another quick question about dialogue modding
if i have 2 different lines of dialogue written under the same day, so for example "spring_Tue" will it break or only ever use the first/last one written
yeah you live and you learn i guess :P
had the right number but not the "Nexus": key
Build-A-Witch.json
does logname support other kinds of tokens? i may have just assumed they did
if you have "spring_Tue" as a key twice, that's invalid JSON
keys have to be unique
i just remembered I did work on a thing that externally applied editmaps
which.. was probably for doing cp2xnb
cheers
pillow xnb.patcher 
It's the perfect representation of what's in there 
is the . meant to be a space
tbh the hardest part of doing it is "do I treat whens as always true? always false? sometimes true? when sometiems true?"
Some probably work without it though. I think technically East Scarp will work more-or-less without it's smapi component. And I dont' think VMV has one at all?
Vmv has one
I blame atra for this \lh
Lemur do u know what ES uses C# for? Besides the unlimited special orders
anyone know where this door is currently used in the 1.6 landscape tilesheet? Was thinking of reusing it but not sure where it's used currently.
yeah some stuff isn't possible in CP yet (altought it may change) and the shared chest thing was amazing and really makes things so much smoother
That's Leo's house
(leo house)
ah makes sense
looks at your job description
Um... atra can probably answer this better but IIRC, the pelicans and the beach sounds when you're on the lower part of the map, the unchoppable fruit trees.
a lot of the stuff it did is no longer relevant too, like the shimmer on the tidepools.
yes thank you atra! Those things.
Contribute to atravita-mods/StardewMods development by creating an account on GitHub.
Well actually i think wren wip maps mod has the sounds part
Tbh I don't mind expansions having their own c#
so lots of nice cosmetic stuff, but nothing that the mod needs to work as inteded. But I think you'd get angry Lewis for the emojis otherwise.
with 1.6.16 unlimited special orders half the expansions will be able to yeet some C# into the void š
Atra will cannibalize the special order emoji into smd right
Yeah, it was originally ripped from SOTE to start with
SOTE?
smd?
Another mod I made that I'm not updating to 1.6
Err
Chue explain I'm on my phone at work
Surface Mounted Device a new mod from famous retired modder atravita
Not famous
Infamous
Lemurkat, I have a teensy mod that dehardcodes some things I've been working on and no it doesn't count as me coming out of retirement
suuure
ah nice. And we know atra, you're retired, but still here, so that's all that matters.
no obligations
still alive
Heyyyyyyyy
Oh yeah i did check that the mmap critter spawn can do a limited form of alt texture
But it'll be pain to do this for some critters with hardcoded frames (froge...)
DSV uses it for Marigold!
ah, time to see how far I traveled through time
oh since you already have a dedicated dehardcode mod, do you want to do the leo memory dehardcoding instead š
Why don't u put that in SinZEventTester
if I was doing it, it would be in SinZational Scene Setup which was its original name before atra forgot what it was called and rebranded it SinZEventTester instead https://github.com/SinZ163/StardewMods/blob/main/SinZational Scene Setup/ModEntry.cs
PRs accepted?
I wanna work on mods but my brain is tired
This is cursed
You can take some of my spare energy
How do I undo it, I tried adding back the original files but the visual bug is still there š¬
xnb not even once
What
so, it's not really a visual bug. resourceclumps store the sprite index inside them, and use that to display themselves. when you save your game, they get saved with that sprite index and then loaded with it again. even if you change the spawning rules, it won't modify the clumps that have already spawned.
Did you change Data/Objects or Maps/springobjects
If it's the latter then reverting your xnb file to original should work, worst case just reinstall game
if you want to "fix" the glitched clumps, you can do one of three things:
- use c# to find them and change the index
- find a way to erase them completely
- accept that this save is glitched and ignore it
assuming you aren't doing xnb fuckery
Seriously tho please use content patcher
if you're messing with xnbs, I have no advice other than don't do that
It is in fact xnb fuckery
!xnbzola
XNB mods often break the game and are not recommended. See Modding:Using XNB mods for more info (and a list of Content Patcher alternatives), and you can reset your content files to fix problems caused by XNB mods.
For mod creators, see Modding:Editing XNB mods for help unpacking & editing them (including for use with Content Patcher).
say which smapi event is equiv to GameLocation.drawAboveAlwaysFrontLayer
I think RenderedWorld?
when I'm trying to figure layering out I usually use renderstep so I can just bump it up or down and hot reload
then convert it to a named event if there is an equivalent
i dont have it anyways
you don't have hot reload?
im also a dummy who forgets patch reload exists half the time
yea vscode
i know ichor has managed to get dotnet watch to work
and it should work on rider
so this is entirely a me-problem
I've been wanting to try out zed for java but trying to compile it on windows is horrible
closest is RenderedStep AlwaysFront I think
that is just before, and rendered world is just after
based on the usage of modhooks in the decompile
@ivory plume I was wondering if you would be willing to expand the API of Central Station to include a way to provide information about the stops that are currently registered with it. I'm creating a navigation system for Stardew, akin to any navigation app on a phone or GPS device.
Below is the data that I would like to get. I also allow this data to be populated using Content Patcher, but I thought I'd ask you to expand your API so I can handle gathering your data automatically if Central Station is present in a player's mod load. Let me know if you have questions/concerns.
Edit: I'm gonna try some of the suggestions offered in subsequent discussion below for now - I didn't know I could load your content myself without going through a few reflection hoops
public string? Id;
public string? Location1Name;
public string? Location2Name;
public int Location1StartTileX = -1;
public int Location1StartTileY = -1;
public int Location2EndTileX = -1;
public int Location2EndTileY = -1;
public string ToLocation2TravelType = "Unknown";//e.g. bus, boat, etc. presented to the player as "take {{traveltype}} to {{location}}
public bool TouchActivated = false;
public int OpenTime = 600;//these next few are so the navigator can inform the player of missing requirements (too early, not friends with NPC, etc.)
public int CloseTime = 2600;
public string? NPCName;
public int MinimumFriendship = 0;
public int GoldPrice = 0;
public int SignOffsetX = 0;//pixels offset of a text box that appears when the player is nearby
public int SignOffsetY = 0;//internally only used on Parrot Express to display the sign higher up (a Y offset of -128 is used there)
public string? DisplayedDestinationName;//e.g. "Quarry" instead of "Mountain" for the minecart
Done, back to normal
(I'm modding using only MT manager and root access on Android btw so it's really obvious why I'm struggling to achieve what I'm trying to do)
is Central Station not handled through data assets? @half tangle
documentation says there's "Mods/Pathoschild.CentralStation/Stops"
It is but you would have to reflect into the data model type
no, you can just use dynamic
oh? this is sorcery I know not of
dynamic will still break if the property names change but so would regular code
what I would do is just use reflection to build a data getter method at runtime but I realize that may be too much effort for some people
I wonder if Pathos would ever be okay with an attribute to exclude a method from smapi missing method checks 
Alright, well if I can learn how to use dynamic I'm very much interested. Of course if Pathos is fine expanding the API, that makes it all very simple on my end
wait if dynamic is a thing what is pintail for 
type safety
I think that's enough modding for today
you can use dynamic with APIs though if you want, you'd just use the non-generic overload and cast to dynamic
Whatās going on with the windows? I added them to the map once, but then I removed them. Theyāre no longer on the map, but they still appear in the game. Can someone help me, please?
Do you have any daytiles or NightTiles in your map properties?
I don't have any custom properties
are those furniture windows
they were but then I took them, but they still appear in game
okay, so if I'm understanding correctly, I make a field like
private dynamic CentralStationData;
and then somewhere in my code do
CentralStationData = Game1.content.Load<Dictionary<string, DataModel>>($"Mods/Pathoschild.CentralStation/Stops");
for some appropriate DataModel based on Central Station's data?
(I'm very much out of my wheelhouse here)
Ok I kind of solve it
you shouldn't use Game1.content directly for modded assets but instead Helper.GameContent. Other than that, it should work.
though actually if you load it as your own custom model type, you won't even need to use dynamic
but this is someone else's data 
the cache can safely handle the same asset being deserialized into multiple different types
was the limitation only when editing
the only issue you might run into is c# mods expecting a specific type in their data edits
CP mods won't have that problem though I don't think, because of how CP handles edits
im workshopping on mac as a beginner but i got stuck on the whole opening smapi with terminal part
I... huh, alright, well I'll work on learning and trying that in a bit but thank you very much for letting me know about this much already. I had hoped there was some way to just grab other mods' data from Content but that seemed involved while this seems doable
in theory you should be able to just copy the model code directly out of train station and into your own mod and just load it as that
did mac yell at you for virus?
lolol no but the steps are telling me to do them in a "maybe" situation so thats where i wasnt sure what to do
i was gonna skip past it bc i hadnt come across that issue but then i hit a wall
what is the details of your wall
Hmmm
im not a mac user but someone here might be 
my wall?
yes
sorry im not good with a lot of terms can you tell me what that is? TT
ah
where to progress from there, its asking me to add to the terminal but i cant find a lot of the stuff they're asking for, even with the images
Literally hit a wall
Are you trying to set yourself for making mods, or just trying to play modded?
making mods
Are there any maps with a Buildings tile with the Passable property on it so I can make sure I'm setting it up correctly? Not very well-versed with this stuff 
You can put any value for it that you want. As soon as the passable property is present it will apply.
Usually it's set as a tile property (on the tileset itself) so it affects all the instances of that tile on the map but you can put it as a tile object (the square on the pink object layer that you name "TileData") to just affect one instance instead, so I've been told.
I don't know of any maps to give as examples or I'd do that rather than just explaining. I can point you to examples of using it to make back layer tiles impassable if that's helpful.
The only reason I can think of to need to use it on buildings is if there's a need for the tile to be on buildings rather than another layer. Otherwise I'd just put the tile on a lower layer.
i have an example of it i can send but itās a map patch not in the tmx
Do you mean a CP patch?
yeah sorry
Because we use map patch to refer to tmxes too lol
Well, the use case I'm dealing with is that I'm adding a new bathhouse that NPCs will go to, but I need to block off the pool entrances so they don't walk onto the water 
I have no idea if the invisible building tiles I'm placing in the way are working but it sounds like they should be simple enough to set up that I'm... probably not goofing something up? 
But if you made the building tile passable that would not block them
Use the NPCPassable tile
I thought Passable would work only for the player because NPCPassable is to make it passable for NPCs
Someone else can look it up while I go to the gym 
i mean if u just made them building tiles, they would be not passable for everyone
is that not what you wanted?
as a CP MapTiles (adjust coordinates to taste):
{
"Position": {"X": 0, "Y": 0},
"Layer": "Back",
"SetProperties": {"NoPath": "T"}
},```
(NoPath: T on the Back layer)
vanilla bathhouse my behated
Players need to be able to pass to enter the water, only needs to block NPCs since they'll become Jesus
i think u need NPCBarrier then
altho vanilla just makes u use the 2 entrances anyways 
heres example from Barn.tmx
NPCBarrier appears to be specified to only work on maps like the farm, but it sounds like there are multiple ways to get this done 
ah hm this apparently only works on farm, ichor is right u need NoPath 
important things for the object kind of tiledata is
- name it
TileData - turn on snap to grid since u must do it at 16x16
I think I know how to do it now though, thanks y'all 
@calm nebula: look into making content pack deploy a symlink (52d ago)
can a player marriage only be ended by the player or could i make it so that the npc asks for a divorce
No u
Remind me in 64 days to see if content pack deploy can be symlink
For you? Of course, atravita (#6638255) (64d | <t:1750470729>)
anything is possible if you deploy C# correctly at it. but this is not possible with just data edits
i am willing to learn it or try
not tonight, but in general
i just think it'd be really funny for my mod
i can just take away like ten hearts or something
you can be married to an npc thats currently at 0 hearts
vanilla has special dialogue for unhappy marriages
oh yeah i know it won't actually end the marriage
i just figured i could do that even if i can't have the npc end the marriage
I'm not opposed to adding an API endpoint for it, but reading the data asset directly should be fine too (as long as you read it after Central Station has loaded it, to avoid loading it with the wrong type).
One complication though: Central Station stops can be pretty dynamic (e.g. different stops available depending on where you're buying the ticket), and that's before you account for content packs editing the data with arbitrary When conditions or tokenized values. There isn't really a single list of destinations, it's generated live when you check the ticket machine.
I see. I'm accessing this data in the moment that the player requests the directions. Would that not account for that dynamic nature? Would the data that I get from Helper.GameContent in that moment be accessing the current state of the stops?
@ivory plume (just in case you prefer the @ since I realized I'm replying a bit later)
(Feel free to ping me on reply! I may not see discussion otherwise, since I tend to wander off.)
When you access the data (or call the potential future API), it'll reflect the destinations that would be shown if the player clicked a ticket machine at that moment. But for example, destinations hidden behind a hub station may not be listed (or may be listed with a Condition that evaluates to false). That might be fine depending on how accurate you need it to be; I think most destinations won't use conditional trickery like that.
That's good to know. I absolutely do not expect my mod to be perfect (and hope my users don't either
) but if I can make this mod be at least helpful in many cases then that's a step in the right direction.
If some stop/warp/whatever is particularly tricky, my mod also functions as a framework that can read its own asset in Content in case a mod's author wants to make a point of adding their stop with the correct conditions. I suppose I would prefer my automatic data gathering to be less complete but still accurate in what it does gather and then have a good way (my Content asset) to refine from there. It's already an incredibly satisfying mod to use at this point. (I'm several months into development)
i think cp when shenanigans is beyond your control anyways, literally do not have the data to know
yeah, I can only dig so deep into the depths of what a player actually experiences
im making a custom map and want to have an immovable sprinkler, is that possible without a .dll?
yep, you just have to build the sprinkler into the map. you'd have to find what tilesheet it's on though
a functional one
and if it's not in the Maps folder you might need alternative tilesheet access or to pack it with your mod
ohhh hm
let me see if it's an item or what
you can spawn objects with FTM and mark them as indestructible
Anyone feel like trying my first mod and atleast telling me if it works as advertised with their modlist?
I just want to make sure there are no glaring issues since I've gotten no feedback.
https://www.nexusmods.com/stardewvalley/mods/33246
Seems to be working in game, should probably have the features enabled on default. Usually no posting = no issues
Thanks!
Yh I'll probs make those changes and add translation support when I get home
i want to make absolutely certain i'm correct here. i got a log from a user claiming that my mod is preventing their game from running, when my mod only throws two yellow errors that shouldn't prevent it from running (i commented out two events but not the editdata patches, so i understand why it's throwing the error). however i don't think it would prevent their game from running https://smapi.io/log/7e1f8c1c681a407c8f3e7883509dbacf
Log Info: SMAPI 4.2.1 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Home, with 68 C# mods and 150 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
tell them to remove your mod and see if their game still doesn't run
First impressions just from skimming the log are that they need to be using an up to date version of your mod before lodging a bug report about it and also that they have a gigantic error about having Cauldron installed without WAG which warns that they will get errors and strange behaviours.
that was what also caught my eye
in general, is there any sort of guide out there on how to interact with bug reports? like a list of steps i/they should do, and what i should not ask them to do?
Reading their comment though, I don't interpret it as saying "this is stopping my game from running" but rather as "I can't get your mod to run". They also mention that they think they have an up to date version of your mod - did you definitely update the manifest when you updated?
i updated the update key, but now i'm realizing that i didn't change the version in there, shit...
i do know they have the most recent version though because i only commented out those events in this update
Check in their log if they have actually tried loading their save or just saw those warnings and stopped, assuming that something was broken.
my warnings are the very last two entries, if that's a sign--how can i tell if they loaded a save?
Anyone know how long it took for you to go from villager to Mod Author, and how much longer it'll take if a man of fewer words were to attempt š
Search the trace for "loaded save"
took me two months, and i only speak in this channel
Sorry just went out for walk so not around as much
aha it's not there. i'll tell them to try again, then try it without my mod
no worries, enjoy your walk!
also @tacit sparrow you can check your level in #governors-mansion with the /lvl command
you need to be level 25 to be a mod author
Yeah I've been stuck at level 1 and need to chat more
my goal is end of next year š
best of luck!
If I write a trigger action to send mail, will it send the letter every day if the player hasn't yet read it in their mailbox?
as in, will it result in duplicate letters in their mailbox
i don't think i would know, but out of curiosity, what would your trigger be?
just a DayEnding
i can see the logic behind it being "check at the end of the day for x" and resulting in duplicates
mailForTommorw DOES happen to be a set so I feel like I'm in the clear?
but i swear I ended up with a lot of duplicate mail from testing another mod somehow
ohhhh you know what. the mailbox itself is a list. not a set
ahh
i sense duplicate
it's weird because i thought mail had to have a unique key, which to me would imply no duplicates
you can't add the mail to the mailbox for the immediate tomorrow twice
but you can do it two days in a row it looks like
interesting
since the mailbox is a list not a set but mailfortomorrow is a set
No it will only send the letter once when the condition is first met unless you set the mark as applied field as false
I suppose trigger actions don't repeat by default though.... so i would be in the clear
i guess it makes sense if you want to be able to receive a gift from mom over and over
i was in C# when i made a ton of duplicates but it looks like trigger actions have fewer potholes lol
I think that you are doing something wrong in your mod for those warnings to be present though.
yeah, i commented out the only events that were in a patch without remembering to comment out the actual target/action/etc
they were throwing warnings for preconditions not being met whenever you enter the location
so i said bye
Harmless but worrying for users who don't know enough to be able to read the warning, I guess. Are they events that rely on other mods being present?
no, they're just WIPs. it's part of the big long string of quests/events/mail i'm making for the next major update, but i must have a step along the way missing somewhere. a misnamed trigger action or something probably
if you're curious i can see what the exact warning is
but i think i just have to sit down and trace out the whole thing to figure it out
OOPS i lied, it's not part of that storyline, though that is still something i need to work out. the ones i commented out are heart events for NPCs that aren't done yet, but the events are written
Up to you if you need help figuring out the issue, but if it's just content that isn't ready to be implemented yet I think you're fine to just comment out the entire patches instead of just the events.
thanks! i just don't want to waste anyone's time helping me when i haven't even tried myself š i'm sure you'll see me in here later trying to fix it though lol. and yeah i should just comment them out entirely, especially because those locations are technically implemented but i hid them all behind a locked door for now, so they can't be accidentally triggered unless you cheat
or, honestly, i don't even need to comment them out, because you can't accidentally trigger them...
another general practice question: how often do you guys release bug-fixing updates? like is it better to wait a few days and kill all of them in one fell swoop, or release an update every time i fix one?
I personally would not include content in my mod that isn't implemented yet, but I know it's an approach some people go for. I'd definitely recommend commenting it out though in case you get people who somehow accidentally do manage to see that content while in game. Plus if you get file divers like me they're going to see stuff they haven't found but which isn't commented out so it will make them think that content is intended to be seen.
yeah, as soon as i figure out git and commits and stuff, i'd ideally like to only commit stuff that i want to implement, but as is i think it's safer to include all my WIPs in my files rather than trying to track down multiple versions. i'll go ahead and comment those out entirely! do you think file divers are common? i'm not against people wanting to spoil themselves, but i don't want anyone to be confused by my messy behind the scenes stuff
For me, the update rate depends on how important the fix is. If it's a typo in one message and I'm still working on the mod, I'll wait. If the mod is broken or it's likely to really bother/confuse users, I'll try to update sooner rather than later. I left all of the map strings in Apollo not working for months because I had an important fix to do and I waited until that was done to fix the map strings lol. But my mods are not very popular so YMMV lol
alright, i'll probably release a version with those commented out tomorrow, then (it's late here) <3
there's a lot of buzz on mine rn (from what little i know) because i posted it on tumblr and someone else posted it on twitter
In terms of overall percentage of users I'd say probably not many of them go looking through the files, especially not without being guided by a tech support volunteer. If commenting out all your unimplemented content was a difficult change I'd say it's not worth it for the small number of people it might save from having problems but since it's a very straightforward thing to do I think it's a small cost.
yeah it shouldn't be too annoying initially
just remembering to uncomment it when i test might be an issue lol
but thank you! i'll update like 3 times a day idgaf but i don't want to put people off like "i just updated yesterday wtf" lol
Yeah it's balancing the annoyance to users between "this thing is broken" and "I literally just updated why is there another one" that matters to me.
(Although as a user I ignore updates for weeks lol)
Lore question: Well, hypothetical lore question. If a mod allowed you to "civilize" areas of the mines and use them like auxillary farms, similar to the Ginger Island farm, etc. Who would make most sense to pay to do that? Junimos, the Dwarf, Robin, Mr. Qi or like a cavern cousin of Junimos that look like little cave carrots?
Krobus
Junimo don't really build things, it's more of a deep restoration to an older state
Robin wouldn't really make sense, since the mines are quite out of reach for the villager because of the danger of monsters
The dwarf would make the most sense to me, since they are in a way the only inhabitant of the mine; like, you are "asking" them to exploit a "part of their home"
But if you're targeting a deeper part of the mines, then maybe krobus; you could see it as them asking their people to let you use a space
IDK that I'd ever get around to it, but it is a mod idea I have. Make the fishing floors of the mine into auxiliary farms, built in fish ponds and some farming space for cavern crops (probably only cavern forage seeds and [terraria-inspired] gem trees to start with) Floors 20, 60 and 100
If deep enough, Krobus, if in the higher levels it'd probably make more sense to pay Lewis to organize bureaucratic stuff like construction permits or organizing Adventurer's Guild protection for workers against monster attacks
I can't easily tell what's canon and what's SVE info nowadays but the mine's supposed to be Pelican Town property where people used to work, isn't it?
Well it -is- a mine and not a natural cavern; just long abandoned and overrun with monsters; but I'm not sure if it's explicitly part of Pelican Town or just unknown. Even the Spa is oddly abandoned afterall.
well lewis doesn't try to mantain the village at all
and spends the money on a golden statue of himself
that he doesn't want the others to see.
I mean, we don't know he took that money from the town. Nothing says that
Could be his profit margin from the shipping bin.
and he probably doesn't want others to see it because, for example, someone might see it and immediately assume he took money from the town for it
Town keeping a portion of the money. Him as mayor is understandable. But how much most he keep in order to have a golden statue?
We don't even know when he had that created
It's difficult to pinpoint canonically. I mean technically, can you find it day one if you know the clue from a previous playthrough? I guess logically it's meant to be found after the Winter event and finding notes though
I mean... he could have saved up his pay for a really long time to get that. There' no reason to think he straight up steals it
People are allowed to save up and make dumb things
heck, he could have had the gold mined, not like we don't do it enough
If Lewis wasn't embezzling funds he could let them see the records of transactions. Which would prove his innocence. But at the same token he wants to complain about the state of the town, when he isn't really doing anything to actually help the villagers.
The bus stays broken for how long? He doesn't try to get anyone to clear the landslide in front of the bathhouse. Doesn't try to fix the quarry bridge. Let's the bus sit there broken. Doesn't actually work to fix the community center even though he wishes it was fixed.
He lets us the new farmer fix up that place. We supply the material and money for Robin to upgrade the community. Let's us go and find the books and artificats for library/museum.
Should he be worried about the fact that the artifacts aren't in the museum. Or the fact that several books are missing from the only library in town?
As mayor he should be wanting to help keep his town in good condition. Not letting things go into such dissaray. Can't blame him for willy's boat. As willy asked us for help.
you know what, you care about this aboooout five more paragraphs and a fictional lawsuit more than I do
I just had time to think
Not sure you've ever been in a small enough town if you think the only way things get into disrepair is untoward either
It's a community neglect thing
and I mean, you started off going "Why hasn't he shown us, a random farmer who is new here, his accounts? That means he's guilty!" and went from there. The rest can literally be explained with "the town has no budget for it." Library books being missing doesn't have to be a crime, that kinda just happens with libraries. And nothing untoward was ever mentioned about the artifacts without mods.
Fiar enough. About the library and museum. But I mainly came to that conclusion about the museum as why would there already be a space set up for it if they didn't have a collection of artifacts before hand
Well it's a small town, those places often have private collections
Which means one guy owns them and can up and leave with them if he likes
I'm in a small town no private collection here
It depends on who live there
I live near a bunch of weird little museums run by one person and one of them did close down because the owner died and their kid didn't want to deal with the collection. It kinda just happens
Lewis could also be gathering his own gold since he does mention entering the mines.
Yeah, it's how he gets slime on his pants, I imagine
mentions it if you clear out slimes for him
Museum collection canonically was stolen.
I have no explanation for the bath house. It just exists as a place for you to restore energy and for alex to lift weights and penny to invite farmer on a date.
Honestly, probably didn't set up a NPC to run the place because of how awkward it is cutting them off until the landslide clears
(or he just didn't think about it)
TBF I think SVE handles Susan well, and we already have a similarly isolated NPC in Sandy
@lucid iron I've been playing around with the panorama feature of MMAP for the past few days. Excellent work on it! I love what I've been able to do with it so far!
If I might make a suggestion, though. I would love to be able to align and scale the back layer of my panorama the same way I can with the parallax. The one and only issue I've been having is my panorama fills out the screen and looks a bit squished. (I have a 1080p monitor resolution and my panorama is 1500p wide) I've tried scaling down my panorama size and sadly that doesn't help.
NPC Riley used to run the bathhouse
of course he tries, there's proofs at every corner. He visit shop owners to ensure everything is ok, he organises festivals that are pretty important for town life, he deals with governor and administrative stuff which seems to be a pain in the ass, and he is having new things like prize tickets to try to bring change, special order board (someone HAS to clean this stuff and keep the relevant info here), calendar thing
poor mayor is burned out by everything and wishes someone would run for mayor' position but he can't give up because someone has to do it
he collects your shipping bin in the early hours of the morning
transports 1000s of broken cds and weeds every day for money
ahah true š
i think the game has enough ambiguity on lewis that it's valid to have different hypothesis on stuff, but the "lewis doesn't do anything" hold less and less truth with the factual elements we have in game (and in addition there's a lot of stuff that is up to the player to deduce). So my headcanon is that lewis is someone that is trying but he was caught between all the things to do and all the administrative and real obstacles, and got burned out. The farmer arrival is for him a second chance (and let's face it, Joja also likely bring some positive changes, even if those would be way short termed without the farmer to take the relay) and some new energy
also officiates marriages and divorces, so deals with any of that paperwork... š
Well his quote blurb from the wiki goes āI've been Mayor of Pelican Town for over twenty years! No one ever runs against me when it's time for an election. I like to think that it means I'm doing my job well. I like being Mayor.ā, wherever he says that 
Morning folks
judging by everyone's vague ages.. 20 years ago.. a lot of the town wasn't even born yet or in their early 20s
Quick question - I had a mod idea and wanted to know if it would require coding or if it's something that could be done just with file edits etc.
I would like farm cave mushroom boxes to be more useful in the late game, so was thinking it would be great if the percentage chances for each mushroom type could be tied to your foraging level, scaling as you improve
I'm gonna have a quick dig through the data folder but figured it was likely someone here would know if it's something that would need to be a coding mod
You can use the GSQ PLAYER_FORAGING_LEVEL and write machine rule conditions that activate when a player reaches a certain level :)
so yes off the top of my head it could just be a CP mod
but can you alter the mushroom cave mushroom boxes? I thought the % wass hardcoded
dont think so?
Flour or someone used to add mushrooms to it unless im misremembering
Its just a normal machine
maybe I'm misremembering, I never touch them
yeah well of course he has to try to be positive, since he is stuck anyway
there are other dialogues that are more on the worry side
It used to be, I think they got added to the machine data with the other changes in 1.6
yeah it is now in data/machines
also if doable i would suggest modifying the existing stacks rather than add new rules
Fairly sure because I modded in crafting requirements for a personal mod a while back. Then I found that someone else had already done it on Nexus of course
(it should be doable)
it has pro and con, it depends of what you want in the end of course
Sorry GSQ?
game state query
gotcha
Yeah I have read this before I think but will brush up
Thank you folks š
No prob
I almost never publish my mods as they're mostly silly things just for me but I think this one might actually be useful for people so will stick it on Nexus if I can get it working
Does anyone know if there's any dialogue at all where Alex acknowledges Sam, Sebastian, and/or Abigail, or vice versa? I'm wondering if I should make them interact briefly in my mod for just that little extra dash of flavor
"winter_Sat": "There's some weird people living in this town.#$e#...like that guy Sebastian. Why does he wear black all the time?#$e#I don't get it.",
How can they live in a town of 50 people and not all know each other inside and out? It's so weird.
especially when so many have lived there for years/decades
maybe sam and alex would get along better? sam seems really easy going, maybe alex would find him more palatable than sebastian
CA made a lot of them just clichƩs, the sporty-jock wouldn't understand the gothy-emo.
for sure. imo there's room to make stuff up and flesh out every vanilla character
Hi, sorry to interrupt
I have a modded farm map and I was wondering if it was possible to expand it, whether with Tiled or Map Edit, or anything?
!unpack Yup you can edit it in Tiled. Unpack the game files so you have the tilesheets for editing. This page explains how map editing works: https://stardewvalleywiki.com/Modding:Maps
Follow this guide to unpack the game's content files in order to see and explore how the game data is structured.
It's helpful when making your own mods, or just to learn about how the game works!
Thank you a lot!
Yeah i didn't get around implementing tiling on back layer (slacc)
You can use a parallax layer with parallax off to achieve similar effect i think?
Hello, i'm looking for a people for speak about mods , i am a beginner modder
and i need motivation
or a cool people for help me
Hello, what kind of mod do you want to make?
NPC's are complex, not hard work, but a lot of components go into it
i know
Still, if you like anime, you could insert a character from a piece of media you like or make some furniture/clothing from it
Oh on a side note, I made a custom farm map ages ago. Then I converted it to 1.6 new format with all the correct custom fields etc.
I kinda said this as someone who IS making an anime/game character npc sooo
I mainly followed the modding wiki's Custom NPC tutorial
The map works perfectly in normal gameplay, but for some reason it freezes in the introductory cutscene where Robin and Lewis are on the farm, before they enter the farmhouse
I'm guessing it's to do with the moved farmhouse position, but I was led to believe that should no longer cause a freeze in the cutscene
any ideas?
First thing first: you'd find it useful to unpack the game content first, to see the asset and structure you'd be able to patch.
!unpack
Follow this guide to unpack the game's content files in order to see and explore how the game data is structured.
It's helpful when making your own mods, or just to learn about how the game works!
lets speak on DM
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.
-
Aviroen has put together a template that will allow you to easily create a romanceable NPC.
-
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!
{
"Format": "2.5.0",
"Changes":
[
{
"Action": "EditData",
"Target": "Data/Characters",
"Entries": {
"{{ModId}}_WrenSong": {
"DisplayName": "Wren",
"Gender": "Male",
"Age": "Adult",
"Manner": "Neutral",
"SocialAnxiety": "Neutral",
"Optimism": "Positive",
"BirthSeason": "Summer",
"BirthDay": "10",
"HomeRegion": "Town",
"CanBeRomanced": true,
"CanVisitIsland": true,
"SpouseAdopts": true,
"IntroductionsQuest": true,
"ItemDeliveryQuests": true,
"WinterStarParticipant": true,
"Home": [
{
"Id": "Default",
"Location": "Town",
"Tile": {
"X": 1,
"Y": 1
},
"Direction": "right"
}
]
}
}
}
]
}
its right?
Aline, just looking at your profile, I noticed you've already modded, if you're comfortable, are you able to say what you've worked on before?
Sorry if this sounds intrusive, just wanted to know so I can gauge your experience and provide feedback accordingly
Any reason why you are using an existing NPCS internal ID tho?
YESS!!!!
that'll make things break ingame
dm or in here
Here please, I am not comfortable with DM's
make sure to change that before testing for the first time
Okyyy
what is the correct code
my more big project is a project who change alex,sam, seb,harvey to characters from haikyuu
with content patcher
you need a unique internal ID for your NPC. so instead of {{ModId}}_WrenSong you name the WrenSong to whatever you want your NPC named. Wren Song is Tiakall's NPC name and is jsut an example.
Alright, so I'll assume you know what to do with basic content patcher stuff and manifest jsons if you can do an npc replacement
same for "DisplayName": "Wren",. The Wren in that you put whatever you want the Game to display as your NPCs name
{
"Format": "2.5.0",
"Changes":
[
{
"Action": "EditData",
"Target": "Data/Characters",
"Entries": {
"Denji": {
"DisplayName": "Denji",
"Gender": "Male",
"Age": "Adult",
"Manner": "Neutral",
"SocialAnxiety": "Neutral",
"Optimism": "Positive",
"BirthSeason": "Summer",
"BirthDay": "10",
"HomeRegion": "Town",
"CanBeRomanced": true,
"CanVisitIsland": true,
"SpouseAdopts": true,
"IntroductionsQuest": true,
"ItemDeliveryQuests": true,
"WinterStarParticipant": true,
"Home": [
{
"Id": "Default",
"Location": "Town",
"Tile": {
"X": 1,
"Y": 1
},
"Direction": "right"
}
]
}
}
}
]
}
is correct
Congrats btw, if you can do an npc replacement with Haikyuu characters, you can most certainly do npcs!
OOOHH THANK YOU! you are so sweet
Technically right yes, but it's generally good practice to do say {{ModId}}_Denji:{your stuff} (On the name, NOT DisplayName), just in case someone else alredy made an npc called Denji
if i play the game with this code, this works?
Your character won't show up, since you haven't loaded in a schedule or dialogue for them, but it won't blow up
i have a content with portraits and sprites
and i put in here
works?
{
"Format": "2.5.0",
"Changes":
[
{
"LogName": "Jorts and Jean exist!",
"Action": "Include",
"FromFile": "assets/data/dispos.json"
},
{
"LogName": "Base Portraits",
"Action": "Load",
"Target": "Portraits/Denji",
"FromFile": "assets/Portraits/Denji"
},
{
"LogName": "Base Portraits",
"Action": "Load",
"Target": "Characters/Denji",
"FromFile": "assets/Characters/Denji"
}
]
}
my advice is to run it in game to test since we wonāt know if it works or not (we wonāt know your file structure, for example)
have you made or edited all of the files that are included in that?
Can we use a specific NPC appearance for an event even if the conditions don't match?
Or switch between appearances during one?
what mods add villigers
You could always make a copy of the appearance pointing to the same assets, just with different conditions and higher priority 
Switching during sounds like it might be more difficult unless it comes with a map change though
I imagine the IS_EVENT <id> GSQ would work on a high-priority appearance entry
if it's not done by a CP asset edit, it probably isn't gated by the typical warp/time limitations
Oh yeah, forgot it works for regular event
Hmm... can I edit only the condition for an appearance added by another mod (for future compatibility)?
The annoying part is that the event is from one mod, but the appearance is from an outfits mod depending on Rasmodia
Although I doubt I'll add any more resort events, so it's not really needed
in general yeah, you should be able to use a "when HasMod" condition in CP and edit their appearance entry if it exists
Editing only the condition is like five layers deep into target fields and the thought of that strikes terror in me 
Just 3 if I'm not mistaken 
yeah, nested list stuff gets a bit awkward, but it should work fine
basically something like the second example here, but with a when condition
https://github.com/Pathoschild/StardewMods/blob/develop/ContentPatcher/docs/author-guide/action-editdata.md#edit-a-list
Oh right, appearances with IsIslandAttire probably can't be used with IS_Event, guess I gotta make a dummy appearance for special occasions 
theres also the changesprite <actor> [spritesuffix] event command which will set the npc's sprite to Characters/<actor>_<suffix> (if spritesuffix is missing, it will run the appearance logic instead)
(also changeportrait <actor> [portraitsuffix] to do the same thing but for portrait in Portraits/<actor>_<suffix>)
Hmm... I'll try that 
Uhh... what if the NPC is Wizard and the actor+suffix is Rasmodia_Beach
The suffix doesn't match the actor...
Is the beach outfit set via appearance then to be able to have an asset name that doesn't match the NPC name?
Yeah, it's an appearance
Which uses
"Portrait": "Portraits/Rasmodia_Beach", <-- added by outfit mod```
Hello sorry again to interrupt, I've basically understood enough of Tiled to changed the map as I want it, but now I have two issues
The first one is the map on Tiled and the map on Stardew doesn't show the same way (there's a place where the back is just grass instead of being dirt but it is dirt in Tiled)
And the second is I don't know how to change the place where you spawn when entering the map
Could anyone help please? I've looked on the Modding page and I've not find the help I needed
Sounds like you've probably put some stuff on the wrong layer, which is quite easy to do. Make sure the stuff you've put that you want are the back is on the correct layer and the grass is also not on a layer that renders above it.
Thanks I'll check that
Layer hierarchy can take a bit of getting used to
Warp locations are controlled via the Warp map property
You actually need to alter the warp property on the map you travel from not the map you're editing.
Wait no, it'll use Characters/Rasmodia_Beach too, forgot there are outfit variations after all
See : https://stardewvalleywiki.com/Modding:Maps
Look under known map properties > warps and map positions
@mellow orchid you can edit the warp property on the other map with CP so you don't have to edit that map in Tiled
Hope that makes sense. Read the wiki I linked if not
Warps to other maps are defined in the origin map, not the destination
Thanks a lot!! I'll try and do that
Scratch the whole thing... I really have no reason to use an appearance in the outfits mod for the Beach outfit... do I 
hi
so uhhhhh
i kinda need help setting a json up to replace a characters overworld and portrait sprites
ive done it to the base sprites but idk how to do it to the other 2 (beach and winter, also jojamart)
Same syntax, just targeting Sam_Beach, Sam_Winter, Sam_JojaMart
i forgot how to properly edit the json
do i put a , after every action?
Yeah, you'll need a comma after each one if it's not the last entry
theres a website that checks if your json is correct
i think
do you have it?
{
"Format": "2.4.0",
"Changes": [
{
"Action": "EditImage",
"Target": "Characters/Sam",
"FromFile": "assets/Sam.png"
},
{
"Action": "EditImage",
"Target": "Portraits/Sam",
"FromFile": "assets/Sam_Port.png"
},
{
"Action": "EditImage",
"Target": "Characters/Sam_JojaMart",
"FromFile": "assets/Sam_JojaMart.png"
},
{
"Action": "EditImage",
"Target": "Portraits/Sam_JojaMart",
"FromFile": "assets/Sam_JojaMart_Port.png"
},
{
"Action": "EditImage",
"Target": "Characters/Sam_Beach",
"FromFile": "assets/Sam_Underwear.png"
},
{
"Action": "EditImage",
"Target": "Portraits/Sam_Beach",
"FromFile": "assets/Sam_Underwear_Port.png"
},
{
"Action": "EditImage",
"Target": "Characters/Sam_Winter",
"FromFile": "assets/Sam_Winter.png"
},
{
"Action": "EditImage",
"Target": "Portraits/Sam_Winter",
"FromFile": "assets/Sam_Winter_Port.png"
},
]
}
heres what i got
!json
JSON is a standard format for machine-readable text files that's used by Stardew Valley mods.
If you need help with a JSON file, you can upload it to smapi.io/json to see automatic validation and share the link here.
When making mods, it's recommended to edit your files in a text editor with JSON support, such as VS Code, Notepad++, or Sublime Text. These programs will check for syntax errors.
but think of everything as a long list after each thing in your list you end it with a comma.
right
it works!
tysm
(Oxford comma required
)
D=
Not a fan?
hi everyone - i made a post on https://forums.stardewvalley.net/threads/language-toggle-mod.40627/
but essentially i'm looking for a way to toggle between 2 languages for learning purposes. i propose this since many languages are supported and i am hoping to simply switch languages in order to see the "translation"
i hope to gain some interest!
Hi There!
I am wondering if there is a way to change the language of the game easily between 2 languages during game play!
I would love to toggle/switch between Korean and English. For example, I am playing to see Korean dialog, words etc. but then press a button and see the English version of...
or perhaps an overlay or something
So there's a debug command that brings up the language menu in game
debug language
The issue is 2 fold
- Must invalidate every asset that uses a i18n key, because they don't auto switch
- You can't switch in the middle of dialogue where the string is loaded
if it's for learning, it might be better to have both side by side? Not sure if that's be easier or harder.
Also hard, fonts arent shared between lang
I believe what u would need to do is edit every Korean dialogue to be followed by English dialogue
The reverse won't work for font reasons
there's no way to load more than one font?
or even have a new popup screen ? an overlay?
Yeah, a toggle-able UI overlay would probably be the best way to do side by side? I don't know how possible it would be to load the second language's font/text into a mod directly + the UI from the main game assets (to capture modded stuff) and have the mod running as a second instance of sorts
Also I have no idea how the Korean translation compares to the English, I'm sure there will be a number of not direct translations but equivalent expressions.
Yep, but that's going to be the case with most side by side translations 
yup, doesnt have to be exact traslation! i am thinking since there's already a language pack and scripting for dialog, it could be displayed together or toggled. (if that makes sense)
Ok it looks like the percentages are hardcoded despite it now being in data/machines
So looks like I'd need to do a Harmony patch which is not something I've done before.
There's like 3 sprite fonts used by most things
Guess I need to brush off my neglected coding skills
I have no idea how to do a Harmony mod so time to go read up on that
I believe if you are willing to patch the shit out of DialogueBox you can possibly achieve displaying 2 languages with their respective fonts
Didn't a mod for configuring produce of Mushroom Boxes release today? 
The suggestion i had about appending English to Korean is pure content patcher approach
I'm fairly sure mushroom boxes are just machines now in 1.6
wait
Logs are something rlse
oh whiops I pressdd enter
anyway, were you talking about logs or boxes
yeah the latter is editable, but the former uses a complicated custom C# output function that takes into account surrounding trees and whether they have moss
Sure. You would probably want to load the second font separately
And also handle having a second localized content manager
Which you know
Pein
At some pont you realize you're wayyyyy behind on duolingo this week
Custom NPC - Duo and Friends
...thanks for the reminder Atra
Gotta reveal to us all the lore
I have three thousand points and might lose rank this week smh
would this work with CP mods that use i18n instead of loading into Characters/Dialogue/CoolGuy.zh-CN
or i guess ko-KR given the topic
No cus i18n edits all assets 
I suspect you need to flush the i18n first
It'd be fine for vanilla tho
I think if you load blah_blah.coolguy.zh_CN you may be able to keep that in chinse even when you switch the main content manager back to English
Depends on how i18n token works
Idea is to have a second lcm that is of your second lan6
(bleh, I still want to add log dehardcoding one day. still deciding on the design though; do I just add a custom fields to wildtrees that say "add this produce to the arrayā¢ļø")
I feel it should be args on a custom field for outputmethod to use tho
What really? Goddamnit. Every time I have an idea....
!modideas
If you have a mod idea that you aren't planning to make yourself, you can put it in the mod ideas github: https://github.com/StardewModders/mod-ideas
However, this does not mean anyone is guaranteed to work on your ideaāmodders who are looking for ideas sometimes go through and work on what they find interesting off this list. If you want to pay someone to make your mod idea, there are a few people who do commissions (mostly art, sometimes code); you can ask around, search usernames for the word comms, or see !commissions.




