#making-mods-general
1 messages · Page 332 of 1
I just checked your mod permissions. You will be perfectly fine to report their mod and get it taken down if they do upload the whole thing. I've had a translation taken down before and it was i18n. I just reported that it was done without my permission.
There goes benefit of doubt then
and that it was best practice for opensource codebases to just... commit the keys to git
Person not good at English translating a mod from English...? Yep, that'll end well
Bad at english is wrong descriptor
Okay, thank you! I was starting to think maybe I was in the wrong since they said it was normal
More like unaware of modding docs which r English
“It’s normal” is the lamest excuse for plagiarism I have heard in my life
It's true that there are definitely very different modding norms in some of the other languages for Stardew.
I mean yeah... but it always strikes me as abstract when someone who doesn't feel comfortable with the 2 languages, upload translations of all things (machine translations ofc)
They seem to have done it with a lot of other mods
New quote added by atravita as #6409 (https://discordapp.com/channels/137344473976799233/156109690059751424/1380532895638097970)
Am I allowed to post the username so people can check it out?
I have a do not machine translate condition in my translation requirements specifically so that I can snipe people like this, I have to admit
I'm decent in english, but I'd never even attempt to translate something into native language, cause half of English stuff doesn't even have a proper translation in my lang 
I might have been slightly lied to about this based on some more searching. Maybe? It seems fairly vague whether the IL is also hashed and that signed within the manifest or not.
hey quick question, would it be okay if someone went on a vc here with me because i'm getting confused.
Localisation is a gift when things don't translate directly 
Yeah
The thing I worry about is the ability to sign in post
But even then you could match it against my public key
In my github
True, another thing is probably that I just don't consume any media in my native language 
It's not great but it worns
I'll do proper code signing at some point... I just need to financially justify it somehow.
in my view, we don't need globally trusted code signing
I mean I will for releasing the game I'll eventually release.
And when I have that, no harm applying it to my mods.
That's awesome, dh
SMAPI itself would need it if we wanted end to end supply chain, but smapi mods can get away with a CA that SMAPI trusts, up to and including its own
Not many of us really do VC, sorry. But you're welcome to ask more questions in here or in a thread so there's less cross-messaging.
SMAPI owning CA?
Not that kind of CA!
i think CA here is certificate authority
Oh haha
A smapi owned California
doesn't need to be a full certificate authority and just a valid digest server
Aba, we finally get cancer warnings on everything
And if this ever happens, it's absolutely going to be when the security changes come into play.
smapi fronting an Azure Key Vault instance is Close enough™️ though the premium tier might not make financial sense
what's a digest server in this context? search engines just giving me http's username/password auth
https://github.com/dotnet/sign was what I was looking into earlier
Alright ty for letting me know.
Rn I have The tmx file with the edited Forest. the tsx file for the door i posted and the png of it too. wich ones do i need and wich do i not?

Well
English is my first language but I barely watch anything in Hindi or Kannada or Konkani
You don't need .tsx files at all if you don't have tile properties or animation data for the tilesheet. If you're wanting to transfer tile props/animation data from one map to another you export a .tsx file from the source map and then embed it into the target map. Then delete the .tsx file.
In your case I doubt you ever needed the .tsx in the first place since it's unlikely that your door tilesheet came from another map with tile properties or animation data that you wanted to preserve. If I am correct, you should be able to delete the .tsx file (just move it to another folder outside your mod folder for now).
Whoops, I failed to finish my thought.
I think the answer is no but since both of the Junimos managed to overlook your question I will ping them both so they can say for sure @fading walrus @blissful panther 
(Unless they answered you privately for some reason in which case I will look silly!)
Yeah, I took it as a no 
actually the premium sku of keyvault's pricing is fine, this would be low volume and its entirely usage based pricing
Aba's definitely right here! It would arguably be a bit too close to a public callout. You can send it through to Bouncer, though. I have to admit I'm curious to have a peek.
We do, but not usually in the context of "this person is doing a bad thing", I don't think.
Yeah but previously I'm psure we linked translators to ask if they r legit
"hey look at this cool mod/modauthor" vs "burn the witch" are different contexts
That said you would really want someone with more than 0 knowledge to glance at the tl in this case
We have in SMC, I don't know about here in maincord
*more than 0 knowledge of russian
Oh dear I just made my Stardrop even less readable
(We do not want people linking profiles as part of a "go after this person" campaign, no. Perfectly fine if you're doing it in a positive context tho!)
It wouldn’t be to burn the witch, it would be a ‘check if your full mod has been posted here without consent’
Sending what alab said, send via bouncer but not here
so now when i code in the map edit (not load this time), do i use the door's png as the "FromFile"? the other alrenative i see would be the tmx of the whole edited forest map but idk if thats the way because that is the one missing the "TileData.tx"
You will need a full tmx to add new sheet
But you probably want to redo it starting from a new copy of Maps/Forest.tmx
Crop that down to wizard tower and then add in the sheet
No you don't want to use the .png file. You need to crop a copy of the forest map down to just the door (making sure you add the door) and then use the ToArea field to specify where on the actual Forest map you want it to be. I am recommending cropping a copy of the forest map so we can avoid the TileData.tx issue.
ohh i see
alright will try

is it the zip file that has the attestation or the files inside the zip?
how do i crop it?
Right now the zip. I considered doing the assemblies too, but that's a lot of attestations...
You can use the Rectangular Select tool to select the area you want to keep, then go up to Map -> Crop to selection
for a mod security concept it would need to be the dll(s) that have it, as the user will unzip the zip file
Actually, no, it should have the assembly in there too...
I think I did an oopsy.
TY 🙂
(Indeed)
@lucid mulch Look what happens when I don't forget a single slash in the path pointing to the assembly. 
So if i got smartbuilding.dll from suspicious site
How can u know it's ur build
What's the mechanism to check the sha here
Oh, there is no casual user friendly way.
You hash it, and check the sha256 hash against the one in the GitHub release, or the attestation. This is more personal satisfaction and being able to prove if absolutely needed. 
alright this is how far i got. from what i can make of the log the problem is that i'm using the unpacked content Tilesheets and not the xnb ones?
Log found, uploaded to: https://smapi.io/log/c5b27a75638c474ab23b84d7d794517d
Nope, ignore the mention of .xnb. Red herring.
The problem is tilesheet directory climbing.
You must not edit a map without every single tilesheet it uses being in the same folder.
so i have to separate the tilesheets and the map with a folder?
No, the opposite. You edited the map while it was in one folder and the tilesheet was in your Content (Unpacked)/Maps folder.
They have to be in the same folder while you edit it.
Yeah, that's because the NuGet site pulls the README from GitHub, but its parser kind of sucks compare to GitHub's. I might need to handcraft a simplified README just for NuGet.
You can fix it by right-clicking on your .tmx file and opening it in a text editor. Do a Ctrl-F search for source and you'll find something like source="spring_outdoorsTileSheet", except there will be a bunch of slashes and dots inside the quote marks too. Remove the slashes and dots so it only has source="spring_outdoorsTileSheet" and then save and test again.
Ah, I see. That explains why I remember those links working before and they don't now - I must've been on the github before but every time since then I can't remember how to find it so I google it and end up on the NuGet page instead xD
just searched and found like 5, all of them look similar to this. should i change all of it to just "spring_outdoorsTileSheet"?
Change all of them to just the tilesheet name. I can't tell if that's what you were asking or if you're asking if you should literally change all of them to "spring_outdoorsTileSheet". If the latter, no. Keep their own name.
the game crashes now unfortunately
Log found, uploaded to: https://smapi.io/log/b87d1c6f24b24dbc90f7dfc39f0fbe30
i fear i did an oopsie
Yup I have no clue how you managed that
yippie
Were you loading an existing save?
Log found, uploaded to: https://smapi.io/log/89ecc3788d994de888c8f1dea29d8504
Anyone know if I have Item name for example "Fried Egg" or have ItemID string for example "194" how to get the other one? (get name or get ID, I'm trying to compare two lists)
You saved with a reference to a zero width tilesheet
My bad should have clarified, doing that within a C# mod
ohhhh
!unpack
Follow this guide to unpack the game's content files in order to see and explore how the game data is structured.
It's helpful when making your own mods, or just to learn about how the game works!
Data/objects
Map the key to the name and back
How would they have managed to do that? By mistakenly editing it when they were editing the xml?
How does one do that? I'm new to stardew modding
yeah i deleted the width="400" height="1264 part
Oh I see. By mistake?
Are you new to c#
I'm not telling you anything specific to stardew
Map = hashmap
A bit xD
My question tho is how do I load the list from Data/objects
!yellowbook
A good book for learning c# is https://www.robmiles.com/c-yellow-book
Key value= json object = dictionary
Array with integer indexes = json array = array/list
Ok I think I got it, but maybe there's a better way to do what I'm trying to do tho, maybe you could help me? I'm trying to find out how many players haven't cooked any cooking recipe in the game so at the end I'll have a dict with for example "194" as a key and 3 as a value if there are 3 players that never cooked fired egg before
the game itself keeps track of recipes the farmer has cooked, via Farmer.recipesCooked (a dict of unqualified id to times cooked)
so just iterate over every farmer (Game1.getAllFarmers()), check if their recipesCooked has an entry, and return that count
or getOnlineFarmers if you only care about online players
Dunno what Im doing wrong but it doesnt work for me
I just changed the ogg path and the mod ID
anything in your logs?
You definitely have ogg right?
nope
yeah
1614 is a curious value to use in a TIME query
Its the exact moment when the NPC reaches the piano
Nothing plays
Wait, is it possible to play a sound through an event and that event being called through her schedule?
ive been looking at Elliot's events and saw a command called playSound
event commands are not reachable from schedule scripts, no
sad
i have an unfinished mod that does allow you to set up ambient sounds and music tied to NPC schedule animations, but it's unfinished and unreleased
ow, I guess I should simply wait until its released and make her "pretend"
If u ever release it, ping me pls
probably what is happening for you is related to this (from the wiki):
Music (Optional) The music to play when the player enters the location
so you would have to enter the map during the TIME window, i think, in order for the music to play
I entered between 4:14 and 5:00
Nothing playing
And I was already warned about it
Can u patch export Data/Locations
See what is already defined in ElliottHouse music
Another thing you can do is debug gq WEATHER Here Sun, SEASON Spring, TIME 1614 1700
It should show whether the query is returning true for you
When you have been trying to figure out what is wrong for way too long and it’s because you wrote e instead of a 
If my NPC's Home is the beach, what would happen when the Night Market season starts?
In theory the map ID it's different
The home wouldn't be there if you don't also put it on that map
Same for all of the other festivals that use the beach, it'll vanish
So how do I make her to not despawn on Night Market season?
Should I add this to the disposition json?
No I don't think you understand
She'll still be there, her entire house will not be
You need to put the house on all of the beach festival maps to keep it there
ah, not a house, she's in the beach itself
You said "the NPC's home" so that was confusing
You need to give her a schedule for the Night Market days that puts her on this map
the Night Market version
how I do that?
Do you have any schedules?
https://stardewvalleywiki.com/Modding:Schedule_data Okay scroll down to the "Normal Schedules", the first one should help out
Im seeing it right now
but it would fix her not spawning despite its her home the beach?
That'll get you the day, and the map is... one sec
She is spawning
She's just on the wrong version of the map
yeah!
Thats what Im saying!
The beach is her spawn point
I KNOW the night market has a different ID
It's BeachNightMarket if Im not wrong
So, I need to add a condition SOMEWHERE in my json to tell the game to spawn her as well while the Night Market is ongoing
But dunno where or how
You don't have to spawn here there, I mean, you just need to move her. Hang on, digging through my own schedule for my night market stuff
the point is in theory she came from the ocean itself, so her spawn must be there
like, at the beginning of the day she emerges from the ocean, since she's a Water Demon. The NPC is based on an existing anime character, so dont overthink about why she's what or what she does in the beach
Sorry I'm not sure I'm being clear, I mean that you can fix this before the player sees it basically by moving her. Or... you should be able to. It seems like it's still just "Beach" on that day, if I'm not mistaken, but spawning isn't updating to the right map like scheduling does? Hm
Idea: Have her start the day in Willy's with a 0 schedule that day and step outside at 6:10. It'll happen before the player could possibly see it, and it SHOULD get her onto the right map.
and it'll still look like she just spawned on the beach
they told me that adding an schedule at 0 is not recommended
with my mod I can see it
I guess you could try to move her and hope the schedule puts her on the correct beach.
.
Well yeah, she's not there now, I mean that if you have her start in Willy's and step outside at 6:10 and it works like it should, no player will notice this transition happening
You can try it, with a conditional for night market days
If it works for Leo, should work out for you, after all! It's just weird because "Beach" works fine in scheduling.
Suppose scheduling and spawning are handled differently
This is correct?
I think so, though remember you might need to rest a day to see if it works.
then I need to do it in another savefile
You could also use CJB to set it to the day before Night Market and then sleep
I did that for a lot of day-specific testing
huh
And her schedule seems broken
she moved over the water instead of following her winter schedule
needs to be an specific prompt instead of winter in her schedule?
You could try giving her a specific schedule/dialog for night market days?
I'm afraid that I'm not sure why this would happen in general
I returned a few days before Night Market and her schedule is back to normal
Seems to be broken on Night Market days only
By the way, from what I understand, 0 schedules aren't recommended because of NPC doubling issues, but those issues SEEM to rise mostly when NPCs use a mix of normal schedules and 0 schedules. I have an NPC that uses entirely 0 schedules and I haven't got any reports of doubling with him
Wait what? Im on Night Market days and now she's doing her normal schedule
I dont understand
Oh you may have just needed to rest to kick her schedule into gear
Schedules are REALLY finicky when changed
In the first try, I changed the date to Winter 13. I rested twice until Night Market days, then i shown this pic,
plus the dialogue issue its bc I forgot to add Monday dialogues
That'd do it.
wait
could it be because i saw a cutscene the night market day on the beach?
so her schedule got messed up
somehow
I wouldn't think so
its a fresh savefile where I swapped the day directly to winter so events that shouldve happened way much before started to trigger now
CP is throwing an error because I'm trying to use Random on a null set. I understand that's a problem, but I was using When{ "HasValue: {{theset}}": true } to try and prevent that.
{
"Name": "dynTokenName",
"When": {
"HasValue: {{TheSet}}": true,
},
"Value": "{{Random: {{TheSet}} }}",
},
Also tried using a "Query: Count{{TheSet}} > 0"
InvalidOperationException: The 'Random' token requires input arguments.```
Is there no way to prevent Random from being evaluated when the set is empty?
Is TheSet your token
Ooooh, ok. Thank you
trying to make warp between these maps and this happens, i tried taking a screenshot to see where i was on the map and i just don't appear. Anyone got any idea as to what could be the issue
Wiz did you find out what tile 6,9 actually is atm?
no i have no idea where it's teleporting me
try using debug ppp in the smapi console wiz
it will print out where the player is (ppp = print player position)
what do your map properties look like? I'm wondering if there's a rogue Viewport Clamp causing issues here.
when in doubt, debug ppp, trust me /lh
says i'm at 10 56??? my map isn't even that large
12 27 Wizadroid.TGW_Hallowed_Haven 18 9 13 27 Wizadroid.TGW_Hallowed_Haven 19 9 10 8 Wizadroid.TGW_NeithUpper 2 18 11 8 Wizadroid.TGW_NeithUpper 3 18 14 9 Wizadroid.TGW_NeithBasement 17 4 15 9 Wizadroid.TGW_NeithBasement 17 5 i just use the warp stuff in tiled, it's worked for the other maps
which one is the one that's doing this
first two
could you post here/dm me the two tiled files? just so there's a fresh pair of eyes on them in case it's obvious
if you've been staring at this for a while things all start to look strange
...i'm allowed to do this right? lmao
Both your maps are loads, right? If you patch export on your maps, are they the same?
Command would be something like: patch export "Maps/Wizadroid.TGW_Hallowed_Haven"
it just lists out the tilesheets i'm using?
The command should give you a folder that contains your map file + all the tilesheets used on it
There will be a folder named patch export in your Stardew Valley game folder
Yeah, if you have a code acting on it, that'll show up in the patch exported version, which is why I wanted to check that. 😛
Is there a way to turn any map added by mods to a PIF room? You guys said they are basically identical to normal maps, so i wonder what should be done to make them "available" as extra PIF dimension maps. Maybe just copy-pasting the map in a standalone mod plus editing ... what exactly?
I'd check the PIF documentation for this
will take a look and report back with sure to come questions, ty!
An unrelated question: is there a limit to the number of mails i can have in my collection tab? Or, if i get too many from mods, they'll overwrite older ones?
Not that I know of?
there's no limit
should work the same as the item collections tab, yeah
it should add pagination as necessary
in which case, see shipping collection that has god knows how many pages with all the item mods installed
too many, that's how many
how hard is it to make a festival?
im not making one right now but wondering
also? how do i add gift tastes for modded npcs?
This should have everything you need to know, but if you have specific questions I can help answer
https://stardewvalleywiki.com/Modding:Gift_taste_data
Also this has everything about creating Festivals:
https://stardewvalleywiki.com/Modding:Festival_data
I'm guessing a lot of the work is just scripting everything out, and optionally adding compatibilty for modded NPCs
So u can make a passive festival or an active one
Both r a bit limited in terms of what exactly will u do without C# to make minigame
ahh i might do a passive one
but idk since i am new to coding
one things for sure i gotta finish the recipe mod
btw? how do i add more items? without breaking the code?
for the recipe mod
This might help:
https://stardewvalleywiki.com/Modding:Items
cool cool!
also? for adding items from wildflour's atelier goods? what do i input to allow for users to be able to use any flour? wag adds different types of flours and idk what to put in the recipe data nor the spacecore data
it shows up but it only allows for wheat flour which is ok... but i wanna allow for any flour to be used
You need to use context tags if you want to describe a type of item instead of a specific item
https://stardewvalleywiki.com/Modding:Context_tags
tried to but flour is an item in vanilla
Recipes need spacecore for context tag
still trying to get that
tried to input flour_item to specify that any flour can be used
but it only pulls vanilla flour
idk what im doing wrong.
can i just input flour_item in the recipes section and it'll pull from this?
Try using Lookup Anything with data mining fields enabled, and hit the search hotkey to look up the items and tags they have
i'll try that
for what chu was talking about it, look up this section in the spacecore docs
sweet! i did that but in the recipes json? it'll still pull the vanilla flour
which i want the flour to still be an option but i know the item in question can be made with other flours
also? is 5k too much for the recipes??
like 5k gold?
It depends. Look at it next to other recipes. What is it more expensive than? What is it cheaper than? Is it more/less worth it than other recipes?
cool cool i'll have to double check
ok..... dumb (panicked) question... my tiled crashed pls tell me there is autosaves...........

or restore file or something
worst as in least, or worst as in like, actually bad effort
im goign to fucking cry that was like 4 hours jesus christ
why
I think it is about most effort to least udl/other popularity metric
whether it helps to take a break or jump back into working on the map, hopefully this means you're better at making the map for the next time - and you might end up saving more often as a lesson learned
using System.Diagnostics.CodeAnalysis;
using StardewModdingAPI;
using StardewModdingAPI.Events;
namespace DisableJoystickChat
{
internal sealed class ModEntry : Mod
{
public override void Entry(IModHelper helper)
{
Helper.Events.Input.ButtonPressed += (sender, e) => { if (e.Button is SButton.RightStick) Helper.Input.Suppress(e.Button); };
}
}
}
this is probably my lowest effort:UDL ratio mod. so little effort it fits into a code block
(my highest effort to udl ratio is definitely Mirror Mode)
nothing's beating mirror mode any time soon 
definitely not. gonna hold the record forever, most like
I already answered most (the cracker extractor), as for least, uuh probably white coconuts
it also only has 300 udls but it's literally 5 seconds of code
hmm how hard would it be to make a prismatic slime egg?
well, hatch a prismatic slime from an egg - making the egg itself would be easy. Ooof, am I scope creeping again?
I think its a great idea
it would be a special order reward with East Scarp
hrm i guess you can make a slime farm animal and then hand animate the prismaticness (spacecore)
there is a prismatic valley framework for actual prismatic colors too
how does slime farming work?
its very hardcoded
You can spawn prismatic slimes with FTM too. I've done that
i dont think u can breed a prismatic slime
Well
I have a special order where Luma demands you bring her slime eggs - either 10, 25 or 50 depending on whether you barter her down.
Surprisingly annoying is my verdict
And I need a good reward for it
so the best bet would be to mock it up as a farm animal and make a "fake" one?
or steal your mod?
maybe I'll just have her give you an apple. Like "here's your awesome reward"
(she's not the most hinged Junimo)
behold the vessel of my fellow junimo
honestly, it'll be hilarious if someone competes the 50 egg request. (She can be bartered down to 10)
A jar of slime mayonnaise
honestly I kinda like the icea of her just giving you some random relatively worthless item too.
I"m guessing it's broken in 1.6 anyway
I need to learn C#. Lol. There is a course...
Still love the idea. You're free to take it
just need to fix the transpiler on DayUpdate right
well I already have custom slime incubators stuff
Thank you, when I learn C# I'll fix it. Heck, if I knew C# (With any level of confidence) I'd fix all your mods that I've used as well. But that day is not today. And I don't think a 14 hour split course will get me to the level required.
atm I"m just gonna have her give you random junk for lols.
I also need to learn C#. I started the course, but I've been distracted by other (more fun) modding stuff.
actually, maybe a rare seed
maybe I can just toss it into EMC
whats ur number 1 atra mod that needs updooting
atracore
For me? Atra themselves
Rare seed if you do the full 50 quest, otherwise random junk for the lolz. /only half joking
(but I think it needed atracore)
atravita++ 26 coming out in near future
that works amillionand1! For 10 you get a shiny red apple.
heck full 50 she could give you a stardrop
is giving stardrops in mods ill advised?
It's perfectly fine to except the fact that it might eat the active object
Actually I think it's fine, the willy letter does iirc
pretty sure you can gift it. Hmm, aside from the potential eating of active objects.
50 stardrop tea
it was more "how OP do we want Farmer?" I think Boarding House used to give you one.
I think FTM can safely spawn those, but it's been years and versions since I tested 
It can and I have Esca
This made me think of making "stardroplets" as ingredients for the Stardrop recipes (cooking Stardrop tea), though I believe someone already made a mod with 'Stardrop'-based recipes.
MAybe I will go stardrop teas
and a bright shiny red apple for 10 slimes
I shoulra let you barter her down to 1.
you can give stardrops probably but if they work they will cause a bit of wonkiness
She takes money from you if you do that
bc the achievement that checks if you found ALL of them actually short circuits and returns true if you have over 508 s tamina
regardless of how many drops you actually found
also, they wont show on the skills page, bc thats hardcoded to the specific mail flags for the vanilla drops
the former can cause the steam achievement to be granted early and also affect perfection
Ill stick to tea I think
trying to see how many slimes I can add to an event. Suspect 50 might lag it.
welp, next version of EMC will now allow custom slime eggs, and slime egg hatches (including prismatic). no other atra's prismatic slime features though
Yay!
EMC is?
oh I have that one!
so the egg isn't part of it currently?
but I can add an egg?
(conditionally and optionally)
sure, it's all CP
I don't want anymore concrete requirements unless I absolutely need them
but cool bonuses for peopel with extra mods installed is fun
Now I want to see if the slimes all attack the farmer
(if so, I"ll add an NPC no pass tile and see if that helps in a cut scene)
hmmm can you lose health in a heart event?
okay it seems not
I'm pretty sure hits and such don't work in events, since that's why monsters don't work right in active festivals
hehe
You can use spacecore to damage the farmer in events
I don't actually want to in this one! DEcidedlyHuman adding the slime code for events but warned they'd exhibit normal slime behaviour
I have used it often to hurt the farmer: )
that's 25 slimes. Now to add another 25. See if it crashes
I think I need a few more blue slimes
whoo the transpiler works first try 
its power is too strong
are you adding eggs?
(unfortunately prismatic slimes cannot breed more prismatic slimes. though mayhaps I can fix that too with another transpiler)
nope, but you can add your own item, and add the slime_egg_item tag + the custom EMC tag to make it a custom slime egg
ugh my cat is all over my desk atm
EMC is framework so yea you pick up the dependency and then make the egg as required by [docs pending]
okay so 50 slime looks pretty unhinged. And whether farmer would walk into a room filled with that many slimes, I dunno.
I wonder if NPC blocking will keep farmer protected
slime charmer ring should still work right
oh you don't get hurt, it's just a bit insane to imagine a farmer walking into a room with that many slimes.
I've also seen NPC barriers break the farmer in cutscenesso this is something I need to test thoroughly
👀
dang NPC barrier didn't brek farmer but it didn't stop slimes either
maybe they can just run outside
er ma gerd babby prismatic
i see you learned your lesson
Cutie
also, poll: these hatched prismatic slimes will spawn prismatic jelly when slain. do you:
- want it to not happen
- want it to happen (and do the work of making prismatic jelly trashable + not get removed on quest end yourself, both of which is doable with edits to Data/Objects and Data/SpecialOrders)
1
(I went with 2. Mostly)
I made it not a quest item and gave it a few extra uses
Ie, you could gift it, cook it into prismatic toast
also hmm, strange, according to the code they're only supposed to drop the jelly if the quest is active
@inner harbor given that you may or may not be the only first user of this feature what do you think 
Given I added code for a special map patch if you give prismatic jelly to Victoria, I kinda want it to happen but very very rarely.
(since I discovered you can gift it if the special order is not active)
ie: if you spawn it in
could you make it so that the jelly only spawns as loot once you've completed the special order?
so you cannot cheat the special order
sure, I can add a global knob for "jelly spawn chance from hatched prismatic jellies" which you can edit with CP when flags
Changing the color of certain light sources is probably something that should be written via Harmony, right?
Looking in Object.cs, see the light source code. Probably understand it.
I was wondering how difficult it would be to change the color of the campfire.
the placable version that you can cook on?
linus' is just map light right 
It might be different because it doesn't look like the other lights.
Or the campfire is this.
Incidentally, how would I know what changes smapi does to the game? Turns out something that I made only works multiplayer if both players are on vanilla or if both players are on smapi - one vanilla and one smapi player makes it not work (triggeractioncommands and mail flag)
ok so 2 ways here
- harmony transpile Object.placementAction (terrible)
- when player enter location, search for a Torch object with id 278 and alter it's
lightSource, additionally, hook GameLocation.objects.OnValueAdded
Thanks for saving me from butchering innocent code.
i guess u can also use the smapi event here
ObjectListChanged
this will let you detect if a Torch object with id 278 got added
hm guess u have to actually check for context tag campfire_item
but only 278 let u cook so
what is the exact error here?
so is one player on the more fast impl while the other is not?
A smapi client with literally zero mods and a vanilla client will cause unexpected behavior
while two smapi clients or two vanilla clients will provide expected behavior
(and unexpected behavior, to be clear, is that some mail is successfully sent [mail that is meant to show up in the inbox but not read] while other mail will not be [mail that is sent to the received folder])
interesting, i wonder if the netcode stuff got jiggled just enough because smapi hooked various events
i dont know if theres anything besides just looking through the source here https://github.com/Pathoschild/SMAPI
fwiw smapi itself doesn't use harmony (it bundles it for mods to use)
You got me on the right path, chu. Thanks again for all the help you've given me.
why do i start so many projects when i have so many unfinished? like im making characters and i just made a new character when my other characters aren't even done yet lol
out of curiousity- what is the map editing tool for like making new farm maps? :3
game accepts tmx or tbin
like- if i make something- im gonna essentially have to learn from the ground up 😅
the last time i made any sort of mod- was back in the very early days of CP 😅
pfft- i love this bit in the info about tilesets- "They are confusingly named"
so the recommendation is, make a copy of a existing vanilla farm map, and tweak it until its all nice 
uh- what about if id wanna make a new varient map?
like one to choose at the start- that doesnt overwrite any?
you still have to do this part of making a tmx
but after that you load it a bit differently
alright
i figure- its good to have as a base to work from regardless ^^
i remember waaaaaay back with harvest moon back on the snes- using map editors on the rom to make custom farms 😅
honestly sdv tools are a lot easier to use than romhack stuff
yeah-
and i was like, so young back then- thisll be easy XD
(just be more of a time sink than anything now)
but anyways for additional farm setup, vanilla has an example (meadowlands)
u can ofc look at how farm mods are made in general
cave farm 
and was hoping to figure out enough of making maps- to make a cave themed farm :3
but ofc- id have to learn how to utilize other creators tilesets for assets and such as i learn it and set them as requirements on it ^^
well you can start a bit smaller first
make a custom greenhouse 
all u really need to do for those is a Load over Maps/Greenhouse
the basics r the same anyhow
um sorry eng isn't my 1st language, so im not 100% sure but do you say "clothes store"? clothes shop? fashion store?
thanks will do!
am glad to see theres a linux version of tiled ^^ (im very much considering making the shift over to it when i build a new pc)
You could make up a fake brand name if you want, but otherwise just clothes shop is fine i think
thanks!
fully unrelated to making maps and such- i keep finding it odd that more content arounda Joja isnt made- like so much story stuff could be done around it
(ive had ideas for it in the past, but they elude me atm 😅 )
so like for loading a map in via CP, which action would be suitble for like experimenting with say the greenhouse map? the 'EditMap' action?
as the wiki says the 'Load' action really messes with compatibility of other mods =/
@inner harbor just updated EMC on Nexus, see docs here: https://github.com/zombifier/My_Stardew_Mods/tree/master/ExtraMachineConfig#custom-slime-eggs-including-prismatic-slime-eggs
nifty!
Guys I want resized white_chicken PNG 64x112 to 16 x16 to make a pet chicken .. I'm with Photoshop, and I should create a vertical or horizontal page on Photoshop ?
man making a slime egg prismatic like a shard instead of changing colors was not easy
do you have questions regarding the emc functionality or is that unrelated 
oh I realized you're talking about spriting it probably
hi, you can just open a copy of the White Chicken.png file in photoshop with Ctrl+O and edit it in-place, maybe duplicating the layer first with Ctrl+F so you've got a working copy and a reference to the original
or instead use Ctrl+Shift+N to make a new blank layer to work on if you're drawing a whole new batch of chicken sprites, rather than editing the original
thanks
opening the file is the easy part, drawing a new chicken is the hard part hahah
if you're just changing the colour you can do it simple enough, one colour at a time, with the fill bucket tool (G) and roughly these settings (note anti-aliasing/smoothing and contiguous pixel fill are disabled)
PS doesn't really do simple palette swapping since it's not a sprite art program, but if you're familiar with the tools you can get a decent approximation using the various Adjustments options
what program u sugest for sprite art
cat.png or dog.png in Photoshop he exact dimensions (128x288) and cut out each 16x16 chicken sprite from your White Chicken.png dam
I use aseprite, but people also use libresprite (free) and Krita
i'd also happily recommend PaintDotNet but it's more PS-lite than an actual sprite art program
(Krita is not built for sprite art, though)
I want to create a chicken like a pet for using a nice hats
Oh yeah, I used piskel on my browser at one point
i shall make the usual “aseprite is fwee is you compile it 🤓 “ comment
because cat and dog is much larger them a chicken I believe gonna be a pain change ever sprite
how
well i did the files but now I need the image LUL
yep, unfortunately you can't seem to change the size of the pet sprites. the animation frame data simply takes a frame index instead of a source area, and there's no width/height settings as far as i can tell
the grid size need to be 32x32
in that case, even though there's no tool for it you can just use Ctrl+Alt+C to open the Canvas Size dialogue and set the chicken.png from 64x112 to 128x224, and move each frame over to fill the new space
probably set the anchor to top-left
nice tip blue
u are very good
i never used PS for this normal jsut for logos and change photographs ^^
i'd just drag each column along by 16px and then move them all over by 8px to centre them, and then repeat for each row
dam
you can hold shift while moving to lock the axis btw
i need more them 2000 dpi on mouse so slow LUL gonna try 3400
sadly i think this is actually the quickest way to do it hahah
side note, you'll want to put a shadow beneath every chicken sprite, since pets have their shadow baked into the sprite and farmanimals don't
thanks so much
I never thought on shadows LUL
@ivory plume My upcoming mod (an in game navigation system) gets stop data from Central Station using
StaticHelper.GameContent.Load<Dictionary<string, CentralStationStopModel>>($"Mods/Pathoschild.CentralStation/Stops");
which handles CS's default stops as well as stops added by mods using content packs. However with the new adaptation to allow CS to handle Bus Locations and Train Station packs I noticed that those Stops don't seem to be part of the asset I'm loading. Looking through your code I suspect that API-added stops are likewise absent from the asset, but I haven't tested that. In particular, it looks like this method https://github.com/Pathoschild/StardewMods/blob/develop/CentralStation/Framework/StopManager.cs#L54 gets all stops to then display to a player in game while the Content asset only includes the first set (the ones managed by yourStopManager's ContentManager).
If it's not too much trouble, would you be willing to add those other Stops to your Content asset? I suspect this is a small use case, tbh, but thought I'd bring it up.
Hm, is there a way to apply and/or trigger a map patch as part of an event?
I have a map patch that gets applied after an event is seen currently, but I'd like to change the way that map looks within the event after a certain part without having to use a transition to pre-baked temporary map for immersion reasons, as there are a number of other mods that may also affect how that particular map looks.
can u TAS it
I'm assuming that's... temporaryAnimatedSprite? Didn't know that was a thing that could affect the map. 
well its in an event right
you may display a temporaryAnimatedSprite "preview" of the patch perhaps
i dont really know what you are imaginging so it helps if u give more context
Essentially, I have an event where a character builds a shop with the farmer. At the start of the event, the map has one patch applied that makes things look one way, and then after the event a different patch is applied to make it look another way.
I'd like to be able to apply a different map patch within the event to show that changeover process, if that makes sense.
i dont think you can reload a map in the middle of event yea, so you will have to fake it with visual tricks here (such as temp anim sprite ofc)
Hi! The stops come from three sources: (a) the data asset, (b) the C# mod API, and (c) legacy Bus Locations + Train Station stops. The data asset isn't meant to be a comprehensive list of all available stops. If you need that in a C# mod, I could add a mod API method to get all current stops (with options to pre-filter by current location and conditions).
im also not sure how you can instantly apply the map patch just after an event 
At the very least, they'd probably need to exit and re-enter the location.
BETAS PatchUpdate
(easiest way is to just have the event say something like "I'll have this set up tomorrow")
Special Order Board construction gets around this by forcing you to see the scene as you enter the map where the special order board exists, I think?
I could be wrong
i guess u can use mmap TAS for this shit too
(I would honestly look at the special order board construction to see how that works)
make it go away after event 
It's actually applied at the start of day before the event based on a character's heart level, and the event triggers upon entering the map when you reach that heart level, so you never see the state of the map before the event is over, so that part's actually fine. 
u good then just use an event TAS 
u can perhaps have fun and do a grand unveiling kinda animation
Good call 
so the map is already with building but u use some event stuff to setup ribbons or whatever
oop, forgot to turn off ping, apologies
it's all good
how do you do the effect where the skateboard spins away in sam's six heart event? https://www.youtube.com/watch?v=vtDH-qXzg5k
All of Sam's heart events in Stardew Valley 1.5. It includes the heart 14 event. Chapters below!
00:00 Two Hearts Event
01:22 Three Hearts Event
03:18 Four Hearts Event
04:22 Six Hearts Event
05:42 Eight Hearts Event
08:34 Ten Hearts Event
10:50 Fourteen Heatts Event
Thanks for watching! Please leave a like and subscribe.
stardew valley, star...
thank you!
most (if not all) of the specificTemporarySprites are very hardcoded
Yep, gotcha. And, yeah, an API method would be great! I would request that along with target location and tile that it also include the displayed destination name as well as the gold cost (i.e the data that is in your Content asset) so that my UI can tell the player about those things. Since I already have the various condition checks written on my end, any filtering you make available would just be a welcome bonus to simplify my code and make it more likely that my data reflects what is in game accurately, so I would appreciate that as well.
Dangit, I knew Pathos was going to be doing another update run when I saw those newer update numbers in the changelogs. I should've waited! I updated yesterday and now they all have updates again.
@brittle pasture to clarify: NOTE: Despite being a field on Data/Machines, it will globally affect every prismatic slime, regardless of from which incubator they spawn. does this mean if I adjust the data/machines to make the slimes not drop prismatic jelly it will affect the one that spawns in the mine too so if I set it to 0, then it'll screw up the specialorder completion?
ah I should clarify, that field only affects incubator-spawned slimes
it wont screw up the special order
okay good. Cos I don't want people cheating for the special order.
also my egg is bloody ugly but it turns out making prismatic sprites is hard!
... and I can just do it like this? "Lemurkat.EastScarp_Prismatic_Slime_Egg": { "Name": "Lemurkat.EastScarp_Prismatic_Slime_Egg", "DisplayName": "{{i18n:object.prismaticslimeegg.name}}", "Description": "{{i18n:object.prismaticslimeegg.description}}", "Type": "Basic", "Category": 0, "IsDrink": false, "Price": 7500, "Texture": "Mods\\Lemurkat.EastScarp\\esobjects", "SpriteIndex": 62, "Edibility": -300, "ExcludeFromShippingCollection": true, "ContextTags": [ "color_prismatic", "slime_egg_item" ], "CustomFields": { "selph.ExtraMachineConfig.SlimeColorToHatch": "prismatic" } },
if Extra Machine Config isn't installed, will it break if there's something in CustomFields that it doesn't understand?
CustomFields are just strings, if nothing reads em then nothin will happen
you can put whatever you want in there
also it should be "Prismatic" (capital P)
but yep what button said
coolio, I don't need to add when conditions on there then
awesome, you're wicked, thanks both of you
Is it safe for me to add a Custom Field to the Slime Incubator or should I be using append or something?
(in case someone else has added something)
target field CustomFields is fine
it's a global config so there can be conflicts
"LogName": "Prismatic Slime code",
"Action": "EditData",
"Target": "Data/Machines",
"When": {
"HasFlag |Contains=WizardReward": false
},
"TargetField": [
"(BC)156",
],
"Entries": {
"CustomFields": {
"selph.ExtraMachineConfig.HatchedPrismaticJellyChance": 0.0000001
}
}
},```
move CustomFields into TargetField as well
(once WizardReward is true you have a much greater chance)
I wasn't sure about that
Here's a build which adds a GetAvailableStops API method; see updated API instructions. Can you let me know whether this works fine for your usage?
"LogName": "Prismatic Slime code",
"Action": "EditData",
"Target": "Data/Machines",
"When": {
"HasFlag |Contains=WizardReward": true
},
"TargetField": [
"(BC)156",
"CustomFields"
],
"Entries": {
"selph.ExtraMachineConfig.HatchedPrismaticJellyChance": 0.1
}
},
don't want to make the special order too easy
Luma's going to mail you the egg so I can still have her give you an apple
(Her roommate proposal item I've now decided it going to be a golden apple. She may send you on a quest to get it)
so will removing the "quest" from the prismatic jelly stop it being removed automatically?
no, it's in the special order data
something like ItemToRemoveOnEnd
null it out and you're good
ah cool thanks - I belief outside of the special order time you can also gift it, but maybe not sell? I spawned one in and gave it to Victoria once to check this
Yeah I think the "unsellable" part is from the Quest type
you can change to Basic and I think it would make it sellable while keeping the quest the same
At a glance at the API, I don't think it quite fits. Per the remarks in your comments I see that your condition check is targeted only at the player's current location. As a navigation system I need to check conditions that are like "if the player were in this location (but may or may not be currently) then is this destination available?" That allows me to give directions from A to B to C when "B to C" is only available if the player is in B. I do this on my end by modifying GSQs that contain "Here" with the relevant location (B in that example). Can you modify this to not check the conditions beforehand and let me run those GSQs with my modifications? I only check them one time each time a player requests directions, so in my case this isn't much overhead at all.
(Looking through your implementation, I realize this adds a bit of overhead on your end)
Content Patcher has Tokens for "HasActiveQuest" but not "HasActiveSpecialOrder"?
doesnt seem so hmm, could be a good feature request though
you can workaround it probably?
actually, hmm nvm
there's a GSQ condition
which may be why it was never added?
can definitely make changes afterwards.
okay time to test
how frequently does "random" get generated in a content.json?
Random tokens rechoose when they're evaluated, generally when a new day starts. The randomness is seeded with the game seed + in-game date + input string, so reloading the save won't change which choices were made.
Hi everyone, I have a problem I can't get Hyper Speed-Gro from bones, I get Basic Fertilizer
Are you making or editing a mod? Or just using someone else's?
I'm trying to make an upgraded bone mill, I changed the input ID for Hyper Speed-Gro and it worked, but when I set the value to 881 for Default and Hyper, I only get Basic Fertilizer
I'm assuming that's machine output rules and needing to move entries
(pls use smapi.io/json next time!)
you need to put all the outputs inside the same OutputRules entry
currently only your top entry gets checked
two triggers leading to two outputs basically
note that with 100 walnuts you'll get a 50/50 chance of either basic or hyper. will that be what you want?
I sent a test file, I'm just trying to figure out why I don't get Hyper Speed-Gro when using bone items RandomCondition I'll set up
so you have two entries in OutputRules with identical triggers, and machine rules go from top to bottom so it will only ever pick the top one
you need to merge them, OutputItems is a list that can have multiple entries
I've been struggling with this for a few hours, I don't know why I didn't think to specify the Condition in the OutputItem
Thanks!
yep looks good
one more thing, if you want to always give hyper speed gro if the condition is satisfied you can move it to the top and set UseFirstValidOutput to true
(double check that that's the right name, I'm doing this on my bed inbetween browing deltarune theories
)
In this case I'm using RandomCondition, the goal was to get better fertilizer after getting 100 nuts for balance Thanks again, maybe I'll use UseFirstValidOutput somewhere else
If I'm modifying a dialogue file, what would you think is the likely culprit if a {{Random: var1, var2, var3}} in a line gets output as { in the box?
Are you using EditData or Load?
That question was to you by the way
I'm using EditData
Then probably a formatting typo, I think. Can you share your json? (Using smapi.io/json)
Unfortunately, not right now. I'm actually away from computer and thinking about bugs in my code while doing something else
Ah, I see.
Here's an expanded API with a GetAllStops method, which disables all filtering except the networks (if specified) and basic validation.
how do i make it so my custom building can be painted?
It doesn't seem to be documented on the wiki yet, but you need to add the building to the Data/PaintData asset and create a Buildings/<building type>_PaintMask texture; you can look at an existing paintable building as an example.
Hold on, here's an example. I remember how I formatted it, anyway...
debug speech Penny 0Don't you think the house would look nicer if it was {{random:red, blue, green}} $h
To add to what Pathos said, this is the most I could find on the wiki about it: https://stardewvalleywiki.com/Modding:Migrate_to_Stardew_Valley_1.5#Paint_buildings
Were you actually doing it via the debug speech command? Because if so, the reason it wouldn't work is because that doesn't go through CP and therefore the token won't be evaluated and instead will print as plain text.
It works in patch parse though
yeah, I was using debug speech to test the commands before I put them in the dialogue file. I didn't actually add the thing to my json, yet
Then yeah, you can't use a CP token for that. Only the game's native tokens.
Okay, I'll try to see if this works in an i18n file when I get home, thanks!
the contents of i18n can't have cp tokens, only placeholders (that use a subset of cp syntax) which you can pass into the i18n token
The random token won't natively work inside i18n either because tokens have to be passed through with i18n keys, but I'm not familiar enough with passing tokens to tell you how to do it with Random. Try just doing it with a normal dialogue key at first so you know it works, then read this page to figure out how to pass it through into the i18n.
Looks like this works as expected! Thank you so much for taking the time to do this. I'm hoping my mod, World Navigator, will be published in about two weeks in case you want to use that as a timeline for making this public. If not, no worries. I can always just have partial CS support (via reading the Content asset) before then.
Does Content Patcher not recoognise Meadowlands farm? : this "FarmType": "Meadowlands" doesn't seem to work.
you want MeadowlandsFarm 
Thanks! The other tokens don't have "farm" attached to the name and that one isn't even listed on Github
i'm not sure if it's meant to be, given it's only found in Data/AdditionalFarms
ah okay. I thought it just listed vanilla farms
mm, i'm not sure what i'd do with it myself. it makes sense to add it to the list imo
Dangit its clearly patching but its not working.
Like im trying to overwrite a map warp and its jusf breaking the warp altogether.
wait I effed that up mightily, where on earth did I get 0, 7 from?
its 2, 9
Debug mode is giving me incorrect coordinates
how do i write it in the content.json?
also, i tested my mod but the building is not showing in the Shop Menu and in the Map:
https://smapi.io/json/content-patcher/32ebb9cd511745efaec0c3be0f23662a
the skins thing is working tho
just not showing the texture of the buildings
Sorry for the late reply. Actually, you reminded me to delete it. I don't know if it's me or SkyFeed being useless, but it's very hard to get it to work (I tried to add you and you didn't show up in the actual feed). It's better if someone else creates it and just uses a hashtag to filter posts out. I won't do it because I rarely go into Bluesky or any socials anymore. Feel free to create one yourself if you're active on the platform and up to it 
lune has one and i occasioinally get follows from it. just ask them to add you https://bsky.app/profile/lune.ink/post/3lqdurc4d622m
for most intents and purposes, the 1.6 meadowlands farm isn't vanilla as it uses the AdditionalFarms mechanism
ive only ever made like 5 mods and they were all for different games but i got an idea for this one so ill wing it
i want to add guns :D
Horrifying! Go for it!
and the gotoro empire and turn it into a war RPG
Sounds like a lot of C# and prayers
C# shouldn't exist
but kent makes me think theres guns
Depending on what aspects of an RPG you want you might need C# for the more complex bits- then again you could definitely accomplish a lot through frameworks and content patcher features
huh
Same ..Kent needs a mini gun to stress out
You know a lotta games wouldn't exist without C# right
In fact they could exist just with c++
Different languages for different purposes, I'm sure there's a reason why people prefer to use C# over C++
But c++ is very hard
The world would be a better place without C++
Idk why
You dont know why C++ is hard or why the world would be better without it?
Yap
That did not answer my question 
The word be better
Oh well I can't answer that one
I can't figure out
I'm a newbie programmer at best, just learning the basics of C#, so I wouldn't know in the slightest
But u get the point each language gets his own purpose
in $CURRENT_YEAR anything done in C++ can be done in a better language instead.
Memory safety has rust, raw performance was done in raw C anyway, and if they are boring there is Zig and Go
Good point sin
the only reason people use C++ is because theres existing C++ code, no one does greenfields new C++ projects
Linux kernel is mostly C, with a sprinkle of rust, avoiding the plague of C++ entirely
[Please know I'm nodding along to this as if I know literally anything that's being said here, but I do not. It's all very interesting though]
C++ isn't a memory safe language (though neither is pure C) and theres a reason why governments have been trying to advocate for moving to memory safe language for anything important https://media.defense.gov/2023/Apr/27/2003210083/-1/-1/0/CSI_SOFTWARE_MEMORY_SAFETY_V1.1.PDF
though a game would not count as something important
Siz the only thing the government's under is how cheap it's gonna be to create something
if that was the case, they wouldn't be advocating for rewrite everything important
would be cheaper in the long term due to less costs in analyzing whether its rugged and safe enough, but not in the short-medium term
Believe me writing is one thing and reality is other
How many companies and even government institutions got hacked
Just because they don't want spent more 5k in better servers
many, mostly due to memory corruption vulnerabilities caused by C/C++.
the remainder are mostly social engineering attacks
How can be possible in 2025 people using java programs on the web for documents
same reason most institutions still use mainframe
I don't get it too
if it ain't broke, don't fix it.
Of co
1st time I used c# was coding XHTML Thank god for not using it anymore was painless to coding that crap
We learned c++ as our first coding language in uni. "Implement your own data structure" type stuff.
I kinda miss it. Was a lot more fun than c#, even if it would be a pain to code anything larger than those educational toys in it lol
Wow that stuff to dam
I mean hello world was also in c++ we didn't start with data structures XD
Also for the first couple months we wrote programs on paper by hand. Not joking. They would be like 5-10 lines long and we would be graded on, like, not forgetting the ;
Still thing Pascal is a useless program but fun to learn at the time
Your teachers do the same like they did to us dev by pencil and paper
Tonus dev?
👍
Yeah I think it was good. Really drilled the basics into us
Heh. We learned with google
Stack overflow-fu
Our program was a bit of a mess so one year we had a project in java before the semester where we would actually learn java
Now /that/ was giving us skillz
I don't remember much about java, haven't used it... just about since. Javascript........ yeah
I remember java is c-like in syntax and like c# but cross platform. That's about it
"I think it was normal" type thing
Python is so easy compare what we have learned back in those days
Ah, I see, thanks for letting me know!
Will do!
So, hello
I hope I'm on the right channel for that. I was preparing myself to play my first modded playthrough and one mod I was planning to use is Farmer 2.0 ESWF. So I used Poltergeister and Jazzybee portrait creator for my farmer's portraits and I was trying to make my outfits with fashion sense content pack but I didn't manage to find outfits that fits my farmer's appearance (and I know that my stupid brain will not be satisfied if my outfit doesn't match with my portrait). So I thought "Maybe I could create my own fashion sense content pack for my outfits ?". But I'm still a bit lost before starting. I've looked at Floogen documentation on Github and I think I got the base but it's more for the artistic part that I'm still lost. Do I need to respect a certain size for the sprites ? Or make spritesheets ?
Sorry, I'm new to this so I don't really know what to do. Thanks in advance for any help provided
!unpack you want to unpack the game's files and take a look at how the farmer's clothes spritesheets are arranged
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!
Thanks. I will look into it 
it's like this btw
@steel plaza You leveled up to Cowpoke. You can now speak in our voice channels and share images in all channels!
You need to do Load for all these
assets/NeighborCabin
(or internalassetkey)
If the intention to use the vanilla cabin textures then change the Texture field
Looking at your json, for example, at this part, you call for the asset named assets/NeigborCabin for your Texture. { "Id": "{{ModId}}_NeighborCabin", "Name": "Neigbor Cabin", "NameForGeneralType": null, "Description": "A cabin made for your farm", "Texture": "assets/NeighborCabin", "Condition": null, "BuildDays": null, "BuildCost": null, "BuildMaterials": null, "ShowAsSeparateConstructionEntry": false, "Metadata": { "ChimneyPosition": "61 11" } },
However, here the asset you Load is not named assets/NeigborCabin, but instead Buildings/{{ModId}}_FarmCabin { "Action": "Load", "Target": "Buildings/{{ModId}}_FarmCabin", "FromFile": "assets/Buildings/NeighborCabin.png" },
So either you need to make your Texture field on your building skin calls for Buildings/{{ModId}}_FarmCabin, or you need to Target assets/NeighborCabin as your asset load.
so yeah this is the version now:
{
"Action": "Load",
"Target": "Buildings/{{ModId}}_TrailerCabin",
"FromFile": "assets/Buildings/TrailerCabin.png"
},
also on the texture, i did this: "Texture": "assets/Buildings/[Cabin Name]"
Well you gotta put whatever is in Target into Texture
give me an example
Once you loaded something you need to use Target to refer to it
Stardew Valley 1.6 revamped how buildings work and now you can add a new building with just Content Patcher. There are also new ways to add textures/skins to existing buildings that have advantages over previous methods. This guide will walk through how to use these features, starting from "put my new building in the game please". If your goal i...
...
There are many examples in the guide
Click [Expand]
For your case the first example shows loading the texture and then putting the loaded Target into the building's Texture field
Your Texture field here. { "Id": "{{ModId}}_NeighborCabin", "Name": "Neigbor Cabin", "NameForGeneralType": null, "Description": "A cabin made for your farm", "Texture": "assets/NeighborCabin", "Condition": null, "BuildDays": null, "BuildCost": null, "BuildMaterials": null, "ShowAsSeparateConstructionEntry": false, "Metadata": { "ChimneyPosition": "61 11" } },
And your Target field here. { "Action": "Load", "Target": "Buildings/{{ModId}}_FarmCabin", "FromFile": "assets/Buildings/NeighborCabin.png" },
Must be exactly the same.
If you put this in Target Buildings/{{ModId}}_TrailerCabin and this in Texture assets/Buildings/[Cabin Name] You are referring to different assets.
Either both must be Buildings/{{ModId}}_TrailerCabin, or both must be assets/Buildings/[Cabin Name]. Pick one.
lol
this is the updated one: https://smapi.io/json/content-patcher/f1a9098dad2241708e187765799929a0
You can't exclusively Load the same Target asset more than once. I see that you have two of this. { "Action": "Load", "Target": "{{ModId}}_Stone Cabin", "FromFile": "assets/Buildings/Stone Cabin.png" },
I assume the lower one is meant to be Beach Cabin.
Can i add an bundle in my new map by using CP?
I think you'll need a specific framework for that
Not just cp alone
It wouldn't hurt to say things like please and thank you when you're asking people to give you their time.
Does Stardew Valley have any support for making texture packs like, say Terraria? (Or just, is there a method that is fairly manageable for artists to implement their own sprites?)
!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.
Ohhh awesome, thank you.
Not just texture packs. With Content Patcher you can make new content for almost every part of the game.
- Your various patches target
{{ModId}}_FarmCabin, but you're actually setting the ID to{{ModId}}_LogCabininstead:"{{ModId}}_FarmCabin": { "ID": "{{ModId}}_LogCabin", - You can simplify a lot by removing the default values.
See updated code with those fixes. If it still doesn't appear in the shop after those changes, run patch summary in the SMAPI console and check for any errors or warnings. If you can't find the issue, post a link to your SMAPI log here and we can take a look.
You can check out this really cool framework (Unlockable Bundles)! Don't forget to set this as a dependency in your manifest.
is there a mod for server that would store all chat logs in a file
I was curious is there a way to make custom fonts in stardew using content patcher?
Not that I know of. You could try asking in #modded-stardew instead, or we could help here if you want to create the mod yourself.
I'm wanting to make a language similar to the dwarfs text that changes automatically once you learn it?
Yep, but fonts consist of multiple parts (data + texture) so they need to be packed into .xnb files which you can then load through Content Patcher. See Modding:Custom languages#Add a custom font for more info.
Oooo thank you
Though you'll need a C# mod to make the game actually use the font.
Ah dang hmm
I don't know C# at all, is it a hard thing to program?
I wonder if anyone would be willing to take on the idea with me?
I don't think it would be super difficult, but I wouldn't recommend it as a first C# mod; that'd probably be framework mod territory.
Yeah I guess I could put the text in with meep and have translations unlock
ty ill ask
I've got a token mostly working, but would like it to update more frequently than just on day start. Specifically, I was wondering if there was an event hook for when player friendship data changes?
OnLocation and OnTime changed seem a little excessive
you don't control that
What do you want to do?
Content patcher does, and by extension the CP mod author
(The answer is yes - netevents are great...)
Oh wait i thought kantrip had their own c#
you can check the value whenever but the token itself updating is locked to the update rate CP sets
Eh, I have a token that gathers everyone that the player is currently dating. Obviously, that can change in the middle of the day
and you don't change the value outside of when CP asks aka UpdateContext
How to I force it to update context then?
You don't
I do, actually
by design
Well, darn
tokens will update on day start, location change, and time change. That's it
If a mod calls the token, though, it will update?
No
No? So if a patch is applied onlocationchange and checks the token, it will have the same value as the start of the day
(this makes me wonder, is this why the wedding is the first thing in the morning, so the spouse tokens always work?)
Same for child tokens, I bet
Hm. Alright. It's not a big deal, just means that events based off these tokens would trigger the next day.
you check if the value has changed in the Update Context function. If it has, change the value and return true
CP will call that function when it needs to
If a patch says to change On location and the value of your token changes between locations, it will update for THAT patch
Oh!! Ok. That's perfect then
I was just standing in one place testing this
Didn't think to move and see what happened
I have a question. Is it possible to create my own Quarry using PIF (Personal Indoor Farm)?
I am not sure how I'll be able to have the ores and gems spawn in the room I created so it can be mined when in-game.
also, Kantrip, you'll need to cache your values
to ensure that GetValues will never return a different value between update rates
This is another reason to also offer a GSQ
I think relationship do have one natively tho
But in general GSQ usually get evaluated as needed by C# rather than by CP on edit
are followers/companions/whatever they’re called hard coded?
my friend suggested an idea for a custom one. they gave the example of the fairy that follows you around
so yeah i guess trinkets
I'm closely following Amondee's work with Custom Tokens, so I think I'm cachine correctly
Yep that's what trinket tinker is for
assuming custom tokens caches correctly too hopefully
Let me see about implementing a custom GSQ. I'm already experimenting with tokens and actions, so what's one more thing? xD
thank you!
They seem to
Well, i recall there being a player relationship GSQ
there is
So you might not need to make one for this case
The reason I needed a token is for string replacement to make a custom event
And it works!
So excited that I can walk into the backwoods and the character in the event changes now
Yep. I could maybe set a flag with it and then base a token off of that flag but it would be pretty cumbersome to get names
you wouldn't want to do that anyway
Now I just need to test to see if the custom action I added works in dialogue
I'm 80% of the way through the foundation work for this thing
(you can offer a tokenizable string, though)
you tested with debug action already yea?
No, is this a console command?
Sounds really useful. I don't know all of them yet by heart
Yeah u do debug action <your action>
Niiiiiice
It immediately runs the trigger action given
That will save me a lot of time in testing, tysm
I've been using patch summary, so that's a lot better
I knew about gq
Anyway, thanks to both of you! Hopefully I can get the code out of the way this weekend and can start writing events
I don't remember: do you need the kitchen upgrade before you can propose to an NPC in vanilla?
yes
I thought so, but the wiki doesn't list it as a requirement. Just the pendant
Ah. Mariner only appears if the upgrade is complete. I needed to read more
I thought they turned down the pendant too if you didn't have the upgrade anyway
even if you got it from another source
Makes sense, the house needs to be in the correct state to add the spouse room the very next day in case you propose on the day you buy the pendant
And the base level house does not have a marriage variant
for vanilla explanations I guess simply saying you need the mariner and the mariner gets locked is good enough
so i've done everything, but I'm having a problem with this when i click on a save it returns to the title screen:
Log:
https://smapi.io/log/c109c2338e3c432a919372977d2b8e80
CP:
https://smapi.io/json/content-patcher/d7e7b58bb0384acb8339a1fc29b868ae
thanks for the help
Log Info: SMAPI 4.2.1 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Home Single Language, with 20 C# mods and 3 content packs.
Hi Pathoschild! (if anyone else wants to answer this for me, feel free to do that)
Sorry if this is inappropriate from me, but I noticed this conversation. I'm sure you don't have much time and that many things might (or, let's be accurate - will) change, but the 1.6.16 SV version has these choose, goto and label commands. I'm solving the same 'problem' as Abagaianye, the problem of quickQuestion not multilinable (thanks Abagaianye for reminding me that it is possible).
By the message I'm responding to, (if I interpret it correctly; probably not) the choose command allows multilining inside the command itself. I looked at the wiki page and tried the 1.6.16 formatting (so then I can just replace the old one with the new one), but I can't find out how can I part it into multiple lines, especially when using i18n.
So, I'm kindly asking - even though it might probably change, could you, please, show me an example of parting the choose command into multiple lines?
Including a link of what I mean and trying to do: https://github.com/DenisSilent/Eleanor/blob/development_UNSTABLE!/[CP] Eleanor/assets/events.json#L266
Thanks in advance!
Denis001 aka StrojvedouciDenis
!tilesheetclimbing
When creating or editing maps in Tiled, one common error is tilesheet climbing, marked by red text containing "invalid tilesheet path '../../..'. This is caused by SMAPI not being able to find the tilesheets needed by the map file. To prevent this error, make sure that you have a copy of all necessary tilesheets in the folder containing your WIP tmx file. Copies of vanilla tilesheets can later be deleted, but must be present while working on your map.
If you get this error with a completed map, an easy way to fix it is to open your tmx file in VS Code or a similar text editor, find all of the places with <image source=, and remove the filepaths to so that only the tilesheet names remain. For example, if the code says <image source="Content (unpacked)/Maps/townInterior_2" width="512" height="64"/>, change it to just <image source="townInterior_2" width="512" height="64"/>.
There's no actual planned release date for 1.6.16 atm, it's not good to stake your hopes on it if you hope to release this mod anytime soon
(btw, I think the wiki says upgrade two, but iirc you can use the marriage debug commands on upgrade 1 at the very least)
the debug command wont perform any validation at all
Is good to keep this in mind when there is a alpha or whatever though, when we'd get the game's updated content files to look at
Yeah, I know (and my mod is already released, that's why it is commented out), I just want to be prepared.
it doesn't work without upgrade 1 though
if I'm remembering correctly
I'll check in a sec
Well then pls await a version u can actually poke around in
its possible i spose that theres something else tucked into some npc warp or update function somewhere that says "woah hey hold on a minute pal" if you try but it aint from the marry command as far as i can tell
seems likelier I just assumed it wouldn't work when I tried it tbh 
if it did itd probably trap em in the void anywho and cause some issues
i just tested it, you can marry an NPC on day 1, no house upgrades with the debug command
as long as you dont mind the console erroring about not being able to find the right kind of spouse room placement or w/e
but it wont crash or anything
alright, who's taking this one? chu? /lh
NoU
(if i thought itd be used by enough people id give it a shot, but...)
I did actually want to have some kinda junimo text thing at one point
But then i looked at Dialogue.cs and noped right out
I thought Naver had a font mod C#
no ping on pathos replies for fear he returns and sees me saying stupid shit /lh
i think itd be more generally applicable as an "NPC Font Framework" mod than a language mod though