#making-mods-general
1 messages · Page 541 of 1
Although I want to play the voiceover mod
And that will require some coordination with whatever else is playing
i wish there was a mod that had those rpg "hmm" sounds when dialogue pops up
Ough now I want to add voiceovers to my NPCs
Would this be easier with C# instead of CP
I don’t know at all so
That is, I believe, the exact situation ichor made it for
Oh 
thought it was for custom typing sounds
It's a framework
You can put whatever sound in that you want
Here's undertale sounds (whatever those are): https://www.nexusmods.com/stardewvalley/mods/42338
I meant I thought it was for when the letters typing in the dialogue box sounds
only at the beginning
Poke ichor about adding that
oh and also linked to portraits so yeah uhh the C# stuff doesn't actually look that bad but meh it sounds easy just lazy
I don't think I'd use it though, it's like a "i wish this exists but I won't do it myself"
That’s why ur a Modder soup
do you know how to get voice permissions?
Could be a modfest thing too
you'd also maybe need permission to add them to other npcs or they're silent as well
Voice permissions as in to use someone’s voice or to add voice to an NPC
Spend time in the server talking to people with text chat until you are level 5
I'm not sure if you're refering to the rain ambience or an actual track, bc I can't find it on youtube
OH LOL
The ambience. There is no music on rainy days that's what I like lol
It was amusing timing lol
Well that is why Aba is a junimo
arent junimos mods (kidding)
Yup that is the only reason
thank god there’s a different name for them here
making junimos general
ur a junimo! Ur a junimo!
That would be a very popular channel lol
not here buddy
That is not the way to do it. That'll just get you banned from the server. If you don't want to chat about Stardew, go to the off-topic channels like #town-square or #adventurers-guild. If you do want to chat about Stardew, there's #stardew-valley or #modded-stardew if you want to chat about mods.
i gotta find out how to dump my HMDS rom to get the audio for this mod
I really should do more with audio for my mods I just play silent and I forget about it
I love the rainy days too. I also have auditory processing disorder! I usually have crochet for loading screens :p
I downloaded a whole bunch of music mods for the first time this run and every time I turn my sound on when testing I glare suspiciously at my game because the music is unfamiliar
I don't know if I actually like any of them
That had better not be anything to do with game piracy, soup
If it's not legal, yeet it please
Arrest them!!!
I don't think it's game piracy, it's an archive for game music
i'll delete it in case though
yeah i COULD use that but if its straight from my rom i feel like itll be the highest quality
I can't find any mention of legality so I have to assume it's not
As for vantage, as long as your mod is for personal use and you legally own the game, that's fine
i grew up on it so yeah
(I'm very happy to be shown evidence of legality, we just have to stay on the safe side.)
I feel you, because I'm really picky about music; so if it sounds wrong I can't stop thinking about it
my reason 4 disk arrived today, but I'll take a look at it on monday; it'd be interesting to figure out how the sound effects of the game were made, so far I only discovered how the lightning and clint/robin hammer sounds were made
Oo foley
I'm finally making the spousal area for my custom npc but I'm confused on where I'm supposed to find the numbers or whatever to indicate which flooring or wallpaper should be used?
Sorry are you making own spouse room map in tiled?
Yep! :D
Open the tilesheets for them and use your art program to find the sprite indexes
I’m unfamiliar with other ways to make a spouse room so curious
Oh, wait
No, those fields are unrelated to the spouse room
They are the possible wallpapers and floors that your spouse will use to rudely redecorate other parts of the farmhouse with
HAHA
(I hate that "feature" so much)
I think it’s so funny
I have to remove everything they do and then fix it back to how it was!
you shouldn’t need to set ur spouse wallpapers
If ur making them in tiled, they’ll be there
If Mouse redecorated part of our house without talking to me about it we would have Words
that was the plan; but mostly figuring out how ca did his music hahah
Oh! Alright! :O
Welp onto drawing the spousal room then
Start with the vanilla spouse rooms file as your base
Concerned what this means, do you just mean using tiled
Or drawing new assets (also valid ofc just wondering
)
Oh like I have to draw the furniture thatll be used 😭
Oof have fun
Honestly surprising how much you can fit in a 6x9 box and still make it walkable
I updated the dispos with a template (I was missing a lotta the spouse coding) and something may have gone wrong 
I MAY ALSO BE UPDATING THE SPRITE UHH,,
It's fine, I've been meaning to update his sprite for some time (it only has walking animation and nothing else) 
Make sure you don't keep your custom tilesheet in the same folder as your maps 
Wait why?? Tiled cant use pngs without being in the same folder??? 😵💫
It can if you use Tilesheetinator
And the reason I say not to do it is because if you want anyone, including yourself, to make any sort of edits to your tilesheet through CP the tilesheet cannot be in the same folder as the map.
I seeee
And absolutely do not publish your mod with vanilla tilesheets in it
Or I will scream and cry and that would be very undignified
Tilesheetinator: make tilesheets easy again https://www.nexusmods.com/stardewvalley/mods/40281
welp time for me to go through 60 map files to change that hahaha one day
LOL
i have to go through them eventually anyway, their building layer is on the back layer 😔
Feels bad man
Having to fix maps?
It is if you're unfamiliar with them
I like wrangling Tiled with a whip and chair until it does what I tell it to 
Ignore Aba put your sheets wherever u want /j
Ignore me at your peril!
I have influence here! I can raise an army of disgruntled modmakers to frown at you!
I won’t notice a difference bc I don’t play with recolours you’ll have one ally!
I’m painstakingly going and adding my the {{modid}} to all my conversation topics and checks list 63 events. adds note to check for map crimes to avoid undignified Aba screams
I still haven’t switched over to {{modid}} 🤓
If someone is impostering me I must know
<@&239770080378880001> Finally reached level 25 on discord after years of modding. I humbly request the modder role, please. 😄
Hi! Can you add yourself to the mod author list on the wiki? (You'll need to create an account if you don't have one.)
Thanks, will do that.
Hi! I was authorized to make a patch to change the names of certain items that are duplicated in other mods. I know how to do that for the base game, but I am not sure how it works when it comes to a mod.
I wanted to offer it as an optional download alongside one of my translations. I know I could simply upload two versions of the same translation and let people download whichever they prefer, but since I was specifically told to make a patch that edits the names, I would rather follow their instructions.
LittleNPCs!! 
If you remember any mod that already does that, that helps me too haha.
Hi! Custom items get added to the game's content assets (e.g. Data/Objects), where you can then edit them just like vanilla items. The only extra thing needed is to add a Priority field in your Content Patcher patch, so your edit gets applied after their items are added.
What values are used in Priority?
Search for Priority in the EditData patch docs for more info on how the field works. In this particular case, you probably want "Priority": "Late".
Ok ty, Pathoschild!
Is this the link?
https://github.com/Pathoschild/StardewMods/blob/develop/ContentPatcher/docs/author-guide/action-editdata.md
Yep, that's the link in my message.
Oh, I didn’t realize there was a link in your message haha
@ivory plume OK, entry added. Fingers crossed...
Congrats to our freshest cheeto @ruby marsh! 
Thanks!
Yay get showered in Cheeto dust!
Everything has gone wrong, not only is the spouse room not appearing but now my custom NPC isn't appearing either. What did I do wrong??? 😭
https://smapi.io/json/content-patcher/9efd9c951be54839955fdc6e6304430e
What did u change from last time
Uhhh I added a buncha new code qwq
I can’t remember if that’s the correct way to add a spouse room
I don’t remember if I’ve ever added .tmx to anything
Thinks
MapAsset should be the asset name without the Map/ prefix, not the filename in your content pack folder. You'll need an "Action": "Load" patch to add the map asset if you don't have one yet.
pathos i have a question
is it possible to have CP replace music files based on heart level during a heart event
There are two approaches:
- The most efficient way is to edit the event script to reference the different audio cue ID.
- You can also conditionally edit
Data/AudioChanges, but that's a fairly expensive edit and it'll apply globally (not just for the current event).
is there any information on the second option? i would be changing literally every heart event
Is there something like a musical note to use as a symbol in dialogue? I'm thinking about my NPC whistling a melody when I meet her.
There's a 🎶 emoji i think?
You could also do something like this
Yep, see Modding:Audio on the wiki.
That looks interesting. Thanks!
oh candidus since u r here i want to ask about getting api for littlenpc again 
i would like a way to know which children have been selected by littlenpc for grow up
!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.
you can put it into the parser to validate the format
What is a parser?
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.
I am brazilian, so my english is not very good
Missing , behind the curly braces }
from the screenshot, it looks like a missing comma problem, but i am trying to tell you about the validator site (smapi.io/json) so that you can solve these types of problems in the future 
ok
ok
which curly braces?
curly braces = { }
i know, but which? have various there
if you copy paste your json into the smapi.io/json site, it'll tell you which lines
In 2.1.3 all of them that reach the threshold age (83 days default). In the current beta you can configure how many of them age up. The child index is important and that depends on the birth date.
would it be possible to have a C# api that is like bool IsLittleNPC(Child child)?
it is better if i don't assume any implementation details so that you can change it freely
New to SDV modding, trying to solve a problem: more dynamic dialogue. EG, I already made a dynamic token that will be true if Haley is in the kitchen specifically, based on her schedule. Then I add dialogue targeting her character:
"HaleyHouse_Mon": "{{i18n:Haley_HaleyHouseMon{{HaleyInKitchen}}}}"
And in the i18n file:
"Haley_HaleyHouseMonTrue": "Ugh, I hate cooking. I never know what to make.",
"Haley_HaleyHouseMonFalse": "I hate Mondays.",
I thought for sure this would work but the docs aren't kidding when they say dialogue is set at start of day, are they? I sort of assumed the topic would be set, not the actual string as well...
Is there no way to do what I want? I already tested that this isn't a dynamic token problem, it's correctly being set when she's in the kitchen
they load the actual Dialogue yea, but i think this should work in theory?
hello, the ghost of intrusive mod thoughts is back and she has news: the dynamic windows mod creator is incredibly helpful and his new template is much easier to use.
We already have static bool IsValidLittleNPCIndex(int childIndex) You might be able to call that by reflection. Do you suggest an official API, something like ILittleNPCsAPI?
goodbye~~
can you do a patch parse {{i18n:Haley_HaleyHouseMon{{HaleyInKitchen}}}} in game to see what happens
idm doing reflection for this, official api would be nice though 
OK, in order to define an API that's actually useful, let's gather some use cases. What are yours?
this is what i want to use it for and i only really just need a "is this a littlenpc controlled child" check somehow
hence if you don't want to commit to a public api ill just do reflection to IsValidLittleNPCIndex 
some other usecase for you is displaying the state of child on lookup anything, pathos is pretty open to that as long as you send in PR
I don't mind adding an API, sounds reasonable. In the mean time you can call
static bool LittleNPCs.Framework.Common.IsValidLittleNPCIndex(int childIndex)
by reflection to see if that solves your problem.
It worked! Now my mod works
just wanted a small follow-up seems like {{HaleyInKitchen}} isn't being set correctly after all, I will troubleshoot. Thank you.
I had assumed it wasn't working because it was reading {{HaleyInKitchen}} at start of day, but now I have something new to fix
maybe it will still not work after I fix this, as is tradition
i think you may have a simplier solution tho
haleyhouse_x_y key where the x y is her kitchen tile should work?
hmmm, so it seems like most of the instancing time for furniture is actually from texture loading.
I think it will be fine if I kill that with harmony though, since neither draw function actually references the stored texture
...I don't know why I didn't think of this. Thank you kindly.
i thought they r all the same texture instance
they are, but if I kill the preloading in the constructor, it'll only be loaded when drawn
does sinz thing make a difference
which thing?
speedy solutions, it has a image cache that assumes no filesystem changs during game
not sure, but unlikely
@lucid iron So you're the author of Have More Kids? That's great. There might be some compatibility issues that we can tackle together.
the main bottleneck is the first time that furniture is instanced, since the textures haven't been loaded yet and the game has to load all of them at once
yes it sure is cursed 
speedy solutions would help with repeat texture loads though
yea as a user i find that i dont mind 1 time slow as much as repeated lag spike
but ofc making the 1 time slow more fast is good too 
yeah, but it's still a hassle when it's 5-6 seconds to open a gui
and it would be a fairly trivial transpiler to fix
hm but would you want to exclude furniture with bad textures
or would that be thing u can do incrementally in the ui
wdym bad textures?
invalid textures that don't exist
ah, hm. that is a good point
right now I have the constructor wrapped in a finalizer which would be catching those, but if I lazy it, that would cause crashes
though the vanilla shop gui doesn't handle it at all, so I might just say "fuck it, author's responsbility"
oh i thought vanilla show u 
no, if the constructor has any kind of exception it just immediately crashes the gui
that's the reason I have the constructor wrapped with harmony; people were writing bad bounding boxes on furniture and it was exploding the whole menu
to be clear this may not be the case for all items, but that is what happens with furniture
Found your mod in some logs about LittleNPCs issues. And since I'm a curious person I looked at your code. There's a lot of complicated stuff going on there because it's, well, complicated 😉 Seriously: Let's use the alpha period of 1.7 when it starts to suggest some features. That way I got rid of almost all Harmony patches for 1.6 . I made suggestions to change class NPC to be usable as a base class so I was able to derive from it. That helped a lot to get maintainable code.
I don't think i can realistically escape all the harmony 
Due to stubbornly not giving up on the Child instance
Mr ape did say more family and child content though excited to fix things
Probably not, but reducing the amount of harmony stuff. And maybe getting some properties instead of having to patch hardcoded constants.
I'm excited about new child content, too. I don't mind retiring LittleNPCs when there are vanilla features that work the same. Would be all the better.
oh wait, it uses the texture to calculate the source rect. hmmmm, that is tricky
wait why does it even need that
it already has seprate calculations that dont use the texture
Hi. If I want to use "NetWorldState.isTimePaused" it says that it can’t be used because of savety. Do you know why
what's the exact message, and is it a green squiggly or red squiggly?
is it about NetBool and implicit conversions
It’s red. Rider says 'Access to „NetWorldState.isTimePaused“ is not possible due to the degree of protection.
nevermind me then hah
oh, maybe it's internal?
if you have Harmony, you can create a FieldAccess method to get at it
You have to use IsTimePaused Note the capital first letter.
Anyone doing the modding contest?
yurr
well ill see if i get around to submitting
but as of right now yes i am/will
im participating for fun but not trying to win
I'm using it as an excuse to get something I've been passively working on for a while out.
It is a little weird with the total downloads/endorsements being the deciding factors to me for that, though.
very luck based 😔
I really want to do something big but I just don't think I have the time, even with a month
Yeah it's a popularity contest type thing.
Not even just that, more that it would inherently reward mods released earlier than others versus a super in-depth and high quality mod released closer to the end of the submission window.
rt
im finally working again
Also true
And if someone release something complex they happen to already have done very early...
im 33% through an NPC so hopefully i can get it out soonish
it rewards advertising
But if you release really late, even that won't help
yea
i feel like it should be
release period
but even then when u finish = more/less time for advertising 
yeah... I have something somewhat like that that i could just reskin...
wait I have finally had an idea woo
It's a skin of my own dang mod, but I just wanna participate
huh. where can you see the rules?
My plan is either to get the farm map I've been working on out, or I could go for a much quicker, smaller, more utilitarian but useful idea to get it out faster.
I'm gonna try to turn the Municipal Building kinda styled after a castle for mods that go old fashioned
Like a little keep
Niceeeee!
Either will be fun to see
guh i have to work on sprites
i was trying to find them from here, but they just don't link them rofl https://www.nexusmods.com/stardew-modfest
Join the Stardew Valley Modfest 2026 on Nexus Mods. Celebrate a decade of Stardew Valley by creating mods, winning prizes and joining live events!
my plan is to reuse a gimmick I made for one of my mods, then do one of the mod ideas I wanted to do and never had a reason to
I condemn self to terrible UI fiddling once again
already got linked that, thanks!
do i not do seasonal outfits to save time or do them anyway bc Perfectionism
I guess they wanted numerical metrics wrt to the big ticket prizes?
yeah, most endorsed + most downloaded being the criteria sucks...
(Shrug emoji)
like, it just feels not very well thought through
anyone got an expansion almost done 
man I released my biggest mod ever just a couple months ago, can't say I didn't wish I took a little longer on it
oh wait did I message you about the functional couches
Me? I don't think so, whatcha need
its been a while since i last worked on my mod so i cant remember
just needed perms for tilesheets
cause vanilla couches are grr
Permissions for what? I assume not using the tilesheets in your mod, because that's what the mod is for.
Well, if it's me, go for it, happy to share the sittable couches
Honest question: is it considered bad form to like... take a mod that does something small and replace the custom assets with your own? Like,,, there was an Undertale text sounds mod mentioned recently and I wanna know if it'd be bad to like take the "text sound" code and replace all the text sounds with what I need for my mod??? Obviously with credit. Or like using a portrait mod and replacing all the portraits to make that easier??? Sorry if this is worded badly
eeemmmm
i mean a lot of content patcher code is the same
bc its content patcher
i wouldnt copy paste
Well slow down
also if ur using it for urself it doesnt matter
Because that mod relies on a mod that is a framework, you can just do your own mod with the framework
if u plan to upload it thats a diff story
I used it. But now the time didn’t freeze. Do you know where I can find a code for time freezing with networldstate.
The framework does the sound thing. The sounds are what the Undertale style sound mod does. So you can just do your own thing with the framework
Yeah VoxBox is the framework, the talking sound mod just uses it
voxbox but one time playing sound effect but linked to portraits when /j
also replacing code feels easier said than done, what if u mess something up and dont know how to fix it; write it urself so u know whats going on
It is somewhat a bad practice yes
It's true there aren't 10.000 ways to do simple things with CP and frameworks as specifics as this one, so the code will be similar, but it's not "nice" to "steal" a person's work without trying to understand it, which you can really only do by doing it
https://www.nexusmods.com/stardewvalley/mods/42658
I finally published my first mod!
Ahhhh I see
I used it. But now the time didn’t freeze. Do you know where I can find a code for time freezing with networldstate.
Am I the only one for whom BackedPotatoes link on the modfest page is broken? 
no its been borked i think
(I let Modsetti know just in case)
I have also the problem that when I froze the time monster don’t move anymore. My idea is to set the timer every tik back to 2550 (1:50) would this work. And how is performance with this method
there's no way to edit another mod's i18n, right? i want to text operations a signpost that SVE adds
Nop u can't edit
nic is there a secret trick to how you did your schedule animations
there is not
You can't edit another mods i18n but you can edit the places the i18n was used afterwards
{
"Action": "EditData",
"Target": "Strings/StringsFromMaps",
"When": {
"HasMod": "FlashShifter.StardewValleyExpandedCP"
},
"TextOperations": [
{
"Operation": "Prepend",
"Target": [ "Entries", "Railroad.1" ],
"Value": "{{i18n:Maps.RailroadSign}}",
"Delimiter": " "
}
]
},```
this is what i came up with but i'm not sure the delimiter is correct
Question!
I got a basic shop up and running, but right now interacting with the shop tile just imediately brings the player to the shop UI. If I want to add dialogue /portrait before the shop menu, how would I go about that?
Oh, and heres my json:
https://smapi.io/json/content-patcher/fb32296235094e69b939a248b4e16677
oh and, dont mind the Item ID being wrong for mixed seeds, its placeholder anyway
I don't know if you can add a portrait before the shop menu in current SDV (unless something has changed since last time I checked). You might need C# for that?
Also, while I'm here:
Ginger Island Extra Locations - Redux
After around 3 years, I finally made the redux version of this mod. For 1.6, with many additions, an island version of CC and new mechanics.
https://www.nexusmods.com/stardewvalley/mods/42648
ah darn. I was hoping to have the shopkeepers opening dialogue change as their hearts increase, and adding some portraits would be a nice bonus
this looks sick!!
Thanks!
As a separate question, I really want to add a 'familiars' system, making little pets that follow you and give the farmer some basic buffs, but I'm not really sure where to start. Trinkets, maybe? Though I'd like them to be a little bigger, pet sized possibly
this framework sounds like a good fit
https://www.nexusmods.com/stardewvalley/mods/29073
oooo that seems like exactly the kind of thing I need! Thanks so much!
trinket tinker is soooo powerful and granular the sky is your limit with that really
plus chu writes nice docs and is around to help if needed
For "PLAYER_HAS_CAUGHT_FISH"
is it possible to check the quality of the fish tehy caught? Like: PLAYER_HAS_CAUGHT_FISH (O)_100 IRIDIUM, or similar?
i didnt see it in the wiki, but was just curious
@gentle rose does the most recent version of tilesheetinator allow for the use of vanilla tilesheets outside of the maps folder? do i need to set it up somehow?
nope, the parameters outlined on the wiki are the only ones available (<player> <id>+)
alr ty
It allows for the use and will offer to convert any existing ATA tilesheets, iirc!
awesome! i'm getting user error then lol
ah, show me what's going on?
I got it to work by going to > add vanilla tilesheet (like normal) and then picking from the content(unpacked) folder, got the wizards furniture to work :)
that should be how it should work, yeah
i was getting tilesheet climbing, so i ran it through the map fixer, which may have ruined the paths?
i can manually locate each file fine, but every time i close and open the map it throws up again
Are you able to double check the path that each tilesheet is pulling from?
I briefly had an issue for mine where it defaulted to tilesheet/wizardfurniture instead of ../tilesheet/wizardfurniture which broke mine for a little while
(the map fixer is not updated for latest SMAPI tilesheets)
i also did ye olde open up the tmx in notepad to remove the ../ myself so i may have fucked it
aha!
it's possible that the map fixer isn't updated for the current version of smapi, which actually uses tilesheet climbing to allow you to grab tilesheets from other directories
should it read like this or do i need to specify Buildings/ Animals/ etc
oh, beat me to it
you need to do ../ and then the path inside contents/the full asset name
e.g. ../LooseSprites/Whatever
excellent thank you
all fixed in tiled now! let me test in game
nooo not the gid error
you can try turning off every fix in the map fixer except for the gid fix
I too come bearing a question, not about tiled though
I'm making my first custom item and struggling to load the correct sprite, it shows up as some random grass texture or something instead of my custom png?
everything else appears to be working, just the sprite
I sense I have done something foolish
you need to set a texture. it should be a field in object data
you need to tell the object to use your loaded texture (and set it's Spirit index if it isn't the first on your object sheet)
sprite index*
Oh thanks! Cant believe i missed that
For now its the first on my object sheet, so I have it set to 0
pro tip: if you're going to add more objects later, it's slightly better to load one big sheet than to load a bunch of tiny sheets
good to know! Ty!!
I. may be a fool. what should the "texture" entry actually say? I've tried a handful of variants of assets/objects or {{ModId}}/objects but just keep getting back the same
"[game] Failed loading texture assets/objects for item (O)CodysOasis.VaelDeityOfThePack_MysticBounty: asset doesn't exist." error
interesting. loading a save with the wedding location set to the town (via c# assetrequested changes, not cp conditions or c# basic tokens) and then loading a new save with the wedding location set to the island shows that the wedding event isn't invalidated when loading a save
Texture uses an asset key (not file path) as the value, which should match some asset loaded by the game, such as LooseSprites/Cursors or Maps/springObjects, or of course any that you load yourself. for example, my feather item uses:json { // ... "Texture": "Mods/{{ModId}}/Sprites/Objects", "SpriteIndex": 14, // ... }
which is loaded as an asset elsewhere:```json
{
"Action": "Load",
"Target": "Mods/{{ModId}}/Sprites/Objects",
"FromFile": "assets/Sprites/Objects.png"
},
you can't use assets/Sprites/Objects.png as the asset name because it's not an asset, it's a path to a file that you want to load as an asset
the Texture and Target values must match, of course
Ahhhh that makes sense! Fixed the issue, thanks so much!
I always get confused what should and shouldnt be a path :')
you'll only ever use file paths in FromFile values, the game doesn't deal with those at all 🙂↕️
That helps a lot actually! to my amateur eyes they all look so similar haha
While I'm here, I want to make the potion drinkable and give some kind of effect, like foraging +1 or speed or something. Is that something I can do as is with content patcher or do I need something like Buff Framework?
very simple, buffs are detailed here:
https://stardewvalleywiki.com/Modding:Objects#Edibility
there's plenty of examples in your unpacked Data/Objects file if you search for those fields
Oh awesome, thank you!
And Data/AudioChanges or InternalAssetKeys 🙂↕️
you can ignore Data/Buffs since that's for specific buffs like Tipsy and Ravioli
data/audiochanges is an outlier and should not have been counted
stress-testing optimizations on my main mod loadout
side-by-side comparison shows the new method taking 5 seconds and the old method taking 2 minutes
still some work to be done, but if those numbers hold up, that will be excellent
is it possible to change breathing offset during a schedule animation for a npc?
i don't believe so, but oversized sprites and frames >= 16 don't draw the breathing sprite
rightclick+scrollwheel to change tabs in sublime text is definitely one of the hotkeys of all time
and yet i can't find the preferences key to disable drag-and-drop text editing
is there a way to mimick the breathing? I can't remember what it looks like off the top of my head
looks like not really
hey, anybody knows how to append custom option in Robin's carpenter menu, wanted to append another option, while making sure default ones work properly, or is that not possible?
by carpentermenu i meant the dialogue
you need harmony but I've done this before
hold on let me find the exact snippet
yeah i was reading a mod's source and what they've done is just recreate the dialogue, but that seems destructive, especially when i have anothermod that does the same
[HarmonyPatch(typeof(GameLocation), nameof(GameLocation.createQuestionDialogue))]
[HarmonyPrefix]
internal static void AddBridgeOption(ref Response[] answerChoices, string dialogKey)
{
if (dialogKey != "carpenter" || !ModUtilities.IsFarmInUse())
return;
var option = new Response(ModId_MyDialogueKey, "display text");
answerChoices = [answerChoices[0], option, .. answerChoices[1..]];
}
[HarmonyPatch(typeof(GameLocation), nameof(GameLocation.answerDialogueAction))]
[HarmonyPostfix]
internal static bool CheckBridgeConstruction(bool result, GameLocation __instance, string questionAndAnswer)
{
if (questionAndAnswer is "carpenter_" + ModId_MyDialogueKey)
{
...
return true;
}
return result;
}
you're not supposed to use the annotations though
cleaned out all the mod-specific stuff
yeah ty, will try this one
again I would manually patch for a variety of reasons, I just havent gotten around to refactoring this particular bit yet
why wouldn't you be supposed to use harmony annotations?
Smapi rewrites dont quite handle it
Ur mod might have weird looking errors on android
acceptable losses 🙂↕️
for me the main thing is that if you have patch errors it will blow up all of your patches instead of just the broken ones
fail safe 🙂↕️
Btw bluebs I love the heal over time feature of LoC
isn't it beautiful tho
you can eat a farming buff food and get the buff effects and pretty much all the stamina while harvesting. unbelievable efficiency
I mostly like it because it means I have to actually try in Skull Cavern
I'm also on team annotations because if one of my patches explodes that's going to be a problem regardless and I should fix it
I like how it gives a reason to have life elixirs
i try and prevent as much of the mod from loading as possible if anything fails so that behaviour is useful for my case
well it's also nice to know if you have multiple patches failing
I will know the others are failing when I fix the first and it still crashes 😌
If multiple different patches are failing in one launch then something has gone terribly wrong anyway and there is little hope of the mod doing things correctly
if hearts go by 250, what does it mean if an event wants a friendship value of 2600? It is 10 and a bit hearts?
yes. some vanilla 10-heart events actually check for values like 2510
okay thanks
(the actual friendship cap is, if memory serves, one point less than the next heart, so just shy of 9th/11th/15th)
apparently I hve a lot of broken mods that I didn't know about
Also, what does the letter "a" do for events? can't seem to see what it does on the modding:Event data page on the wiki.
goes:
event_id/a 0 23/t 600 1600/
It's the tile the player is standing on
It's a deprecated precondition
@opaque cobalt oops forgot to ping
okay, thanks. Going back through to better format a mod I converted to 1.6 and had this event which I can't tell why it is in there. Can't tell if it was a vanilla event that was leftover in there (original mod was from xnb modding days so it had all vanilla and added events in there) or if it has a purpose.
TL13.PennyExpanded_BusStopEvent1/a 0 23/t 600 1600/z spring/z fall/z summer": "winter_day_ambient/-1000 -1000/farmer 0 23 1 Krobus 16 23 3/viewport 14 23 clamp true/addQuest 31/skippable/move Krobus -2 0 3/pause 1000/emote Krobus 16/jump Krobus/pause 500/speed Krobus 8/move Krobus 20 0 1 true/move farmer 2 0 1 true/move false/playSound shadowpeep/warp Krobus -1000 -1000/pause 500/emote farmer 8/pause 1000/end
secondary qustion. Can I line break events so it is easier to read them in notepad or will that break the events?
Is that a modified version of the event where you have to find the shadow guy in the bush in winter to get secret notes?
I use word wrap to read events easier
you can line break your events, but don't forget you still need the slashes
thank you. Will have to use that. Still don't know have thelittle tools in notepad++
your editor may complain about it but SMAPI (and the game) will accept it
yeah, oddly that is what the quest is for. Could this be for a version of that event from way back that was eventually changed? Either way, seems to be not needed in the Penny Expanded mod. I think I left it because I couldn't find the event id in the vanilla list. Weird
I have a question about TrinketTinker;
I'd like to make a Wolf companion, which would move similarly to the in-game dog - but I'm not sure how to set up the spritesheet for that. Theres examples for tall companions, and wide companions, but if I want them to be "tall" (16 x 32) when moving up and down, and "wide" (32 x 16) for left to right, how would I set that up? Or, should they just be 32x32?
((The sprite is very much a wip dont judge it too harshly
))
32x32 should work fine
Should I put the vertical sprites in the middle then?
Or will them being in the middle of two tiles make their movement seem wonky?
you should just make then 32x32 yea that is how game itself does it
requiring consistent sprite size is for your convienence since there's lots of logic that calls for a frame number
makes sense, just wanted to make sure before I fleshed out all my sprites for one size haha
maybe u can use the pet dogs from vanilla as a placeholder 
it has the layout trinket tinker calls "DRUL"
I probably will for other familiars I make, but for now im in a sprite-drawing mood anyway haha
and now I get to make my side profile wolf taller so he looks... less like a goofy puppy
(re: wren in the wrong channel: they are case insensitive)
are CP tokens case-sensitive?
weird
I've been tinkering with shop data and noticed a bunch of it has {{ModID}} tokens unreplaced in it, and I can't figure out why
case sensitivity wouldnt cause that anyway, as CP would instead throw an error if it didnt recognize a token
hmmm
often times the reason for tokens being visible in game is someone did a Load instead of an EditData
though im not sureh ow one would do that with a shop edit, unless they were actually replacing the entire shop json
or their i18n got into it somewhere somehow and their i18n uses a token without proper passthrough
that was my intial thought, but the ones I checked seemed to just use Entries like normal?
Is it FF
I vaguely remember using lookup anything on a FF added furniture and seeing a weird id
Leroy has a bread
bread?
Thread
oh yeah
Wait what would FF do about it. It's not FF's fault people use CP tokens, no?
Tho i wonder if people are just putting {{ModId}} when they should use [[ModId]]
probably
If it ends up being the true furniture id anyway then nothing to do here
well it'd make it impossible to edit that furniture via CP
or call it in any way for something
tbh I should just uninstall all of my FF packs because the only one that's not like turbobroken is StarAmy's Museum furniture
Can u make a DT with calue {{ModId}}
most of them are old and not updated either
Well
No you can't because it's just gonna be replaced with your modid
Weh
what is the proper way to set prerequisite of player being married to an NPC for an event? Is O outdated and now I should use "Spouse"? Also, is there a way to specify only married, not married/engaged?
yes, you should use the longer full-word preconditions now instead of the short form ones. the short ones still work but there's no benefit to using them in new mods (the benefit for old ones is backward compatibility)

(Plus them being officially deprecated means you can't complain if you use them now if they are ever removed for whatever reason)
(The odds of that happening are low but never zero 😌)
Okay, thanks. Will go back and update code for Penny Expanded for 1.6 then. Is there a tool like json validator to point out all deprecated code I'm using?
can you use contentpatcher in conjunction with dll to make new tools?
a single mod cannot be both a content pack and a SMAPI mod (at least, not with how smapi currently works)
you have to specify exactly one of ContentPackFor and EntryDll
you can have two projects in one mod.
it's pretty common to have a CP mod and a dll packaged together if you want CP to make the item and then add extra functionality.
i can do it with objects, but my tool entries in CP keep failing
those are not one single mod
sure, you can bundle multiple parts like that, but they are separate mods from smapi's perspective
which is what ichor means. they have different manifest and different uniqueids
ok, let me clarify because i didn't say one mod at any point - i have a cp mod and a dll - the dll access the other one through the api
but the issue is i can't find a template for a tool for CP
CP can only access whatever is available via Data/Tools
i did say one mod
cos i'm dumb
can you add entries to data/tools like you can to data/objects
yes
from a Content Patcherable perspective, there is no difference between the two assets in terms of whether or not you can edit them
you just might not be able to get to the tools to actually do anything useful without C# controlling it
sorry, all i really had for context in your first comment was "content patcher in conjunction with dll" so i guessed that you were asking about having two components in one mod
i'm getting errors saying type is "" but i have a type of "tool"
"Action": "EditData",
"Target": "Data/Tools",
"Entries": {
"Trunip190.CP.NewTool": {
"Name": "New Tool",
"DisplayName": "{{i18n:trunip190.NewTool.NewTool.name}}",
"Description": "{{i18n:trunip190.NewTool.NewTool.description}}",
"Type": "Tool",
"Category": -99,
"Price": 300,
"Texture": "Mods/Trunip190.CP.NewTool/Objects",
"SpriteIndex": 1,
"ContextTags": [
"not_giftable"
],
"AttachmentSlots": -1,
"SalePrice": -1,
"UpgradeLevel": 0,
"ConventionalUpgradeFrom": null,
"UpgradeFrom": null,
"CanBeLostOnDeath": false,
"SetProperties": null,
"ModData": null,
"CustomFields": null
}
}
},```
several of the fields you have there dont even exist in Data/Tools
like Type for instance
Whether i have Type or leave that blank (and everything after contexttags) i still get the same ' type "" ' error
Could not instantiate tool 'New Tool'. Type '' does not exist in StardewValley.Tools, and was not registered with SpaceCore's serializer.
well it wont make a difference because its not a thing that exists on tooldata, so its being completely ignored either way. same with Category and Price
!log if you have an error please share it with the log uploader
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.
one mo just relaunched so its blank
also the ID of your tool wouldnt be "New Tool" itd be the one with your modid
you should make it match the Name field
or rather, make the Name field match it
roger that.
you also havent set a ClassName, which is required
and likely the cause of the error
classname in cp?
(i overestimated the visibility of a link being in that text when its so short. there is a hyperlink there)
i saw it. 🙂
gonna try with that in there. seems likely.
I forgot to apologise earlier. sorry. and thankyou.
and to you button.
no harm done. just a little misunderstanding 
You might want to report that to the author of the Furniture pack, although fixing that will cause all their furniture to error out in saves that have them (which might already have happened in the transition to FF3 if they didn't change the "token").
It's still possible that it was one of my mistakes if it's in the FF2->FF3 migrator skip.
Although if that was a migrator mistake, I would have had more reports about error furniture
I should add a warning if CP tokens are found in FF text
Is there a good place to see what the one letter codes became for the full words? Trying to see if k should be replaced with eventSeen or SawEvent
It's on the Events wiki page
If you need to see the deprecated aliases they're in collapsed tables at the bottom of that section and you can expand them to see the old alias and the new full word one
Sorry should've pinged
thank you. missed the collapsed tables
is there a way to replace the text scrolling sound in a comprehensive way to emulate HM text scrolling? id assume not
The VoxBox framework might be what you're after: https://github.com/ichortower/VoxBox/blob/prod/docs/author-guide.md
ill check it out once i finish what im tryna do rn
map making question;
does setting tile properties in the tilesheet itself effect all maps with the tile or only my own map file where ive added the property? (trying to make some tiles that arent normally tilable tilable without needing to spew object tile data on over half the map.)
only on the map you give the tiles the properties on
...probably towninteriors
or towninteriors 2
(you're using a recolor so i can't be sure which part is is)
Oh perfect. Was concerned I'd suddenly be making a usually not tillable tile have a bunch of properties everywhere in the game.
What is the better way write this so an event only triggers in winter? Haven't seen either work, but 90% chance I just haven't typed something wrong
eventid/Time 1800 2200/GameStateQuery "SEASON Spring"/:
or
eventid/Time 1800 2200/!Season spring + summer + fall":
why are you putting all the non winter seasons instead of just winter? /gen
that is a good question. I think I was just trying to keep it how the original mod author had it. much smarter idea
im struggling with how to put the voxbox prompt in with the other audio changes
wait i might have got it
hey, i does someone know if there's a a specific tile that let you sit on the duckie at the playground?
you can turn it into a chairtile i guess
ah, how do i do that?
should be a page on a wiki
thanks :3
i only seem to find modding:furniture :0
bruuuu
thank uuuu 🙏
how did you export/convert your file to ogg? if you install ffmpeg it should be as easy as ffmpeg -i file.mp3 file.ogg from the terminal in your file directory for defaults
assuming an MP3 ofc
from midi to ogg
i tried to use ffmpeg but i dont know how to operate it
ah. midi
ffmpeg runs commands from your terminal, so for example you'd navigate to your mp3 (or in this case midi) file, type cmd in the explorer address bar to open up the terminal, then write the above command with the appropriate filenames and filetypes
that said, i've never actually tried converting a midi hahah
Why oh why are these aquarium fish edits not applying
Apparently they are just too lazy loaded so I had to put a coral in a tank before the edit would apply
Not ideal!
well ffmpeg wont even open so i dont know what to do
ah i see
To convert a midi file you need something that processes midi. Midi is just bare musical information that has to run through a synthesizer (hardware or software). The result depends heavily on your synthesizer's capabilities.
well i dumped my HMDS rom from my 3ds directly and vgstrans only converts via midi and sf2 so i dont know how to convert it to ogg rather then just pirating the ost off the internet (and also certain sound effects i cannot find that i wanna use)
So you need a tool that loads your sound font (sf2) and processes your midi. I never did that on windows but I'm sure there must be somebody who knows how to do it.
yeah, itll be for quite a few tracks too
I used timidity in the past and it seems to be available for windows: https://sourceforge.net/projects/timidity/
Download TiMidity++ for free. TiMidity++ is an open source MIDI to WAVE converter and player.
ill give it a try
Sorry, might not be the best idea, you either have to build it from scratch or use cygwin. Here's another one: https://www.fluidsynth.org/
and this tool lets me convert midi to ogg?
First step is MIDI to WAV.
and then wav to ogg
That should work. It's a very long time since I did that myself.
now i gotta figure out how to laod midi into this and how to work it lol
🤔 well, first place to start would be the docs
there doesnt seem to be a readme
Strictly speaking the wav to ogg step is optional, but recommended for minimising file size
https://github.com/FluidSynth/fluidsynth/wiki/GettingStarted it was on the website
yeah im reading through the user manual now
Excuse me, could someone send me the Wiki on how to create a new festival in Stardew Valley?
Here's the tutorial on it. It has a link to the official wiki reference page as well. https://stardewmodding.wiki.gg/wiki/Tutorial:_Adding_Custom_Festivals_(CP)(1.6)
i managed to find an easier tool for it, thankfully
hm. is it not possible to add a second, alternative AdditionalConsumedItems ruleset to a machine
somehow i thought this items list would be per-rule rather than per-machine
Is setting the time back to 1:50 every tic performance intense?
I used freze time. But then the monster where also frozen.
It's per machine oui
Use emc for otherwise
selph.ExtraMachineConfig.RequirementId.1
The additional fuel that should be consumed by this recipe in addition to the ones specified in the machine's AdditionalConsumedItems field.
dam
i don't think i understand what this field is for. can't you just add the additional fuel to the original field
it's for having different additional fuel per rule
hum. i was just going to see about having a rule that replaces may substitute 5 ore + 1 coal with like 25 ore + 1 supercoal™ but i'm not particularly attached to the idea
Supercoal
Where can I get this supercoal
Asking on behalf of a formerly industrialized nation
as someone from the 'we invented coal' nation, iunno find it in the woods
its fine tho im allergic to machines anyway
you'll never be able to play Satisfactory, so sad 
One of those giant production line making games iirc
I always get Satisfactory and Factorio mixed up
How It's Made as a video game?
its a factory building game
silly question, but how big are crop/item sprites? I assume they’re 16x16 but I wanted to verify that before I went with it
!unpack You should unpack your game files so you can check against the actual files
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!
Anyone know how to move the dialogue.json to i18n files?
But inventory items like harvested crops are 16x16. Growing crop sprites are 16x32 per frame and....a variable number of frames per row
!converters There's a website you can use to convert them for you, it's the first link in the last section of the message below
These community tools help update mods to newer formats or frameworks:
- Convert to Content Patcher from Custom Furniture, Better Farm Animal Variety (BFAV), Custom Music, JSON Assets, More than Necessary (MTN), SAAT, Shop Tile Framework (STF), TMXLoader, or XNB.
- Convert to other frameworks:
- Other tools:
thank you for this!
Thank u for this!
This page will also be helpful if you're doing crops specifically: https://stardewvalleywiki.com/Modding:Crop_data
And this page for objects: https://stardewvalleywiki.com/Modding:Objects
And this is the index page so you can find other pages if you want to: https://stardewvalleywiki.com/Modding:Index
I do indeed have the modding objects and crops wiki pages opened up!!! Stardew wiki my beloved 😭
I just noticed they hadn’t mentioned the dimensions for icons and the like, and went with an assumption based on what I had known from my scouring on the files, and wanted to verify my assumption before actually committing to it bc I’ve been known to be wrong™ (glad I did bc crop stages can be 16x32!)
thank you so much for the additional tips though, and all of your help in general!!!

It's always a good idea when you're wanting to draw a certain type of sprite to actually open a vanilla one, set the grid so it fits all the sprites on the sheet evenly, and then draw yours on a layer above it. That will help you be sure you're getting a matching size.
what was the command to jump into an event with smapi to test the event?
debug ebi <event id>
thanks
I really need this bcoz some of fav mod still using old Content patcher, so i going to update it for myself either...
you can use content patcher to add unique animal sounds to your pet mods right
like if i wanted a Dook from a ferret instead of a meow from a cat
You don't need to convert things to i18n just for personal use, though you certainly can if it will make something easier for you.
@agile apex
Hello, regarding the QuickSave bug report you made a few months ago.
It got fixed in the QS update that just released.
Thank you for your report and patience 
#1442698557655220374 message
Alr thanks for the advice!
You also shouldn't have to update any Content Patcher mod to make it work.
Although old mods are often missing more recent features, all the CP mods right from the beginning should still work without errors.
I have quite a bit of experience of using old mods because I will use mods of any age.
(I am not meaning to discourage you, just making sure you are not giving yourself unnecessary work without realising ^_^)
Thanks!
I've alrdy publish my first translation, i still working on the others...
Ah, so you're wanting to publish a translation of the mod?
That will be more difficult, because unless you have permission or the mod's permissions are open, you won't be allowed to publish the one that is converted to use i18n.
Thanks for the reminder!
I always ask permission first before i publish it
question re: Nexus modfest
so it seems like the best "strategy" to get the most downloads is to upload your mod on the first day...? just wondering how y'all feel about that
(I just want my mod to be well-received. there's no way in hell am I winning anything.)
I love the idea of having a category for new modders, but it seems like the actual contest part is geared toward people who were going to release their mod in late february/early march anyway
oop looks like this was discussed yesterday in #modded-stardew so nvm
provided they dont change any of the rules, probably
im hoping they change something to make it a more even playing field but idk
agreed! just looked through the conversation from yesterday. lots of good points there
im willing to beat a dead horse
I might upload my mod early on and then provide content updates as the fest goes on, but thats assuming I finish something quickly haha
the rules as they are don't make sense, so I am hoping they just didn't disclose how long downloads will be counted after release
button commented on the post
either way I feel like it's a bit too stressful : P
but no reponse as of yet
right? I'm glad it's motivating me to finish my mod, but sheesh
i could technically release my mod when it starts but it'd be rly barebones
and I know I have no chance in any categories, right? I can't imagine how stressed the big hitters are rn
what do u need for an npc? walk cycle, 1 portrait, and 1 schedule
flash dropping SVE 2 to win a computer lmao /j
it will just suck
i'm not sure what big hitters are, but i think stress is pretty relative
I still need my events set up, right now ive only got my NPC intro lol
but alas I've gone down a rabbit hole of other features and keep getting distracted
idk what would even be considered "competitive." I'm assuming that it's big modders with a large following as is...?
i mean i would argue, if big modders will be participating, it wont be all that stressful. this is a good chance to get eyes on mods and they already have eyes
I think the stress is coming from just putting out a finished product tbh. at least for me.
just the deadline in general
yeah thats the only point of stress for me too
but its motivation and im happy to be back to modding after a long while
right! there are certainly pros! I'm in the same boat
i don't think i have something that could win unless i got lucky, so i approach this with the idea that this is an opportunity to release unfinished projects, and have potentially a bit more attention than usual
a bit late but genuinely thank you for this advice 😭 it helped me significantly in devising the dimensions for a spritesheet
There are certain “ways” to hack downloads but I hope everyone makes something they enjoy
Keep the fun in it
the thing with big modders is that often they have already big projects, so they may not be able to release something new and big for the contest
the idea of a "contest" in general just feels a bit yucky. I wish it was more of a participation prize
ooh good point.
I saw some people complaining about only having a week or so leading up to the contest, but I guess this kind of levels the playing field...? idk man
I have such mixed feelings about all of this
i think it's nice that SDV is getting a bit more shiny rewards/attention, it was not treated well by nexus in comparison with other games
The playing field is only not level bc there’s no guardrails around how downloads and endorsements will be counted imo
i wouldn't say there's plenty of opportunity for contests but if you want participation prize, well, that's kinda regular modding, or modding events/mod jam here
I still think its funny I started making my mod, and then literally ONE day after starting, the announcement hit for the contest
Crazy timing!
So for me its just bonus motivation for a project I was already starting anyway
I come back to modding every... 12 months or so? whenever I get a SV hyperfixation 😅
I know theres no chance I win as my first ever mod but I'm just here to have fun and get a title
haha, a man can dream I suppose
I already know I wont be a top spot but ngl I dont even care to be? A pc is a rad price but I already built myself an alright one so maybe thats why it doesnt faze me that much. but some merch does sound nice, well, either way cool enough for me to get that tag thing for participating lol
I do like that theres a possibility of teams so people have a higher chance to win and stuff
I want a chicken plushie. are they offered as prizes? no.
will I convince my husband to buy me one if my mod does well? ...maybe
I’m excited to see just a lot more mods during this period
And I've seen it. There's a genuine chance of something there, I think!
Team Bog all the waayyyyyyy!!
this too!!! I like feeling like I'm part of something. this channel obviously helps with that, but there's something enchanting about a timed event/"celebration"
again, I have mixed feelings.
also curious as to how the teams work!! I want more info there
I need friends lol
Ah, an actual modding question:
I'm making a "familiars" system, magical companions of sorts, to go along with my NPC mod
But I'm torn as to how to design my familiars
I started with TrinketTinker, but recently ive been thinking maybe I should gear towards something more like Pets Enhanced? Being able to have friendship and name the familiars would be awesome, and it would let them hang around your farm when not "in use"
I have no idea how to make a pet, but I had no idea how to make an NPC either and yet here we are, so im workin through it no matter what haha
"pets" as trinkets feels impersonal to me. I'd want to name them! but it would also be cool to have them fight for/with me
I like the excitement and enthusiasm about participating. Regardless of who gets the big prizes (my money is on the really popular aesthetic modders if any of them enter) everyone who works on a mod because of this modfest will be further ahead than they were before - especially the people who are seeing this as encouragement to try out modding for the first time.
that's the spirit.
the issue with trinkets is that they are locked behind mastery and by that point you havent had enough time to develop any kind of attachment to them since youd be done with mines and most content etc
They don't have to be, I don't think? But I don't know I've never actually looked into trinket tinker
Chuuu where are you
the trinket slot i meant
All good points... I was going to make the trinket itself available via my NPC's shop, but I dont know if that alone works
For some reason the string " (+250g)"
is showing up in the createQuestionDialogue as cool skateboard something, how to fix this?
+ = cool skateboard
a cool concept would be befriending enemies into companions or something along those lines
Theres a good Monster Husbandry mod by a certain Boggywytch that I recommend 👀
🤔 i dont suppose trying to escape the + works to un-skateboard it, does it?
I don't think you can unfortunately. Maybe you could try escaping the + like \+
Woo Monster Sanctuary!
always gotta rep team Bog 💪
i dont tend to play with those kinds of mods, i keep things relatively close to vanilla stardew
99% of my mods are QoL lol
ah thats fair enough!
I am the opposite. Sometimes I have to remind myself that things being vanilla is still ok lol
I don't want to miss out on all the cool ideas everybody else has
i think if i showed any random stardew player a screenshot from my game they wouldnt even believe it's still stardew LOL
And especially all the great NPCs (looking forward to seeing yours too Cody!)
I similarly maximize my playthrough with as much witchy-vibe stuff as possible until it is almost unrecognizable
my sdv is bright pink 
you think theres a way to play doom in stardew
already is
insane
Aa i love npcs mods!! i think its fun to make a whole big world X3
FPS stardew
😅 speaking of npcs im having trouble again. the temptation to scrap everything i have is strong
whats goin on? Maybe itll help me with mine too 👀
I really need to get back to some of my mods. And update Monster Mash.
No deleting! You may set things aside but no getting rid of all of it. You're too harsh on yourself.
nothing big or anything, i just fall out of love with my ideas a lot
ahhh thats fair. I
i can never really just have an idea and stick with it
oops. I'm looking at redoing my sprites because I'm not sold on them after spending like. way too long on them in the first place
not to mention my portraits, oh dear.
there's always something or other i'm unsatisfied with and it ends up killing my motivation entirely
My advanced age has let me achieve some success against the self-criticism but when I was younger I was much the same
thats one of the few moments where my lack of attention feels like a blessing because i just get distracted and carry on with other things and later was like "hm...I did finish this, right..."
Perfect is the enemy of done
usually the artist curse of hating what you jsut created is by then lifted lol
(People often say good enough but I say done because I want the reminder that perfection causes you to never achieve anything ever.)
at least i didnt finish making my sprites or portraits yet lol
The artists curse is so real. I'm an animation student and oh god, I dont think ive liked any of my projects for like a year. But modding has really brought back what I loved, even if I''m new to it -- watching my creations, even if ammateur, come to life and move around in the world is just so rewarding.
Once I see them move I'm attached!
that said, before they're movin around in the world?.... very possible they get scrapped by perfectionism mind haha
it took me ages to realize that perfection is nothing one should strive for because in the impossible case youd achieve it that meant, well, thats it. no more progress. time to pack your bags. you'd have no room for improvement and I'd hate that. so i began to not care too much bout perfection anymore. still struggling, but hey, its better than in the past
i just thinking giving up invalidates any effort put into it in the first place, if i spend an hour on something im not getting that hour back i might as well finish it
For me... The way I try and look at it is something like this:
"perfect" is without fault, without fingerprints, without dust - it is without the human touch, in my opinion. It is flawless, in the way that a solid slab of cold steel is flawless. It has no divets that gives it personality, no scars from battles won, it is boring, and moreso, lifeless, because life is impossible without imperfection
besides, just as most things perfection is very subjective anyway
.... sorry to go all Poetic on yall, I get artsy with it now an then haha
Absolutely! Who am I to decide what is "perfect" when a friend could come over and go "Omg thats so cool"?
okay I'm locking in
Anybody got tips for making a Pet mod?
I've got the Modding:Pets wiki page up but am otherwise clueless
i found the modding pages are full of info but are quite hard to follow
i couldnt understand the modding audio wiki page at all
pull up a reference mod! mine was this
this chat is a blessing for asking questions too
(which isn't to say i made that. i only used its beautiful json for my own means 🙂↕️)
youre so right reference mods my beloved
It depends on if you want a new cat skin or a new snake pet
New pet entirely, if I can manage it
Crow, snake, otter perhaps
Is this their profile link, or a different one? on my end it doesn't look like they have a team link 
for dialogue, is there a way to have multiple entries under one dialogue option? say if i wanted multiple things abigail Could say if you had 10 hearts on a sunday. i made a mod a long time ago, like 3+ years? ago that had a random input separator that worked at the time, but it doesn't seem to work now.
you can still use that if properly set, use random in translation key, or use the || which is cycling per week
the latest is great, even if technically, not random 😄
do you know how to set up random by chance? im wondering if the old mod's setting might be outdated....will look into weekly cycling though if all else fails!
I recommend taking a look at the unpacked turtle then
Yeah looks fixed now yay
It was their profile link
I just saw this and u can do it with mmap if u want
This shows a dialogue w/ portrait and then shows u the usual multiple choice menu
You then define the choices in ResponseEntries and provide an OpenShop from there
i don't have the energy to look right now, but you can either wait for someone else, look at wiki if there's info, or provide your log with the error message so your issue can be fixed
no worries! I'll try and do some more digging on my own. thanks!
Are you thinking of {{Random}}
i believe so yes. but for some reason i can't get it to work
So that's a content patcher token, and it updates once per in game day
What do you currently observe in game? Do u have errors?
nope, no errors. everything is fine, no errors parsing.. it's just that my other dialogue options won't show up
You have to actually sleep to get the random to change right
You can patch export the dialogue asset to see the strings without having to talk to npc
ugh, the patch export shows that the randomized dialogue isn't registering...i think i'll just do something else. thank you for the help though, i didn't know about patch exporting before!!
is there a token for friendship points (ex replace a map when user has x friendship) in content patching
hey! how can one ban a fruit item from being used in any machine? (ie preserves jar, cask, etc)
could I just set these to false?
I'm so, so excited to hear that. Thank you!!
I figured out how to make dynamic rugs like lina did im so happy with myself haha
aaa congrats!!
I'm considering making them regular rugs because I'm lazy xD
lina made this helpful visual
tbh i think for rugs it's ok if u just do a horizontal connect version and a vertical connect version
that means u only have to draw 4 sprites and ppl can still have a big long rug for their hallway
How can you change the mines ? My plan is to make a custom mine layer.
the mines are complicated, your best bet is to check if spacecore can do what you want
I was going to use this modfest as an excuse to get my farm map out, but now I've accidentally nerdsniped myself with a, uh... a different idea. 
spill?
helloooooo what framework can be used for custom wallet items? completely forgot-
i think the feature is on unlockable bundles
if not, it's definitively one of delixx' mods
gotchaaa okay!
Wallet items are just Data/Powers
You can't make them do anything special on their own but otherwise it's just mail flags or any other gsq to make the icon appear.
well, for my defense, i was thinking about currencies, that you usually put in a wallet
I prolly could've phrased it better LOL
not really! it's just how it's named in game
I assume I can use trigger actions daily or something like that to add the actual effect of said wallet item?
Well in your defense, they were called wallet items up until 1.6 and the content patcher token is still HasWalletItem, so you're probably not the only to still call them that
They don't need to exist in Data/Powers for you to do anything. Literally the only thing differentiating a special power and just doing anything else with trigger actions or map actions or anything else is just whether or not you show a picture on the menu tab
The actual tab is meaningless when it comes to functionality.
My point is you can already use trigger actions to do whatever you want. Whether or not you make it show up in the tab
got it!
if i do this and tell the content json to targeet the data default event <eventid> json will it work the same is i18n or will it cause problems? i did it like this cause this felt more orgnaized for my ocd brain
the mod is just dialogue edits
Hi i want to start to make mods for sv. I have much ideas, but dont know where to start.
Of course i want to start with a small one 🤗
!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.
(i'm not sure what you're trying to do)
so instead of having a huge chunk of speak, mail , textabovehead, daily dialogues in i18n
i took them from content unpacked organized it in my mod
the mod structure became
content.json
manfiest.json
folder[data]
inside data folder there is another folder called [defaul]
and folder called patches[for any mod compitablites in future]
inside default
there is events, dialogues, festivals, mail
misc folders
with their respective jsons inside of them
i'l not sure you can split i18n currently, unless there was some CP update allowing it
You can yeah the update was several smapis ago
the same method as targeting i18n just targeting folder instead?
You put all i18n under default/ or <language code>/
hold on lemme just
"Action": "EditData",
"Target": "Characters/Dialogue/Shane",
i18n is also still expected to be inside a folder called i18n and not data or anything else. If your intent is to just drop these jsons in the folder and expect them to be automatically patched in the game, that is not how it works and would also break every other mod that edited the same targets as you anyway, since you just took it from the unpack. You also wouldn't really be allowed to distribute the mod with all of the unpacked files in it as well.
but i meant do i still need to add the entries under target or not
You still do EditData yes
Yes, because just putting files in there is not how it works. You have to actually patch the target yourself.
isee thx
It may help to be more specific about what you want to achieve
So people can tell you what you should do rather than say "you cannot do X"
dialogue and event edit, have it just get it from the folder without manually re typing the edited data inside the content or i18n just for it to target the folder that already has the edited dialogues
Content Patcher does not support that outside of directly Loading a file, which will also potentially break other mods or the vanilla game itself.
And even then, you'd have to Load each individual file.
Can't point it at a folder.
I'm trying to add a new hairstyle via [CP]. Do I make up a random number as the 'key', or is there a way to just append it to the list of hairstyles? I'm "borrowing" from another mod, and this is their content.json:
{
"Format": "2.9.0",
"Changes":
[
{
"Action": "Load",
"Target": "Characters/Farmer/XYZZYHair",
"Fromfile": "assets/hairstyle.png"
},
{
"Action": "EditData",
"Target": "Data/HairData",
"Entries": {
"433893783": "XYZZYHair/0/0/false/-1/false",
},
}
]
}
i think the suggestion was to use nexus ID
Data/HairData is still keyed by ints so you need a number, and its recommended to use your nexus id yes
hey! just bumping this LOL
And if my mod has multiple hairstyles? Is it a string or an integer?
Append a number to the end of your nexus id
.oO( Button is as cute as a Frieren... wait... that's backwards, isn't it?? )
It is an integer. But you probably need to put it in quotes in CP
So like:
"Entries": { "12345XY": "...."}
Where XY are two more digits, and 12345 is the mod ID?
Yeah pretty much
Cause HairData is a hash/map, no? Not a list.
People used to do that for things like events too when they only allowed numbers. If everyone prefixes with their nexus ID then there's no clashes.
Well it's a dictionary of int to string yes but you'd write it the same regardless, even if it was a list.
NexusID of the mod? Or my account ID? (I have one??)
of the mod
So, I have to pre-create the mod to get its ID. 😉
(That said it's worth mentioning that HairData is becoming a proper data model in 1.7. Content Patcher will probably auto migrate it for you, but if you come back in like 2 years don't expect this information to be the same, potentially)
Actually ignore that
It's Data/Hats
I was getting them confused. My bad!
I could REALLY go crazy, and make the hairstyle into a "hat" =giggle=
And you just have to create the mod page.
People do the same thing to get update keys, it's nothin new
at this point you may want to look at fashion sense rather than hats 😄
As soon as you go past the first step of making the page you get the ID.
Thank you both so much for your help, Lumina and Button!!
42735
Feel free to check out my two other stoopid CP mods! Muahahahha!
It’s not straightforward but look at the wiki page where it says
You can negate a tag with ! (like "RequiredTags": [ "bone_item", "!fossil_item" ] for bone items that aren't fossils).
You’ll have to edit the original rule to use this type of format
Ok... one last question... any way to dynamically reload a CP mod so one doesn't have to restart SdV all the time?
!reload
- Content Patcher pack: enter
patch reload <your_mod_id>in the SMAPI console window. This will reload and reapply all your patches (but won't recalculate theConfigSchemaorDynamicTokensections if you use them). - Translation files: enter
reload_i18nin the SMAPI console window. If it's for a Content Patcher pack, also runpatch reloadafterwards. - C#: see the Visual Studio hot reload or Rider hot reload feature.
(Some other non-CP mods also have reload commands, like FS)
Question!
I'd like my custom pet to be adoptable from a shop other than marnie
is that??? doable??
As far as I know you'd need livestock bazaar for this I think
Chu would know more than me
so if u just want another pet shop u can just have OpenShop PetAdoption somewhere else
livestock bazaar adds ability to filter for specific pets, and 1.6.16 also has that
naw atra it returns a list of all pets rn
and theres not rly any way to check breed cus its concat into 1 thing
ITEM_NAME_CONTAINS when
They're not in the id though, no? Just in the literal name I thought
terrible times for peritem
remind me in 38 days to ask chu about adopt wild pet features
rofl that's what you need a reminder for? yeah ok (#7080455) (38d | <t:1775075125>)
Steals the batteries from Maru's Robot
My goal is to have a shop that sells potions and, separately, has pets, with particular unlock requirements (triggered by events)
I have the potion half of the shop functional as is , but would I be able to make the same shop able to sell animals with livestock bazaar?
Could be through MMAP question at the start?
yea u can have multiple responses
awesome!! Just wanted to double check
and each response can have a Condition
ty for all the help chu
livestock bazaar does actually have it's special sauce thing, which specifically makes menu like marnie's (items, farm animals, pet shop)
So how goes modjam?
Also rhubarb
hi! can anyone help me check if a message I wrote using the dialogue formatting is doing what it's supposed to do?
I have no way of testing right now because the code isn't complete to parse yet, I just wanted to check the message before placing it into the code
Here is how I would like it to show up, since it's gonna show up in a generic text box instead of the dialogue textbox (which contains portraits):
(click to continue) 'We thought you might appreciate a few things to help you settle in your new life!
(line break) We're very proud of the choice you made and it makes us eager to see you progress in the land your Grandpa once owned. We miss him very much too.
(click to continue) Oh! And I should mention... Your dad is has been completely obsessed with brewing coffee lately!
(line break) Send some of your produce for us, I bet he'll be stoked to try something from your farm!
(click to continue) Don't forget to write and make sure you’re eating properly, okay?
(line break) —Love, Mom and Dad
(click to continue)P.S. We've included some photos of you as a kid playing in your Grandpa's farm! Look at you wearing the scarecrow's hat!'
(click to continue)You smile.```
here's how I tried to format based on what I've seen on the wiki:
$1
\n\n
'We thought you might appreciate a few things to help you settle in your new life!
\n
We're very proud of the choice you made and it makes us eager to see you progress in the land your Grandpa once owned. We miss him very much too.
$1\n\n
Oh! And I should mention... Your dad has been completely obsessed with brewing coffee lately!
\n
Send some of your produce for us, I bet he'll be stoked to try something from your farm!
$1\n\n
Don't forget to write and make sure you’re eating properly, okay?
\n
—Love, Mom and Dad
$1\n\n
P.S. We've included some photos of you as a kid playing on your Grandpa's farm! Look at you wearing the scarecrow's hat!'
$1\n\n
You smile."
Awwwww
.....it would be nice to have those objects have context tags 
Hi, has anyone here used SpaceCore's CraftingRecipeOverrides before? They were working for me a few versions ago (around... 1 year ago), but now I can't get them to work and they don't appear in the player's inventory when bought. I can give a repro pack if needed
I wonder if it's something on my end with how I made the shop-- but I checked the wiki and I don't think I made anything out of the ordinary. Specifically, I have a placeholder item that, when the recipe is bought, can craft a tool. But the recipe appears like this:
The vanilla recipe looks like this
"{{ModPrefix}}VoidPlaceholder": "{{ModPrefix}}VoidShard 2 769 10/Field/{{ModPrefix}}VoidDust/T/l 0/{{i18n: VoidDust.Name}}"
I remember seeing this issue before, but I can't remember how I solved it. 
EDIT: Spacecore is up to date, jic
I cant remember if this is the case for spritesheets; can i make them longer than the default?
does anyone know where the little faces of the pet select is? like the ones you choose your first pet with on the start menu?
i wanna see how big i need to make the png
for my ferret face
cursors
16x16
in doubt its always cursors
thanks wem thanks void!
oh dear, ive botched something really badly with this custom farm map... can't load the testing save after making it
oh wait, its failing to place the fish pond.
I have written so much dialogue today i think i might melt into a pile of clown mush
see if when buying the recipe it display properly
i remember that for cooking recipes i had the issue of sap recipe but it worked fine once bought
the answer is yes in case anyone else needs 1 million billion sprites like i do
if it's not perfect it's not done 🙂↕️
where 🌙🐛⛩️🚤🌞🍃 mod bluebs
imperfect 🙂↕️
if nothing else it's far more complete now than it was last month
not that this means it's remotely complete, of course 
🐛 🪲 🐞 so exciting


