#making-mods-general
1 messages · Page 197 of 1
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
(and there's DP on nexus that some people may see as an acceptable payment)
Okay, confirmed that Lily's mod also works just fine in my game when using a different file name to NPC internal name.
So it seems like there is some common failure in game/CP/SMAPI/??? for Lily and Aeywoo
It also now works fine for me.. so there's that
Depending on what it is I may be able to help
I should probably figure out how to add myself to the commissions thing 
though ive never done commissions for code or pixel art... i wouldnt know how to price those
a good minimum is your hourly wage
best way to know how to price is to see how your peers price their stuff to get a feel for whats average in the community
hourly wage is also really good
im officially done testing all of Qi's events for vanilla im so happy 
you can go higher, but try to not go lower
I don't.. have an hourly wage
I'm disabled so I don't/can't work :L
which is why I'm around here so much oooo I haunt everyone ooo
Then looking at the other comms on the comms page of the wiki is a good starting point
(at least not the work most people do anyways)
i mean, your country likely has one minimal one
Ah yeahhh
That's not very high, id definitely probably charge more than that
s'pecially if im gonna put my time into somethin
I know I charge above that for my basic art commissions so ill definitely try doing some price comparisons, maybe I can set up something on my ko-fi - thank you guys :3
Yeah I would definitely charge more than minimum wage for artistic work
Hmm, I just permanently deleted what I thought were empty folders but there was a file size so now I am afraid I deleted something I wasn't supposed to...
btw, by hourly wage we mean per new hour of work on the commission obviously, not your hourly wage for an entire asset
i decided my pricelist by comparing to someone else's that deal in similar commission types!
yeah! and it's a starting point for people that have trouble pricing their work, especially when they have difficulty accepting their work is worth that much
my country has weakass currency so i understand the feeling of having trouble pricing things :)
im just starting so i did set my prices on the mid-to-low end
and feel free to send your tentative prices here and we'll tell you if they need to be changed 
Hi,
yesterday, I asked if it is possible to use Dynamic Tokens in i18n dialogues. The answer was yes. So I tried it, but it looks like I did something wrong, as I can't trigger these dialogues. Could someone help me with what I did wrong?
All files that should be needed are below X ask if you need more:
log file: https://smapi.io/log/946e05165cf548b288f827ee76ec1387
content.json: https://smapi.io/json/content-patcher/17445f85079c42e3aa1399f800cde7e1
dialogues.json: https://smapi.io/json/content-patcher/c4576ce8270c481e8efcf3a65e75739c
default.json (i18n file): https://smapi.io/json/i18n/7a34f3e3b47a4f15ba819b5d58e7e11e
BTW, is everything okay with the wiki? It loaded unexpectedly for me, including a picture of it (https://stardewvalleywiki.com/Modding:Console_commands#db), so is it only on my end? Other pages are OK.
Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 10 Pro, with 69 C# mods and 50 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
the wiki does sometimes have issues with the theme, if they're there consistently it may be worth letting margot know on her talk page ig?
I'll give it some time to fix itself, but otherwise, I'll let someone know.
Hi, I am would like help please on modding?
what is the db command?
? i uh i mean like id like to put anoither npc in and i dont know how,
db for dialoguebox I think?
(i was asking about another issue than your)
what is your issue and are you making the mod?
if you aren't, but want to use mod, the proper place is #1272025932932055121
have you ever made a stardew mod before?
nope i havent, but id like to try leaarning
i wanted to add my boyfriend into the game
that's good! there's some guides that could help you in the wiki and the modding wiki
...I forgot what the commands are to get them
!startmodding
Making mods can be broadly divided into two categories:
- Content packs are formatted text files, and don't need any programming knowledge. They can add/edit NPCs, maps, new items, shops, and more. To get started, see the list of framework mods, the wiki tutorial for Content Patcher, and there might be relevant guides on the tutorial wiki.
- C# mods use programming code to change fundamental game mechanics. See getting started with C# modding.
Usually it’s easier to start with making content packs, since you don't need to learn programming.
there we go
oop
can you try doing
Patch export Characters/Dialogue/StrojvedouciDenis.Eleanor
once the save is loaded?
then give us the resulting file (that will be in stardew valley/patch export)
!json to share it
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.
I'd like to send a letter a certain number of days after an event has happened. The only way I know how to time things with trigger actions right now is with conversation topics (set a conversation topic for 3 days and then check to see if it has expired). Is there a better way?
The event has a natural ct, but basically same concept
The natural one lasts 4 days i think, so it may not works for your use case
You mean the _memory_oneday etc topics?
Eventseen_eventid no memory key but i need to check format when on computer
There is one that just omit the memory_ part
Ok, I'll do a little googling as well just in case I can find it faster. 4 days is approximatey right, though it would be nice to control it with a little more finesse
does anyone remember if letters respect ${male|female|nb}$?
or the right syntax, I can't recall
automated mail checking:
not pictured: maru's face after the automated mail checker dumps a pile of items on the floor
fixing all the bugs that get reported for it
And that happens for any mod. You always think you're done and you've got it.... and then you start running into bugs the way this GIF goes XD
Mmm.. bugs..
I know I'm not completely done but the bulk of the work is which is what I'm referencing when I mention the hyperfixation thing heehoo
(i also know there's bound to be bugs because I:
A: Did not actually fully test the preconditions for my events
B: Did not even remotely test the special orders, i just loaded the game and waited until i didnt get any red
C: It's modding, there's gonna be bugs)
maru unimpressed at the pile of shit on the floor
would like to know this, too
It should, or at least that is what wiki thinks:
https://stardewvalleywiki.com/Modding:Dialogue#Gender_switch
````This is applied before most other commands or parsing, so it can safely be used in cases where ^ might have a different meaning (e.g. mail text). You can also use ¦ instead of ^, in which case any ^ characters are left as-is. ```
Here it is: https://smapi.io/json/content-patcher/d7084e3d715b4801928d8cd5a8ac803e
Many of them is missing...
In fact, these are only vanilla. So looks like the whole file is not loading properly...
Not sure why...
There should be like 100 there...
Wait! I forgot to delete the old DT token in some of them.
hu, are the give_flowersB and such vanilla keys?
and i see some of your include and load have conditions so maybe something is missing
I did not add them, so I guess they are...
New version of EventsTester now has a command (sinz.check_mail <optional filter>) to check over all the mail entries as well
Deleting the old DT token didn't help, but I tested deleting |DT_dialogues={{DT_dialogues}} (that dynamic token trigger), then they would export properly. So it is somewhere between adding Dynamic Token to dialogues or in the Dynamic Token itself...
Wonder if I can make a CP mod that involves co-parenting??? Would involve changing NPC pathing & schedules.. should be CP-only, right??? 
NPC is invisible yet still shows up at festivals?
Did you set its position?
To be precise, does any of your code have "Target": "Data/Festivals/spring24", or something like that?
Move it to -1000 -1000 then I guess?
hmm
Ugggghhhhh xD Fine. Gotta figure out how to change the setup entry based on a mailflag now
importing tokens in dialogues should work
but without more details it's hard knowing what's going on
I wish there was something like "Reset this floor level" option when interacting with the ladder on the mines, so it makes farming for ores easier
Wonder if it's even possible to do something like this
AFAIK in multiplayer, you have to wait 10 ingame minutes for the mines to reset everytime you go up the ladder
Is there a way to change an actor's position during a festival after normal setup is called? Or am I going to have to have two setup entries and load the correct one based on a flag?
the 10 minute tickover used to be required in single-player, too. it was a crucial part of farming mushroom floors (an old exploit that is no longer possible)
Yeah, I know. Do you need from me to send/test/... something?
i am quite busy with testing for my own mod right now, i don't really have suggestions right now
you probably need to do the latter, since i don't think you have a built-in way to run event commands later than set-up.
what are you trying to accomplish?
When NPC is invisible, don't have him show up at festivals
Apparently not default behavior
I'll go ahead and create two setup entries I guess
I have already written my festival code, but what is the difference between these two? (using Set-Up_additionalCharacters right now)
setup = bad, don't fuck with unless you're changing vanilla stuff
setup additional characters = good, meant for placing your stuff
Set-Up_additionalCharacters is the one that adds them to the map.
set-up is a string of event commands that runs after everyone is added (to do walk cycles with advancedMove and the like)
Technically it's-
yeah ichor's got the right of it - was about to elaborate on the second part
(all them advancedMoves being in set-up, that is)
you can patch in a warp for your NPC off into the void if the mail flag says he should not be around. i expect that would work
(you want to use TextOperations for this. for example, for spring24:)
{
"Operation": "Append",
"Target": ["Fields", "set-up", 5],
"Value": "/advancedMove {{Lacey}} true 3 4400 0 -1 -1 0 2 5200 1 0 0 1"
},```
that one is a walk cycle but if you punt your NPC off to -1000 -1000 or something i expect you won't see them
hey ho : ) how does the monster extermination board in the advernture guild work? since i changed some map tiles it cant be toggled anymore ingame, but i cant find the issue in tiled
the board is a hard-coded action on Buildings tile index 1306, specifically
does anyone feel like walking me through getting this to work how to use Python to use this program? https://github.com/scriptsforweirdos/StardewJA2ConPat
Keep in mind I am a complete beginner with python so It may be a process. if not that is ok
setup, unfortunately. I'm changing vanilla positions for a few characters
This sounds much more promising
you just download python then run the commands
What is the "5" for in Fields?
If that's what you're doing, why not add them into Setup Additional Characters?
Context: Pathos fixed it so that the last entry for a character is where they'll end up
So if you have Sandy 10 4 and later on Sandy 15 27, the game will only spawn Sandy 15 27
Honestly, because I'm out of my depth and thought that I had to modify the setup entry. If there is a better way to do it, I'm very happy to use it
Where is the documentation for setup additional?
Honestly? IDK because I learned my setup additionals by diving into other mods and looking at their examples 
I'm sure it's.... somewhere
https://stardewmodding.wiki.gg/wiki/Tutorial:_Making_a_Custom_NPC#Festivals this might help you, Kantrip!
So, you're interested in creating a new character for Stardew? Good news: with version 1.6, creating a character is easier and allows for more flexibility than ever. However, NPCs are one of the more complicated things to create for Stardew, as they have a LOT of moving parts. This guide aims to provide...
xD lol!!
thanks tia! 
But setup additional will work for vanilla characters too?
It should
i get to this point but any command I type does gives me an error. how do I tell python where the command are located?
at worst, test for exactly one NPC
No probs.
yeah you run the command on the readme from the command prompt, after downloading it
also running py -m pip install requirements.txt from the downloaded folder
hey Pillow, are all your converters linked in one place?
aren't most of pillow's converters in the !converters command?
Or is that one old presently
theyre all in !converters yes
they're also all in sdvconvertergui2's descriptions, with the exception of https://xnb.pillow.rocks
any hint how this specific tile looks like? c:
holy moly i found it, its empty xD thank you alot!
I got this when I typed that command
oh oops
py -m pip install -r requirements.txt
that worked
kind of, got this
also, can a couple of people do me a favor and tell me if any of my mods are showing as blocked for adult content? https://next.nexusmods.com/profile/tiakall/mods?gameId=1303
try just run both
py -m pip install Pillow
py -m pip install pyjson5
i can see all 10 of the mods
I turned all the NSFW tags off the other day and Nexus seems to think that I meant the opposite of what I did
and the mod pages work too for all
there should be 11
is it Immersive Saloon you don't see?
Immersive Saloon is adult
oh
it says when you go to tia's stuff with NSFW turned on, I presume
Anyone know who I could yell at about this?
ok, those both installed. so now I just run the command on the site?
yes
So...
I indeed did something wrong with my Dynamic Token...
LOG: https://smapi.io/log/6cceb52dada14b43a58da8c7bc0b480a
Dynamic token (full content.json file here - https://smapi.io/json/content-patcher/a7f540dd7084444ba61afd2dbac9f081#L17):
"Name": "DT_dialogues",
"Value": "${Mr.^Ms.^Mx.}$ {{PlayerName}}",
"When": {
"Hearts:Eleanor": "{{Range: 0, 3}}"
}
},
{
"Name": "DT_dialogues",
"Value": "{{PlayerName}}",
"When": {
"Hearts:Eleanor": "{{Range: 4, 14}}"
}
},
{
"Name": "DT_dialogues",
"Value": "{{Hana.GNMTokens/Title}} {{PlayerName}}",
"When": {
"Hearts:Eleanor": "{{Range: 0, 3}}",
"HasMod": "Hana.GNMTokens"
}
},
{
"Name": "DT_dialogues",
"Value": "{{PlayerName}}",
"When": {
"Hearts:Eleanor": "{{Range: 4, 14}}",
"HasMod": "Hana.GNMTokens"
}
}```
Due to some reason I don't quite know, CP doesn't want to read my `DT_dialogues` properly...
Is there a kind soul that would help me fix this?
Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 10 Pro, with 70 C# mods and 50 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
(BTW, I already fixed those // invalid tokens: DT_formallity that are in the log file)
If anyone would want to know what I'm doing here, I'm trying to apply my Dynamic Token named DT_dialogues to i18n dialogue.
usually for dynamic tokens I'll have a base case with no conditions.
{
"Name": "DT_dialogues",
"Value": "${Mr.^Ms.^Mx.}$ {{PlayerName}}",
},
{
"Name": "DT_dialogues",
"Value": "{{Hana.GNMTokens/Title}} {{PlayerName}}",
"When": {
"HasMod": "Hana.GNMTokens"
}
},
{
"Name": "DT_dialogues",
"Value": "{{PlayerName}}",
"When": {
"Hearts:Eleanor": "{{Range: 4, 14}}"
}
},
Thanks! I should always have some backup...
However, sadly, that didn't help.
added:
"Name": "DT_dialogues", // backup
"Value": "${Mr.^Ms.^Mx.}$ {{PlayerName}}"
},```
that might not fix your problems but maybe it'll hmm.
see, mine work, except I haven't actually tested with GNMTokens...actually installed
Give me a second, will test without it as well...
Ok so I just got this but I do pyjson5 installed so not sure why
Huh...
It works without it...
https://smapi.io/log/ce076eebb3f949bfaf042012bbd46391
Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 10 Pro, with 69 C# mods and 49 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
DT_dialogues | [X] ${Mr.^Ms.^Mx.}$ Tester prof.6
So there must be an error with GNMTokens...
send the output of py -m pip freeze
oh wait I think I figured out what I did wrong
WAIT!
No, it doesn't work properly. It uses the backup one. Maybe...
try py -m pip install pyjson5==1.6.3
No, correcting "Hearts:Eleanor" to "Hearts:StrojvedouciDenis.Eleanor" didn't help.
Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 10 Pro, with 69 C# mods and 49 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
The whole message does not fit on screen. if you need more let me know
ok, thanks for trying
I have an event in summer that gives the player a non-order board Special Order, and I'd like to introduce a failsafe so that the event can be seen again next summer if the player fails the Special Order.
Has anyone devised a similar failsafe system I could take a look at? There's no queries for failed special orders or anything so I have a hard time coming up with something.
you can set a CT in the event equaling the time of your order and have a trigger if order isn't completed and CT isn't here and event was seen, maybe
{
"Action": "EditData",
"Target": "Data/TriggerActions",
"Entries": {
"TheID": {
"Id": "TheID",
"Trigger": "DayEnding",
"Condition": "!PLAYER_SPECIAL_ORDER_ACTIVE Your_ORDER, !PLAYER_SPECIAL_ORDER_COMPLETE Your_Order, Season Spring",
"Actions": [
"whatever the mark event unseen command is.",
]
},
}
},
``` maybe?
it'll mark the event unseen the next spring if the player has failed the special order
I'll take it, thank you.
Yeah, AdditionalSpecialOrders has two orders currently that are first launched by trigger action, but they're set up so if the player fails it the first time they just enter the pool like normal special ordres
They're not plot orders so
@rotund elm unfortunately I won't be able to add those changes today after all, but I'll get to it when I get a chance 
No worries at all take your time! I am in no rush and the more time you give me the more time I have to work on a few other recolors for the mod!
Here's a new draft for adding random tourists to the Central Station map, which hopefully strikes a balance between flexibility, simplicity, and avoiding conflicts. Any thoughts/feedback on this approach?
(Click 'open in browser' for full size.)
Tia, everything in this section of your Mod Details is still unchecked, right?
Flamingo!
Pathos, while you're here, could you clarify something for me? If I set up a stop as being part of the bus and train networks, the vanilla bus ticket machine is supposed to work even if you haven't unlocked the desert, right?
Yep, assuming you have the latest 0.2.0-alpha.
It didn't for me on the 0.2.0-alpha so I am wondering if I messed up somehow
Am I supposed to replace the ticket machine myself for that one?
I can take a look; can you send me the content pack (and any extra requirements it has)?
Nope, you just need to add your destination; Central Station should handle the rest.
Sure, will get to a computer and send that on in case I screwed up somehow. It's called into my in-progress Zelda mod since those are my test locations though, LOL
So enjoy the sneak preview I guess and ignore the NPC schedule weirdness xD
Yep. I had the same issue with my museum mod where I had to turn the tags on before I could turn them off and it stuck for a while, but in this case it seems to have gotten stuck. I sent something to Support. Thanks 
Also did you see you're hotmodding? 
I did, I lamented the fact that it was for THAT mod
This event made me want to make a mod where, after Clint turns blue, he doesn't turn back
Pathos, I'm gonna split off that stations code and recheck it again before sending it off to you if that's ok.
Then there's some dialogue about how the product has been canceled and an event where Emily helps him, like, face paint to have a normal skin tone
That would be fairly easy to do.
Hello, @ivory plume, while you're here, if you wouldn't mind & when you will have time, could you maybe, please
, help me figure out why my Dynamic Token in my dialogues won't work? (BTW, thanks for all of your contributions to SV modding!)
content.json: https://smapi.io/json/content-patcher/f01e1d3859ac4aaeadb74a085ce198a4
dialogues.json: https://smapi.io/json/content-patcher/7d2ba933e8d147e9ad3fde33ba23985e
default.json (i18n): https://smapi.io/json/i18n/35315a196bb44eb68897adcb9dd40f86
log: https://smapi.io/log/ef7b44e33e6c4897acbc09d4a4f1bd16
(Of course, if anyone else would know, don't hesitate to respond! also, please, ping me on reply!)
Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 10 Pro, with 69 C# mods and 49 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
Sure! There's no hurry.
Which dialogue asset is affected and what specific issue do you have with it? (For example, the wrong value being shown, the file doesn't load, etc.)
Oh I was looking at my decomp earlier today and got confused by something; Utility.FilterUserName has comments saying it removes special characters but in my decomp it does literally nothing [just returns it as is]. is this just a platform specific thing? (like, is this why item id is patched on switch? because on switch they remove the command characters from the name?)
the former is probably changed by porting teams
the latter is because nintendo doesn't like fun
Yep, that method is there for consoles.
that makes sense
Yeah I was just bringing up the idea
Not saying anything to the difficulty
Ah, I thought you were interested in making it yourself since you said it made you want to make it 
Oh, sorry, I posted the wrong log (and forgot to reload the game) and to my surprise, it worked in it, though I haven't changed anything. Creating a new one!
Yeah I am I just wasn't like trying to make it out to be difficult or anything
I don't mind the difficulty regardless, I just wanted to talk about the idea instead
Sorry, I was trying to encourage you by saying that would be easy enough to be a great first project 
this IS the channel for making mods though, but if you just wanted to put ideas out there, there is a github repo for ideas you could submit to! i forget the command for it though
!modideas methinks
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.
thank u
Ah sorry, I'm used to people just talking about the technicals of mod making when I bring up ideas
I find it much more interesting to iron out details than talk about the level of difficulty, too much people in MC Modding being like "that would be this difficult"
If you haven't made a mod before (assuming here since you're new), CP might seem intimidating and/or people might not know what would need to be done for a project. In this case you'd need a portrait edit to overlay his usual portraits that's conditioned on having seen the first event but not your second event where Emily facepaints him. 
Events can be a little tricky since they're scripts with custom commands, but we have a lot of tutorials for those too 
Yeah, I figured the technical difficulties won't be that bad. I'm more interested in ironing out the details of how the idea would look atm
At work right now, so I can't code anything anyways
I can't spawn wild trees using map tile edits on Island_E :/ When I use the same code on Island_W, it spawns perfectly fine https://smapi.io/json/none/8aeb3b19a0904703899f4ed7c05e1fe6
(tbh sometimes people here can sometimes get into "that would be this difficult" territory too but usually its bc a lot of new modders either ask how difficult it would be or assume incorrectly that its a lot easier than it actually is. sometimes it seems like what should be easy is hard and vice versa)
Platform specific
It removes swear words on other platforms but is a nop on steam
Ah hold on, I should be able to use Spacecore to place wild trees on maps
To be precise, it was about both the dialogue not loading & if it would load (which didn't until like now), then about the CP using the wrong Dynamic Token/not respecting its "When" conditions.
Log: https://smapi.io/log/87e1ba29a2a7450fbc30ad99fe10f567
Huh... And NOW it works properly... Looks like your presence fixed it! Thanks and sorry for taking your time!
Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 10 Pro, with 70 C# mods and 50 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
Glad I could help! I'll just need to stick around so your mod keeps working then.
Well, mine is still broken after splitting the code sadly, so I'll send that along shortly.
I mean it states that it replaces special characters that would cause crashes or bugs, not that it's a language filter. interesting if it actually does that instead
Would you prefer I just sent the part of my mod with the location data so it's easier to parse through, Pathos?
A minimal content pack that reproduces the issue would be ideal.
alright, I'll put the location code in a separate pack so I don't have to send the whole LoZ NPC mod over.
Here's the implementation for that method if you're curious:
public static string FilterUserName(string name)
{
#if !CONSOLE
return name;
#else
if (string.IsNullOrEmpty(name))
return "";
string omit = "@#$%^*{}|\'\"[]/\\€£¥¤";
var filtered = "";
foreach (char c in name)
{
if (omit.Contains(c))
filtered += " ";
else
filtered += c;
}
return filtered.Trim();
#endif
}
ah cool
okay note to self, see if there's any fun things I can do with any of the omit characters
Were you using patch reload to reload or were you resetting and reloading the whole game? IIRC you need reload_i18n to reload the i18n and dynamic tokens don't refresh with patch reload. So that might have been the issue if you were.
Honestly, I think that I changed something and I don't even remember it, but...
Looks like I have to improve my troubleshooting ability...
Thanks again and have a nice time! (and no, you don't or at least shouldn't have to stick around
)
While Pathos is putting off mod-fixing vibes: has anyone used FlowerDanceCanDance for a non-romanceable character and gotten it to work? and can I go peek at your code
Yeah, I already found out the news that when changing dynamic tokens, I have to reload the game. Of course, I used both patch reload and reload_i18n many times. I should also read CP guides in more detail.
No worries, I only found that out by other people mentioning it here 
(pathos, while you’re here, I made myself/kisaa a CJB cheats warp button content pack for Central Station for convenience, do you want me to send it here too?)
Oh, that's a good idea. I'll have Central Station add its own warp to CJB Cheats Menu.
Make sure flower dance fix is not installed?
(I tested it with Evelyn during the 1.6 beta.)
Here's the funny thing: if I patch reload, the NPCs start walking like they're outside a festival and will give daily dialogue, but THEN will give me the dance prompt.
I've been getting reports of Satoru Gojo's flower dance text not working either, even though I changed nothing there since last testing in 1.6.14.
(Also, no Flower Dance Fix)
(I have, of course, received no logs for this report)
(also, the thing with not being able to trouble to Central Station from the bus stop until the bus is fixed is still happening, though I have no idea if it was even expected to be resolved in alpha 0.2.0 or not)
I see you haven’t gotten your mod author psychic abilities yet either? maybe it’s at higher total UDL…
Maybe instead Maru takes him in and undoes whatever it is later on 
Is he romanceable in your version? Are you using the FlowerDanceCanDance in your dispo?
I'll have to think out the details of how I want the blue event to happen to make it a mix of immersive and funny
Yes to both
He should be danceable by default if he's romanceable (unless that's locked behind something). Have you tried taking that out and checking?
Well, the thing is, it worked on my testing, tia. 😛
Before the flurry of base game updates and hotfixes post 1.6.9
I just haven't tested it again since
It's been low priority since they never sent me a log
If you send me over/link your latest version, I can check, I'm on flower dance day in my test save
is there GSQ for checking NPC.IsInvisible
no, but there is an event precondition
…that reminds me I need to fix Map Event Markers. It works, but I’m honestly not sure why right now
because I wrote it back when preconditions were one letter and it looks like they are not that any more
maybe that’s why it was having issues with vmv…
Works for me, so I suppose your no-log person had a mod conflict
never assume why someone was having issues with a mod, it’s always weirder than you think /lh
from my experience with nexus comments, if it was reported there there’s even a chance they decided it wouldn’t work without ever downloading it…
Yep, that is why it was low priority to fix xD
Well, at least now you know it's not broke 
Haha, thanks for checking it!
Okay, so I have FlowerDanceCanDance set to true and I have accept/decline dialogue keys. Would anything else be needed?
Like, this patch seems so simple that I don't know what to debug.
@ivory plume here's the minimal repro pack, shouldn't need any mods besides Content Patcher and Central Station.
Here's hoping it's an oversight on my part and not something annoying to fix. 🙂
Is !HasFlag valid as a When condition?
"HasFlag |contains=FlagYouDontWant": false
Thanks, Button
the ! is for GSQs
Again: this does work IF I patch reload and they start wandering
but it won't work playing the festival normally
My flabbers are ghasted, my bams are boozled.
can you roommate the cats
love friend options to dance with
the code is...complex here
No.
Is there anything useful I can put in the log before I upload it?
nah, I'm just codediving
I don't understand why patch reload would make it work, except for the fact that it seems like patch reload breaks other things in the festival
oh @latent mauve I see you ran into the same issue I did - an even more minimal repro is just central station on its own 😅 the bus stop just doesn’t take you to central station until you unlock it even without adding stops right now
Is your location Revali's Roost? It seems to appear for me; maybe the fix just wasn't included in 0.2.0-alpha.
I'll be posting 0.3.0-alpha later today though.
That dialogue box doesn’t pop up with the bus station not fixed in 0.2.0 at all so I think the fix may have just not been included, like you said
central station looks really promising
is Revali the bird from zelda?
Can anyone tell me why some people use "\" in their targets but "/" in their FromFile portions?
Am I missing something important... XD
I haven't tested that yet, but it's something I'll be checking before release. I'll make sure it adds pagination if needed.
-# tube map menu
Probably to match the game (which uses \ in its asset names), but it makes no difference through Content Patcher which normalizes all asset names.
Thanks Pathos, I was worried it was something important
I don't even look at that when I'm travelling on the tube 
Pathos, if you don't mind me asking, when you tested Evelyn dancing, was adding the field to her dispo and adding the accept/reject dialogue keys all you did?
It's been a long time since I tested it, but I think so.
That's literally all I'm doing, I have no idea why it only works with patch reload.
Yes, Revali's Roost was my location
There is another but it requires visiting the Woods first
Either way, glad to know that it will work in the next release!
.choose Mod, Read, Study, Game.
Choose result: Mod
fitting
where is this property accessible in an NPC (c#)?
npc.GetData()?.FriendsAndFamily
If I do this it will make it so goats need a barn instead of the big barn, right? I want to make sure I am only overwritting that one field.
{
"LogName": "Load data for Goat",
"Action": "EditData",
"Target": "Data/FarmAnimals",
"Fields": {
"Goat": {
"RequiredBuilding": "Barn",
},
},
},
anybody know which tilesheet has this animal menu button sprite?
Cursor 16
https://smapi.io/json/content-patcher/932b5a6aa0a540c9a4c8ea640283d264
For unknown reasons to me I cannot replace these 2 sprites from Cape Stardew, anyone know why? I also tried using this path mods/Cape Stardew/Objects/Cape Warp Totem/object
oh duh, thanks
wdym by "cannot" in this case? errors, nothing happening, ?
cape stardew isn't your mod, right?
No
This won't be a public mod either just for my personal modlist
I guess I could just replace their sprite
no that's fine, just asking so I know what is and isn't possible
those targets look incorrect to me, are you sure that's what their asset names are?
where did you find these target paths?
object.png is the asset name and file type, I copied the paths directly from the file explorer
oh I see the confusion
an asset target isn't the same as the location of the asset in a folder, it's an internal label the game uses
you need to check their content.json to see what they loaded those assets to
Ahhhh
that also works, yeah, whichever is quickest haha
(the only place where the asset target will definitely be the path is when you're looking at the unpacked game files)
hm if i want to make a Id field that content patcher can use
I didnt have the game open so I just used the file
it just gotta be called Id and return a string right, i was hoping to ban ppl from actually editing it 
yep thats the target
I would use Objects/SeaCapeWarpTotem/object right
woooh my bugs are working!!!
Bugs?!
Bug Mod?
a very strange sentence to write if you don't know it's in context of making a pack for nature in the valley
looking forward to "added bugs" next vmv
as in, ban them from editing the string but just allow them to access it?
I love nature in the valley
its specifically for content patcher TargetField
i dont want ppl duplicating Id in the list 
ahah 😄 maybe one day i'll make a VMV only pack but so far what i have is some bugs that requires either a foraging level or being in VMV natural areas, so players may get a chance to find them early with VMV installed
oh like so they should be able to edit everything but the ID basically?
(some have a similar thing with GI or being summer in valley)
the road to hell and all that
the good reason is that they genuinely needed ordering
and makes zero sense to ever reorder
sadly reorder is cp feature
honestly I can't picture the issue without seeing a bit more of the context rn so I'm not going to be very helpful haha
yea no worries im just musing on the model design
you reminded me I need to look at the cp docs for custom asset models
because what I'm doing right now makes List<List<Model>> look ideal
gist is that trinket tinker is hella nested since i looked at machines and was like, this is fine
u need 4 TargetField to drill down here
one of which is a #0
Also, just fyi, the order of items in a c# dictionary is known and as long as you remoce no entries is deterministic
i dont think i can like, tell who is edit though
you guys keep reminding me why I stay away from content pack hell
and well, even if it make no sense to reorder to me the framework author
im sure someone will find niche usage for it
Hi loves!!!!!! This should seperate between spouses who are farmers and spouses who are just regular ordinary run of the mill npc's, right?
if (spouse.IsVillager)
{```
so going out of me way to ban it is pretty meh
wait I finally understood what you mean with the IDs 💀 okay I'm with you now, I see the use case
...I think
as I keep rediscovering, json is not my usual preferred flavour of cursed
i dont think i care do anything about the List<List> rn
"TargetField": [
"{{ModId}}_Krobus",
"Abilities",
"#0",
"#0"
],
i just hope to make this last #0 an Id
but also prevent them from editing said ID(?)
guess it could be editable as long as i am fallback to stuff 
this mod has so many knobs 1 more cant hurt
personal fav knob is "how much to squish when u bounce"
I think the issue is if you're setting that ID in a content pack in the first place, right? if you set it in c# then it should be pretty easy to just ignore what any content pack says to do with it
i am doing this in C#
oh, then can't you just make your code not read/use the ID from the cp model? like just discard it and use an internal one instead
idk if I'm explaining this right, my meds are deep frying and scrambling my brain today
yea but newtonsoft doesn't care very much about private 
or default values
a lot of Id fields in vanilla can end up in null
or as dupe
are you reading the model directly into your code then?
?
yeah I assumed that made no sense
if u mean like
I will eat dinner then try to figure out how to make my brain do words good
did i take the time to build a second class from the class built from content pipeline
no
it seemed like a waste
and worry not i already decided what do 
I feel like my solution would be to have an internal underlying ID property/field/thing? that writes to the ID field used in the cp model but doesn't read from it, but I say that not knowing if that's even remotely possible 
its not that different, the main problem is just the individual model doesn't know its own position in a list
Quirks
"abuse of functional programming" same tbh
I had one fp course in uni and use it only for evil
https://github.com/Mushymato/TrinketTinker/blob/main/TrinketTinker/Models/TinkerData.cs is it this model btw?
could you not just set a property with a special public setter that does nothing? and an internal override of some kind that does actually set it
can you even make internal versions of methods or am I making that up
yeah, makes sense, I forgot all the words for things today but I'm pretty sure that's what I was trying to say
and then this bc a member of a list doesnt know it's own position in the list
time to make your own list subclass /lh
i did think about doing something with Abilities set
but im unsure how exactly edits go through 
it seems safer to just do 1 pass at the end and gib everyone the right Id (that is what Quirks.cs was doing)
it is quirks over there cus those r base game data/machine stuff
and feature here cus its my stuff

on an unrelated note, I wonder how hard it is to take an existing monogame game (that I made dw) and turn it into an (unfun tbh but that's irrelevant) stardew minigame
take a look at IMinigame
fear /lh
hopefully not. I'm hoping the underlying stuff can stay the same and all that would need to be modified is the asset pipeline and then just plugging into the iminigame interface
u gotta get ur graphics to scale for sdv ofc
this code is less ugly than code I look back on a year later typically is tbh
they're already pixel graphics and they're ugly bc I was lazy 
i would like stardew tetris please
fun but less easy for 3d pinball space cadet my beloved
from what I know about the tetris people, I'd rather make a stardew disney X nintendo crossover 
the real question when looking back at 1yo code: did I actually write non-spaghettified code for once or am I just not finding the mess yet
hm all this Id musing turns out for naught
i cant seem to TargetField into list of list anyways
oh maybe its cus i use IReadOnlyList
yes
u need special stuff to unpack it
but if u just want to use a particular track, theres a list of the names iirc
what "special stuff"?
question, does the A precondition of events check to make sure the CT did fire and is no longer active, or that it just isn't active now?
i use the xnb hack
[[Modding:audio]]
ty
the ActiveDialogueEvent class in Preconditions checks that the dialogue event is currently active, so presumably !ActiveDialogueEvent will check that it is simply not active
there is no check whether it was previously there
okay, so I need to also have a condition that the event was seen
krobus give me strength to go through 437 sound files...
aren’t one-letter preconditions deprecated now?
the wiki says they are but I’m now seeing there’s no explanation or version number attached 
it also doesn’t list A as a short-form alias for ActiveDialogueEvent at all, weirdly enough

never mind, A is actually double deprecated
🅰️
Random precondition my beloathed
ughhhhh I don't like change 
random precondition?
get with the times boomer /j
ah yes, the two genders, male and not male
just like reality
One of the event preconditions is an rng check with a probability parameter, Random <chance>
in a way, it’s less inaccurate than “you’re either male or you’re female”, I suppose 
gender cactus
what is it you say, atra? I want this on my desk by next week? that
tbh a “fix all the hardcoded gender stuff” framework is sounding more and more necessary by the minute… I already made a transpiler for avi that allows overriding the gendered relationship labels for certain npcs
what about the quantum gender of maybe
technically
I wonder how many (sfw) mods actually check for that precondition though
the quantum in quantum mechanics refers to the discrete grainyness of the universe
so quantum/quantized means "countable"
maybe's a superposition
anyways
sounds like something you’d learn at a degree that doesn’t refuse to come within ten feet of real world applicability, can’t relate
instead of being Smart TM and migrating Giant Crop Fertilizer off atracore, I...fixed up the special orders mod I totally was not working on
oh yeah btw, Central Station has an even lower nexus id than your special orders mod
(found through the alpha’s update keys)
we're rocking 2022 again, huh
when I was rolling for random mods I found so many that were reserved and seemingly never released
it’s fun seeing their names though (if you’re a mod author and don’t want people to see your unreleased mod’s name, do not put it in nexus btw! it can be seen even when the mod can’t)
I saw one today actually that apparently was adding an orphanage
Maybe I'll reserve a mod page, title it "To be released on April 1st" and just never release.
depends
look, that special orders mod was the CP companion pack to a C# mod
I make mine at the absolute last minute and can’t think of a reason not to tbh, other than the fun of seeing how long ago you started
the laat couple I made after the mod was done, but Wren will have a pretty low mod ID because I've been working on her page for a while
the C# mod I released in 2021 and never updated for 1.6
then 1.6 gave the Conditions field
the conditions field is a 1.6 update????
huh
that explains why I’d never heard of gsqs until I joined this server and started modding again 
i have an unreleased mod page from 2 yrs ago if that answers it
Anyways
When I get into the mood of actually organizing the mod page, which is usually never so it's generally the last thing I do. But I did it in the middle of modmaking once.
I wonder if some people snipe fun/round IDs for the fun of it to use later
I used to make the mod page when I was ready to ship, I just got cold feet on a handful of mods. Repeatedly
(looking at you, pathos /lh)
That said, my one remaining mod page I haven't used is, of course, Pam Tries'
i have waited to try and get a good number before but only for mods i did actually plan on releasing asap
central station has 8000
wondeerful number
very well deserved
tbh I was also supposed to be writing the analysis page for my map renderer rewrite but my brain cell is asleep today so maybe next week lol
Always Raining in the Valley has 9999.
So I was finally able to patch in the house for my NPC however I am now running into some new issues! Im not really sure how to go about it some help would be amazing! 1. I have vegtables growing on my house 2. I cant seem to walk on the porch of my house. Im pretty sure I just need to make the porch path instead of building.
and since that’s from 2021 like I said and central station is apparently a new idea… 
reset terrain features
that’s honestly more satisfying than 10000
those r the spring onions though, r u sure u wanna patch over this part
ppl will be sad 
i am quite happy with the number i got for my progress toward perfection mod, 29000, because it's satisfying 😄

less sad and more annoyed that one of only two patches for spring onions is gone now 😅
just plant them ez
Do we have any commands to make NPCs go to the island.. for example the next day? 
…they’re plantable?
with a mod yea
I think you can temporarily set all other NPCs to CanVisitIsland: false with a patch?
are you looking for a console command for debugging or a patch for a mod?
(A mod author who left a while back donated that unused ID to me; I don't reserve IDs ahead unless we're like 2 away from a good one and I'm about to release the mod.)
So how would I get rid of the spring onions because im too lazy to rewrite my code and find a new spot
It sounded like they wanted a console command, irocendar. I just don't know of one, but I do know the patch trick
Console command, but it's just out of curiosity (and to maybe help a user get an annoying event with Razzy)
You can't do it through your mod's Content Patcher. You need to tell your user to use a mod called Reset Terrain Features.
But I guess wctm can work too, it's just less "natural"
I assumed you didn’t haha, I just thought it was neat! I figured you had one left over from an unreleased mod or something and decided to use it for this, but it’s nice of that mod author to donate that ID if they aren’t going to use it
fun fact: there's nothing special about beach schedules, other than them being generated
oh ping, I keep missing that 😭
I haven't tried scheduling someone to go to the island directly but it might be possible with a patch as well if you wanted to trigger the change to happen due to a pre-event condition
you could literally do
"spring": "610 IslandSouth x y/1200 IslandSouth x y change_beach/..."
(Pings are fine! I often won't notice messages that don't ping.)
if u press shift when u reply then ping's off
you literally can just do that
I’m on ipad where none of the fun keyboard stuff works 
pathos can i make my List data model immune to moveentries
pathos can i suppress warnings about entries not found when using moveentries
Nope. Content Patcher doesn't have special-case handling for specific assets, it's just a general framework for editing any asset.
always when ship
i was hoping i could express it with like, IOrderedEnumerable
yes, definitely
or smth like that 
as always, I have suggestions that may or may not be closer to cautionary tales than helpful advice
wasnt this changed to TRACE in 2.5
In theory Content Patcher 2.5.0+ shouldn't log those warnings anymore.
oh was it? wonderful
somehow i didnt think anyone else wouldve been complaining about it
why not make an OrderedDictionary
i want to refactor less

and it'd just end up being OrderedDictionary<int, thing> without guarnetee of continuous so its a bit silly
tbh someone with an active Map Properties mod should do a SpringOnionsZone x y w h
looks at chue or dh
active.
why stop at spring onions 
CropSpawnZone
anyway this sounds like a preexisting feature of pytk
well its dead
of course, The Spring Onions Zone is a very attention-grabbing mod name
This mod is now outdated and will not work
(the suggestions range anywhere from harmony patching content patcher(nested paren, content patcher patcher?) to implementing special collections like you said)
there’s a new version floating around somewhere
idk if i would solve the forest case with a map prop though
do I remember where? absolutely not
it seems like the kind of thing where we ought to just harmony in the most convienant implementation
OopsAllSpringOnionsEveryDirtTile
see I was worried about where you were going with that for a second
that's just the uniqueid
(tbh, in 1.5.6 I had a mod installed that, correctly for a cooking mod, required a lot of spring onions)
(I later installed a mod that would let me grow the stupid fuckers)
Look in the comment section for the update.
the only thing a cooking mod could do to get closer to my heart is put garlic in everything
one of loc 1.0's key features was to put spring onions in fuckin everything
and rice. lots of rice
got it thank you
does loc give me a rice rating
where’s the cooking mod that lets me leave them out out of both laziness, an unwillingness to buy them and a hatred of the texture?
whats blueberry with rice at
no, but i can try and give you one myself
…both (lists three things)
i... wanted to scope creep you and may scope creep myself instead
a machine that just regrow spring onions. you input one spring onion, you get five a few days later.
It's a glass on a counter.
well, if i remember that in some days, and have time between all the stuff i want and have to do, i may do it (or not)
If I add a new item to the game, can I add it to the list of things that can be gifted during events with the awardfestivalprize command?
I wanted to make a new event that gives clothes like Emily's, but as it seems this command only has a few options for prizes and u can't just put any item in the game
so, that command used to be that way, but you can do now
awardFestivalPrize <any qualified item ID>
so yes
there are likely other ways to give items too now
OH MY GOD! For real?!
That is the best update when it comes to modding that I could ask for. I can finally go back and fix one of my events so that I'm not forced to reward a second "Marnie's Portrait" just cause there is no other option.
are all item IDs in the event modding resources spreadsheets and if not is there a way to get an ID for a specific item?
!unpack then open data/objects
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!
cool thanks
you'll get a list, search, the key here is the id
268 in this case, BUT new stuff can and will be a string
(ex)
is there a established sound cue name that's just "silence"
in the objects data there is no furniture or clothes tho. Does it mean those can't be gifted during an event?
any qualified item id from atra's post shows that you can use non-objects, too, such as furniture
they are different kind of objects
they have their own file and their own identifier
the qualifier determines the data type of the item: (O) is a qualifier for an object, like a strawberry, and (F) is a qualifier for furniture, such as a retro table
you can search in Data/Furniture and Data/Clothing for other item names, and refer to [[Modding:Items]] i think for a list of qualifiers
pants are probably (P) but the wiki will be better
Gotcha, thanks a lot to all of u
Can't wait to add some new clothes and go cosplay with Sebastian
Maybe then people will finally stop asking for more Sebastian events, which fair cause the only one I have for him kinda sucks
lol
anyway, thanks again!
I have a question about how spacecore handles animations. There was a mod that animated obelisks through Content Patcher Animations that managed to animate the Farm Obelisk. I converted it to spacecore, but the Farm obelisk specifically isn't animated. Is it because in the base game it's stored in Maps and not Buildings? Does that make spacecore unable to install it and is there no workaround?
the farm obelisk is a map so you don't need any special mod to animate that (just a map patch with tsx animations will do)
you also don't need any special mod for buildings if you change it to draw layers
A map patch, got it. Thank you for answering my question. Out of curiosity, do you know why the farm obelisk specifically isn't in Buildings? It also makes it impossible for AT versions.
you can't build things outside of farm in 1.5
so i imagine thats why mr ape implemented it as a map feature
they probably could have made it a building in 1.6 but they had better things to do, and also AT needs to fix that bug where it doesnt work on buildings outside of farm (for basically the same reason)
Thanks for the detailed answer, it makes sense and I hope some day there's a fix.
theres prob some wacky thing u can do to make it a building now
quite doable in C# ofc, but u need to sacrifice compat for all the mods that do believe it is map patch
is this the channel to talk about mod making in? I got some questions lol
yes
ask away
okay, so, if I were to make a mod that needs both content added and mechanics, how would the mod structure go?
also, do I need to include a Content Patcher dependency in the manifest for the content adder or both the manifest for the mechanics and the content?
what kind of mechanics do you mean?
also, when making a content pack for content patcher, simply putting it as the "ContentPackFor" field is sufficient
you cant have both ContentPackFor and EntryDll, so there's a few approach here
- do all the content editing in C#
- figure out if they actually need C#
- package 2 mods together one with ContentPackFor one with EntryDll
That is actually really helpful! Thank you
Hey ! I would like to create a pokémon mod for water type Pokemon, and add a new type of coop with lake inside, how could I start this project and learn step by step ? ☺️
!startmodding
Making mods can be broadly divided into two categories:
- Content packs are formatted text files, and don't need any programming knowledge. They can add/edit NPCs, maps, new items, shops, and more. To get started, see the list of framework mods, the wiki tutorial for Content Patcher, and there might be relevant guides on the tutorial wiki.
- C# mods use programming code to change fundamental game mechanics. See getting started with C# modding.
Usually it’s easier to start with making content packs, since you don't need to learn programming.
the specific process will vary depending on the specifics of what you want to accomplish
the new coop though is probably all doable in content patcher
we don't have a specific tutorial for farm animals yet, but you can take a look at all silvermoonchan's conversions, Frog Friends (which adds a custom coop) or my mod, Plant Dinos
Ok thx a lot i will take a look !
Yes, I would like to drop eggs by fishing for example and incubate the egg to have a pokémon in a coop, like chickens
since you will need to make the interior map for your farm animal building
and prob stuff about adding fishing data
Thank you, I will read this for maps editing
How do I get my cp changes to load?
hmmm
something somewhat irritating about the hud is that drawing and input are processed in the same order, which means that if you have overlapping hud elements, the one that displays "underneath" captures all the inputs, while the one "on top" obscures it by drawing over it
are you talking about like, ClickableTextureComponents
no, Game1.onScreenMenus
considering writing a transpiler for Game1.drawHUD() to replace the foreach with a reversed for, but idk if it's worth it
does the content patcher Range token have step
Nopr
For getting the target path for the keybindings and settings button for gmcm what file should I be looking at in the source code.... IDK how to understand C# XD
I thought something like that is normally in the main .cs file but I am not seeing where the pngs are mentioned
Thanks Chu 
Oops that's my fork
XD
I will cast my vote for yes, please :3
I didn't even think to check the read me... O_o
It doesn't have a keybind example but it has an example of using the api
You don't have to split into multiple files like i did, I just found it cleaner bc my config got kinda long
(First prototype of random Central Station tourists working!)
(will it be possible to put one sitting on a bench?)
Not directly, but you could just have a bench they're sitting on as part of your map patch.
That works for me
@ivory plume what are your thoughts about translating content patcher docs (to chinese specifically)
since github is spotty in china it'd be best if they could host it somewhere else 
I have no objections, though I'd be concerned about the docs becoming outdated if they don't have a regular maintainer.
yea that is true, though i feel like any doc is better than no doc in terms of getting ppl to do not xnb mods
Central Station preview 3 is now available!
Recap:
Central Station lets you travel to mod locations in a more immersive way using boat, bus, and train networks. It has a central station hub where you can switch lines, visit the food court and gift shop, access pop-up shops from other mods, and more. See info for players and for mod authors.
Changes since the last build:
- Added random tourists to the Central Station map. There are currently 31 tourist spawn tiles (each with a 35% chance of spawning a tourist each day), and 19 built-in tourists.
- Added support for custom tourists from other mods.
- Added warp in CJB Cheats Menu.
- The Central Station map is now loaded through the content pipeline.
- Fixed bus stop's ticket machine not always showing Central Station destinations.
- Fixed typo in shop item ID ('triple shout espresso').
Not included yet:
- Mod pop-up shops.
- Tourists can't choose the areas they spawn yet.
Feel free to try it out and report bugs, feedback, or suggestions here! This is the best time to try adding your mods to Central Station and see if there's anything you don't like, before it's released and the format becomes much harder to change.
Pathos, I don't know whether this'd be difficult to do or within the scope, but is it possible to add an option to make any particular tourist has dialogue box with portraits?
Game1.player.getRidOfChildren(); is officially accursed code!!! ❤️
dolphin portraits agenda
(if u are curious, yes, I am doing something accursed.... it's a exactly one child doving item - any recs what the item is?)
olive wreath but like, evil
It's probably out of scope for Central Station to support directly, but you can set a custom Action tile property instead of using the built-in dialogue fields. So your NPC could call a custom action that supports displaying a portrait dialogue box.
(I'm surprised there doesn't seem to be a built-in action for it.)
(BETAS has one tho—)
(Great! You can use the BETAS tile action in your tourist patch then.)
wait button is it a tile action
What about a Zeppelin for the Central Station?
i thought there was a tile action that called a regular action
forcing dolphin into 2 whole dependencies just to draw portraits
oh im thinking of spacecores trigger action action
button, surely you should implement the tile action that calls a regular action?
i thought it was vanilla already when i said it 
its probably easy to just enmass register a equiv tile action for any action u make right
to skip middleman
they have different signatures, the delegates
but u can just register a local one i thought 
wdym
(location, args, farmer, tile) => actualActionMethod
would i not have to make a new function that takes in the arguments a TileAction expects
hm
maybe have some closure implications ofc
id never considered it
i have used this in one off static methods, unsure if its as easy in ur automagics
With BETAS it can do everything a dialogue command can do, right? So I can can use #$e# to simulate the "Each time the player clicks the tourist, it will show the next dialogue in the list" part?
uhhhh
i dont think so
you can do other dialogue commands but there'd be no actual NPC to attach the dialogue too
Aw.
i think you can achieve the same effect with spacecore's triggeraction action though
by setting a mail flag along with the initial dialogue box action maybe
to determine which one to show
along with the If action
Like first trigger, second trigger, third trigger?
If (mailflag) ShowDialogueBox1 # showDialogueBox2
very pseudocode there i dont remember the syntax for If
(Maybe I could add support for spawning an actual NPC instance, as an optional alternative to the map patch approach. Then you could have regular NPC dialogues with portraits.)
the best way to achieve this effect with BETAS is to not use BETAS and instead scopecreep Pathos
Would it be the simple non villager npc stuff like fizz
i imagine it cant be like, too difficult to just set up static Tourist1, Tourist2, Tourist3 etc Data/Character entries or somethin
and let people edit those conditionally every day or based on your conditions you allow
tho admittedly i didnt look at the new docs yet i was busy so i dont know what restrictions you have on the tourists already or how theyre meant to be edited
Well I can always make dummy NPCs, put them in a void and use the built-in NPCSpeechMessageNoRadius as tile property to call for their portraits, I suppose...
I think they r supposed to be in a pool
maybe let people add their own entries into Data/Characters whose internal names follow a specific format? like CentralStation_TouristFromMyMod
and just pick em out of a hat
Hm so if u can Dialogue the tourists which can action
Hire random mercs from central station 
tbh htinking about it more if adding support for actual NPC instances is too wonky the dialogue break thing can actually i think easily be achieved with BETAS using WritePlayerModData and the [ReadPlayerModData] tokenizable string
just get the dialogue from the mod data and write to it when you're done with the new dialogue which will appear next time the action happens
Button is betas actually a use mod data as kv store framework
it is if you want it to be
you could even change which key you store to by reading the key you wanna store to from another key, which you can change
WritePlayerModData [ReadPlayerModData KeyToGrab] [ReadPlayerModData KeyThatHoldsValue]
could do a buncha fancyu stuff with some clever chaining
Potential syntax to spawn an actual NPC instead of a map patch:
"{{MainModId}}": {
"FromNpc": {
"InternalName": "Fizz",
"DisplayName": "Fizz",
"SpriteAsset": "Characters/Fizz",
/* "SpriteSize": { "X": 16, "Y": 32 }, // optional */
"PortraitAsset": "Portraits/Fizz",
"Dialogue": [ ... ]
}
}
Do I go to sleep because it's nearly 5am, or do I play around with 0.3.0...? 
0.3.0 it is
does it even need an internal name at that point then if you are specifying the displayname, portrait, sprite, and dialogue?
Depends how it works under the hood. For example, maybe you can specify only the internal name and Central Station will grab the other fields (except Dialogue) from Data/Characters. That would certainly make it easier to add mod NPCs to the central station.
what would it do if it chose, say, Abigail but her schedule put her somewhere else
wouldnt a mod NPC have to account for the possibility of being chosen on a random day they cant control
Dialogue is a list of dialogue lines to show in the central station; see the tourist docs.
You can set a Condition to decide when your NPC is eligible to appear, but this would add a temporary non-villager NPC (it wouldn't move the real NPC if they already exist).
so i could pass by Abigail on the way to the train, hop on, get to central station, and see Abigail again?
no different from passing her on the way to the mines and finding her on floor 20
Yep! Just like in vanilla you can see Gunther in the movie theater, then go straight to the museum and see him there too.
tbf thats impossible for me to see anyway as i play multiplayer exclusively
(the Abigail thing i mean)
can we name the tourist who's retired Jatra
Oh, might as well ask something that has been worrying me for a while. If I were to add like, 30 dummy NPCs with zero schedule just to have their portraits, would that be taxing to the game?
don't suppose anyone knows which tilesheet the spouse portraits are in off the top of their head?
thanks Button
All 30 of them would still be updating every tick (even if they end up not doing anything), and there's quite a bit of logic in the NPC code. So it might be a pretty inefficient way to get portraits.
Noooo. 😔
yay the bus station works now 
Dolphin, what portraits are you wanting?
Thank you for the explanation. I'd need to rethought how I did some things, then.
Would it be more reasonable to create them as custom paths instead?
^ just realized you likely mean dialogue portraits
Oh, portraits for dialogue box. I am making a mod that gives all interactable character in vanilla game a dialogue portraits.
ah, gotcha
I'm curious right now about the Owners field for the permanent shops, though it doesn't seem to be implemented yet so I'm guessing it's either coming later or a tentative design?
Shopkeepers use the custom portrait path which is why I got confused
unless it's a normal part of shops that I don't know about
normal shops have that
Because I've absolutely used it for adding portraits for the bookseller and traveling cart lady already
_>
(Portrait art by cresolyn).
so if a location isn't unlocked, does the ticket counter not get put in at all? like the desert doesn't seem to have one if I warp there before I unlock it 
how frequently is npc appearances checked 
like are they only able to change clothes when they change map
I sense crime in that question
no im doing less work for myself
yes

you can call the function manually whenever you want
nice i slacc too
but they only call it themselves when they change map
you speak as if abby is sentient
also their appearance isnt synced so if you update it manually it wont change for farmhands
or rather like
I don't see a ticket machine in the desert after I unlock it either 
it might be synced but it got overwritten like immediately
when the farmhand did its UpdateAppearance check
Desert doesn't have ticket machine, does it? You just go inside the bus.
bus only takes me back to town, not central station
Aa, in context of Central Station.
same with the boat from ginger island it seems, you can go to those places from central station but you can't directly get to it from them
I've been away all weekend so I hadn't had a chance to test until today, but fyi, so far the Color field on item spawn rules added in 1.6.9 doesn't seem to function (I've tried RGBA as a space delimited field, as a hex code, as a name, both with and without the copycolor flag. (copycolor: true does work, but it ignores the color field on the spawn rule and instead respects the tags on the input item). I'm going to decompile stardew valley again and see if I can spot the reason
I think I've asked this before but I can't remember, can I make a building repairable like the beach bridge? Give some materials to fix it up.
wouldn't that just be an action, then an event and map edit?
Or Unlockable Bundles
Not sure, I guess I should look into it more. Didn't think it'd be that simple.
I would think that's how you would do it, but maybe not
maybe an action like that can't take items from the inventory, that could be the limiter
It's ObjectColor, not Color
someone with a pc pls fiz the wiki
oh, if that works I'll see if I can update the wiki
I can do it via mobile.
Where's it listed.
@ivory plume when the Willy's boat repair quest is in progress, Central Station prevents it from being completed by preventing the batteries from being donated to the ticket stand (and also preventing the ticket stand from showing the dialogue regarding what materials are needed, which is important since this does not go in the quest journal)
(Screenshots: interacting with the ticket stand with or without the battery packs in inventory, interacting with the anchor with the iridium bars in inventory, interacting with the anchor without the iridium bars in inventory)
right now it's just here: https://stardewvalleywiki.com/Modding:Migrate_to_Stardew_Valley_1.6.9#Item_data_changes it hasn't been added to the item spawn page yet
Best to report it via the bug reports forum. Disregard.
But it's Pathos's mod
this is for Pathos's mod he posted from an alpha here?
And Pathos is not CA
It's a bug for the mod we're helping him test right now... and I pinged pathos not ca...
Ahh, I thought you pinged ConcernedApe, sorry.
regardless, this is the mod pathos himself is sharing for people to try and test, so this is the correct location with bug reports, not the forums 😅
I know, I just said I thought you pinged CA.
So just change Color to ObjectColor?
Does anyone know what he want?
That's a #modded-stardew question
Or even one of the non-modded channels if you're not playing with mods
pretty sure that's not vanilla trash bear 😅

If you can pls add it to https://stardewvalleywiki.com/Modding:Item_queries as well 
They're definitely using mods, that's a mod-added item and a retextured trash bear 
Oh yeah haha
I'm testing now Aeywoo, but thats what Selph said, yeah
Actually that's quite cute, I should find that trash bear retexture
(You can use Lookup Anything to see what the item is.)
I think it's Elle's Town Animals, if I remember right?
I discovered the LA thing by accident and I was so relieved because I had NO idea what trash bear was asking me for (it ended up being paella)
Fixed in the upcoming 0.4.0-alpha. Thanks for reporting it!
I spent weeks just unable to tell what it wanted lol
yup, that was it! thanks Selph!
It is, thank you! I would never have found that on my own.
also, pathos, was there supposed to be a ticket stand in the desert? or are you supposed to be able to get to the desert but leave via bus?
Item spawn fields section?
(either way is good, I'm just not clear on which it's meant to be)
Currently there's no ticket machine in the desert or Ginger Island, since you technically got there via Pam/Willy; you'd need to have them bring you back, then you can go to Central Station from there.
There's also What Does Trash Bear Want which adds a pop-up telling you what he's looking for, if that helps 😄
yeah, it would be in Item spawn fields
that makes sense!
What mod is this?
Yes I saw that! Which is a good idea but I am already a die-hard LA user so I am sorted. But I can recommend the other one to other people in future, I guess!
We're discussing Central Station (see the [earlier alpha build post](#making-mods-general message)).
Time to console command the boat fixed mail in so I can try out the going from central station to ginger island 
Ooh, fancy.
(although interestingly, adding objectcolor seems to have removed the stack size! I'll work on that tomorrow, gotta head to bed)
I wonder what the most cursed central station stop condition I can come up with is
doesn't BETAS define some fun new GSQs--
I thought about random, and it's good, but we can do better 
raining in winter
yeah a couple last i checked
theres one for whether or not you are currently swimming
a certain npc is in a completely different location? (using BETAS)
see I assume you can't interact with machines while you're swimming but I'll admit I never tried
why WOULD you assume that though
I keep hitting enter by accident 
you can gate a location behind perfection progress with BETAS, or how many empty slots you have in your inventory, or whether or not its a farmhands anniversary
instead of making an enum
player speed + random = true bus experience of sprinting to the bus that came in halfway between two scheduled times
but only if theyre NOT currently holding up [insert item to bribe the driver with here]
oh there's one for having split wallets in multiplayer. take the bus only if you have your own money, thief
is there a location has monsters gsq
thatd just be handled by their own money
lemme get back to you on that in a sec ineed to check how a gsq works
If I want to set a mail flag but not actually send a letter, I don't have to add anything to Data/Mail, right?
correct
there's one for if a location has furniture
just send it to the received mailbox
ok no there is not i think
...if farmhouse has no furniture, open up a bus line to a furniture shop 
there is LOCATION_HAS_NPC which if you dont specify a name will just check if there is any NPC in the location, including monsters and pets
huh neat
if you specify a name though it will only check NPC names
this wasnt the intended behaviour really or else i woulda handled monsters better maybe
the bed probably always counts as furniture though I'm guessing?
beats me
this is to be defined as "dealt or taken damage in the last 5 seconds
what other mods add gsqs 
the reasoning is that some maps r hella big and full of monsters but u r not in combat all the time
(this is not a GSQ)
wild unsubstantiated guess but I don't think the base farmhouse bed is a furniture
I don't think it's anything
BedFurniture inherits from Furniture
i already have OnReceiveDamage/OnDamageMonster so its pretty easy to just
mine
no isnt the base farmhouse bed just a tile action of am I misremembering severely
tho you dont have a way to cancel one if you keep doing damage
its hardcoded
thank you for enabling this crime selph
i dont know if its a tile action but i know for sure the game adds a BedFurniture object to the farmhouses furniture list
It used to be a simple tileaction, now its coded into the bed to make it movable
a lot of mods add random ass GSQs though
i think there is a property to make a map or area considered as safe, so if you pass out there nothing happens, there is probably one for setting up an area to sleep as well?
enjoy, a GSQ that's usable in only two specific places - MTF and SpaceCore crops
i will absorb them all and become the biggest GSQ cake /j
(dw I used the governor command haha)
tbf i also have a hyper specific GSQ that is literally only usable in one exact place and in conjunction with one specific trigger from BETAS
Spiderbuttons.BETAS_ITEM_ENCHANTMENTS
but why is custom tapper framework MTF? 
Back TouchAction Sleep Ends the day if the player confirms. so that does exist.
i have GSQs specifically for putting trinkets in machines and one about equip only X number of them across all players
oh yeah my book mod also adds an undocumented secret GSQ
