I need some help if anyone could. So I am trying to make a Dialogue Display Framework Continued mod that replaces the portraits for Marry Lantana mod. I got them working with just PolymarySweet, the base mod, I even got the portraits working for Spring/Summer/Fall but whenever I check winter(and presumably the beach one but not sure how to check that yet) it bugs and displays the entire base portraitsheet at once. Ive checked like a billion times the paths are correct and SMAPI does not give any errors when I load into the game. I am absoluetly stumped
#making-mods-general
1 messages · Page 509 of 1
!json
JSON is a standard format for machine-readable text files that's used by Stardew Valley mods.
If you need help with a JSON file, you can upload it to smapi.io/json to see automatic validation and share the link here.
When making mods, it's recommended to edit your files in a text editor with JSON support, such as VS Code, Notepad++, or Sublime Text. These programs will check for syntax errors.
To use this command, type !json.
Can you post your json via website
hm you should really load these to Portraits/{{ModId}}, but that's a later issue
my guess is that lantana has winter appearance already, and thats what you are getting up here
can u do patch export Data/Characters and check MermaidLantana's Appearance section?
I copied it here. That orginal mod has an appearance section which I copied most of over to my mod. This is my second mod and the first one someone else made the json so kinda winging it trying to go off working jsons and ai which sucks lol
yea since they have existing appearance section, you'd want to just edit it directly
{
"Action": "EditData",
"Target": "Data/Characters",
"TargetField": [
"MermaidLantana",
"Appearance"
],
"Fields": {
"Winter": {
"Portrait": "Portraits/Portrait_Winter",
},
// and same for all other entries in Appearance ...
}
}
the result should be that u end up with Winter/Beach/PelicanBeach but their Portrait fields are replaced
or have your entries with a lower precedence if you want different conditions to be checked first
alternatively you can replace the entire Appearance section
if u dont care about what original mod is doing at all
that'd just be like
{
"Action": "EditData",
"Target": "Data/Characters",
"Fields": {
"MermaidLantana": {
"Appearance": [ /* all your appearance entries go here */ ],
},
}
}
but yea pls do not load to just Portraits/Portrait_Winter
But that wont load like the beach ones correctly or would it?
load to Portraits/{{ModId}}/Portrait_Winter
in the first case, you also need to do what's done for Winter for Beach and PelicanBeach
in the second case you provide the entire section
the appearance system doesn't care about the portrait/sprite asset names at all, but you do want to ensure they are globally unique
Do I put actually {{ModiD}} just type it like that? would that change the folder path?
you need to change the Target in your loads to match whatever you put in Appearance
but the actual value you put is arbitrary
{{ModId}} is a token that resolves to your mod id
which appears to be dakotag.MarryLantanaPortraits
im kinda assuming you need a Load to new target bc u are doing HD portrait with more mermaid per mermaid here
so the png is wider
replacing
{
"Action": "Load",
"Target": "Portraits/Portrait, Portraits/Portrait_Winter, Portraits/Portrait_Beach",
"Priority": "High",
"FromFile": "assets/Portraits/{{TargetWithoutPath}}.png"
},
with
{
"Action": "Load",
"Target": "Portraits/{{ModId}}/Portrait, Portraits/{{ModId}}/Portrait_Winter, Portraits/{{ModId}}/Portrait_Beach",
"Priority": "High",
"FromFile": "assets/Portraits/{{TargetWithoutPath}}.png"
},
wont change how it needs to be on the filesystem due to how {{TargetWithoutPath}} only cares about whats after the last /
Ah
the asset name is global so try to make it unique if possible
{{ModID}} is just a convenient way to ensure no two mods will accidently use the same asset name
helps with debugging too
Well that might explain another issue I am having lol
So Id set the folders up the same just include modid in the json.Cool
Ok cool, I appreciate the help from both of you
The load modid is just for the load function or would I add it anywhere I pointing to the portait folder?
Once you have Load something, all references to the portrait must use what you wrote in Target
if you are adding anything to the game (an asset name, an item id, an NPC, etc.) and the game lets you, you should include your mod id in its id somewhere, typically at the beginning
In other words yes replace all Portraits/Portrait
the red needs to match, green needs to match, blue needs to match, and black needs to align with filesystem
Do I need to make a json for the schedule and dialoge of every NPC I make? Just asking, cuz I ain't sure.
You don't need to make a separate json because you can keep everything except your blank json in the content.json.
Mk, thanks.
People ususally do it for organizational's sake.
I took a break from Pokemon to work on a new mod, finally done, now I can sleep lol
https://www.nexusmods.com/stardewvalley/mods/40937
Nexus Mods :: Stardew Valley
Allows the player to see their stats real-time, such as Speed, Immunity, Defense and all the stats from the currently equipped weapon.It also adds a new tab 'Farm Information' that helps visuali
heyyy that's awesome! want me to feature it?
That would be great thank you!
Awesome! Just have to wait and see what compatibility I need to do for it, but after a lot of testing it's finished lol
Working on it on the side ever since Khloe put out the Better Game Menu
congrats on release :)
Thanks!
//smapi.io/json/none/ba89668bfa62420f85b57da6eb7f212e my .png is in my folder named 'assets' and is called BabyChook.png TT but it keeps saying it can't find my texture for the babychooks
You're missing an s in Mods in your Load patch
So I am
Your ShopTexture also doesn't have the s so if you add one to the Load patch you'll need to add it there too
(Don't forget that this needs i18n)
Or more LocalizedText if you're wanting to use that
Although translators won't really know how to work with that, so you might have to be prepared to give instructions
wow typing is hard lmao
haha I'm planning to stick with i18n, I just copied over data from generic farm animal data as a template and haven't cleaned it up just yet
Ah ok fair enough
Odd question and I am fully prepared for the answer to be no: Is it possible to make it so if you try to give an NPC an item, they reject it and give you back a different item?
Yes
How hard would that be to implement?
I want to make a npc sprite retex, does anyone know where to find files for npc in emily's fashion show event?
Very easy. There's the RejectItem dialogue keys and you can put the give item dialogue command in there.
That gives back the same item, from what I've read?
It'll give back the item you tried to give them - that's the rejecting part, but you can also just put the give item dialogue command in to give whatever item you want
If you want them to not give back the item you gave them, then they're not rejecting it. In which case you want the AcceptGift keys.
Basically you can put both AddItem and RemoveItem trigger actions in your dialogue to emulate trading items.
Ah, there we go! I may try this when I get to it.
So you don't want them to reject it
I'm guessing they don't want it to count as a gift for the day.
Rejection keys don't use up your gift for the day
I suppose you can use reject dialogue + remove item action to emulate giftless gifts
They kind of have to reject it since I what I'm thinking of trying to do is have an NPC that is Single, and Datable, but when you try to give them the mermaid's pendant, they don't take it and trigger the Marriage process, they give you a long speech about not wanting to be tied down, and then give you back... a very convincing fake replica of the Mermaid's pendant.
(This might be outside my skill level, but thought I'd check if even doable before attempting)
Yar, that's what I'm getting at.
They're in Characters/ClothesTherapyCharacters
Thank you 🤍
!NPC
Creating a Custom NPC
Keep in mind that making NPCs is a complex process that requires learning many different aspects of Stardew modding.
Here are a few links that can help get you started on all that you need to know:
-
Tiakall has a great tutorial on making a custom NPC for 1.6.
-
NPCs no longer use dispositions, check the wiki page for the new NPC data.
-
Feel free to jump into the https://discord.com/channels/137344473976799233/1277457201077813280 thread for more interactive feedback and help!
-
Fireredlily has a WIP NPC Builder Please do report any errors you get with it into the NPC thread!
To use this command, type !npc.
Issues 1 and 2 should now be resolved with Fashion Sense v7.1.1. Thank you for reporting those issues!
Regarding Issue 3, the problem ended up being with the patch. Specifically, StartingPosition.X needed to be shifted by 20 for each of the hat's season (since the mod's spritesheet was put together that way).
I edited the patch to add a new local token XOffset for each season patch, but you likely will know a better way!
// XOffset Spring: 0, Summer: 20, etc.
{
"Action": "EditData",
"Target": "Data/PeacefulEnd/FashionSense/HatData",
"TargetField": ["{{ModId}}/Hat/{{IdSuffix}}"],
"Fields": {
"BackHat": { "DisableGrayscale": true, "StartingPosition": { "X": "{{XOffset}}", "Y": 60 } },
"RightHat": { "DisableGrayscale": true, "StartingPosition": { "X": "{{XOffset}}", "Y": 20 } },
"FrontHat": { "DisableGrayscale": true, "StartingPosition": { "X": "{{XOffset}}", "Y": 0 } },
"LeftHat": { "DisableGrayscale": true, "StartingPosition": { "X": "{{XOffset}}", "Y": 40 } }
},
"When": {
"Available": true
}
}
If you encounter any other issues, please do let me know! Seasonal Hats will be the first mod making use of this part of FS, so there may be other bugs.
@lucid iron Your royal monster variationess, I need assistance once more.
Sorry for disturbing.
To waste no time whatsoever, do you know under what category the assassin bug falls under?
Dangerous or none?
Thanks! That was just a workaround for the null field handling (issue 2), so ideally I'd just remove it.
It seems like all the hats use the same sprites unless I manually specify the offset now though? You can reproduce with the content pack I sent you by only overriding the specific fields in the second patch:
"Fields": {
"BackHat": { "DisableGrayscale": true },
"RightHat": { "DisableGrayscale": true },
"FrontHat": { "DisableGrayscale": true },
"LeftHat": { "DisableGrayscale": true }
},
Or by removing that second patch entirely.
uh i dont remember tbh, not dangerous i think?
its the calico special bugs right
ty.....
if ur worried u can always just add the same data to both 
Also, is it true that if I were to put all my monster sprites into the MV variation format regardless if they have those or not, they'd be compatible with other MV mods?
wat dat mean
well u know how there's a Varieties field and a DangerousVarieties field
you can just put the same data in both to have something apply to both normal and dangerous versions of that monster
yea that's one of the purpose of MV
oh yeah i'm dum
Thank you then.
I'll try converting everything to that format then.
Except Krobus, because that's not an enemy now, is it?
interesting. shirt sprite index is serialised and loaded, so shirts have their appearance broken if sprite index is changed (such as when moving shirts to a new sheet). funnily enough, mousing over the shirt in the game menu is enough to restore its appearance.
Elo folks. Its been a SOLID while since I talked in here lol. I am in need of guidance.
I was notified of an issue with my greenhouse map mod. ("Personal Greenhouse" on nexus if anyone needs that info),
And whenever the player planted a fruit tree and broke it, you seemingly cant plant another one.
I've tracked it down to being how my flooring is handled.
I added a config to let you visually change the grass to be another season's colors for fun, but anytime the winter grass is selected, this problem happens.
All tile variants have the same properties, locations, and methods for getting them in, but its seemingly just broke. I hope I explained this well enough
(They only use the Diggable and Type properties, "T" and "Dirt" respectively.
I'm currently preparing to release my NPC and while testing, I noticed that my schedule strings are still kind of messed up :( I really need some help because my random schedule strings used to work before I converted everything to i18n, but now, it's just doing what is shown in the screenshot
Schedule strings: https://smapi.io/json/content-patcher/101f032e6c0a459ca792c5c2af6879ad
Schedule: https://smapi.io/json/content-patcher/a7698d23d0de4a0fb9b59e12cd639155 (the log name should be PeiMing Schedule Alternate House Location With SVE, the schedule key should be Mon. Tueor Wedbut the other schedule entries aren't working properly either)
i18n lines that should be in use: https://smapi.io/json/content-patcher/273aebcce3164abcafaacb3f0382accd
content: https://smapi.io/json/content-patcher/e012a62530a842be91ffefc015a29e3d
How is winter grass implemented?
Not sure if I remember this correctly, but it might be worth a shot to try without the {{PeiMing}} in the
Strings\\schedules\\{{PeiMing}}:PeiMingHouse.002 but to try the actual thing
not sure if it plays nice with variables.
(edit: Checked mine, I also use {{Variable}} in mine so that's not the problem)
Hi, can you also provide your SMAPI log?
Ah sorry I forgot to clarify that part! Modifying StartingPosition is required in your case, as the default values assumes a single set of sprites (front, back, left, right). Since the spritesheet consists of four different sets, you need to offset the StartingPosition.X for each season.
If that spritesheet had been separate for each season, then StartingPosition could be left blank.
PeiMingPartner.001 in your strings typo'd i18n and has 18n token whicch would be invalid causing the strings asset be unpopulated
oh, good catch, thank you! but i don't think that's the entire solution to the problem, right? i'm grabbing my smapi log right now
if a patch uses an invalid token then the patch doesn't run at all.
patch export Strings/Schedules/{{PeiMing}} (manually unroll what {{PeiMing}} should be) would show it be empty until the token is fixed
I see! I fixed the typo. Let me see if it works now
nope, the patch still is empty and the string isn't loading
Log Info: SMAPI 4.3.2 with SDV 1.6.15 build 24356 on Microsoft Windows NT 6.2.9200.0, with 19 C# mods and 10 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
I know, Governor. I know.
PeiMingPartnerSummer.000 has same issue
It looks like your Strings/schedules/void.peiming_Peiming is not editing. Are you sure you've include the correct file?
i'm sorry if this was already answered somewhere, is it possible to translate the manifest with i18n, like the mod name or the description?
no
ty
i found another missspelled token and fixed it. and it finally works! it's always the typos that get me
thanks for the help!
I would have expected CP to give some yellow text yelling about the invalid tokens but it didn't for some reason.
it might have shown up in patch summary
Yet another Monster Variety issue. Joy.
Converted all of my monsters to the MV format.
And from what I've tested (though not fully, so there may be one or two more), the shadow sniper and lava bat are missing their sprites.
As in, they're the Vanilla ones, not mine.
@lucid iron erm
does one have a millisecond
i would say it's better to phrase your issue as you having a problem in making things work than a framework issue, because well, it's usually the case
quick question for 3ds version demake accuracy, does stardews camera zoom stay constant all the time
so i can avoid writing zoom for my engine
I didn't.
Just mine.
As in, the Vanilla textures show up in game, not mine.
Ah I see i was confused by the "Default": entry
You shouldn't need that entry but it is not the direct cause
Can you get a log where you encountered the shadow sniper and the lava bat?
Sure, give me a second.
Log Info: SMAPI 4.3.2 with SDV 1.6.15 build 24356 on Microsoft Windows NT 10.0.26100.0, with 109 C# mods and 192 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
shhh
Log Info: SMAPI 4.3.2 with SDV 1.6.15 build 24356 on Microsoft Windows NT 10.0.26100.0, with 109 C# mods and 192 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
Try ApplyMonsterVariety on 'Shadow Sniper' (StardewValley.Monsters : Shooter 'Characters\Monsters\Shadow Sniper' HardMode:False)
Shadow sniper is indeed not HardMode aka dangerous
Try ApplyMonsterVariety on 'Frost Bat' (StardewValley.Monsters : Bat 'Characters\Monsters\Frost Bat_dangerous' HardMode:True)
HOW
Is Frost Bat_dangerous the one you wanted to change?
Just how it works™
No, regular Lava Bat.
The dangerous frost bat works superbly.
There is a setting but tbh you can omit it
I don't see a lava bat on this log
How are you handling the lighting
Ah nvm found it
Try ApplyMonsterVariety on 'Lava Bat' (StardewValley.Monsters : Bat 'Characters\Monsters\Lava Bat' HardMode:True)
Lava bat is considered dangerous
I think the dangerous thing is more related to their stats going up internally 
game is not always consistent
i know i am often annoyed by all the different slimes versions and how different quests handle them differently
Oh, so there's a secret dangerous lava bat variant I'm not aware of?
i'm not sure what makes you reach this conclusion?
Well they look visually the same
But they are just marked dangerous if u see them in dangerous mines i think
Once again feel free to just put in same data in varieties and dangerous varieties
Well, since there's a stat change between mine variants and that MV has the ability to change both the regular and dangerous variants of a monster regardless, I could in theory make my own.
But I'm way too damn tired to sprite a bat, those things take eons to make.
So I'll be doing this.
Thanks.
By the way, how do I look for each individual monster there?
Thanks.
And lastly, this good?
https://smapi.io/json/none/3651d708ffc443039b32bfb6f10941e6
Just checking.
This should be the last of 'um.
You shouldn't need "Default":
There's no special logic for that key iirc, it was used for visual enemy variety mainly because that mod intentionally includes the actual original texture
auugh
So, just have the JSON files like this and only keep the texture_number sheets?
https://smapi.io/json/none/d3e903d94c3f4921b58ce229823aa495
Ye that should be enough
Or are there any specifics with the }, that I'm missing?
"{{ModId}}_Lava Bat_dangerous/texture_0"
You never use this loaded target either so u can yeet that
Like, here?
What do I write instead then?
or am i dumdum and missed sumn
Nothing
"" and that's it?
I think you misunderstood the meaning of you don't need it 
So the "Sprite" field is the place that defines the texture asset name
Atm you got 1 "Sprite": "{{ModId}}_Lava Bat/texture_0"
You have no entries that say "Sprite": "{{ModId}}_Lava Bat_dangerous/texture_0"
The game will access "{{ModId}}_Lava Bat/texture_0" when that entry applies, and that triggers the corresponding Load, all good
The game will never access "{{ModId}}_Lava Bat_dangerous/texture_0" as you have no entries that call upon it, so that Load is not needed
This would be correct yep, as long as you have the 1 Load for the Sprite
I'm horrifically sorry if I frustrate you, as coding of such a style is new to me.
And I value your willingness to help little 'ole me.
With that being said.
explain this to me like i'm a marmoset
Tbh i thought i already explained it as clearly as possible but pls understand i am programmer brained here 
The concept of Load isn't really MV specific either
monkie
O
All assets in the game are fetched from Content when game actually request them
For example Portraits/Krobus is loaded when you actually have to see the portrait, e.g. you talked to him
Mhm.
Right, so.
Is that a good or bad thing?
meant to reply to this
Actually, hold on, I don't think I even have one called dangerous.
sorrie
I need to be 1000% sure.
summons my last brain cell trying to remember which discord user matches this github PR author
@lucid iron I somehow completely missed your PR
casey i would tell you that my github account matches my discord one, but that is so far proven not to be helpful /lh
(maybe more helpful: i haven't sent you any PRs)
Could you elaborate on why FullSheetMode needed it's own scale modifier rather than SourceSizeOverride? Do you think it'd be feasible to change it to do just ScaleModifier, which also works with non-FullSheetMode? (stacks with sourcesizeoverride)
Bold of you to assume I know their nexus username
But also yeah the PR is from mushymato
Also @urban patrol are you still having problems with spacecore setpieces? I can't look right this moment, but now that I've spoken here the pending pings have reset 😛
i believe nic hasn't yet figured the issue, yeah
(You can also edit Modding:Community#Modders to search for a Discord/GitHub/Nexus name.)
cough cough
https://smapi.io/json/content-patcher/215f9aa67dd14059895fc76961150ddc
https://smapi.io/log/2b2b24268d18461fbc69adf5ae0c6815
(this was what nic posted when we discussed it last, in case it helps to have it on hand)
Log Info: SMAPI 4.3.2 with SDV 1.6.15 build 24356 on Microsoft Windows NT 10.0.22631.0, with 20 C# mods and 1 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
-# i should add my github user. and also upload my mods on github
(not pinging you because well, you don't have time right now and nic may want to provide extra/more recent info)
didn't know chu had all of those numbers in their discord user
I'm not on this list?????
Unless firefox ctrl-f is broken
Also sudden idea
The e stands for
(i think. Im no math )
i mean did u add urself casey
I'm pretty sure I predate said list
yep ur not on there
Also, I know I was on there in the past
smh add urself
Because "3 notable mods"
Full sheet mode can't use source size override because the real source size is used to find the matching source rect
yep lumi is right i haven’t touched it since i pinged you originally
maybe it was cleaned at a moment when you were on break or something? like not on maincord
Remind me in 6 hours to hopefully actually help nic with the set piece stuff
sorry, our offices are now closed. Please ask for a reminder during our business hours, 10AM-10:01AM on the 6th Tuesday of the month. Thank you for your understanding. Cue defiant jazz music. (#7022288) (6h | <t:1767827142>)
You were there at some point, otherwise your Mod Author role would have been removed last time we synced them. Maybe someone accidentally deleted you. 
can u check like, past edits
I did at one point just reverse derived what the scale mdoifier would be from source size override while not actually using it for source size override but that seems confusing hence new field
otherwise i can add u back if u want
I can have tbe scale modifer apply on all, just not sure what exactly I'd do if there's a scale modifer and a source rect override all in full sheet mode 
damn
Seemed less confusion to just keep existing api as is while implementing the new path
technically FF has a "variant" feature to make the same furniture with different sprites, but it creates a furniture type per variant. I have a proper skin feature on my todo list tho
Breaking news: @ivory plume hates me, specifically (or did on August 27th, 2023, at least)
👀
I thought Source Rect Override didn't work in full sheet mode?
as much as "adding more furniture" works as a solution i really do hate the cluttering is causes. like yay variants but also oh no variants how do i find anything
remove users who don't have the Mod Author role on Discord
Oh, I guess someone illegally gave you the mod author role later without adding you to the list.
Guys, how do i fix this error? My attempt to fix it doesnt seem to work so idk
i mean casey is a mod criminal
Well, I am a code criminal
same brainwave
It does not work for this exact reason but it is like, is there purpose to allow the override and the scale modifier to coexist if it will have various special shenanigans 
Purely so you don't have to try and remember which field to use when. It'd basically become:
- scale modifier is what you'd use by default (ex. hd mods)
- source size override allows more control if necessary (not supported in full sheet mode)
Perhaps I can make it so that
- not full sheet mode
- no source rect override
- yes scale modifer
-> a source rect override is calculated from the scale modifier at data level
Admittedly I'm not sure how them stacking could make sense
So the logic remains similar
Yeah that would work
the common approach is custom catalogue. Even if you make skins, the same issue appears: "how do I find the skin I want in the new menu?"
Kk I'll do that later and ping when im done
Bea you can take a look at kisaa kitchen furniture
How it works is that each variant has a catalog
ohhh
So u get the oak furniture from the oak catalog
that is, a very elegant solution
But honestly I don't feel it's that hard to find things even with the hhd everything catalog
with FF (spacecore might be required) you can even make a catalogue where each tab is a variant
oooh
I have been restored to my rightful place
yeah, it requires spacecore's ShopExtensionData
Once stardew3d comes out I'll unfortunately be replacing Spenny with it
spenny3d
(kittycatcasey has graduated from code crime queen to code legal queen. 😌)
actually I just realized that since FF adds catalogue tabs automatically with spacecore, it might conflict with custom ones added by a pack author...
welp, if anyone runs into this, I'll fix it
Depending on how you did it, they might could overwrite yours with patch priority
When i am autogenerating some kind of data on an asset not owned by me I usually use Early
It means ppl can edit the generated data easily
I like how this makes it look like I released my first mod (which was only like 10-15 lines of non-boilerplate, maybe less), and in the next 4 days I made the entire MP mod
FOUR DAYS FOR MULTIPLAYER???
I did say "it looks like"
why isn’t spenny first
Nah it must have taken at least 5 days
The casuals wouldn't understand her greatness
Hard to say for sure though since I didn't make a git repo until a few months after it looks like
(You coded the entire multiplayer mod without source control???)
Yep
I will choose to believe it took less than a week
Of course the first versions were even more limited than the final ones
(I retract my earlier statement. You can keep the code crime queen title.)
Like, "no UI, literally just a windows popup when selecting a save"
codecrimescasey
9280 (lines?) Is less than I expected tbh
I think the most recent version is more
But yeah, it's not as insane as you might think.
Especially considering we didn't have Harmony back then
Do u need public IP
LAN only at first, people often used hamachi.
I eventually added support for steam networking
Around the time I added an actual UI for it
I poked around at TCP NAT punchthrough at one point but couldn't figure out how to get it working
To be fair I didn't have a central server to use
Recently I had various cases where I wish i could suppress a net sync on a net field
You can if you cheat a little
SpaceCore does it
So far i just been making sure I unset whatever it is before the tick is up 
Is yours udp or tcp
TCP
Interesting
Just need to trick it into thinking there's no actual changes 😛
The reason why i wanted to do it is for compat with a client where my mod isn't there at all
Net fields did not exist back when I made the MP mod, so it's literally just manually checking for changes each frame and syncing them when that does happen
Are you trying to suppress the sync to a user (or anyone) without your mod, or from?
To
Then that's what the code I linked does
It makes the netfield not realize any changes were made, so it thinks there's nothing to sync
Ah i see how terrible
That being said, 1.7 will likely have some things that make optional data syncing more bearable
My value is just for drawing so I am just living with setting all the values on rendering and unsetting all on rendered
Why are you using the existing thing at all then? Because ConditionalWeakTable is slow, or because you don't have a patch actually doing the rendering (ie. just hijacking vanilla stuff)?
I could have done it on draw but it's literally just that 1 number
I don't know if we have the harmony version that supports infix patches or whatever they are called
This one is nice for the other parent sheet index crimes i had but i already gave up and patched draw over there
Code from before I acclimated to C#
Other signs include:
// And once again, this would be much easier with templates :P
and naming generic parameters like you would C++ template paramaters
public class SpecificMonitor< BASETYPE, TYPE, STATE, PACKET > : Monitor
// This could be done even better with macros.
// (Although it wouldn't be as bad in the first place if I could use templates.)
// Sigh. Still cleaner than copying those methods for every new TerrainFeature/Object type.
It's also unfortunately not a habit I've broken. While making the "base" for stardew3D/VR, I had several times gotten something mostly working, but then redid some things that broke it much worse, and couldn't go back to when it was working
Matrices. Not even once (if you can help it).
If you mean the tileset and not the grass for animals, im using editmap to ‘overlay’ tmx file coordinates into the greenhouse (which was replaced prior)
me lazie
I'll just delete the defaults and call it an update.
New quote added by atravita as #6914 (https://discordapp.com/channels/137344473976799233/156109690059751424/1458513979465793761)
matrices are great!!
I don't know how to tell you this, but you might want to see a psychiatrist
Also while you're here, so you're aware of your official title: #programmers-off-topic message
don't worry, i have!
what a title
just rolls off the tongue
can't change my name until i fix my car tho
"Official unofficial Jadga fixer"
...you still have a low tire pressure light???????????
yeah
it's not like it's a problem
i mean it's a little problem
the car tires are fine they just are throwing a hissy fit
Yeah, you just need new sensors right????
yup
New quote added by atravita as #6917 (https://discordapp.com/channels/137344473976799233/156109690059751424/1458528429979865250)
technically you have just enough room in the character limit left for "LowTirePressureLight:Jadga Fixer"
No spaces around the colon though
is that better
JA/DGA is what has the low tire pressure light?
You know what, the checks out
(Agreed)
It is possible that your "winter" tmx is missing those tile properties, but I am not sure off hand
The winter tiles for the “treespots” as i call them, are all together in the same file with the other seasons.
Winter isnt separated since that would make for more file management :p
As a result, they have the same properties, yes.
(Or should ig.)
I'd check these in game with lookup anything just to be sure 
My only guess is that its not patching them in correctly since its just not using the properties at all
When i made a greenhouse with seasonal config i actually just used SeasonOverride
It worked mainly because I also made the greenhouse outdoors
I used SeasonOverride for the sounds and textures to work properly but i just replace the tileset for the floor itself on condition
Yeah you could try making greenhouse treat as outdoors
And not do any editmap for the tiles
The grass works perfectly with how i did it, my problem is that 3x3 of border grass and dirt i put on top of it
hiya!
If I do something such as changing the prices of a crop midgame, will it update automatically or not?
And if not, what do I do about it (if I can I'm not really good at coding haha)
Something else u can try is to make the tree spots Type Stone
They have special logic in greenhouse
But yeah for now i would check if the tile props r there on the winter version
Sell price or buy price
both 
Sell price is baked in more but may be able to be reset with BETAs
Buy price should be updated live
Ty.
I have a glorius mouse does anyone kno how to get the animation cancel macro on it >
this seems like more of a question for stardew-spoilers
and/or the speedrunning server
actually I think AC macros are banned in speedrunning lol
i just use faster animations
AC?
animation cancel
i thought the second one until reading the message just now
After further testing, i can safely say theyre all accurate.
They all match up to what they should be, and changing the "Type" to be wood instead changes the sound effects proper so it is working.
Still though, i cant seemingly get the winter tileset to apply its properties.
Im patching them in the exact same way as the other season variants are.
As for making them stone type, while it may have funky properties in greenhouses, ill ideally avoid that since it both didnt fix my issue, and messes with the sound effects, which isnt ideal.
Did you check in game though, with lookup anything
You can enable tile lookups
The purpose here is to make sure that the problem is the tile data and not season override for some reason
I have the mod but im not sure how to enable that?
It's in config option
and the SeasonOverride property is a newer addition. the bug was present before that
Ah ok 
Excuse me, how do I make a cutscene or event, and how many hearts are needed in my Stardew Valley mod?
to make an event, you’ll need to use [[Modding:Event_data]]. you can determine the heart level by setting the preconditions
are you familiar with content patcher?
So... Its weird.
The top section reflects the map properties appropriately.
I edited the SeasonOverride to be summer for examples sake and disabled the cosmetic config option that changes the floor incase it was causing overlapping problems.
No issues here.
In the ssecond section, its appropriately targeting the right tilesheet map, cause thats how I have it. But the properties... just arent there?
(Apologies for possible spam btw.
)
Ok it's good that we definitely confirmed the problem
I think the easiest way is probably just gonna be, add the Type props with map properties and call it a day 
hey
once again
are there fr animated tiles under things you cant even see 😭
also i wonder if that positioning is correct
also for context this is my own 3ds thing, not the actual game
so im writing the rendering stuff
Quite possible; the maps probably changed throughout development, so tiles got covered up or moved around.
Seasonal Hats uses a standard hat spritesheet, so the X offset is based on the item's sprite index. I could certainly set it explicitly:
"StartingPosition": {
"X": "{{Query: ({{SpriteIndex}} % {{SpriteSheetWidth}}) * 20}}",
"Y": 60
}
But should Fashion Sense get the pixel position automatically based on the provided FromItemId instead?
Hey everyone! 👋 I’m new to the modding scene, but I’ve been hard at work creating a large catalogue of assets for a passion project called Fae And Folk.
The Vision: A witch-themed expansion for the valley featuring magical items, new NPCs, custom crops/trees, and new foraging mechanics.
What I Bring: I am strictly an asset creator. I have a massive library of pixel art ready to go (forage, special powers, character portraits, etc.), but I lack the coding knowledge to implement them.
What I’m Looking For: I’m looking for a collaborator (C# / SMAPI / Content Patcher) who wants to handle the technical side while I handle the visuals. This is a free passion project, so I'm looking for someone who just wants to build something cool together.
I’d love to show you the asset sheet if you’re interested! DM me if you want to team up. 🍄✨ Here's some examples of assets I've created, two of the characters for this mod. If this isn't the right place to ask, I apologize if spamming. I just don't know where to look for people who'd be interested. Thank you for reading.
If you don't find a collaborator, we'd also be happy to help here if you wanted to learn the Content Patcher bit. It mostly doesn't involve any programming or scripting, aside from specific bits like heart events.
Thank you! I have no coding experience. I was trying to develop the mod with Gemini, but GOD, would not recommend AI. I feel bad, because there's people who really like my mod, but I can't support it the way I have been. I need real people.
Also! Very cool meeting you pathoschild!
Yeah, AI isn't very good at creating mods yet (at least partly because mod code mostly isn't part of the AI training data sets, especially for content packs).
afaik it's also against the rules in the server
yeah, I noticed haha, it knows stuff and can make basic mods, but its hard to do anything complex, it gets confused too easiy, well I am no longer supporting the AI mod
I want to make something real with real people
i have a lot of stuff im working on already, but here are some resources!
!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.
To use this command, type !startmodding.
very cool! Thank you for the info!
Stardew Modding Wiki
Interested in making a mod for Stardew Valley? Then you've come to the right place! Check out the list for step-by-step tutorials to make your very own SDV mod.
Have you made a mod before and want to share what you learned? Awesome! Just create a new page on this wiki, call it "Tutorial: How to do a thing," and put in your advice, screenshots ...
ofc :)
I did not think to use the ParsedItemData.SpriteIndex % Texture.Width, but that would work perfectly! I will get Fashion Sense updated here shortly with that change.
Thanks! There's no hurry; Seasonal Hats depends on a change in Content Patcher 2.9.0, so it'll need to wait until that's released later this month anyway.
Hi, I’m running into a problem in Tiled. Any property I add as TileData doesn’t seem to work in-game. For example, I set Action Door but the door won’t open. It’s on the Building layer, and I did set the coordinates in map properties. Honestly, I’m not sure what’s wrong.
doors are tricky and actually have multiple components that work together. try this tutorial: https://stardewmodding.wiki.gg/wiki/Kailey's_Interior_Door_Guide
(assuming you mean for a door like to an NPC's bedroom)
Yeah, I did follow that tutorial, but it’s still not working
can you share what you have so far?
Here
and the bottom tile of the door is on Buildings, and the top 2 tiles of the door are on Front?
Yes
Oh yeah, you’re right, thanks a lot!
In tiled, whats the difference between adding properties to the tile layer vs the object layer? (i.e: the Blue vs pink ones.)
I moved my broken ones (from the earlier issue) onto the object layer and its.. seemingly fixed??
afaik the tile layers are for placing the images, and the object layers are for putting interactions in the map, like those lil message things that pop up when you click on a specific item in vanilla
by properties do you mean TileData?
yes.
In this case, i tried moving the "Diggable" and "Type" properties there, and it applied them just fine. Doing the same on the tile did nada
Hence, im a bit confused.
tiledata like that can be applied to the whole tile in the tilesheet property (affects all tile) or as tiledata
but i don't believe they can be added to the individual image
Yeah you can use EditMap maptiles for that
I'm sure the root cause is very intriguing but it's the easiest fix i think
https://smapi.io/log/ef768aee78ac45228c7659fa6d0b37f1 I keep seeing this 'tokens not ready' message and I'm not sure what I'm doing wrong since the Preferred Pronouns block works https://smapi.io/json/content-patcher/07a598983d324dcab07a03267e8b1bfe
Log Info: SMAPI 4.3.2 with SDV 1.6.15 build 24356 on Unix 6.14.0.37, with 26 C# mods and 13 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
Fixed with Fashion Sense v7.1.2! No worries there, I much rather get it implemented now before I inevitably get distracted 
Thank you for testing and your feedback with this feature Pathos! If you run into any additional issues, please do let me know.
..what happened to taking a break 
my brain will not let me rest until I at least fix Shane's token key TT
this token seems pretty advanced and i'm not entirely sure what's going on with it, but are you sure you can begin a token with a pipe?
I saw it another mod and it works with the pronouns so I thought it would work here too 😭
yes you can, and people do, though I don't personally recommend it because it can lead to very difficult to debug errors
(case in point)
Yeah. I think I might… just revert back to the previous version at this point
Haha this is making me nuts
i think i'm mostly confused why you would combine all of those things into one token lol
it's an "easy" but very fragile way of getting the token value you want imported into an i18n token
ah i see
yeah, and just lumping this together so instead of having to do the multiple tokens in my thing I could just put {{NicknameandDescriptions}} and that would cover all of them
but it's not worth it at this point - I'll leave the pronouns since that works but going back to separate nickname and descriptors
(i personally very much dislike it and refuse to debug issues with it)
(not your use specifically and personally charcoal I just mean in general)
I swapped over to localized strings when I figured them out
avoiding the passthrough in general where I can
@next plaza: hopefully actually help nic with the set piece stuff (6h ago)
Only current problem is they don't work in mail
maybe that can/will be addressed in 1.6.16/1.7
Hi! I wanted to make a little personal edit to the Make Marlon Real mod (permissions say it's ok) to add seasonal outfits for Marlon, since I have custom sprites for him that I want to use for each season. I'm lost on how to add seasonal outfits for modded characters though. Any advice on how to go about it?
https://stardewmodding.wiki.gg/wiki/Tutorial:_Adding_Seasonal_Outfits_via_Appearances you can follow this, and use whatever marlon's internal name is from that mod
Thank you!
Hello, quick question. Do you know if it’s possible to set an EMC rule that accepts more than one context tag or more than one ItemID? If it is possible, is it done like in the example line below?
"selph.ExtraMachineConfig.RequirementTags.2": "category_egg, item_egg", or
"selph.ExtraMachineConfig.RequirementTags.2": "category_egg", "item_egg",
Do you have an example at hand? My idea is that an item can be crafted using cow milk, goat milk, a dinosaur egg, and any egg. I know I could use category_milk or milk_item for milk, but I need it to be only milk of animal origin. If I include iplant_milk_item, would that work? Also, the dinosaur egg doesn’t have the category_egg` context tag.
unfortunately I don't
your outputitem list would have two identical items, but one accepts category_egg and the other accepts item_egg
(while not relevant to your implementation, if this is for a fuel item, it feels a little risky having a machine that can automatically consume a dinosaur egg instead of a regular egg)
Well, I’ll have to create different rules to produce the same item. I wanted to avoid that, but if there’s no other way, then I’ll have to roll up my sleeves and do it 😆. Thanks for the explanation.
The fuel item will be another item from my mod, don’t worry hehe
it's just one extra entry in OutputItem, it's not that bad aside from maybe clogging up Lookup Anything
One more entry? Can I make an example and you tell me if I understood it correctly?
sure
https://smapi.io/json/none/599c3a2ccefb45ba9d7bd2ad6dd2d2c1
I only included the part of the code where I have a question, so I don’t make you search through the whole file. In this case, one is with cow milk and the other with XXL cow milk.
In the case of eggs, I was thinking of changing category_egg to egg_item
yeah that looks fine
Ok, thanks Selph
hi hello Ive been gone for a few months and come to find a report that the AT scissors aren't working with my donkey mod, a la "no texture for current season" and I dont know where to begin as my brain has already dumped all modding related info out of my head, but Im fairly sure animals don't have .... seasons
and I dont think I specified them as seasons -- nope
It just means that the name for your donkeys in the AT mod doesn't match the name in your CP mod. It uses the same message whether or not you have seasonal variants.
Did u use skins or AT
I made separate CP and AT files, this person is using AT
dont know how it would break in the 3 .. 4? months since I posted it, and it was working fine for me then. Alas
I'll have to update and check it out at some point
Yeah gotta repro to know what's up
the AT has a small cp component just for the shop icons, but it wasn't throwing any weird stuff at me then
So are the AT donkey targeting something else
doesnt look like birdb updated the original mod either so it shouldn't have changed the target stuff
this looks like a problem for future me, stares at 50+ mod updates
hm i wish to get some opinions
mainly from @next plaza but also in general
in the current PR up for spacecore's texture override there is new field scale modifier
to make a 64x64 portrait use 256x256 texture ala HD portraits
the actual number one must put is scale modifier = 0.25
i wonder if it'd be more intuitive to invert that from the start
so that you put scale modifier = 4f and then I divide that at some point 
maff is the same after this 1 division, so it is about what is more intuitive
reason why it's currently 0.25 is because this is a modifier on scale, which is usually like 4f (but sometimes 3f, it's not fixed number), and 0.25 brings it to 1f
why not have em supply the desired width/height and calculate the modifier from that
that's already there 
but this mode is added specifically for case of wanting to replace entire sheet
then i would make the modifier required in that example be 4f
and base it off the asset and not the draw
why would it be based on asset 
as in the underlying png
the literal asset found in the unpack
portraits are 64px wide in the png
therefore to make them 256 that should be 4x
hm i guess i dont rly think there's a distinction here 
the distinction is exactly what you were asking for opinions on
yea i mean i think mathwise the underlying png is also accounted for
i gotta remember wtf 3 weeks ago chu is on about though let me try to write it out
my opinion is that the content pack mod author should not have to care what the draw code they cant see assumes or does
yea that's fair 
hm so i think what i was doing is, aim for the same draw area
e.g. if game was drawing a 16x32 texture of something to 64x128 actual pixels
i always ensure we r drawing 64x128 actual pixels, but the source rect is adjusted by the modifier
this is a division on source rect, and a multiply on scale
to make it this instead, i'd just have to flip it to multiply on source rect, division on scale
that seems reasonable and now scale modifier can be accurately described as source rect modifier instead
@next plaza ok i hath updated the PR lmk of any other concerns https://github.com/spacechase0/StardewValleyMods/pull/557
the best thing about changing year is that it's easier to see if I have new posts on my Nexus mods
i'm finally getting around to this but i'm having a brain fart about how to fix it. when i open the .tmx in N++ it shows the source as <image source="tilesheets/spring_handwrittenhello.dbda_Lighthouse.png" width="256" height="304"/>, and when i try to change it in tiled by clicking Edit on the Image field, it makes me choose a filepath. i can't just have it be spring_handwrittenhello.dbda_Lighthouse.png
If the image you select is in the same folder as the .tmx you are editing, it won't make it a file path.
so do i have to move it up a level out of the tilesheets folder, change that, then move it back?
Remove the tilesheets folder in N++
You can do that, you can edit in N++, you can run it through the map fixer
gotcha thanks both of you
And if you added it originally using the tilesheetinator then I think you set that up incorrectly
i thiiiink the map is from before tilesheetinator. i started making it ages ago, probably april or may?
no it would have been before that even, i released the mod in april
Then you probably just did add it the normal way and didn't think about the folder being part of the image source so as long as you use the tilesheetinator in future you won't have this repeat
yeah, i haven't had any other issues with maps since (except for the stupid mistakes like tilesheet climbing that i really should know better but forget to check all config options :P)
my noc just wont reject the movie ticket and i dont know why can someone help me
this is how i have it written
Your NPC won't reject a movie ticket just because you have the dialogue key. Do you want them to reject every movie ticket? Have you set their Data/MovieReactions data to dislike every movie?
It's not just dislike, is it? There's a Reject
"Tag": "spring_movie_0", //Brave Little Sapling
"Response": "reject",
"Whitelist": [],
"SpecialResponses": {},
"ID": "reaction_0"
},```
This is how I have mine done
Could try setting it as a reject item dialogue instead if you want it for every movie. Movie ticket item ID is 809
without modifying a mod's files, if a map i wanna EditMap has a period in the file name, do i include the file extension
bc i think smapi thinks that anything after the period is a file ext
you use the same Target that the other mod used when using Load for that map; you're editing an asset, not a file.
thankiess
👋
oh no not another one
?
what happen
this is like the 5th account sending exclusively 👋 in here, #stardew-spoilers and #town-square
Do you think they could be bots?
not quite
i imagine so
i fear im too lazy to make it work bc the code is in c# 
2026-01-08T10:10:26.619Z
2026-01-08T10:10:26.277Z
2026-01-08T10:10:04.053Z
for the 3 from this one
but i found a workaround anyway so all gucci 
yeah discord round sto minute
still, suspicious yknow
but the id can just be decoded to get the actual time
if it's going through an AssetRequested event you can still edit the asset from the given target used in Game1.content.Load, otherwise if it's using Helper.ModContent.Load with a relative filepath you can't
wowiethese are,, some new ways to strings words 
I don't think this is an actual bot. I think this is a real account that got hacked.
well on the other hand, if what you've got works then don't worry hahah
When you check its links it looks way to legit.
@iron ridge Hold on, you can mod on switch???
yeah
Depends on what you’re expecting from modding
Silly question;
When spawning an item via animal produce, can it be assigned flavor information somehow in its item spawn fields?
Trying to make a farm animal that "digs up" honey, and I'd like to when spawning it to scan the area for nearby flowers like a bee house to set flavor/price data
Probably, I've not actually done movie stuff before I was just skimming the wiki page on my phone
<@&239770080378880001>
ive tried that too and that didnt work either idk why
i fixed it!
only with extra animal config, but nearby flowers isn't supported yet
given that you're the lucky 10000th visitor 2nd person to ask for such a feature I may add it in the future
what was the switch2 bug? 😄
#bulletin-board message this?
crafting menu is hungry
according to the s2 the horse flute is a valid ingredient for blue grass starter (among other items)
How does this happen 
iunno but I'd also love to look at the decompiled code
instructions unclear; planted flute, grew a horse
Hi! Where can I see the item IDs in the game?
i would have said all the crafting recipes that trigger it are for the new 1.6 items, so i would guess someone did a bad with string ids or whatever other cursed thing, but then there's "Speed-Gro" right in the middle of CA's list and who even knows lmao
{{Relationship:FC.Valerie:Married}}
Is this a workable token or am i tripping
the token is {{Relationship:FC.Valerie}}, and one value it can have is "Married"
so if this is for a When block you want
"Relationship:FC.Valerie": "Married"
if i do it like the new one, how owuld it be written in a i18n like im trying to make dialgoue for the festival but only for when youre married
i do it this way:
"{{Lacey}}": "{{i18n:festival.{{TargetWithoutPath}}.{{Relationship:{{Lacey}}}}.1|default={{i18n:festival.{{TargetWithoutPath}}.1}} }}"
(and i have similar ones for _y2 and _y3 (dialogue keys only, friends, don't panic) which use .2 and .3)
i dont want to have every relationship status only marriage cause the npcs only go there when married
i only have married and regular (there's a default you maybe didn't see?)
i see the default yes
so if i dont have those entries and theyre not at the festival anyway i dont need to worry about it even though its coded to have every relatinship status?
so this checks for e.g. festival.spring24.married.1 if you are married. or festival.spring24.dating.1 if dating, etc. but i only define married so if you're dating you just get the regular one
I know how to do it that way im asking if theres a way to do it for only if youre married in the code, cause i wasnt sure if having it coded to make repsonses to every relationship status would cause any issues
since theyre only ion the festival when married
this technique hasn't caused me issues for approaching two years. i'll let you know if it does
Oh yeah u can use default key now too
Which just means ichor can remove 1 layer of i18n: in the default
oh that's nice, i might do that (old mod syndrome lol)
anyway if you want to gate any patches behind being married, you should do
"When": {
"Relationship:FC.Valerie": "Married"
}```
so that would work for the festival patches as a whole if they're only supposed to attend when married. then you don't need to bother having different keys or any of that
you can run patch export Data/Objects to get a list of all objects loaded by your save, including mods
Lookup Anything can also help
if you just need vanilla IDs there's a site for that
thanks
What site?
Okay, thanks!
Hi Guys, I am super super new to modding, but I decided to give it a shot. I’ve run into a couple issues, and I am seeking advice, but I don’t want to just dump them in the channel if there’s a better way to address them? I totally will if that’s what is easiest, I just don’t want to inconvenience anyone.
Omg I was abt to ask the same thing
@bitter coyote @icy yoke just dump your questions in the channel
That's what this place is for
Ok banger
Okay! Thank you
My biggest question is trying to get a stupid custom map to load. All I did was edit the existing saloon map and add a new bedroom for my custom NPC. But it will not load.
I used vanilla tilesheets, I put it in the content folder in my CP mod folder.
Nothing
I downloaded TMX toolkit to see if it would help
It did not
My NPC is floating in an inaccessible void outside the bar storage room currently
Please advise
- Don't use tmxl/tmx toolkit it's outdated
- Share your content.json
!json use the site linked here
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.
To use this command, type !json.
This is also where I gotta warn you against putting NPC house on existing map, saloon real estate is a struggle
Fair enough. I will run it and see what it says. Thank you!
Please consider using either Saloon Second Floor (assuming there is still space) or Pelican Valley Loft NPC Apartments if you want to avoid the real estate struggle!
Both mods are meant to provide spaces for new NPCs to live without the mod author having to try to find empty space on the map, which also improves compatibility.
Helper.Input.Send is upcoming in SMAPI 4.4.0, is there any way to achieve the behavior of simulating a button press now?
Thank you!!!
What is your usecase in particular?
Remapping buttons, so on a controller pressing a certain button will be suppressed and replaced with a different one
How would I set the mod as a dependency?
I apologize, I am still very new to this
It suppresses vanilla button press with SMAPI and then patches the gamepad state things to manipulate what rest of game sees as button inputs
I guess also since it’s not an existing map native to the game, how would I get my mod to use and recognize it?
I've been poking around at it but having trouble finding how it actually makes the rest of the game see the button as down
That'd be the harmony patches I linked
That said, this mod was made over a year ago and i think 4.4.0 will be out very soon
What if you just wait a bit 
Also, since there are multiple maps that compile to create the new area, how would I get it to use and access all of those files?
Alright I came here to get back into modding. I once created a Transformers Mod, but I abandoned it. I am here to start with a simple mod edit. I wanted to display the heart of the marriage candidate like in SoS or Harvest Moon but not only that give them colors as well.
Would that be possible?
Do you mean on the social page?
Yeah and on the dialogue box as well.
Hm so changing the heart for everyone is not so bad
The texture is just somewhere on cursors i think?
Changing for only some characters is hard bc there's only 1 heart texture to edit
So you'd need C# for that
I see
I did have a modding question but lowkirkenuinely gave myself a scare by moving around my game files and thought I accidentally deleted it all so I need to build back up my confidence 💔
I should probably get to work adding character mods to SDV starting with some DBZ Characters\
Hi there,
I could need some help with editing a specific solid foundations mod (New Building Winery) to have seasonal and a different sprite. Whatever I tried so far myself did not work whatsoever :/
what did you try?
not a lot of ppl is going to be familiar with SF unfortunately but I think it piggybacks off vanilla building data now so maybe we can do something about it
basically I changed a few things in the content.json withing the CP folder of NBW to edit the building.png located in the SF folder of the mod. But it did nothing. With other changes to the content.json just to try if I could only edit the description of the building at Robin it did nothing as well
think my pathing is somewhat off but I looked into the wiki of SF and could not figure it out right. basically just trial and error to be honest because I have barely more knowledge then logic
!json pls
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.
To use this command, type !json.
(but tbh what I would do is patch export Data/Buildings, look at the final building data object and edit that with a new content pack instead of dealing with the outdated existing code)
let me open it real quick again 
Do u wanna just convert it to CP
the CP is written already in the base mod. I want the medieval look of Gwen on there 😅 that's the main thing I try
not all of it, the mod's deferring the actual building functionality to SF
this can be rewritten to just be pure CP
|| {
"Action": "EditImage",
"Target": "{{PeacefulEnd.SolidFoundations/BuildingTexture:rzd.NewBuildings.Winery}}",
"FromFile": "assets/DNEarthyRecolour/{{season}}{{WineryOption}}{{WineryFoliage}}.png",
"PatchMode": "Replace",
"ToArea":{
"X": 224,
"Y": 432,
"Width": 176,
"Height": 144
}, ||
Those are the lines I tried it with
why the ToArea
ohh ok.. so basically edit the mod to be a CP extra building without need of SF?
originally was a "FromArea" jsut a trial and error thing 😅
you don't need those if you're replacing the entire image instead of just patching over an area
(and the area you specified looks like it's way out of bounds)
this is what I'd suggest yes, but that depends on how much work you want to put into
the whole image at Robins is quite out of bounds for the main mod, but did not quite bother with that yet xD
@last plover You leveled up to Cowpoke. You can now speak in our voice channels and share images in all channels!
Here's another winery building mod, it's all content patcher
(it would not be any work for me at all but that's because I'm very familiar with the whole thing)
you know I know nothing? xD
oh mhh you think it would be easier to replace the look of that?
thing is all I want is basically the Winery building having the seasonal look of one of the Slime Hutch variants of Gwen's Medieval Buildings. Don't really care how but would have to learn the modding from scratch to make my own CP for that?
How to add a new NPC
easiest way is to just directly replace the PNGs
I thought about just making the building.png the one of the SlimeHutch but how do i get the seasonal changes with that?
you'd need to use tokens or when conditions
your code above is using the {{Season}} token which gets replaced by the season
within the content.json of the SF folder with changing the "Skin"?
and thus changing which png gets picked
via CP
tl;dr yeah you should probably start reading the CP docs
yeah well atm it picks none at all :/ was trying to do it with tokens and 4 different .png in the assets folder but it somehow doesn't use them
post your code + the name of the pngs you added and their location
!npc
Creating a Custom NPC
Keep in mind that making NPCs is a complex process that requires learning many different aspects of Stardew modding.
Here are a few links that can help get you started on all that you need to know:
-
Tiakall has a great tutorial on making a custom NPC for 1.6.
-
NPCs no longer use dispositions, check the wiki page for the new NPC data.
-
Feel free to jump into the https://discord.com/channels/137344473976799233/1277457201077813280 thread for more interactive feedback and help!
-
Fireredlily has a WIP NPC Builder Please do report any errors you get with it into the NPC thread!
To use this command, type !npc.
code is a big wall of text should I just drop the file here?
!json
JSON is a standard format for machine-readable text files that's used by Stardew Valley mods.
If you need help with a JSON file, you can upload it to smapi.io/json to see automatic validation and share the link here.
When making mods, it's recommended to edit your files in a text editor with JSON support, such as VS Code, Notepad++, or Sublime Text. These programs will check for syntax errors.
To use this command, type !json.
upload to that site and post the link here
Main part of this is the original mod's thing. I only added the Config at the top where some tokens pulls inspired by Gwen's code (token thingi)
and added those bottom 2 options, with the lower one kind of trying to be a "finder" for if i can even change the description
the .png are named "summer_2_more" kind of style
so first, remove the FromArea block entirely, as stated
next, you're telling the code to load the files from assets/DNEarthyRecolour/{{season}}_{{WineryOption}}_{{WineryFoliage}}.png; are they in the assets/DNEarthyRecolour folder?
to check that they work look at your log; there should be some big warnings in there if the patch fails for whatever reasons
.png are located in assets/DNEarthyRecolour, yes
smapi doesn't throw me any errors about the mod
!log post it just in case?
Important note: Your computer username may appear in the log. If your username is your full name, please be aware of this before uploading it.
Please share your SMAPI log file. To do so:
- Open this page: smapi.io/log.
- Follow the instructions at the top of the page to upload the log file. (Don't copy & paste from the console window!)
- After uploading, it will show a green box with a URL to share. Post that URL here.
Please do it even if you don't see any errors. This has useful info like what mods and versions you have, what the mods are doing, etc. If the issue didn’t occur in your last session, please load the game to the point where the issue occurs, then upload the log.
To use this command, type !log.
Log Info: SMAPI 4.3.2 with SDV 1.6.15 build 24356 on Microsoft Windows NT 10.0.26200.0, with 60 C# mods and 60 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
ignore that outdated one... it's a recently published and one day later updated mod I still need to fix 😅
and this is after removing FromArea?
I'm seeing the mod has two copies of the building assets, one in the CP folder and one in the SF folder, and in the absence of further knowledge of how SF works I'm concluding that it's only actually using the latter copies
I did remove the FromArea, yes
and from my testing I have the same feeling of the mod only using sprites of SF folder 🤔 but I can't really use tokens or do anything with them in the CP json can I?
no, but since IIRC SF piggy backs off vanilla building data now you can maybe find the final asset it's using and edit that
actually I have to add the content.json in CP also edits the map depending on the config, which works fine with the maps being in the CP directory
ok how to use that? 😅
run that command in the SMAPI console, look at the file it generates, see what the Texture field of the winery building is and edit that asset (put it as the Target in your patch)
give me a hot minute for that... quick reminder for me smapi console is the thing which just opens, when I start the game?
yes
ooh i found something 😮
finally a hint of the base texture... xD
errrm...
at the bottom 🤔 think that's the best way to share atm
"Texture": "rzd.NewBuildings.Winery_BaseTexture"
yeah you'd load new textures into that second string
where do I find that? or simpler put... how do I edit it? 😅
so I have that "EditImage" in my content.json
guess I should change the target? to what specifically? the "rzd.NewBuildings.Winery_BaseTexture"?
Airyn has a mod on Nexus that does exactly that, you could look at it for a reference!
yes
ummm... It kind of worked but is cursed because the SlimeHutch doesn't match the size xD
I might be able to fix that with an old file of Gwen with the old bigger Slime Hutch in mind 
you can also try resizing the building in data (that's in the SF portion of the mod)
currently it's coded as 11 tiles wide and 4 tiles high
it is, yes
might be the easiest way honestly
and change the human door location as well
Hello, how are you?
Is it possible to make a wild tree created by someone produce flowers and/or fruits like a fruit tree?
sure, there's the shake drops field
True, I had forgotten about that field. Always saving the day, you Selph, haha.
mh... seems like the original texture is not really replaced but rather added onto
I set the blueprint to 4x7 which still doesn't fully fix the size to Gwens art but main problem now is getting that old winery drawing gone from behind there
hmm your patchmode is replace right
it is
quick fix in my mind would be to just replace that original thing with a set slime hutch design but I name it the exact same?
What if u just resize ur image
To match the original
Fill what u don't want with transparency
umm one thing after another 😅
"Action": "LoadImage" ? or what is the correct spelling
Stupid questions time
Why not just make a new building
Of the right size
Just copy a shed
ok I tried my own little workaround first, it seemed to work 😅
testing different seasons real quick
because I am a dumb amateur just trying to have the setup for a modded playthrough? 😅
You've now spent longer than it would take to copy the shed tbh
yes I figured sorry 😅
I considered your take but it is just to big for my likings :/
noone was here first to tell me and even as you did now, I have no clue what exactly should be done for that? Copy the shed in buildings of normal Stardew and just edit some files there or add a CP pack with a copied shed which uses the images? 
Sort of, you need to use EditData to put in info about your building
Plus Load for the appearance
And Load for the inside map too ofc 
basically writing a new CP building which Selph suggested? 😅
There's a learning curve for content patcher when you have to figure out what does it mean to "put" data into game
After you get over that you can make basically any kind of CP mod
Whether you wanna do all that is your choice but you are in the modder channel here 
Ppl will generally help you do what you want, whether it's get SF replace working or make new building or anything else
I mean makes sense honestly, so far I was fine just going through the mod files of others and finetuning them to my likings 😅 yet this one just gave me a headache because I didn't get the directory to wokr
I highly appreciate your combined effort to help me out here 
As I now know, CP is not that big of a deal I might consider just writing new next time 😅
Have an awesome rest of your day and thanks again 
I have tried loads of things to fix this
It just refuses to load the new map
I made a new one and instead of adding a room I just edited an existing one
Can someone look at it and tell me why it may not be loading
Thank you!
https://smapi.io/json/content-patcher/725166bc81bf43e49c86f8d285dbad4d
Hm so with this EditMap, you have a assets/NewSaloon.tmx that is same size as the original Maps/Saloon?
Yes
I just edited the original in tiled
And are you testing on a minimum mod list
No other mods besides your mod + dependencies
The only dependency I set was for SDVE because it was the only thing I could think of that would change the map
I don’t know what other mods I would need to set dependencies for
I haven’t disabled other mods because it would take an hour to .
all of them
You can just rename the Mods folder for that
But the reason why I ask is because your edit may be overwritten
Okay
If that’s the case
How do I figure out which mods are doing it for compatibility?
Just add in one at a time?
Important note: Your computer username may appear in the log. If your username is your full name, please be aware of this before uploading it.
Please share your SMAPI log file. To do so:
- Open this page: smapi.io/log.
- Follow the instructions at the top of the page to upload the log file. (Don't copy & paste from the console window!)
- After uploading, it will show a green box with a URL to share. Post that URL here.
Please do it even if you don't see any errors. This has useful info like what mods and versions you have, what the mods are doing, etc. If the issue didn’t occur in your last session, please load the game to the point where the issue occurs, then upload the log.
To use this command, type !log.
But it is just easier to test with fewer mods (until you need to look at compatibility
Log Info: SMAPI 4.3.2 with SDV 1.6.15 build 24356 on Microsoft Windows NT 10.0.26100.0, with 38 C# mods and 26 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
It is still missing events and schedule
I need the coords from the new map to do those
It did not fix it when I ran it vanilla with only my mod, Content Patcher, and CJB cheats
Hm it doesn't look like your edit is getting applied at any point 
Can you do a patch summary <your mod id>
Sure, how do I do so?
Which one is your mod?
Log Info: SMAPI 4.3.2 with SDV 1.6.15 build 24356 on Microsoft Windows NT 10.0.26100.0, with 2 C# mods and 1 content packs.
here is a new log with unnecessary mods removed
Type that but with your mod id into smapi console
Got it
Pls just send log
Log Info: SMAPI 4.3.2 with SDV 1.6.15 build 24356 on Microsoft Windows NT 10.0.26100.0, with 2 C# mods and 1 content packs.
Sorry, I am completely inept at the moment
Does anyone know what a "i18n" folder is for?
Log Info: SMAPI 4.3.2 with SDV 1.6.15 build 24356 on Microsoft Windows NT 10.0.26100.0, with 2 C# mods and 1 content packs.
That is the log with ID updated
What are you editing, exactly
Because I'm not seeing any changes reflected in the log
i18n is short for internationalisation and is for supporting multiple languages
i18n (standing for internationalization) is where you would put your files that contain translation dictionaries, in preparation for your mod being translatable into other languages. have you found the CP documentation on i18n?
Replacing an existing map is the goal. The NPC spawns, the new map just isn't showing up
Is your mod's id actually "<NewBachelorDan>"
Chue, the mod id currently is Author.Mod
Ah how terror
The thing we call mod id is the "UnqiueID": "Author.Mod" bit in your manifest.json
Atra we r trying to see why the saloon edit is not working
Ah yeah dont put the < > that just means placeholder
Ok. Im so sorry
patch summary NewBachelorDan
I'm suspecting they're editing smth that isnt the deployed mod
Log Info: SMAPI 4.3.2 with SDV 1.6.15 build 24356 on Microsoft Windows NT 10.0.26100.0, with 2 C# mods and 1 content packs.
Yeah you need to actually put your edits into Mods folder
So I'm trying to take a step back and verify - editing correct version of file?
Are you using any kind of mod manager
Log Info: SMAPI 4.3.2 with SDV 1.6.15 build 24356 on Microsoft Windows NT 10.0.26100.0, with 2 C# mods and 1 content packs.
it looks like it actually recognized it this time
Yeah so u can see all your patches
But the saloon map edit is not there
Double check your content.json?
The situation is that this content.json would probably work if we can actually get it into the loaded version of your mod 
Oh my god. I did the same thing with content. I changed it externally and not in the actual file ion the mods folder
Fair! Happens
And now u know how to debug ur patches in the future
Okay, I think I have a few minutes free. Can I ask if my first line is right?
Thank you very much. Will update once I re test
Also, if I'm playing a modded game of Stardew right now, are those mods now must haves for the mod I want to make?
Not automatically
If it's required.
Like my yan rung mod needed the Bus Stop Expansion
If you want a mod to be a dependency for yours, you list it as one in the manifest
Right, thank you.
I should update the mod. Because the Bus Stop Mod isn't updated
Can I ask what happens then? If the mod isn't updated? Can it still run?
If a mod you require is not installed then you also can't load
That being said, if you utilize something from another mod (ex: a tilesheet) and you don't have the mod installed it will also fail
A mod being broken = cannot install
Right, okay. So, since I'm using the mod that lets you stop time and another that lets you see the tile number, does that make them dependencies?
Regardless of if it's listed as a dependency in the manifest or not
Probably not
They should only be dependencies if the mod you are making needs them to work.
You do have to go out of way to use other mod assets
It's all on you the author to declare
So, if I want to install, for example, Stardew Expanded to make sure my mod works on it, it's not a dependent, but it is going to work?
Yes.
Right, okay, I undersand now, thank you for your patience.
But if you put your mod in a location that only exists in Stardew Expanded (like Crimson Badlands, for example), then you'd need it as a dependency.
compatbility: these mods both work together!
dependency: this mod MUST be installed or mine won't work/load
Okay. It is now saying that my map does not exist.
Progress! Does it exist
Log Info: SMAPI 4.3.2 with SDV 1.6.15 build 24356 on Microsoft Windows NT 10.0.26100.0, with 2 C# mods and 1 content packs.
(what was the mod doing?)
when I try to lod it in tiled now it also says it doesn't exist
!fileext
where do I input that?
!fileextensions
Hidden File Extensions
Windows and Mac hide most file extensions by default. If you are creating or updating mods, it's helpful to show file extensions so that you can be sure all mod files are named correctly.
To show file extensions on your computer:
On Windows 10, open File Explorer, click on the View tab, then check the File Name Extensions box.
On Windows 11, open File Explorer and click on View > Show > File Name Extensions.
On Mac, open Finder, and in the menu bar, click on Finder > Settings (or Preferences) > Advanced, then check the Show all filename extensions box.
To use this command, type !fileextensions.
Log Info: SMAPI 4.3.2 with SDV 1.6.15 build 24356 on Microsoft Windows NT 10.0.26100.0, with 2 C# mods and 1 content packs.
!tilesheetclimbing for your map error
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"/>.
To use this command, type !tilesheetclimbing.
let me try it. Thank you
!mapfixer is another handy link
Stardew Valley Map Fixer
There is a map fixer tool by Spiderbuttons that can fix common map errors such as tilesheet climbing.
Upload your map file(s) as .tmx and click FIX to run. Your fixed maps will be downloaded as a .zip file and will need to be extracted in order to replace your old versions.
Feel free to let Spiderbuttons know if you run into an issue it can't fix.
To use this command, type !mapfixer.
I'm trying to make a manifest, but I know that both SMAPI and Content Pack are going to be used for this. Which one should I pick, though?
what do you mean
you need smapi for pretty much every mod out there anyways
https://stardewvalleywiki.com/Modding:Modder_Guide/APIs/Manifest
There are two examples here. Which ones should I follow?
"SMAPI mod" refers to a mod made using C#
is your mod a C# mod?
you're making a content pack mod, so you would follow that example (and put it in the "content pack for" field)


