#making-mods-general
1 messages · Page 180 of 1
(thanks for confirming, I will proceed to forget and wonder again when someone asks something similar)
they do assume that the BFM and FMC stuff is like, gonna be consistent through every t rigger
Or an event but then you get the fade in and out which is annoying
but you can ofc adjust as needed as long as the concept is there
it also assumes all your shop Ids are the same as the convo topic (or maybe more accurate to say all the convo topics share the id with the shops)
so like the MushroomShop CT comes from the MushroomShop shopid
btw festive i cant publish 1.0.2 of my mod until you release the next version of meep
not to put pressure on the situation
They do for the most part, yeah - the FMC bit changes for some of them (it's from Farmer's Market Core, so the non-core shops have a different acronym) but I can standardise those
nothing another localtoken couldnt solve too 
just replace FMC with {{CoreToken}} or somethin :p
anyway until meep comes out i can get rid of all my hacks and debug mods so i can play normally
as mayor of localtoken crimes i--
-# gets pulled off stage
localtokens crimes so severe you made pathos realize he needed to add limits

I think I mostly get it - so it's not actually reducing the physical amount of code, but it is reducing the amount of copy-paste-edit I have to do since the Includes are the same except for the filename?
correct, the single template file will eventually be many different trigger actions in the games code
but for you its only one file
While you're on the topic of updating MEEP... any chance the debug logging could be toggled to be less?
what's going on, i haven't been paying attention, i can teach you localtoken crimes

@blissful panther so so so so sorry for the ping
the only thing you need to copy paste, is the Include patches in the content.json
and the only thing you change is the values of the LocalTokens
How does that work? 😆 That doesn't seem like it should work lol
Each Include makes its own copy of a file?
each Include patch will load up the same file again but with a different set of tokens to use insid eit
wait i didnt get that, what do local tokens do?
Huh
each include does it's own editdata
LocalTokens let you define, basically, a DynamicToken for that patch only
and that DynamicToken is used inside whatever you are Including
(though unlike dynamic tokens the value cannot change conditionally)
you could always Include the same file twice already. it just wouldnt do anything bc you'd be overwriting the edits with the same thing
now you're including the same file twice but giving it different dynamic tokens each time
It does come in handy sometimes
Ohh, that does change things 👀
(my above comment does not apply if you add conditions into the equation of including the same file twice)
whistles
though actually idk what that would make a difference anyway
i dont know when it would come in handy to Include the same file twice without localtokens so i would like to be enlightened
Special Orders has a delay mode and a nondelay mode
i added some items to robin as crafting recipies, they are there. however they have the torch description. does it not just pull that from the item id?
i dont understand the significance of that in relation to an Include file
So it is either inckude if (delay is false) or (delay is true and the delay has passed)
could you not just do that within the included file itself?
Could that be a query or a dynamic token? Yes
Ah, I'd just make a dynamic token for that and check if it's true or false on the one Include
Each of the includes is about 10 individual special orders. This is reducing duplication
valid
(also ill be honest, i basically taught myself localtokens just now as i was explaining it/writing the template for you Airyn bc i had barely a fuckin clue before how it'd look, so thank you for giving me reason to lmao)
oh no i'm wrong, my recipies are just broken straight up, ok
torch means something is wrong somewh-yeah
wdym you didn't learn it with me when i went to go report to pathos not even 3 hours after 2.5.0 cp release? 
as usual if you need help post code
"Neon Fence": "335 1 768 1/Field/{{ModId}}.neonfence 20/false/default/{{i18n: fence.neon}}",
they're all just this
no what you were doing made me understand them even less to be honest /lh
especially since what you were doing ended up not even being allowed! so what i was learning was patched out! nerfed!
prob more asset dir stuff
using localtokens in the target/fromfile field of the patch they are defined in is not allowed

which is one of the things we were trying to do
with the barn building texture edit remember
"LogName": "Portrait/Character loads",
"Action": "Load",
"Target": "Characters/{{ModId}}_{{NPCNAME}}, Portraits/{{ModId}}_{{NPCNAME}}",
"FromFile": "Assets/NPCS/{{TargetPathOnly}}/{{TargetWithoutPath}}.png"
},```
i reiterate:

thats inside the include
you cant define localtokens beneath that fromfile and use them in the same fromfile or target
oh
which is what the original example in the CP docs showed
we're all going to silently ignore why ints are still working though
"Fixed local tokens not working in some patch fields." i think thats what this is
i'm sorry i broke things within 3 hours and forced pathos to have to update immediately 
here's my current json again
does the recipe not work when you click it or is just the description that broke
does not seem to work
So basically they've gotta be defined on a level above the brackets they're gonna be used in, right? If they're in the Include code block, they can be used on anything (within reason) inside that Include, or if they're on the same level as Action, they can be used in Entries?
No, bugfinding is good!
is it because your crafting recipes are called Neon Fence and not {{modid}}.neonfence
yeah if you hadnt found those bugs immediately there was a nonzero chance it wouldve been someone else but who didnt understand the docs well enough to even know they WERE Bugs and not them doing something wrong
ah, thanks
Oh, this is the cookie trick Lumi mentioned, isn't it?
i guess i ate all of the figure it out
they cant be used in the FromFile or Target of the patch they were defined in, but they can be used elsewhere in that patch (like TargetField ig?)
and anywhere inside the entries ofc
it doesnt HAVE to just be used for Includes
i don't have anything fairly simple as a template
but yes once you're inside the include itself, the tokens can be used anywhere, including Target or FromFile
anywhere that ordinary tokens can be used
yeah I read the file now, basically the shop entry will try to find the recipe whose key is equal to the item query's internal name, which in this case is the item id
with localtokens you--
-# gets pulled off stage
this specifically is not allowed:
{
"Action": "EditData",
"Target": "Data/{{Whatever}}",
"Entries": { ... },
"LocalTokens": {
"Whatever": "etc"
}
}
so you either need to make the recipe key the same as the item, or set the name of the shop entry to the recipe key manually
Yep, since it's on the same level as the token being defined
(the levels maybe only make sense in my head, haha)
did make me wonder tho, can we make fences emit light?
this is because you can use tokens like {{FromFile}} or {{Target}} inside your LocalTokens, but if you try to make "Whatever": "{{FromFile}} and then "FromFile": "{{Whatever}}"... it cant do that
so its banned from bein used in the same level completely
for fromfile and target anyway
probably not, but you can try adding the torch_item context tag
probably with furniture mods?
this is true
kinda ruins the vibe of a neon fence to put a torch on it
solution: make a neon torch item
i don't think furniture framework lets you put specific hues to the glow though
calcifer is too arcane for me to understand
what i'm hearing is someone needs to make a fence framework that lets you make them be lights, be dyed, and inherit flavors
You could maybe make 1x1 lamps that look like fences, but then they wouldn't act like fences 😆
please do not lick your fences
I misread that as "inherit flowers" and thought that sounded lovely, a way to turn your fence into a trellis for flowers 😆
i love my rainbow light dyed purple strawberrry fence
airyn are you comfortable looking at object entries?
i can probably give you my template + include if that'll help make sense of how localtokens work
ok i gotta zzz have a good one yall / good luck on your projects
Maaaaaaaybe? I'm not super familiar with the term, unless you mean just code for adding new objects
code for adding new objects
.6302
I'll have a look then, yeah, thanks!
Probably would've saved me a lot of copy-pasting when I made Star Fragments lol
.q 6302
.q 6302

thank u
.q MissCoriel
https://smapi.io/json/content-patcher/ce169e85fefe49af93d5d638c01cf56f crafting + object template
https://smapi.io/json/content-patcher/dca392825a7146c3b96ff5544d7116fe localtoken file
Which logs in particular are a little too much? I can definitely tone some of them down!
Maybe? I made the updated version last week 😆
i beg for them to be trace logs
just all of it /lh
Well, released it last week, made it over the last two or so weeks
I'm still thinking about ichor saying that npcs should react to you eating miracle whip
wait i got a followup joke: you can call it Fancy Fences Framework, or FFF cuz that's the noise working on fences causes you to make
localtokens are only a little over a week old so i think you've got a pass
Nah, but you can put someone's name in and it'll only show quotes from that person 
Okay yeah, they didn't exist then 
maybe one day the ForEachLocalToken behaviour will be added for some even more confusing templating fun
ichor would be so pleased to know that my trinket will ask for a sip of mayo every single time the farmer drinks it
Ugh, speaking of Star Fragments, why are people suddenly reporting SMAPI saying "underlying asset no longer exists" about it 😒
that is probably my most sane looking template
oh yeah roku was complaining about that during collector debugging
thats one of those strange errors that i dont think has a like. super predictable cause
Have the stars stopped existing...
it just kinda happens if an asset is garbage collected at an awkward time i think?
just 🤏 warning spam
Tell them if it shows up only when going back to title is fine
"Yellow text? Unacceptable!"
this is why i log all my debug and errors and warnings in Alert
cue that time i got a BETAS report for a quest null warning
everyone loves purple
Ourple!!!!
I was really just thinking that a config option to make them not log to console would be good, even if it's default on, the option to disable them would be nice
to be fair to that person
after finding the cause, that warning should have been an error
I figured it was harmless, but yeah 😅 Would changing configs mid-game also cause it, or just returning to the title screen?
Not log to user facing console anyways, always need trace
Oh, possible changing configs too
I'll slap a warning about both in the mod description then and call it a day 😆
Do you know which specific logs are a bit too frequent, though? I'm looking through the code, and I'm seeing barely any that are LogLevel.Info or above outside of debug builds.
uhhh
Uh, there's some daily ones
Debug builds have a crap ton. 
Animal spawns looks like the most common one I'm seeing
there's some bush ones if i can remember correctly?
It's interesting because after the interpolate string handler
Have gone back to using verbose logs
logger.Log($"Animal {animal.Value.AnimalId} spawned in {targetLocation.Name}.", LogLevel.Info);
Now this one can easily be trace. Done for the enxt release!
This entire line is not called at all if the monitor is not verbose
Oh jeez, somehow it hit nearly 9PM without me noticing and I haven't eaten 😆 Time to go get some food lol
I'm considering changing my Collector logs so they don't post to trace when they're disabled, I'm probably creating a tech support nightmare right now
(coming soon: Better Debugging Mod! all it does is prefix the logging functions so that everything goes into Info from every mod)
Thanks so much for all the help 
*Alert
wouldn't it be easier to just toggle the smapi config?
Alert? but think of the log fatigue! 
I actually do have a single alert log in MEEP!
Don't let Pathos catch you
I dont see many mods use the delicious purple color, we should log more
i use Alert for Graveyards
.q 6279
(One of the benefits of content packs is that they're generally stable and rarely break in game updates.
Button: "Let's fix that!")
- @ivory plume (Jump)
button was already caught idk what you mean
Hey, it's used in a situation that requires user intervention. Technically per spec! 
but its only bc it makes the left side purple tbf
I mean granted, that situation is "please for the love of god tell me about this", but still. Technically user intervention.
speaking of log levels i still feel like the warning about mismatched i18n systems should be a tier above Warn
like theyre not exactly mod error but i think users should think it more pertinent to listen to

is this all because of the .en thing
no this is from the i18n subfolders update
oh
if you have a mod and update it from regular i18n to using i18n subfolders, then if a user just drag and drop updates, theyll have both normal i18n and subfolders in the mod folder
but only one is allowed to be used
so SMAPI will choose the non-subfolder i18n (which i also feel like it shouldve been the reverse) and log a warning saying that the user should probably reinstall the mod completely to fix it
yeah i feel like the subfolders should be higher priority since it's the newer feature 
which, obviously, will be missing a lot of i18n potentially
thats what i thought!
no one would be going from subfolders to non-subfolders
i definitely don't want to combine down
That's what errors are for
and especially because of the chaos you were working on with me earlier, if someone
-# definitely not me
were to virtually load their i18n, how would that parse out?
Loading the files would still work, just not i18n tokens
well i specifically targeted an i18n.json, not the default.json
or does that part of smapi not care
SMAPI doesnt touch the actual files, theyre still there
it just only loads one set into the mod's translator
i'm an extra nightmare 
You don't even have to say "please tell me about this" if red shows up in the console users come sprinting
yeah I imagine a new RSV-tier expansion will use the feature

it will definitely come in handy for my npc
Are you reaching 30k lines yet
especially if i go thru with wanting to add dialogue for every gift and every day
yoba i hope not
i hope not!
every vanilla gift, at least
like, a- okay
and some modded ones for big expansions and such
i thought you were gonna pull an ichor

dialogue writing is not going to be a big roadblock for my NPC. the writing is going to be the easiest part and my OCs voice comes easily. its the Everything Else thats stopping me
(mostly maps...)
Maps...
i already shudder at the idea of adding gift tastes for modded npcs to my mods, (which is why i dont want to do it)
im hardstuck on designing an interior for her house
actually, selph, i think i hit 22k lines with my npcs alone 
So clearly we need a Button farm map for practice
maps arent scary :) just surrender yourself to tiled
if i was going to do any mapmaking, id consider it a waste of time if it didnt go towardsm y NPC
my interior is Big Square™️
using tiled is also not the roadblock for me, as much as i joke about it
im just not visually creative
U know i just realized in going to have to sell my pride pastries somewhere so id probably just add it to gus to avoid any map sheninigins
If i have to add another stall that might be or might be not sve compatible i will combust
oh man with the number of recipe mods i have i can spend like 10 minutes at gus purchasing all of them
Better get a loan
my NPCs will just commute to pelican town on bus/train
oh you've reminded me, i need to set up my IncrementStat query for the interest loans 
Like when i first added the stall for TSP there were a lot less map mods sooo
I dont think theres any room anywhere and id make a new custom area when im dead, possibly
Dunno how any of yall make maps tbh too much options
Im a simple worm
i'm eating quite well with kailey's tilesheets tbh
even the simplest worm can dig an impressive tunnel given enough dirt
How would anyone ever reach this new tunnel
Is there a vanilla location without a warp really
you should see the mansion i made
Sure
does anyone know how to change what CC room a bundle is in? I think my issue is with the spriteindex number that comes after the room name in the Bundles and RandomBundles files.
Sprite index only controls the icons
Okay, then I'm not sure what the issue is. I'm using this mod as a basis: https://www.nexusmods.com/stardewvalley/mods/26998
It already moved some bundles, so I figured it wouldn't be too complicated to move a few more. 🫣
to change where they are you change the room/area name
in Data/RandomBundles i think it's controlled by the numbers in the Keys field "AreaName": "Bulletin Board", "Keys": "31 32 33 34 35"
I've updated all that with the changes I'm trying to make in both bundles and randombundles, but smapi throws errors regarding the # of the changed bundle and can't generate the CC
you may need to provide a log then
Alright. I'll do that tonight when I'm home from work. Thanks everyone 🙂
you need to start new save when you change bundle i think
there are debug commands to regenerate the remixed bundles at least
I'm testing on brand new files, not planning to use this on an existing file.
Hey all! Here’s what I’m struggling with. I edit a custom farm map in Tiled and save the file. But then SMAPI won’t load the map unless I have copies of the associated tilesheet pngs in the same folder. That wouldn’t be a big issue, except DaisyNiko recolor mod won’t apply to the edited farm map now.
So my question is, how do I fix this? Ideally, I’d like to save the edited farm map so that it doesn’t require the tilesheet pngs in the same folder. Can someone explain what I’m doing wrong? Thank you!
Did you work from an already existing map? If you didn’t that might be the issue
did you select the "embed in map" option?
Embed tilesheets in the map? I didn't! That must be the issue. I'll try that now, thank you!
omg it worked, THANK YOU. Maybe it was an obvious solution but I'm brand new to this stuff (including Tiled) and I didn't realize that was an option. Thank you soooo much!! Have a great day!
^^ yay
Try reading through [[Modding:Maps]] some time, it'll probably make things easier for you
Does anyone happen to know which method is triggering the Enricher/Sprinkler placing Fertilizer?
It happens on planting the seed
That's what I know but I can't find anything in HoeDirt.plant()
So i think it's placementaction
This thing is hardcoded as hell u can just do ctrl+f search for the enricher object id
Ah, looks like Object.updateWhenCurrentLocation or CheckForActionOnSprinkler
Logic was something like, after planting seed, check nearby for a sprinkler with enricher, plant fertilizer if possible
It should go through the regular plant method in the end
CheckForActionOnSprinkler is where u open the enricher chest
True, just figured
So there isn't really a method I just can call to make my life easier. I want to trigger the enricher more often, not just on seed placement
Even doing something like "pls 9 unit enricher" is fun and games in transpilrr land
Lol this is stardew
Every mod sets a lower "and this is the stupidest transpilrr I've ever wrote"
Well, im not sure why u would want to trigger it more often
Are u doing some kinda multi fertilizer mod
Pretty simple, I have a fertilizer that grows the crop instantly. If it's a regrowable plant, the enricher doesn't re-trigger after harvesting
It probably means u need to reset the dirt's fertilizer state then
no idea then
Maybe yeet the dirt and make new one for good measure
I do recall there being a bunch of other specific checks in can plant fertilizer which is can plant seed under the hood
already patching the can plant fertilizer methods. I just want to somehow re-trigger the enrichers manually
Just do ur own postfix then
I didn't bother attempting to use any vanilla enricher code when i did this mod
https://github.com/Mushymato/StardewMods/blob/main/SprinklerAttachments/Framework/Core.cs#L1093
Hey, for schedules, is there a document describing the order of preference that the schedules are applied? If I have "fall" and "Fri" and "rain", for example, which schedule will be applied if it's a fall Friday and which will apply on a rainy Friday in the fall?
Oh well, it's deep in Object.js. It's pretty much just grabbing the sprinkler location and then do plant() around it... That's easy enough.
Asking because it seems like Sebastian's fall schedule is overriding his normal Thursday one (where he goes up to the Railroad to smoke). I would have thought that day of the week schedule would override season, but it doesn't seem to
pretty sure for scheduling its rain>Fri>fall if in each case they only have one condition.
something like fall_16 would go above it, though
Hmmmm. If that's the case, then something is broken because he's not doing what he should on Thu during the fall. There are no other conflicts, so I assumed that the season was overriding the week day
The wiki is surprisingly silent on order of preference
I think the listed order is the priority order
Yeah? Alright, I'll have to figure out the Thursday thing then. I didn't add a Thursday schedule in my mod, so I was surprised when he seems to just ignore it
He should be just doing what vanilla asks him to do, I think
Try adding his thursday schedule to the Thursday's of fall. Just to double check that that works. Like Fall_Thu
it there a way in game to tell what mod adds a warp? they added one to the game that is broken and i want to report it to them.
I don't know how to do it in game, but you could try grepping through the json
If you go to your Mods folder and open the terminal (MacOs or Linux), type:
find . -name "*.json" -exec grep -l "warp" {} +
the problem is I don't know what mod did it. it warp me to a building that had no exit. i had to debug warphome to get out. I just want to tell them it happens but i have no clue what mod it was that added it.
You can do this on Windows with WSL, but there might also be a powershell command that you could use. Or... just use Windows explorer search or something (slow) xD
You know what map it warped you to?
Aside from restricting your search to "warp farmer" and looking at modded events in that particular map, I don't know how else to debug the issue 😦 Sorry. Maybe there is a more elegant solution, but I tend to grep my way out of most problems
this is what lookup anything call the map
Nice. Alright, so you are looking for a mod that adds the "Restaurante" map. It'll probably be the problem mod
Most mod authors put their maps in an "assets" or "Maps" folder
found it, thanks
Nice!
it is Defense Division. I will let them know
@ivory plume I just discovered that child menus are never disposed when closed the conventional way (e.g. via exitThisMenu) - is that on purpose or is it a bug?
Hey guys is it possible to enable layering options for reskinning weapons? I'm trying to reskin the meowmere but was thinking if we can pick which cat head to go with which blade if that makes sense. or is this not possible
you can use content patcher EditImage to do that
That looks amazing, btw
ooo thank you so much!
omg nexus id 1
Hey all, apologies for the basic questions to follow. I am sure these are asked all the time but I couldn't find answers in the beginner resources.
- How do I know if Content Patcher can handle everything I want my mod to do, or if I will need to code?
- Suppose I get started making my mod with Content Patcher and suddenly realize there's something I can't implement. Is it easy to switch from one method to the other, or can they be combined?
- If you tell us we can narrow it down
- you can use both CP and any other framekwork/C#, yes
there was some kind of infographic somewhere but... oh well.
more information is important to give an answer
yeah there was an image,,, somewhere
basically if you want to do someting like changing how something in the game functions/add a new function you need C#
Thanks!
Cp is good for anything that is in the Data folder when you unpack the assets
more or less
no problem. please don't ping me in replies though
So sorry, reflex!
Courtesy of elizabeth, behold, the mother mind map of modding
That covers more or less everything
I didn't get into the details of what I want to do because I don't have everything 100% nailed down yet. But for one example, I want your spouse/kids to react to specific decor items you have in your house. (e.g. "I hate this wallpaper," "Why do we still have that ugly bear statue," etc.)
Thank you! Also you confused me for a second there because my name is Elizabeth 😂
That sounds c# to me
hmm i havent heard of any feature in a framweork where npc recognize furnityre
Another one! 
i'm not sure about the specific placing on image for that
The Elizabeth per capita in the modding community is off the charts
Holy hell, an updated version!
are tools not in CP
i don't think what Axiom is after is any of the things on the chart
but a secret other thing
I guess some of the things in this image are a bit hard to interpret since I don't really know what elements of the game are hardcoded, what would require changing game code, what "special object behavior" means...
Tools yes, but a custom tool just... wouldn't do anything other than be a pickaxe, axe, etc. if you only used CP.
Elizabeth updated it in smc recently!
Ah that makes sense
can npc's be made aware of furniture, even
does anyone know if farmhands check daystart triggers/checks when they log in? or would it only trigger the next day?
@tender bloom is there room on your chart for custom chests, i.e. Expanded Storage? There have been a couple people who have asked about it recently not knowing that a framework exists.
we must expand the chart 
Hi Matt! 
I think adding expanded storage does make sense, if Elizabeth can squeeze it in there 
Anyway, it's good to know you can combine CP and C# -- in that case I don't have to worry about painting myself into a corner if there's something I can't accomplish with CP. I feel more comfortable getting started now and I can worry about the complicated stuff later. 😅 Thanks everyone.
i wish you a very pleasent modding experience
Thank you!
good luck ^^
(And, usefully, can be deployed alongside the C# component automatically using a single MSBuild property: https://github.com/Pathoschild/SMAPI/blob/develop/docs/technical/mod-package.md#bundle-content-packs)
Is this the order that most people tackle things? I feel like I have a habit of starting complicated and falling backwards until everything makes sense.
My trend for learning is more along the lines of Pick an Idea and fling self at it Then I find out what is feasable or not.
Go Learn the Basics after I fail, but with more understanding of doing, and what Basic Is.
Then Everytime I do it again, I add something on, to make sure I'm learning more.
yes! let me work on that, I had not recalled what state Expanded Storage was in
Ah, I had Expanded Storage under furniture
@tawny ore how does this look?

hm some of these arent content patcher frameworks
While that's an impressive map, I have to say that it gets funnier each time I look at it.
i dunno how u would express that its content pack for tho
its labeled under the content patcher note, if its in black text its content patcher
i would also add ornithologist's guild and nature in the value under critters, the chart must grow
no i mean, some frameworks are designed to work with contentpackfor, e.g. fashion sense
ah, 
but post 1.6 it's easier to make stuff work via content patcher
e.g. extra machine config
these would be red because they r extra mod
but they dont need u to go n make a content pack
just regular items
dont need anything fancy for the books themselves
making custom power books do anything requires unique custom C# and there is no framework for that
can u add a no-op power with just book
what do you mean no-op
it does nothing but it shows up in the powers tab
Looks good, thank you!
you dont even need a book for that
I guess it's a sad day to be a C-anything hater
(me I'm the hater)
Data/Powers is what controls the powers tab, it just takes an icon and a GSQ To choose whether its grayed out or not
naruhodo so it work by the stat then 
and thats all Data/Powers does. its literally just the menu display
for the books it does yeah
ig there r some no C# book "powers" u can do then
like read this book and then clint sells more ores iunno
The legend indicates that the data models in Black are Content Patcher, but that may not be as clear as it could be since Content Patcher itself is Red.
if the effect you want can be achieved with just CP basics, like conditional patches and stuff or trigger actions, then yeah, its possible
but it wont be anything unique or fancy
I'll probably just suck it up and give C# a try when my semester ends, I just hated having to use C and C++ during college so I have a tendency to stick to python as much as I can
unrelated, but casey's still on her modding break, right
well good news C# is more of a java
less faffing about with pointers and alloc, unless you are atra
We'll see how it goes then
i believe casey still vacation yes
I'm a CS major but usally more of a data girlie so I've never tried a project like this
what kinda new crimes are you inventing
in this case, its actually a bug in spacecore, that happens when one of my triggers happens
at least as far as i can tell. bc im pretty sure i know whats happening, and its spacecore at the top of the stack trace
I have gotten prs to spacecore accepted but it was several months of waiting (not a complaint, Casey had a life outside of my prs lol). I just patched it in the meantime
Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 10 Pro, with 118 C# mods and 281 content packs.
pretty sure toolData is null here
the problem with waiting for a PR is that it might prevent the player from buying this tool completely as long as the bug is present
(forgot to link the spacecore code: https://github.com/spacechase0/StardewValleyMods/blob/develop/SpaceCore/Patches/ToolDataDefinitionPatcher.cs#L46)
anyone remember how CP does "Not when"?
I'm trying to setup a trigger for when "X, and Not Y"
Token |contains=Y: false
is it a ! in front of it
thats for GSQs
ah yeah
so If I wanted to make this a Not, How would I phrase it?
"HasFlag": "{{ModId}}.6BundlesComplete"
I'm not good at parsing and figuring it out without direct examples, Sorry.
"HasFlag |contains={{ModId}}.6BundlesComplete": false
Okay that makes sense now, thanks!
I Think thats all the CP Done then? Just to test it and see how much red text I create now.
hi Draylon!
Heyo! Whats up.
how do you use mods on stardew? like how do you get them
!gs Probably not for this channgel though
If you would like a guide to setting up mods for Stardew Valley, check out the getting started guide! https://stardewvalleywiki.com/Modding:Player_Guide
If you alrdy have smapi set up and everything, nexusmods is a good place to get mods.
ohhh thats what was wrong... I was calling the wrong Stat
Try the #modded-stardew channel
ok cool
been very busy with life, but I like to stop by every so often!
Hi guys, I have just started making mods for Stardew and it has been a great experience so far! However, I would love to branch away from content packs and get into some more complex features using C#. I have hit my first roadblock though as I am wondering if there is a way to add custom items using only C# instead of Content Patcher and C# because the modding wiki for items says you can use the Content API but all I can get that to do is replace other assets and I cannot for the life of me figure out how to create a new item from scratch. If anyone has some boilerplate code that would be great but all help is appreciated!
content patcher is a C# mod that adds items
yeah don’t add items with c#, that’s just reinventing the wheel
there is nothing wrong with adding items with C#
you check for the Data/Objects asset in the AssetRequested event in the content API and then you can get the Data/Objects dictionary, which you can insert new ObjectData into
Ohhhhh, OK, thank you!
ok forget me then lmao my bad
No worries, great to see an active community!
if you need all the extra bells and whistles that CP adds, like tokens and conditional patching, then its still recommended to use Content Patcher
but if an item is just one part of an otherwise C# heavy mod and just needs to exist, its more work to bundle a separate CP content pack in with a C# mod
That's what I was thinking, this will end up being rather C# heavy so I thought it might be easier to maintain without an extra CP pack
if you find yourself recreating content patchers When conditions and whatnot, then you are reinventing the wheel and should probably just not. but no need to worry about it until that point
people often do maintan an extra CP pack alongside the C# mod, but it just depends on your usecase and preferences
Thank you!
Check out my Sandwich mod. It has really simple examples using the Content API to add item entries.
it also has sandwiches!
shameless advertising smh, guards seize him /j
lol
I named this Test Farm, Red Text, Expecting to see a lot, because I was doing a lot of new CP i've never done before, totalling 400 lines, but The only red text I've got was a you forgot to write the CP bit to insert the icon file into the data.
how do you have an npc give more than one item to the player in dialogue?
Oh my, thank you so much! You guys have all been amazing!!!!
you can add multiple action commands
ohhhh i see thank you!!
sorry for the @
i dont mind pings you're fine!
I can't figure out why this error keeps poppinf up for my dynamictokens
//Dynamic Tokens
"DynamicTokens": [
{
"Name": "Skin",
"Value": "preset",
"When": {
"MeowmereSkin": "{{MeowmereSkin}}"
}
},
{
"Name": "Skin",
"Value": "custom",
"When": {
"MeowmereSkin": "None",
"BladeColour": "{{BladeColour}}",
"KittyFace": "{{KittyFace}}"
}
}
],
Your json is broken somewhere
!json please use this to send your whole 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.
like a comma or something is off
Yeah, we'd need to see all of it to tell for sure.
tyty
You're missoing one } right at the end of the file.
I just added that actually since i saw the error
but the same error still pops with cannot deserialize
is it a format issue? I see you have 2.0.0 as your format. try 2.5.0
if you've fixed your brackets then it cannot be the same exact error
the issue is a missing bracket after your config tokens
it thinks you are adding a config option called "DynamicTokens"
because you did not close your ConfigSchema object
yep, good catch
just need another bracket after the kityface block before dynamic tokens
@uncut viper: do that (1w ago)
all right spiderbuttons but next time you better bring me 20 nirnroot or i ain't doin it (#6487824) (2w | <t:1738703671>)
righttt lemme try that out
Did item categories change at all?
no
if something is -300 its not edible, otherwise it is, that has not changed. if your edibility is set to -300 have you checked if another mod is changing it
Ty
hi everyone! need a little help--I'm trying to generate a config with instructions but am having trouble. does anyone have a detailed guide on how to make a config? the wiki doesn't seem to go into that part
for a CP mod?
yeah
for content patcher stuff you generally wanna go to the CP docs first, the wiki is more brief and tends to be more framework-agnostic and only pointing you to CP docs as necessary
the unofficial modding wiki has more CP specific tutorials and guides (tho some of them might be outdated still? make sure to check) but i dont know if there is one for config. but you can find it here
oh cool thanks! i'll check it out as well
i put my npcs house in the forest feeling confident and then realised its in the way of the ice fest... 
surely your NPC is strong enough, they can lift and move their house for the day
put it on a hand truck
thinking ahead 
just be ready for people to complain about sve compat if the npc is around the areas of the forest it changes (not that you need to care about those kinds of complaints if you don't want to)
What part doesn't SVE change?
the... bus tunnel? maybe? probably not
@calm nebula Apolocheese for the ping (kinda)
I made a list of all of the special orders + quest givers + quests objectives + rewards for your mod that you posted (maybe it'll get people to not make comments about it possibly)
I tried to post it as a comment but I think the post is locked? maybe? ... Or it just got mad at me for trying to post a big post
It doesnt change the desert festival map...
(only mentioned because sve has an npc around the festival area of the forest too)
[aggressive sobbing]
Ahh! Thank you!
There are always Users who wont read and ask anyways, I've had a User ask me if it was SVE Compatible, when the first line of the description in 2x size Text was "Compatible with SVE" and 4 Comments down was me answering someone else asking with a "Yes".
Feel free to post it or DM it to me!
I'm gonna give people permission to patch for SVE and stuff.. but only as patches that require the main mod... I don't care to support things like that
its only reference to the tunnel map is a CJB warp menu entry
...oh, and warps to the tunnel from places, but the map itself isn't touched 
notepad++ is a little weird about searching tbins
AFAIK it doesnt touch the bus tunnel's structure at least...
Or the entry way for the Skull Caverns
My event woulda broken if it did
Does anyone have the commissions page I can't remember how to get it and am apparently inept at searching for it - Tryina find someone to commission next month to add a C# component to my mod so that I can avoid people complaining about the Qi Gem Thing
!commissions
If you're looking for people who do mod commissions (either art or code), here's a wiki page with a non-comprehensive list of people who do them: https://stardewmodding.wiki.gg/wiki/Stardew_Mod_Commissions
I am... beyond idiotic
The Qi Gem Thing being the scroll that says how many you have?
yeah since it ticks over weird because of how big the box is
I need it to be bigger and I just know people are going to agressively complain unless I don't get that fixed... and I do not have the patience, time, or energy to actually fix that... or the skills actually
none of the above
Yeah, it seems like the kind of thing that's actually way harder than it sounds 
I've heard that messing with the UI box things is, in fact, a nightmare
I have generally found all UI to be a little nightmarish
it is soooo much
I know some people are perfectly fine with it though, so 
I wouldn’t mind taking a look at it. I like taking on random challenges just to familiarize myself with parts of the code I haven’t looked at before.
didn't atra or someone take a look and suggest it might be as simple as just changing one variable in a constructor for the currency box or something
Kind of a needle in a haystack situation, unless atra or someone is lurking and chimes in 
unfortunately I'm on mobile and can't peruse ilspy
I have no clue honestly what was said about it... I just know it's FAR outside my wheelhouse which is why I will be throwing cash money at someone for doing it FOR me B)
is there any action/command/property i can use that when i right click on a particular tile it gives me an item? (until meep comes out)
Hi! I'm not sure if someone else said it already, but item extensions only supports custom color ATM
However, I can see about adding this! It might take me some time, but it's not impossible 
Tiled question: Do you have to make every frame 100ms or just use the same number for every frame?
That would be really cool and I'd be happy to wait for it! thank you for considering it Misty 
just make sure they're all the same ms, it doesnt have to be 100ms :D
Hey, can somebody maybe help me out under what condition I can make the game play music while it's raining or night?
I know there are different circumstances like "spring1" "maintheme" and so on, but I would like to have some ambience when it's raining or thunderstorming.
I was looking at old mods that utilized "Custom Music" but hence it's not required and used anymore since 1.6.X I wanted to make it possible again.
iirc rain is kinda half (or fully?) hardcoded to override other music anyway
So I assume it's rather not possible by just utilizing content patcher?
theres no way to force music to play on cue with Content Patcher anyway regardless. BETAS has a trigger action action that can change the music, which will work if you can trigger it at the time you want (so at night should work) but it will stop any previously playing music (potentially jarringly suddenly) and when i was testing it, it just didnt work when it was raining
@ivory plume Thanks so much for all your modding work. I saw your reply on Chests Anywhere not working for Android because of the way ShopMenu constructors are set up in SDV in Android (https://www.nexusmods.com/stardewvalley/mods/518?tab=posts page 2). Just wondering if there are any more specific pointers you might be able to give Android SMAPI master @frosty hull on a compatibility rewriter to address this? I'm sure both of you are bored of hearing about Chests Anywhere's incompatibility with Android SMAPI - I'm no modder but just wondered if linking the two of you directly might help generate a solution to what you appear to describe as fairly straightforward (?) problem. It would be amazing, thanks.
Okay I understand, that's somehow sad I was working for an update for my old music pack with lots of custom made music for the game, with Custom Music it was really easy to handle but now I am struggling.
Anyways thank you for enlightening me :)
Hi! Yep, I posted a comparison of the methods in my comment there:
PC:
public ShopMenu(string shopId, Dictionary<ISalable, ItemStockInformation> itemPriceAndStock, int currency = 0, string who = null, OnPurchaseDelegate on_purchase = null, System.Func<ISalable, bool> on_sell = null, bool playOpenSound = true)
public ShopMenu(string shopId, List<ISalable> itemsForSale, int currency = 0, string who = null, OnPurchaseDelegate on_purchase = null, System.Func<ISalable, bool> on_sell = null, bool playOpenSound = true)
Android:
public ShopMenu(string shopId, Dictionary<ISalable, ItemStockInformation> itemPriceAndStock, int currency = 0, string who = null, OnPurchaseDelegate on_purchase = null, System.Func<ISalable, bool> on_sell = null, bool playOpenSound = true, string context = null)
public ShopMenu(string shopId, List<ISalable> itemsForSale, int currency = 0, string who = null, OnPurchaseDelegate on_purchase = null, System.Func<ISalable, bool> on_sell = null, string context = null)
So SMAPI on Android would just need to add a rewriter which takes the PC signature (without string context = null) and converts it to the Android one (with string context = null). The context is probably unused; I think the Android devs just didn't fully update the Android code for the PC changes.
Thank you! @frosty hull anything you could do on this would be hugely appreciated by the community 
NPCWarps have to be on the buildings layer right?
NPCWarps are map properties, not tile properties.
I know that I'm trying to uhhh add the property via CP
You might be getting them confused with the TouchAction Warp and Action Warp properties, which are meant for players. 🙂
since whatever im doing is not exactly working by editing the map directly
Right, in order to add a NPC Warp, you need to edit the Map Properties, so it doesn't go on a "layer" at all
I can grab an example of the CP code from my NPC Apartment mod, one moment.
"Action": "EditMap",
"Target":"Maps/QiNutRoom",
"MapTiles": [
{
"Position": { "X": 1, "Y": 6 },
"Layer": "Back",
"SetProperties": { "NPCWarp": "AngelOfStars.Mrqifriendable_QiOffice 3 5"
}
}
]
},```
"LogName":"Set NPCWarp for Elevator",
"Action":"EditMap",
"Target":"Maps/FRL_NPCApt_Lobby",
"MapProperties":{
"NPCWarp": "26 22 FRL_NPCApt_Elevator 8 14 27 22 FRL_NPCApt_Elevator 9 14"
},
}```
i was doing this .... i see
mmmmmmmm
I was doing that originally but it wasnt working
Then you may need to doublecheck that nothing else is changing that map property and that the location name you are warping to is correct?
Based on your Tile Properties attempt, it looks like your code should probably be something like: { "LogName":"QiOffice NPC Warp", "Action":"EditMap", "Target":"Maps/QiNutRoom", "MapProperties":{ "NPCWarp": "1 6 AngelOfStars.Mrqifriendable_QiOffice 3 5" }, }
(I recommend using the logname to make it easier to do a patch summary if it doesn't work so you can check if it got applied at all)
I know at the very least the location is correct :| but now its telling me
"[Content Patcher] Ignored (CP) Friendable Mr.Qi > Include data/Locations.json > EditMap Maps/QiNutRoom #2: must specify at least one of AddWarps, FromFile, MapProperties, MapTiles, or TextOperations."
I have that exact thing without the log at the moment
log name
Then you somehow missed specifying Map Properties or it doesn't like the syntax, I think
copy/paste your code?
May very well be something silly like an extra space
I added the Logname and for some reason it is now not throwing that in the console .. why i dont know but alright then
(the number of times I've accidentally made it "Map Properties" instead of "MapProperties") 
If adding the logname fixed it, it may have been a stray or unclosed "
I'm trying to make a greenhouse mod and I'm done with making the map on tiled, but what do I do now? I already read the wiki page on making maps but I'm still lost
but as long as it works now
u need to make a content patcher mod now
Are you editing the existing Greenhouse's interior? So keeping the vanilla location data and just changing the map being loaded??
Yep, that's the goal
Then yep, your next step is creating the Content Pack (aka Content Patcher mod) and coding it to replace the map file for the Greenhouse.
btw, did you start with a copy of greemhouse.tmx from vanilla
u need to keep all ur tilesheets named the same
Yeah, I edited the hell out of it but the base was from vanilla
I need to clean up my tilesheets but if after that all that's missing is the CP mod then it sounds easy enough
Tysm!
cool, that means your map will already have all the required map properties on it, which will make things way smoother for you. ❤️
{
"Action": "Load",
"Target": "Maps/Greenhouse",
"FromFile": "assets/{{TargetWithoutPath}}.tmx"
},
i genuinely cannot figure out why his schedule keeps saying he cant get there when i have directly made it possible for him to get there
Did you sleep once so his pathfinding can update?
Do you have to do that
Yes
I swear to all that is holy
The path is determined the previous night
Several hours. Several Hours of work because I thought I wasn't doing something right
At least you know now 
If you are EVER touching a character's schedule or warps and you aren't creating a new save, you have to sleep to prevent pathfinding false errors.
So now you know
I am going to commit various atrocities upon this blue man
okay that was not, in fact the issue... so I didn't waste hours of my life maybe
maybe
still giving an pathing error in the log?
Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 10 Home, with 17 C# mods and 1 content packs.
this same one yeah
"while honouring gender Male"... I wonder if/why that's relevant
it's likely not, Spacecore spits that out any time a schedule fails.
Even if it's a "missing location" error causing it
yeah i figured that it was just saying that part because ... it says that part
You have the nut room unlocked, yes?
You're the person who made the Lacey hat mouse mod right? I playing through it recently and it's really well done! I really like the way you can see her sprites and portraits in the config menu it's very cool 😄
Ohhhh I'm sorry I'm a bit dyslexic haha 😅
Iro, ichor, looks similar enough? Haha
but I'm sure they'd appreciate hearing that!
(I have made no content packs at all lol)
oh, you've loaded your custom Location already, right?
There's not anything there that would be blocking the warp or otherwise preventing access for the NPC?
(by Loading, I mean, adding an entry to Data/Locations)
UM. I have no idea what just happened, and this log looks like CHAOS to me. Here's a walkthrough of my last 10 minutes:
I've been working on my greenhouse mod today (froststar's modest greenhouse). I finished tinkering with it, and loaded up a few new save games to take screenshots of options/configurable stuff so that I can post the mod now that it's done. Cool, great, everything worked just fine. I finished that and exited the game.
So then I remembered I have another mod I made that I use personally, to apply a change to the backwoods map. It's small, and while I'm going to be adding a new mod to nexus (the greenhouse) I figured I'd throw the backwoods edit up there, too. So I did some tweaking on the map file to make it less personalized and more releasable, threw in two config options, and then fired up my game to test and grab some screenshots.
Apparently this broke absolutely everything???? Best I can tell, the first thing wrong is with hxw tilesheets, which I use in the greenhouse (but hadn't edited anything with since I last successfully launched the game), and which are not used in the backwoods map at ALL. So like. How did I break everything between two game launches when I made very minimal changes o.o Please help. Unsure if it's related, but Steam DID say they were unable to sync my save files when I tried to launch the game before everything broke, so that could be related? Unsure.
Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 10 Home, with 41 C# mods and 149 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
oh wow, SkiaSharp error (bitmap not loading is memory shortage, try using less intensive mods or restarting computer first)
https://smapi.io/json/none/ba7ff0ea0cba416086f9f0c97b286fd8
https://smapi.io/json/none/80bf1465a4934bf88adc71c519338c86
Okay so... Here's the Content JSON which loads each of the locations, the Location JSON which adds various patches TO locations, as well as pictures to show there's nothing in the way for him to get locked on
it looks like your computer is out of memory
(and the general expected path he should be taking to get where he's supposed to go)
Fun fact
The scheduler is gender locked
Some paths are men only other are women only
(close some things so that you have more available memory and try again)
Nbs like myself can go anywhere
... well, at least I didn't actually break everything, it's just a mismanagement of which drives I'm using 😂 😭 Ty I'll try to do... something about that.
So, the solution is to make Qi Undefined again? 😛
someone tell avi 
(it's hopefully/probably not that, I'm looking at the log still)
(not storage, RAM)
Would that... would that matter for added schedules
just try restarting your computer!
also quick question - multiple When conditions are just separated by a comma right
(atra, what pronouns do you want people to use? I'm never sure so I default to they/them)
Ahhh, I forgot, you're using CustomLocations and not the Data/Locations asset in yours.
I don't really want to make his GI schedule dependent on if the player unlocks the nut room but It would make sense all things considered
I, uh, am not sure how to troubleshoot CustomLocations not working, other than to ask you to try to convert it to Data/Locations, which is really easy actually.
oh, could the problem be caused by CustomLocations? since it's super deprecated

Yeah, if the content patcher rewriter is deciding not to rewrite it because of the format number.
wheres the documentation on locations...
random question, can one make new bobbers without the need of C# asking for a friend
If you want them to do custom things probably not
"Action": "EditData",
"Target": "Data/Locations",
"Entries": {
"FRL_NPCApt_Floor1": {
"DisplayName": "{{i18n:FRL_NPCApt_PelicanValleyLoft}} {{i18n:FRL_NPCAptFloor1}}",
"DefaultArrivalTile": {
"X": 2,
"Y": 26
},
"CreateOnLoad": {
"MapPath": "Maps/FRL_NPCApt_Floor1",
},
},
}
}```
thank you..
hm, dang
doublecheck the number of closing }, I'm grabbing code snippets that are part of bigger ones xD
but indoor location entries are super easy, you don't have to fill out much unless you want something fancy.
wiki link is here for locations: https://stardewvalleywiki.com/Modding:Location_data
now it just says it cant find the map file
do you have a matching Action: Load, Target: Maps/MyMap, FromFile: assets/myfunnymap.tmx for the MapPath: Maps/MyMap value?
"LogName": "Load Room Location",
"Action": "Load",
"Target": "Maps/AngelOfStars.Mrqifriendable_QiRoom",
"FromFile": "assets/QiRoom.tmx"
},
{
"LogName": "Load Office Location",
"Action": "Load",
"Target": "Maps/AngelOfStars.Mrqifriendable_QiOffice",
"FromFile": "assets/QiOffice.tmx"
},
{
"LogName": "Load Warp Room Location",
"Action": "Load",
"Target": "Maps/AngelOfStars.Mrqifriendable_QiWarpRoom",
"FromFile": "assets/QiWarpRoom.tmx"
},```
do you mean like this?
yep, just like that
if the map file wasn't found, either the Target doesn't exactly match any MapPath , or the FromFile doesn't exactly match any TMX file in your mod
alternatively, your load actions may not be called at all, which you can doublecheck with a patch summary
blueberry, i told one of my friends I was working on a cooking-related mod for stardew valley and they very enthusiastically told me "I fucking love the Love of Cooking mod it's like my favorite mod ever"
(if they're in the same file as the location loading though then this is unlikely)
If you are using an include for the actual map Loads, then you will want to place the include before the Data/Locations code. The order is a bit finicky for this.
(if you have the Load Map and EditData for Data/Locations code in two different JSON files)
the load for the locations is done before the json for the locations is being loaded but its still not working :|
by that i mean im directly loading the map assets through the content json and then later on i have the content json including the locations json... which theoretically would mean it loads after
mm wait i think i know what its doing
no... no i dont
https://smapi.io/json/none/257086f255fc4ab895ddcc54bc113a37
also I misspoke - I just meant to say that im loading the assets for the maps before adding the maps themselves (idk why i mentioned the locations json as that doesnt actually relate to it)
Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 10 Home, with 17 C# mods and 1 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
your MapPath values are incorrect
"MapPath": "assets/QiRoom"
"MapPath": "assets/QiOffice"
"MapPath": "assets/QiWarpRoom"
these are asset keys, not file paths, so they should match your Target values:
"Target": "Maps/AngelOfStars.Mrqifriendable_QiRoom"
"Target": "Maps/AngelOfStars.Mrqifriendable_QiOffice"
"Target": "Maps/AngelOfStars.Mrqifriendable_QiWarpRoom"
Ah..
the clue here is that the error says FileNotFoundException: Content\assets/QiWarpRoom.xnb, where the XNB type (and Content path) hints that it wants a game asset, not a TMX/TBIN map file
Ok, probably a really dumb question but: Sebastian is missing when Spirit Eve starts. A "debug where seb" shows him in his room. I didn't think that normal schedules would affect festivals
I tried copy-pasting the setup stuff from vanilla unpacked into my mod just to check. He's still gone
Is this possibly a year 2 festival and your mod doesn't place him in year 2?
characters in festivals aren't real, they're paid actors. the actual NPCs are still wherever they were in the world
(Me trying to get into an exclusive club) "Do you know who I am? I've made mods for Stardew Valley! They have a lot of downloads.
Good guess, but i started a new save. This is y1
Lol! good to know
"Who am I? Look up my page. No not on Wikipedia, on Nexusmods."
My mod changed nothing about Sprit's Eve but his dialog
And you're not running any other mods alongside yours when testing?
And he's been in every other festival so far
Just Portraiture
He’s definitely there normally
Nothing else to change behavior
And nothing in your mod is changing the map, correct?
No. I haven't added any custom maps even yet
Just dialog, schedules, gifts, etc
Custom events
But no art, maps, etc
i have in fact told people in real life that one developer's girlfriend uses my sailor moon mod. somehow i'm still not famous. oh to be in the popular kids club
My friends have simply decided I’m Stardew famous despite ample evidence to the contrary
Ze emo boy is gone
I told people I datamined ACNH. it worked for a while but they stopped updating ACNH after like a year so it's completely out of the public consciousness now
What is acnh
(I was just reading back and noticed this discussion and want to clarify that I never considered logging BC exceptions with another mod's logger. I considered doing that for exceptions from other mods that bubble into BC because those mods use BC's API.)
Except it’s secretly about stock markets maybe
*stalk markets
Stardew valley if you could remove all the ugly people from town
Wait I guess thats what portrait mods are
So cold even in the car
Outside of Elizabeth, zero people associate my name with stardew mods
I spent like 20 min scraping ice off the windshield
Ok, if I wanted to test this on a completely fresh save again, would spirit eve start automatically if i set the day to fall 27 with debug commands?
Sleep into the day
Make it the 26th and sleep into the 27th
Festivals don’t love jumping to the day sometimes
there was a time where you can announce you have that one glass wearing cat boy and get 500 DM offers
Perfect, thank you. And is it safe to copy the save folder somewhere else while the game is running, just in case it's this save in particular that is broken and I need to look at it later?
The pandemic acnh craze was wild
That sounds less safe but probably ok if it’s not while it’s saving
I see atra continues to taunt the rest of us with how they "have a life" and "go outside"
/lh
Outside is bad, it’s not a taunt 😛
I spent 11 hours at work today
Do I actually have a life
It doesn't feel like it
You’re going to beat my high score 😛
I think mine is ~12 and it was mostly because I turned into sludge
For the first time in 10 months, I have zero unread notifications on Nexus. 
(Also: cherrywave incoming.)
Woah!!!
I haven’t hit that in a long time…
Except by clicking “mark all as read” a few months ago maybe
(Sorry)
Can someone with no coding experience make reskins? Currently the texture pack/reskin I’m using for seeds doesn’t have support for all SVE seeds, and I want to change that. I also want to change how 24h clock time doesn’t take up the whole time bar
Well I'm not helping matters
Yes, though you’ll need to learn the basics of content patcher
The clock one may or may not be harder
The seeds one is fairly straightforward
!cp
Content Patcher (https://www.nexusmods.com/stardewvalley/mods/1915) is a mod which loads content packs to change the game's images and data without replacing XNB files. If you want to make mods using Content Patcher, start at https://stardewvalleywiki.com/Modding:Content_Patcher.
That first link should get you started, then read the EditImage section of the documentation
Did you click the "Mark all as read" button?
Oh never mind, someone beat me to it. (That'll teach me not to skim)
(Spent the last week answering all the comments on Cherry's mods, in preparation for the upcoming updates to her mods.)
I didn’t know CP uses .xnb files, is that all CP mods?
Content Patcher generally doesn't use XNB files (though you can if you want).
Right, I forgot about that—but you probably shouldn’t use XNB for compatibility reasons
Oh ok I must not have read close enough lol
That’s what I thought, but I’m obviously not a mod author so I was like maybe I’m wrong
Are you getting confused by something you're seeing on the wiki page?
changing the location stuff did not, in fact, fix the schedule
Other thought: Is the schedule edit happening after the location stuff?
(It needs to be)
In your content JSON file, is the schedule EditData block after all the location blocks?
Since it loads the patches from top to bottom (with bottom being last)
And if yes, if you change your schedule to go somewhere else that's not a custom location, does THAT work?
I'm wondering if the nut room itself is just weird maybe
order of patches like that shouldnt matter afaik
The schedule is also loaded as an include so it would be done after anyways i think
only order between patches editing the same thing
includes are all parsed in first, then all Load actions are done, then EditDatas
I know that the first schedule (which is just in the casino) works fine
The order shouldn't matter but it definitely does in some cases with some patches.
You never know if someone is using token weirdness (nesting) that requires the token to be resolved first.
tokens are always resolved first before anything
Yeah, Button, what I'm saying is I had to help someone once that had a token that loaded from another token and they were loading their tokens in the wrong order. 🙂
I can share the schedule itself but the error is just that he cant get to it... for... some reason
Unrelated to here, but that's where my patch ordering suggestions derive from, just in case
even with the Location data being edited
And Qi moves from the nut room to the casino in the other schedule?
No he doesnt go to the nutroom at all in that one
His two 'primary' schedules are to go to the casino and then alternatively go to the nut room
My question is whether or not he can leave the nut room or if there's some hardcoded weirdness happening there.
he cant even get into the nut room though
Ahhh, did you give him a warp to the nut room anywhere?
Because the "normal" path is the IslandFarm, which is excluded from Pathfinding
The NPCWarp code earlier is FROM the nut room
So you'll need one that goes the other way too
"LogName": "Qi Nut Room to Office",
"Action": "EditMap",
"Target":"Maps/QiNutRoom",
"MapProperties": {
"NPCWarp": "1 6 AngelOfStars.Mrqifriendable_QiOffice 3 5"
},
},
{
"LogName": "Qi Office to Nut Room",
"Action": "EditMap",
"Target":"Maps/AngelOfStars.Mrqifriendable_QiOffice",
"MapProperties": {
"NPCWarp": "2 5 QiNutRoom 2 6"
},
},
{
"LogName": "Qi Room to Office",
"Action": "EditMap",
"Target":"Maps/AngelOfStars.Mrqifriendable_QiRoom",
"MapProperties": {
"NPCWarp": "30 4 AngelOfStars.Mrqifriendable_QiOffice 4 8"
},
},
{
"LogName": "Qi Office to Room",
"Action": "EditMap",
"Target":"Maps/AngelOfStars.Mrqifriendable_QiOffice",
"MapProperties": {
"NPCWarp": "4 9 AngelOfStars.Mrqifriendable_QiRoom 30 5"
},
},```
His room already has a tileproperty on it that moves him from there to the office itself as well (and from the office to the room)
though theroetically I could just add two more through content patcher instead that do that too
I am still confused by what you mean by a "tile property that moves him" because NPCs typically won't respect those unless its the normal TouchAction Warp and it's on the back layer.
NPC map property thing
I've been doing this for a few hours sorry my brain does not like words
Okay, clarification was important there. xD
Try adding it via CP just in case something went wrong with the Tiled map property?
that's why I sent the pictures heehoo - I will try that ... and see if it does ... anything
You'll need to make sure that you include ANY NPCWarp properties in your code, since it'll replace and not append/prepend.
@ornate trellis can i have the stalk.png lemme try stuff
wait... no I already did those two as well with CP - I literally just realized that. The first two are from the Nut Room to the Office, and then the Office to the Nut room, and then the second two are from the Office to the Room and the Room to the Office
Idk why I didnt realize that when i literally did it but here we are
And all of those locations are valid now, right?
You can warp directly to them with those names?
yep they all load in, no errors in SMAPI
try to debug warp to them just to verify
at this point I should also add a CJB warp to his damn office
ignore the rest of the image lol
i go in there more than enough u_u
I know I can get into the room at least cause I already went in there
yeah the office loads in just fine too
I know the Nut Room isn't set to ExcludePathfinding by default, I checked that earlier.
the fact that there's a lockeddoorwarp for the player shouldnt interfere with him getting into the office right? I mean it doesnt with him getting into his room from the casino but just in case
So long as none of your other rooms are Excluding pathfinding (and again, by default, they won't be), then it shouldn't be creating an issue
Lockeddoorwarp shouldn't matter for the NPCs, I think they mostly ignore doors anyway
By ignore I meant, they just go through them, but I'm happy to hear about exceptions if it's relevant here.
other than the women and men only bathhouse doors, of course. I know about that one. 😛
@rigid musk (unrelated to your current discussion)
how do I know what number tree is mahogany in the wild tree file?
does it... does it go higher than that?
this is the best thing i have seen today thank you, my mood is 10x better
(do you mind if i just release it as a standalone mod since it does Walnuts too (even though those have a kind of hardcoded limit anyway))
and in caseanyone else goes wild with qi gems in their mod
Not at all! I'll just mark it as a dependency :3
is it possible to do the comma separator thing like Moolah does?
thanks
Do you have a Ko-fi for reasons that will not occur next month in the slightest
ugh, I forgot how C# worked with CreateDelegate :pufferchicksigh:
do we have not a pufferchick sigh
it was fun to do, thats good enough for me

actually, Moolah might just work with it by default
Thank you so much
assuming it changes the MoneyDial class
I have no idea how Moolah does its magic
the background slots are handled separately from the actual text
and im not touching the actual text
interesting. @brittle pasture there isn't a data-only-way to set OrderObjective FailOnCompletion
also it was not quite as easy as changing the number of digits bc of gd. cursors2.png
would be interesting in C# land, but not for non C# land
Yeah I found out some time earlier
sad 
would having the warps on the maps themselves AND content patcher be causing some sort of issue?
Because thats the only thing i can think of at this point ... otherwise there's not really a reason he shouldnt be able to move back and forth between the office/nutroom/his room
if only SOTE (the hidden C# half of this stupid special orders mod) was still alive 😛
I'm looking at your code and trying to understand your warp placements just in case he would have to walk over another warp to get to where he's going, causing a loop
Because I'm honestly running out of ideas
I did make sure that each of the warps was spaced out by a tile so that he wasn't walking over the tile he actually has to warp on... if that made any sense
im currently loading the game with only his office schedule to see if he can get in there at least
I'll leave you with this wip for now cuz I gotta hit the hay but damn those blades just dont wanna look right
I know I had to space my warps out by 2 tiles in the elevator, which was a nuisance.
(I had tight corners, so the NPC AND the player would brush against the other warp tile when attempting to turn the corner.)
office schedule loaded without putting the error in the console at least
Hm.. okay he just stops and stands there... which means maybe its just something with the office itself
nevermind i was wrong he goes into the office
Qi you peeve me so
okay at least this narrows it down to just being something wrong with him going into the nut room... which i dont get because theres nothing in his way?
do you think I need to space these out? the little warp tile thing is where he stands to leave (the actual NPCwarps) whereas the other two are just where he spawns in when standing on them
wait did you make mr qi dateable
No... Not yet anyways. Maybe if people want it bad enough
Friendable though :)
He has a lot of dialogue ... and will have ... [checks notes] 13? additional cutscenes (15 I think with SVE)
:o
Im currently trying to get his schedules working (without SVE) and then ill do the SVE ones... and then I do cutscenes (without SVE) and then the ones With SVE and then hes ready for the all mighty Beta Testing Phase
i also have to put a trash can in his room because i think that would be fun
Fatal error. System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
oh thats fun
havent had one of these in a while
👀
rip
try spacing them further just in case?
(honestly, there's no reason why you couldn't make the warp-ins right above the normal door area, since you're not likely to see him visually teleport in anyway)
Most NPC Warps in vanilla like to pretend they came in through the same door as the player, so they'll poof in right above the interior door.
it was for the aesthetics u_u
ah
fancy warp rune for the blue man y'know
Well, just try to move it real quick to see if it even helps.
To be completely honest, if I saw a NPC appear on a little teleport circle, the first thing I'd try to do as a player was teleport with it too, and be bummed when I couldn't.
In which case, it seems silly to make it a purely NPC Warp. xD
To be fair I was considering letting the player use it as a warp
I think you can make a conditional one that you can use if you get friendship high enough with an NPC
nexus is still doing its whatever with the file but here ya go lily
is there a particular logic behind using . vs _ in internal names?
just noticed i'm using both...lol
no
just convention
I think there used to be a few weird edge cases where one or the other caused weird bugs
ah ok
but I heard that's gone now
if you care, some mods rely on underscores for detecting what mod is applicable in the context
Lookup Anything, for instance
that might be worth doing
i've been slightly hesitant to change things like that in case it breaks compat with old saves using this mod buuuuuut maybe i should go ahead
it would break every existing item that had the internal name changed
yeah
so i wouldnt do it now
eh this one only had like 100 some downloads anyway
may as well do it now while i'm overhauling anyway
(The convention is _ between the mod ID and item ID, to distinguish from the . commonly found in mod IDs.)
I've been using dots since forever lol, too late to change (both my old mods and my habits)
i think i shouldnt be allowed to code while sick
ship it, perfect
it's the attack wind turbines
the one i know of was in pet breed IDs. if they contained an underscore, the pet license code would not parse them correctly and they were not able to be purchased at marnie's. that one was fixed, but i forget which point release fixed it
did the pet breed id thing just trade underscore weirdness for pipe weirdness now since thats used as a delimiter
probably? but i think pipes are not allowed in unique string ids
can editimage be done from like any file or does it need to just be the stuff you wanna replace with by itself?
seems like it should work...
might need a FromArea, if that's a thing
You can specify a from area and a to area so I think anywhere should work
i'll try it out later, thanks
a quick test shows nothing stopping you from using pipes in string ids
gonna use 😻
i support it
one of those weird blocks of text full of emoji but it's a i18n section
(Note that using special characters in unique IDs will cause issues. For example, you won't be able to reference a string ID using pipes in any Content Patcher tokens or conditions.)
content patcher limitations i understand, i was thinkin more about the vanilla games handling of them

