#making-mods-general
1 messages ยท Page 375 of 1
Yeah, you character internal name, not its display name.
So Portraits/cheembs.KeithMod_Keith
thank you ๐ญ i definitely wouldnt have figured that out on my own
The example the tutorial gave is { "LogName": "Base Portraits", "Action": "Load", "Target": "Portraits/{{ModId}}_NPCName", "FromFile": "assets/images/npcname.png", },
wait
i think i did that wrong hold on
yay, he exists!! his dialogue isn't working and he's not moving but i need to go to bed lmao
i'll try that tomorrow, still need to figure out dialogue though
You may have added his dialogue to Characters/Dialogue/Keith as well, perhaps?
ooh possibly
If you are referring to your character anywhere in the code, it needs to be with their internal name, in your case {{ModId}}_Keith (I hope you kept the token rather than replacing it with cheembs.KeithMod!)
Just woke up and found out there's a markdown testing ground for Nexus mod descriptions... finally 
Oooo do share, that sounds very useful
Freshly baked, not even announced afaik: https://next.nexusmods.com/labs/editor
Love that they have a Stardew modding video as their default example
I'm guessing their latest one, since I feel like Stardew is their testing ground for some reason
Not that I'm complaining
I also agree stardew is their testing ground, probably due to how easy it is to make mods, install them, and how little they interact negatively with each other, much easier than skyrim mods which used to be their go to
Less bandwidth usage 
also a very good point
lmao

Thanks decidedly. I ended up writing a script to package game assemblies and host them in a private github repo behind a PAT. Fetching those reference assemblies instead will definitely be easier on the billing.
Yeah, the reference assemblies are the one missing piece of the puzzle. And in case you weren't aware, something I learned about MSBuild doing this:
Passing in something with -p:PropertyName="foo"? That's a hard override of anywhere it might be set elsewhere during the build process.
Okay so I've been modding my vanilla Town.tmx map because I wanted to include some designs from the Expanded mod. Right now I have a map that is basically vanilla with some added assets from both the SVE tilesheets and the Way Back Pelican Town tilesheets.
I've managed to stumble my way through making it work through Content Patcher, but I'm currently struggling with making new lampposts light up at night
I've tried editing the NightTiles and Lights coordinates in Tiled but it just crashes my game whenever I try and enter the town square
huh good to know (the -p thing)
I just want these to be lit once it becomes night, but I can't figure out how
(I'm on PC, using Tiled and Content Patcher)
What have you got in your DayTiles, NightTiles, and Light map properties?
!log And if it's crashing there should be an error log. Can you upload it and share the link please?
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.
These are what are in the properties from the vanilla map. I've tried adding coordinates in the past but it crashed the game so I undid it and it went back to working fine
I've recreated the crash to get a log
Log Info: SMAPI 4.3.2 with SDV 1.6.15 build 24356 on Microsoft Windows NT 10.0.26100.0, with 6 C# mods and 5 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
Hang on I need to update content patcher
One of your lights is malformed
@blissful panther saved you some $:
env:
REF_DLLS_REPO: StardewModders/mod-reference-assemblies
REF_DLLS_PATH: ${{ github.workspace }}/reference-assemblies # a.k.a GamePath
SDV_VER: 1.6.15
SMAPI_VER: 4.2.1
# ...
- name: cache_ref_assemblies
id: cache_ref_assemblies
uses: actions/cache@v4
with:
path: ${{ env.REF_DLLS_PATH }}
key: ref_dlls-${{ env.SDV_VER }}-${{ env.SMAPI_VER }}
restore-keys: ref_dlls-
- name: checkout_ref_assemblies
if: steps.cache_ref_assemblies.outputs.cache-hit != 'true'
uses: actions/checkout@v4
with:
repository: ${{ env.REF_DLLS_REPO }}
path: '${{ env.REF_DLLS_PATH }}'
ref: 'SDV${{ env.SDV_VER }}-SMAPI${{ env.SMAPI_VER }}'
fetch-depth: 0
Ah! What does that mean?
And how do I unmalform it?
Here is the crash data now I've updated Content Patcher
Log Info: SMAPI 4.3.2 with SDV 1.6.15 build 24356 on Microsoft Windows NT 10.0.26100.0, with 6 C# mods and 5 content packs.
All I added to the NightTiles property is highlighted
Same with the Light properties
Btw this is me flying completely blind, I'm not usually a modder or a coder. The reddit has already saved me on a few occasions!
Going just off memory due to being on mobile but your Light entry needs to be 3 numbers: light type, X coord, y coord. If you've only added two numbers then you're missing one.
Okay I checked the wiki and light type comes last but I was right about it being a set of 3 numbers
Oh so the above screenshot '4' isn't a coordinate its a light type
No, in the above screenshot the game is going to read that as being a light type of 24 (which doesn't exist) at the coord 4, 50
If you scroll down to Light here on the wiki page you can see the format: https://stardewvalleywiki.com/Modding:Maps#Lighting
This is what it looks like in the vanilla
Why did you need to crash it on purpose?
To recreate the thing I did before, which was the same thing
So if what you had before was that 4 50 at the front, that's what broke it
So I could give you guys the same crash log
Yep!
But to fix it should I have put 4 50 4
with the last 4 being the light type?
(Again you're being so so helpful sorry if I'm being stupid)
You're fine!
If you're wanting the light to be at 4, 50 then yes, just add that extra 4 afterwards.
I just tried it and it worked!
Let there be light!
Also can I ask what the NightTiles AlwaysFront coordinates are about?
DayTiles and NightTiles are used to change the actual tile from the tilesheet that's present on the map, while the Light property only adds the glow (which is actually present all the time, it's just hard to see during the day). An easier to see example is windows in the buildings. They go dark when it's nighttime because their NightTiles are set to a dark window tile. The AlwaysFront bit is which map layer they're placed on.
Oh! So if I added something to the AlwaysFront layer and put those coordinates in the NightTiles property it would only show up at night?
Not quite. What you put on there would be visible during the day (and you'd write a property for it in DayTiles) and then the tile ID you put into your NightTiles property would be visible at night. See the 908 in your current NT property? That's because tile ID 908 on your tilesheet is the lit lantern for the top of the lamppost. If you look at the DT property it will have the same numbers for the tile coords but will show a different number - that other number will be the unlit lantern for the lamp.
What's the GSQ for checking flags?
Specifically I need one to check if the Resort has been built
The only one I can find is WORLD_STATE_ID, but not sure if it's the one
those are just mailflags right
Player has mail
Oh, that simplifies things
I guessed that 907 is the Front layer and 908 is AlwaysFront layer, is that correct?
Forgot HasFlag refers to a mail flag ๐
If 907 is your DT they should be the same layer!
The tilesheet I'm using has an unlit and a lit lampost, and I was wondering if there was a way of setting the unlit tile to DayTiles and the lit tile to NightTiles
But that might be me making things way too complicated
Update: Just tried it and nope doesn't work!
Haha typical me trying to overcomplicate things
I'm slightly confused. Everything I've just been telling you is doing exactly that. It's the purpose of DayTiles and NightTiles.
DayTiles = tile 907, unlit lamp
NightTiles = tile 908, lit lamp
They should swap around 7pm-ish, I think it varies slightly by season or something.
You should only have one version placed on your map in Tiled. You put in whatever layer youโve placed it on into the Day/Night Tiles field
The only difference in the entries for NightTiles from DayTiles is the tile ID, the layers and coordinates should match for each object
Hi, just wanted to ask, how do I make sure music plays continously thru the event? Thank you!
if i'm making a config toggle for a hud element, is it best practice to check the config value in entry or is it better if I check every render so that mid-game modifications work?
true
Yeah, it makes them global properties as it turns out.
But you can force certain properties to not be overridden by making them explicitly local properties: <Project Sdk="Microsoft.Net.Sdk" TreatAsLocalProperty="Prop1;Prop2">
You know what, that's actually much nicer. I think I'll work some of these into mine next time I update it. Thanks!
The caching is a particularly good idea that I somehow overlooked.
Does anyone know which attribute affects the weapon's right-click effect? Also, what do Precision and Defense influence exactly?๐ฅบ
how would I force one of these onto screen without an interaction?
cant help just curious, but just by passing it?
touchaction comes to mind but idk enough about that
I'm still trying to figure this out. I've put an unlit lamp at Front 4 50 907 in DayTiles and a lit lamp at AlwaysFront 4 50 908 - but the lit lamp is still appearing during the day
Do not place the lit lamp on your map
You donโt need to
The function of Day/Night tiles is that it will switch the unlit tile on Front to the lit one
You only need to place the unlit version
no i mean a text box in the same style/restrictions
ohh
touchaction maybe?
yeah i would still say textaction
touchaction*
although i dont know what action it would bring up
swords always block, daggers always stab, hammers always smash
precision serves to counter a monster's evasion. it is basically useless because no monsters (in vanilla) has evasion. defense is the same as defense from food (reduces damage taken when equipped)
ah its Game1.drawDialogueNoTyping
I've tried and all its giving me is an unlit lamp with a light effect
Thank you for tolerating my laziness
it should be
DayTiles: Front 1 1 205
NightTiles: Front 1 1 206
as an example
insert your coordinates and the file IDs for you unlit/lit versions
are you doing EditMap or loading the map?
map properties donโt transfer from tiled when using EditMap
I'm using Tiled with a Load map through Content Patcher
ok carry on ๐ check that you have it like quinn said
I saw on the wiki that weapon types are listed as 0 (stabbing sword), 1 (dagger), 2 (club or hammer), or 3 (slashing sword). I have two weapons both marked as type 2, but only one of them is a hammer. Does anyone know why this is?
!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.
and what weapons are those/did you spawn new ones to test
side note: I see you loaded your weapons texture into Mods/SplatoonWeapon. you should use that as the Texture field instead of the InternalAssetKey thing
I managed to make it work!
site note 2: your item Name should be identical to the item id
How do the stationery fireplaces work? Like the one in Pierre's? I have checked on SeedShop.tmx and it doesn't have a fire in it, nor does it seem to have any tile data nor tiel properties on the tilesheet... so how on earth is there a fire in there when I go in in game???
the fire sprites are in cursors and iโm pretty sure their animation inside fireplaces is hard coded
is it true that talking to npc when they're performing schedule animation grant less friendship point?
ah shoot... guess I could just throw it in myself from the tilesheet maybe ๐ค
dont think that works sadly
every location has a hardcoded set of fireplace coords in C#
I guess that fireplace will never be lit then...
oh well
Guy who lives there can just use blankets
Source code for Stardew Valley mod Extra Map Actions. - rokugin/ExtraMapActions
whoops somewhat wrong link
if you have space for a dependency EMA adds support for custom fireplaces
Thank you ill look into it!
Thank you for your suggestions! I've made the changes. https://smapi.io/json/content-patcher/5b6916d938c64dd986ad8cbb75ca6cfe
I want all the weapons to be hammers, but some of them still have the sword blocking effect when right-clicked.
and you trashed all the old ones and spawned new instances?
yes
this is what i did but it doesnโt look like normal and i had to animate the fire tiles myself
weird
do it again just in case, and if they still act up run patch export Data/Weapons and post the json file it generates
guys, could anyone give me some help modding my own CC bundles? there's this harder CC bundles mod i used to use that was apparently taken down and I don't really like the other ones i've found so far so i wanted to make my own but i have zero experience with modding and coding
!gs
If you would like a guide to setting up mods for Stardew Valley, check out the getting started guide! https://stardewvalleywiki.com/Modding:Player_Guide
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.
also, here's a documentation on cc bundles data! https://stardewvalleywiki.com/Modding:Bundles
tho if you dont have any experience, this is the best tutorial to start off with https://stardewmodding.wiki.gg/wiki/Tutorial:_Your_First_Content_Patcher_Pack
Welcome to creating your first Content Patcher Pack. I wanted a quick and easy way someone could copy, paste, and run their first content patch to prove to themselves everything's working as expected. I always find that creating my first, simple, working code gave me the confidence that I could tinker with things slightly and watch as my code gr...
You can also go see how other mods did it and try to understand what's happening from there
the most popular on nexus rn doesn't actually use content patcher, and i think i've seen one other person use their mod as a base, but i'm not sure how
if you're talking about Challenging Community Center Bundles, they do roll their own format, though I think that's because the mod was made before the game/CP supports custom bundles
I got it working! Big thanks, Selph
i actually managed to find the older mod i used to use (it was minerva's harder cc bundles, was removed from nexus but is still on moddrop) but it hasn't been updated in ages and either way i also wanted to include items from sve and cornucopia
k so i tried going by date published and it seems pretty much every cc mod uses custom/challenging cc bundles as a base
i don't think you need that mod tho if bundles are content-patcher-able?
idk how to mod tho so i wanted to see how other people do it
@restive crag You leveled up to Cowpoke. You can now speak in our voice channels and share images in all channels!
!unpack
Follow this guide to unpack the game's content files in order to see and explore how the game data is structured.
It's helpful when making your own mods, or just to learn about how the game works!
Ah thank you
in theory do i just edit the content.json of one of the challenging cc bundles to get the bundles i want for personal use?
yes
@acoustic summit hi! i saw you pushed an update that should fix the item drop behaviour, but i still can't manage to drop one, which may be because i'm unsure of the exact format to follow. Would you be able to provide an example or look at my patch export to see what could be wrong?
https://smapi.io/json/none/62fec8f427e647a18d8b5f687a994342
This is the data of the bug once patch exported.
I wanna make a mod where the Wizard sends JojaMart to the shadow realm
wait how do you do cooldowns between events?
conversation topics
ohhhh okay
and then set the event to only play when itโs not active
thanks!
I have uploaded my first mod ever!
couldn't have done it without some lovely helpful people in here ๐
congrats!
yay congrats!
thanks 
if you'd like a showcase just let one of us know
yeah, just a link with a short description if you'd like
your message verbatim is what leah sends
The Woolly Goat! This mod adds the Woolly Goat to your game! This fluffy friend can be milked for goat milk, just like the regular goat. In addition, it may also shed wool once a week, once enough friendship is achieved!
I just copied what I wrote in the mod description
I see you didn't go through with EAC Milk/Shear thing 
yeah lol, it was giving me a headache, but I found a workaround for at least the wool happening less often
@outer glacier i'm sure this is inconsequential, but i got a message from leah saying "the application did not respond", but it still got showcased, so ๐คท
I put in a "condition" that it can only do wool on monday / tuesday
oh, thanks for the showcase 
Thanks for letting us know! It might have been just a momentary connection issue - but if the showcase went through, then that's what matters! If it happens again, please do screenshot it and send bouncer a modmail so we can forward on to the bot devs. 
will do!
it's so pretty!!!!
wooly goat ๐ค milkable sheep
thank youu ^^ ๐
definitely inspired by that!
theoretically, would i be able to make the NPC the player is married to not return to the farmhouse at the end of the day/start in a different part of the world at the beginning of the day?
my intuition says yes since marriage schedules
no
marriage schedule don't allow for 0
nnnooooooo
i don't remember what is the reason, and if 1.6.16 can possibly solve that
I asked, Pathos said it's scary 
You could try Custom Schedule Keys since they activate before vanilla schedules, but the mod author does say they may be odd with marriage.
it's understandable as schedules as whole are scary
yay okay i will check that out in the future
With farm animal sprites: do height and width need to be the same? And do they both need to be divisible by 16? (16, 32, 48?)
I think they can be any size, but:
- animals wider than the door of their animal house will get stuck (unless you have a certain mod of mine)
- animals larger than 16px but smaller than 32px will get stuck for a different reason
(for the second case just make them 32px and add whitespace)
Whitespace? As in, cause tje bounding box to be only 32, but the sprite be greater?
Cause foxes are my kid's fave animal, and foxes are long.... and 32 px is defeating my skills of an artist.
ok so you want bigger than 32px, hmm
you can't change the bounding box
try adding your fox in game anyway and see if they can get through the barn door
if not then, well, Animal Squeeze Through time
that's for when you click on them
The itemList system is meant for when you want multiple other items to possibly drop; when you have only one item you can use the alternative drop creature options with only alternative drop set to false, or I suppose you could also add on an extra item to the list for itemIDs. For example I was able to make the creature in what you sent me drop the item correctly by changing itemDropItemIds to ["378", "a"]. I'll make note of this in the documentation, also I am working on a modern CP example pack right now; sorry that there isnt one available atm.
no need to apologize, i appreciate all the work provided on the framework
(extra appreciating the ability to add creature via CP editing, by the way)
(it's so convenient to just have to add the relevant fields)
hi all, I've been facing an issue with Content Patcher and my Patch which adds Arabic language as "Custom Language" to the game but for some reason I have a very confusing error that I'm loading the png file with the .xnb extension even though I don't!
any idea what could be causing this? https://smapi.io/log/0a474fe233d6478f88a8e699d44eaf34
Log Info: SMAPI 4.3.2 with SDV 1.6.15 build 24356 on Microsoft Windows NT 10.0.19045.0, with 5 C# mods and 1 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
sometimes the log mentions xnb because it's what the game is looking for
can you provide a json too?
content.json
{
"Format": "2.7.0",
"Changes": [
{
"Action": "EditData",
"Target": "Data/AdditionalLanguages",
"Entries":
{
"MoMaqbol.ArabicLanguage": {
"ID": "MoMaqbol.ArabicLanguage",
"LanguageCode": "ar",
"ButtonTexture": "Mods/MoMaqbol.ArabicLanguage/Button",
"UseLatinFont": false,
"FontFile": "Fonts/MoMaqbol.ArabicLanguage/Arabic",
"TimeFormat": "[HOURS_24_00]:[MINUTES]",
"ClockTimeFormat": "[HOURS_24_00]:[MINUTES]",
"ClockDateFormat": "[DAY_OF_WEEK]. [DAY_OF_MONTH]",
"UseGenderedCharacterTranslations": true
}
}
},
{
"Action": "Load",
"Target": "Mods/MoMaqbol.ArabicLanguage/Button",
"FromFile": "assets/Button.png"
},
{
"Action": "Load",
"Target": "Fonts/MoMaqbol.ArabicLanguage/Arabic",
"FromFile": "assets/Fonts/Arabic.fnt"
},
{
"Action": "Load",
"Target": "Fonts/MoMaqbol.ArabicLanguage/Arabic_0",
"FromFile": "assets/Fonts/Arabic_0.png"
},
{
"Action": "Load",
"Target": "Fonts/MoMaqbol.ArabicLanguage/SmallFont",
"FromFile": "assets/Fonts/SmallFont.ar-AR.xnb"
},
{
"Action": "Load",
"Target": "Fonts/MoMaqbol.ArabicLanguage/SpriteFont1",
"FromFile": "assets/Fonts/SpriteFont1.ar-AR.xnb"
},
...
so people can check you have all that should be in proper place?
it's a bit weird tho because I followed the docs and it led me to this (unless I overlooked something)
Whats wrong with this code?
"Action": "EditMap",
"Target": "Maps/wallpapers_2",
"FromFile": "assets/wallpapers_2.png",
"FromArea": { "X": 0, "Y": 0, "Width": 256, "Height": 96 },
"ToArea": { "X": 0, "Y": 0, "Width": 256, "Height": 96 },
"PatchMode": "Replace",
#making-mods-general message this was the discussion
should be editimage not editmap
ok but that gave me red sea too
then maybe share it, moise
!log maybe
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.
Log Info: SMAPI 4.3.2 with SDV 1.6.15 build 24356 on Microsoft Windows NT 10.0.19045.0, with 18 C# mods and 5 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
oo CP is updated again
but it worked a while ago just fine before i added the part with the wallpapers
it's not a CP problem
it's a wrongly formatted json
which the log tells you, and
!json would likely tell you too
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 may have missed a comma, or have extra character, or misplaced stuff
unfortunately I couldn't fix it that way, seems like I have to generate/pack fonts to xnb files then include it in my content patch (that defeats the purpose but whatever works) @fresh prairie I checked your StardewEsperanto repo and it seems like I'm heading the right direction but I'm unsure how you've done it, can you help me please?
I figured out the solution, looks like I had to trim the extension of .png from the .fnt file. I believe BMfont exports it that way and I feel if docs mentioned that explicitly alongside
Make sure the target for the .fnt file matches what you specified via FontFile in the language data, and the target for the image matches what you specified via pages in the font data. would be ideal, anyways I still don't know how to change smallfont + spritefont
(this is a tangent but is that an RTL mod I spy?)
yup
don't get your hopes high, it's very tricky but I'm working hard on it
what language are you doing it for?
Arabic
nice, good luck!
Oh, right to left language sounds tricky
a new version of Monogame supports an additional bool parameter for DrawString that renders text rtl, the only issue is the game uses older version of the lib. not sure if the dev is going to ever update but in the mean time maybe doing it through harmony is possible?
I did using dnspy, haven't really dipped my toes too much in
worth having a look because the game does a lot of custom stuff in unexpected places (for example, certain punctuation marks in a lot of contexts get replaced with other symbols)
nope, this was disproven
oh fuck it is
selph spreading misinfo smh
spread misinfo again whoops
what am I doing wrong its not showing up in game ๐ญ
OH
nope, the default area is the whole source image, and the asset would already be loaded
Hi bluebs!
yeah thats why i said nvm... my brain is not braining today 
its still not working 
share a log with a patch summary โ๏ธ
how do i do that
!patchsummary 
Can you do these steps to provide more info?
- Load your save and view the content that should be patched.
- Type
patch summarydirectly into the SMAPI window and press enter. - Upload your SMAPI log to https://smapi.io/log (see instructions on that page).
- Post the log link here.
oh wonderful
Hi bluebs! Long time no see
huh I don't see it
I think I got it? https://smapi.io/log/930ea8e91318445f931f7c6d873736f9
Log Info: SMAPI 4.3.2 with SDV 1.6.15 build 24356 on Microsoft Windows NT 10.0.26100.0, with 41 C# mods and 111 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
should I only have my mod in the game while I am testing it or is that huge list okay ๐ฅน
Guys I need help
ideally you should only have your own mod to make things simpler for everyone
When ever I try to launch stardew valley after installing snapi it always does this red text thing
!mh
For help with modding issues, please ask in #1272025932932055121! When asking for assistance there, sharing an error log will help others identify your issue (see https://smapi.io/log for instructions).
I realize what the issue was I had a mod that changed all the monsters
See this link for how to load different mod groups: https://stardewvalleywiki.com/Modding:Player_Guide/Getting_Started#Can_I_have_different_mod_groups.3F
you know I wouldn't worry about it (I just recycle my mod stuff over and over again when testing)
rather than make a whole new file I just change the text ez pz
you should be testing with a minimal loadout tbh
okay will do from now on ty!
i do keep around a handful of mods while im testing things myself, mainly just to see if i should change something to work better with mod xyz
how do i send a whole file of code here? i want someone to check if i edited this content.json right
!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.
Is it possible to nest tokens?
i don't think this is working
Choose Content Patcher from the drop down
It doesnโt look like it has the whole file
(If it's a Content Patcher mod)
Unless thereโs more hidden below
like {{ i18n: MyToken{{DayOfWeek}} }}? yes
Thank you
it's an edit of the content.json file of Challenging CC Bundles
click "Edit this file" and you'll probably see the rest
Send link plz
starting a json with a comment breaks the validator
But {{php{{is{{cool}} }} }} does not work
so just resend the json in the validator but without the comments at top
it should start with the first {
https://smapi.io/json/content-patcher/0c496b21aaf64e2a9844ae65a850a50e this one is not a json file but it's a reference for what the json file should represent
Oh, it's a bundle mod? I see! For bundles you need to start with:
"Action": "EditData",
"Target": "Data/Bundles",
"Entries": {```
no, they're actually using CCCB as a base
Ohhh, so they are, my bad
i'm just editing the files cause idk how to code
in which case that format looks good, but the best and quickest way to know is to test in game
That's how we all start
(cuz I'm not checking that you're not missing a number lol, there's too many)
i'm mainly confused about like the numbers at the end
Yep, or a slash - having made a bundle mod myself, they are a pain in the ass to test
these ones
Looks like the final number represents the sprite, or icon used on the bundle page.
I think CCCB follows the same format as vanilla? https://stardewvalleywiki.com/Modding:Bundles
Lookds like it
i guess i'm gonna go make a test file and sleep a few days/cheat in a rain totem
in which case it's color/distinct item count/display name
The last number is the sprite used - you can tell becasue the Garden Bundle uses /LooseSprites\BundleSprites:7", which is from the new sheet
Color is the color of the present box that you click on
Item count is the number of boxes you have to fill (so you can have 10 items, but only 3 boxes you need to fill, for example)
gonna test things out with 200+ folders in my mods folder cause i don't want to check which mods the important ones depend on, wish me luck
Good luck
Color, Number of items required, sprite. It looks like Display Name is moved to the beginning, normally it would be at the end.
Fun fact, if you leave number of items blank (like //) it will automatically require all items
is there any problem if i complete all bundles in one day?
ok so exotic foraging has the wrong reward
it gave me a aquamarine. i probably forgot something
looks like i forgot a B
also appears i put a _ where there shouldn't be one
only one cutscene will play but the mail flags will get correctly set
how do i do that? open the file with notepad++ and put in the line?
Ps: i have no grass growth at the giga farm extended maps and wanna enable it
ok this one i'm not sure what i got wrong
oh seems it actually needs a "smelly" in the name
yep
i'll need to double test that one tho cause apparently cornucopia slightly edits the sve rafflesia as well
the item id is the same
oh wait i can check item ids with lookup everything, neat
four leaf clover has the wrong id too, rip
lucky four leaf clover. make it harder for me, will you?
it's not worth trying to guess item IDs hahah, always reference the original files
worked for most of them!
also as a non-native english speaker, what do you mean cotton boll is the correct spelling?
https://en.wiktionary.org/wiki/boll boll is the word for the part of the cotton plant. "cotton ball" is the product you buy at the chemist/drugstore
as a native english speaker, sorry english is just Like This All The Time lmao
i'll at least assume it doesn't have some weird spelling like some words dare to have
no not spelling, uh, pronunciation
boll sounds like "bowl"
sounds fair
ok completed cc, i got three IDs wrong and missed one B
stardew has apparently decided that if you complete the entire cc in one day, the cutscene that should play is the greenhouse one
and the missing bundle is fine!
New quote added by atravita as #6508 (https://discordapp.com/channels/137344473976799233/156109690059751424/1397389406268297227)
Does anyone have an example of a basic reskin mod? I am making a small reskin of another mod and want to see how the code is structured
https://stardewvalleywiki.com/Modding:Content_Patcher has a basic example of a mod that edits an asset
which mod are you editing? if they're using a custom asset name one mandatory step is finding out which one to target for editing
I'm editing grapes of ferngill. I think my naming convention is off
{
"Action": "EditImage",
"Target": "StunkyMcDoo.GrapesofFerngill.cp/crops_summer",
"FromFile": "cropsfinal-wip.png",
"Update": "OnLocationChange"
}
that looks fine to me, though you don't need "Update": "OnLocationChange"
(assuming the Target name is correct and you indeed have a cropsfinal-wip.png in the mod folder)
the original mod author is updating theirs on location change for specific seasons - i wasn't sure if that would impact how i need to write my code:
Here is the original author's code:
"Action": "EditImage",
"Target": "StunkyMcDoo.GrapesofFerngill.cp/crops",
"FromFile": "assets/{{TargetWithoutPath}}_{{season}}.png",
"When": {
"Season":"spring, summer, fall, winter",
"IsOutdoors": true
},
"Update": "OnLocationChange"
(hermes voice) that just raises further questions!
so I can just remove the Update: on location change and call it a day?
is my syntax onthe target correct?
if you're not using dynamic tokens that can change over the source of the game (like {{Season}}) you don't need to specify an update rate
(technically you don't need to even if you're using tokens since the author already did that, but...)
no, keep the Target the exact same as what the author wrote
"Target": "StunkyMcDoo.GrapesofFerngill.cp/crops", (remove the _summer)
i am confusion about why stunky did many of the things in their patch
well the season line is definitely unnecessary
So just this?
{
"Format": "2.7.0",
"Changes": [
{
"Action": "EditImage",
"Target": "StunkyMcDoo.GrapesofFerngill.CP/crops",
"FromFile": "cropsfinal-wip.png"
}
]
}
since it's their own image target, surely smarter division of items could have avoided IsOutdoors and UpdateRate too (if they are even necessary at all)
looks good
also don't forget to give your mod a dependency on the Grapes of Ferngill mod
Do crops remember their texture?
i don't know, i'm struggling to imagine why you'd un-edit your crop images when you go inside
i'm so happy, my npc has basic functionality :,) he walks, he talks, he accepts gifts, his animations work ... i can rest now
thank you to everyone who's helped me so far <3
well maybe they have an indoor variants in another patch
I have dependencies:
},
"Dependencies": [
{
"UniqueID": "StunkyMcDoo.GrapesofFerngill.CP",
"IsRequired": true
}
]
}
within my manifest file
Will i need to do a new save to see if this works? or should this work in an existing save?
Snow
the mod author has four different sprite files for the seasons
existing save is fine, worst case scenario you can destroy the crop and plant again
if you also want seasonal variations give the guide on tokens a read: https://github.com/Pathoschild/StardewMods/blob/develop/ContentPatcher/docs/author-guide/tokens.md
cc mod update: everything is working now!
idk if i'll share it or if i'll keep it for personal use since i just edited a different mod tho. not sure if i need to change more to post on nexus
I think posting it as a content pack for CCCB is fine
do change the manifest and give your preset a different, unique ID (and tell users to use that ID in their CCCB config)
hm. now I'm worried that my .png is wrong
my sprite index order is the same, i think - not really sure how these sheets work tbh
feel free to elaborate on what's happening if you need help
Yeah, sorry for not being specific. Just confused overall. I have a manifest which should work, with the dependency. I have the .png in my main folder. I have my content.json file:
{
"Format": "2.7.0",
"Changes": [
{
"Action": "EditImage",
"Target": "StunkyMcDoo.GrapesofFerngill.cp/crops",
"FromFile": "cropsfinal-wip.png"
}
]
}
really not sure what I'm missing
You haven't explained the problem
loading existing save, assets I'm trying to reskin are not reskinned
does this look correct?
Did you destroy them and plant new ones like Selph said?
yes
If they look exactly the same as in the OG mod, yours is not being applied in some way. Either your Target is wrong or your mod is not loading at all.
!log Could you share the log so we can check?
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.
!log
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.
Dammit
Log
Bit slow there atra lol
Log Info: SMAPI 4.3.1 with SDV 1.6.15 build 24356 on Microsoft Windows NT 10.0.19045.0, with 12 C# mods and 13 content packs.
Suggested fixes: One or more mods are out of date, consider updating them, SMAPI is out of date, consider updating it
Which one is your mod?
currently called 'grapes of ferngill reskin'
There doesn't appear to be a StunkyMcDoo.GrapesofFerngill.cp/crops asset according to this log.
ah so my target is wrong
There's ancient, common, teabushes, deep_envy etc
How did you land upon StunkyMcDoo.GrapesofFerngill.cp/crops?
#making-mods-general message apparently from the original mod's code
Hmm
I wonder why that wasn't loaded
(Thanks ichor, I backread a few times but still managed to miss stuff apparently lol)
Okay so that is the right Target
What's the name of the crop, specifically, that's currently growing right now and fails to change appearance?
I wouldn't be surprised if there was unused code tbh
it is the common grape crop
assumedly this one: StunkyMcDoo.GrapesofFerngill.cp/common
there is a crops.json as well, but it references sprites from the crops.png spritesheet that I am trying to edit
Yar, according to the code in crops.json, the common grape doesn't use StunkyMcDoo.GrapesofFerngill.cp/crops.
I think it uses the game's vanilla crop?
The only one I can find called common grape is a bush
Oh you can change between them being bushes or not? (I have never looked at this mod before I am so confused lol)
theyre bushes so they dont need to be watered and dont die seasonally
hm. so then how would i overwrite it?
maybe i have to overwrite the sprite from the base game
You Target the vanilla asset.
If you are editing the bushes, you want to edit the "Texture": "StunkyMcDoo.GrapesofFerngill.cp/teabushes" texture
that was confusing me. i think that those are the grape bushes. maybe i need to overwrite those. thanks!
It's this one, Abi. https://stardewvalleywiki.com/Grape
The "Common Grape" in Grapes of Ferngill is just a retexture of this.
It looks like it uses the crops.json if bushes are set to false but youngdollarsign said they do want the bushes
Dolphin and I are in disagreement on this and I'm not sure which of us is right haha
However if you install Lookup Anything you should be able to inspect the crop and see its texture path in game to confirm
how do i give my npc different sprites/portraits in winter?
https://smapi.io/json/none/3bb22dd701ac44a89c732699e516499a
and here's kind of an example of it but mine has a bit extra because I did a lot of fancy stuff for Qi (note these are just sections of code not the entire thing, esp for the NPC part, so keep that in mind)
thank you, i'll try that
@vernal crest @devout otter thank yall both for your help, I got my mod working!
it was the teabushes
Does anyone know how to animate a sprite and then freezes in the last sprite while also talking until the next command that tells it to stop?
so like an animation of a few frames and then you want the last frame to stick?
Yeah
during an event right?
Yep
you could do the animation for those frames and then do a quick stop animation and then start another animation thats just the last frame looping, continuing on with your dialogue and such until said animation needs to stop
although
I kind of tried that but it ended up won't play the first animation and just skips to the looping one
really?
Unless there's other command than stopAnimation that i don't know
could you show me the string of commands you did for that
Wait
Wait let me play test this real quick to see if it still won't work, i kind of experimented a while ago
Nvm it still won't work, let me do the smapi json
do you think theres a mod out there thats like
adjustes stardew crops in random to inflation /actual economic changes
like one day ur turnips r 60 g and the next its like 5 and u just cry because ur life is going downhill becasue of the economy
https://smapi.io/json/none/82b3729bf92f415fb888560142b1860c
here it is, sorry it took so long
oh boy do i have the mod for you
REALLY
omg i cant wait to simulate the real life economy in my imaginary economy
hmm it might be because of your frame duration
it might be so quick that it doesn't last very long?
I know I've definitely done something similar to this in at least one of my events, let me check
Hi Aba :]
Can't open the json right now but couldn't you use showFrame to just show one static frame of the animation?
Hi Lily! I haven't seen you for ages!
Yeahh I've been really really sick so I haven't really been doing much of anything at all :L
I did tried that, but it for some reason immediately stopped when he starts talking
the commands /animate NPC false true TIME [insert sequence of frames here] should work while they're talking.. hmm maybe try (one sec let me c ount)
you could try doing a pause command for ~3150 seconds between the two animations, but that wouldn't work if you want them starting the initial animation and then pausing at the last frame all while talking
Not sure why showframe stops working when the dialogue continues though
i did tried that, but something creepy happened and it turned my farmer into this faceless mess
oh god
๐จ
I'm playing on Giga Farm currently, that have a farm extension, but grass don't spread there, any idea how to fix this?
to be clear, you're trying to get them to stop the animation while talking and then start the animation again?
not a question for here you can make a thread in #1272025932932055121
oh thy ๐
assuming that dialogue/text whatever still works while the animation is playing until stopAnimation is used, I would just repeat the frame you want to stop on for the duration of time it takes to say the text although that is very very annoying
freezes the frame to be exact, after he's talking it should stop the animation as a whole
not sure why the animate command would have anything to do with your farmer when it clearly references your npc
so thats new
exactly, that's why i was so confused and creeped out
so you want the animation to start (while talking) and freeze at that frame (still talking) and then when the text ends the animation stops
oh hmm
yes, althought the animation started before he's talking and then continued until he's done talking, yes
what i said would technically work but again would be sooo annoying although i cant think of another method off the top of my head
is he talking as in a dialogue box?
or the textAboveHead
dialogue box
is there any break in the dialogue
idk i would put a break in the dialogue and stop the animation there
hmm you could try begin simultaneous command, since, with the way commands work, the first part of the animation is going to play before the NPC speaks
(at least to get the first part to actually happen)
getting the npc to stop the animation mid way through would probably require a small break in the dialogue where you stop the previous animation, and then start the animation with the singular frame, then continuing the dialogue
yeah i cant see a way out of a break in the dialogue
So.
The farmer is weird.
There is if you're talking about break to separate the dialogue from one another, that's where his animation end and then continue talking afterwards
Are you doing a facedirection left first
Im going to test the pause 3150 again to see if the farmer glitches out again
wouldn't that work then? i might still be confused about the sequence you want
Because otherwise you get faceless farmer when you call a farmer animation
And don't make them face the right direction
they arent animating the farmer :L
I don't think they're trying to animate the farmer at all?
The farmer is a paper doll

yeah...
For the NPC? I didn't put any command for the farmer since they didn't do anything
They're not animating the farmer?
farmer corrupted itself
Hmm, what are you doing then
they are not, in fact, animating the farmer, they're animating their npc
x2
It did kind if work, but the first running animation just skips to the last frame
none of the commands have the farmer animated from waht i can tell
Because that is exactly what happens if the farmer gets misanimatef
oh hm it might be the timing then
actually i dont know how exactly stopAnimation works
does it immediately end on the current frame or go until the last one
WAIT, omg i fixed it, the pause did work but with a combination of what Lily suggested
stop animation completely stops the entire animation +frames and resets the npc back to normal unless you have another animation after it
:D yippie im happy to help!
I don't know why your farmer got cursed
on whatever frame it was on when stopAnimation occurs?
The last frame, and then it should freeze in that exact frame until he stops talking and then went to the next dialogue
I have no idea either lol, maybe just a minor bug on my end, thank you again
last as in the last in the animation loop or the most recent frame
Last i think?
'your mod isnt working'
their smapi log:
someone save me please /mostly silly

i aint got the enrgy to read through allat i am going to sleep now :)
Saw some chat on a modded farmer yesterday. It gives this idea.
https://github.com/StardewModders/mod-ideas/issues/1404
Ohh I like this. It'll help not fuel Shane's addiction as well lol
do you write specs/user stories as your day job? you did a fantastic job with this one haha
Just a slightly obsessed content pack modder 
I'm thinking some kind of either logarithmic or arctan-ish reduction in points, so you lose points very slowly initially then speed up as you receive more (and then possibly slow down again once you start actively disliking them?)
which should feel more like the NPC just becoming very fed up with you over time 
๐ค speaking of friendship
i dunno if it's already covered by another mod but
i thought about like, a mechanic where npcs would "tell their friends" about you if you made them upset and stuff
How will you make npc upset?
garbage digging, wrong choice during heart event, hated gift
idk if there's more ways
not talk to them for a long time i guess
I was asking specifically which way forsy wanted
Like if it's a minus friendship choice in event then u can start convo topic
oh i was just thinking of minus friendship
Can we attach conversation topic on the gift taste dialogue? Or maybe the item specific/context tag one?
Marnie: Shane has been drinking more beer again. Got a clue who is enabling him?
๐ค hmm i feel like i saw something like that
sorry marnie shane's birthday is in spring
where am i supposed to get hot peppers
shane loves pizza
its like 100g more expensive than beer in the saloon
v easy :P
(Pam loving parsnips is the biggest lifehack in the history of the game i gotta say)
We're just cheap
๐ you know i never buy pizza. specifically because the beer is cheaper
it's like 200g
Point proven
i believe its either 400 vs 500 or 500 vs 600
pizza is 600 im pretty sure
You should be able to put a $action in the dialogue
its 400 vs 600
oh no, how expensive :\
I never buy anything at the saloon
I just wait for battery packs for pam and hot peppers for shane
plus, I have to save up for george!
How can I make it so that people can reach my map by bus?
I guess people as in player
check Central Station
!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.
https://ko-fi.com/s/90573f9523
ok so,, i want to make a personal edit to this farmhouse to add a childrens room and place for the cellar, how can i do that? i have tiled but i have no idea how to use anything here T_T please explain like im 5 lol
im comparing to a dif mod and it looks like i need to have separate tmx files for each upgrade?
you were WRONG. i will NOT use nullables
ok so,, i want to add the childrens room here, but its not letting me put down any tiles
i also think i should extend the map boundary(?) but idk how,,
So you can't actually change where the crib is without a mod
oh right, forgot abt that
This is because it is a hardcoded renovation
yeah
You can use mmap to do it though, works by setting map prop
sorry, ive never worked with maps before so i understand little lol
Farm house is tricky yep
I think you can change the cellar entrance without another mod tho
Just gotta edit the map asset that has the entrance
I'm new to content patcher and was wondering if someone has a link to explain the concept of blank loads? I've noticed that in a lot of manifest files, such as SVE, they start with a "load" action of a blank JSON file. Then they "include" the actual file, which will contain an "EditData" action. I'm not sure why they don't instead load the correct file right off the bat. Happy to provide examples if I've explained it poorly.
I know I'm misunderstanding but I'm struggling to find an answer online ๐
It's because CP passes the content of a Loaded file directly to the game without editing it in any way, which means you can't use CP tokens of any kind because they'll be passed through as-is instead of being replaced with the desired content. It's strongly recommended practice to use the {{ModId}} token as a prefix for all IDs in your mod (including an NPC's internal name). We also strongly recommend the use of i18n files to allow for easier translation, which also rely on CP tokens. Since both of those things are recommended practice, a blank load is required to allow the tokens to work.
I can show an example of what I mean if my explanation wasn't clear enough ^_^
Ah! That makes so much sense. So an initial load doesn't have token replacement, but an edit action does?
Yup that's right.
u won't be able to use CP token because load won't parse those
The blank load allows the asset to exist in the first place and then the EditData patch adds the actual content to the now-extant asset.
and CP tokens r sweetie pie
dont use includes at all and just shove everything into the content.json directly
i jest
Thank you very much for the help ๐
psychotic behavior
fair for smaller mods tho
Oh and just to clarify on Includes - they aren't actually a necessary part of the "Load blank -> EditData" cycle. You can Load your blank json and then do the EditData patch all together in the content.json. The purpose of Includes is merely* to let you split your json into more human readable files rather than having thousands and thousands of lines in the content.json. When CP reads an Include patch (where the Action is Include) it just runs the content of the listed file as though it were in the content.json.
* you can actually do cool templating stuff with LocalTokens using Includes too, but that's much more advanced so I won't explain it right now.
I am making an NPC whose json will be entirely contained within the content.json. No Includes.
the content equivalent of dumping every class in modentry.cs
Which I also do ๐
In this case all her json will be in the content.json because she is intended as an example for newbies and a lot of newbies get very confused about Includes and make life difficult for themselves by trying to do them when they don't understand what they actually are.
or dynamic tokens
Nice, understood - thank you again ๐
I'm a programmer by trade so understanding everything hasn't been too difficult, it's just finding reasoning and deciphering if something is just a standard/pattern or if there's a processing reason for certain things.
Out of interest, are there any good places to look for documentation on the more advanced topics? Aside from the SDV modding wiki.
I'm not sure which wiki you're referring to so I will link both:
Official wiki modding index: https://stardewvalleywiki.com/Modding:Index
Modding wiki (all pages view because that's how I navigate it): https://stardewmodding.wiki.gg/wiki/Special:AllPages
There's also the Content Patcher docs. Specific pages are inside the author-guide folder: https://github.com/Pathoschild/StardewMods/blob/develop/ContentPatcher/docs/author-guide.md
Outside of those places, some of the modding servers have a resources channel where we share tips, resources made by the community, resources from outside the community, etc. Off the top of my head I know that Stardew Modmaker Community (SMC), East Scarp (ES), and Krobus have said channels but there are probably more.
Where do you plan for Valya to live, Aba?
Haven't made a decision yet but probably looking to use fireredlily's apartment mod or the Saloon top floor mod. I'm happy to make her a bedroom but not wanting to get any more complex with the map situation than that. If all else fails she'll get a stop from Central Station that weirdly arrives right in her house lol
his winter sprites are not working, i'm not sure if this has anything to do with the error it gives me when i try to validate the json (but that error doesnt come up in smapi when i launch the game)
i'm using this tutorial https://stardewmodding.wiki.gg/wiki/Tutorial:_Adding_Seasonal_Outfits_via_Appearances
and this is my json https://smapi.io/json/none/174257859071479d82e429767b56b940
If you want to add seasonal outfits for your NPC, there's two ways you can do this: the token way or the Appearances way. Appearances is a new code structure added in SDV 1.6, so if you're looking at an older NPC's code for reference, they'll most likely be using the token way. The main difference between the two is that the token way is simpler...
i'm very tired so it's possible i missed something
Is there a reason that you're adding a separate patch for appearance rather than just putting it in his original Data/Characters entry?
Oh it's because the tutorial shows that. WHY
๐ญ i don't know anything
My guess is people take seasonals as separate mods
I must take this up with Airyn
Also data/Characters is a block of code as is
It might be because he's used to editing vanilla characters
as i've said before i've literally never made a mod more complicated than replacing a vanilla character's portraits so i'm kind of just blindly following tutorials and hoping it all works
Okay putting that oddity aside, what is actually happening? Is he just wearing his normal outfit?
yes
i did try doing it this way from the tutorial, but that made him wear the winter outfit all the time
Okay so your winter outfit loads aren't actually happening because you have them nested inside his Data/Characters patch
Let me try drawing on it to show you what I mean
isn't it better to make NPC change appearance using the appearance system?
They are trying to
So another try: I wanted to edit the giga farm mod and add the EnableGrassSpread: T
to the map, since it's annoying that grass don't grow on the extension of this map... how do i do that? (already downloaded and installed tiled)
Sorry, I am finding this extremely difficult to describe haha. I ended up just putting the Load patches in the right place and hopefully you will be able to see from that how it should look.
A patch, by the way, is a section of code that's between curly braces and has an "Action" field inside it. You can only have one Action per patch which is why yours isn't working - you're putting three Action fields inside the same set of curly brackets (which I have circled in red in the screenshot of your json to show what I mean; the two extra Actions which should be within their own patches are inside the yellow and green rectangles).
i'm pretty sure i put those brackets there before, but when i did that it was telling me it was invalid so i removed them ๐ญ
That means you had them incorrect in some way before.
Like possibly not putting your commas in the right place, or not having the right number of brackets.
seems to be good now, i'll try testing it ingame
thank you for explaining that ๐
it's working!!! :D
What text editor are you working in, by the way?
uhhh notepad ๐ญ
sublime text is my rec, or vscode if you're after something a little extra
I am not a fan of N++, but it'll do better than Notepad. I suggest getting a text editor that has auto-indenting and the ability to auto-format your json (which N++ doesn't do well imo) because having everything indented correctly makes it a LOT easier to tell whether you've got things nested incorrectly.
i'll look for smth tomorrow lol
!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.
Links to the three text editors we just mentioned above ^
at some point I need to get around to resuming my debugger project
but I also need friendly volunteers that actually make cp packs and use vscode to test it with
I am not always a reliable volunteer but I am friendly!
I assume using VSCodium is acceptable?
I'll do it i write other ppl's cp often
sure as long as it can accept the package files directly
I wont be publishing on the marketplace(s) until its generally available
Yup it can
Can't believe you'd AllPages us and reveal all our dirty stubs, Aba 
I found so many pages through All Pages that I'd never seen before going through the categories so step it up Tia :P /j
Do you have any suggestions for making it more navigable though? It's something I'm trying to improve 
One thing that confuses me is that pages inside subcategories don't show up on the main category page. For instance in the Templates Category it says there are 6 pages but then there are 42 more pages across the various subcategories. When I first started using the wiki I thought the subcategories were just for more granular organisation and that the pages listed in the main category were the total of all pages in that category.
is just vsix right
I'm assuming that's default wiki behaviour and am not sure if it can be changed, but even just requiring that all pages be inside a subcategory would probably make that less confusing for me. My ideal would be that the categories are not actually user-facing at all but that we have more of an index page like the official wiki - however unlike the official wiki it'd have to be much more dynamic because of new pages being added frequently in comparison. I don't know if it's possible to set up a page that automatically pulls links into a sort of table of contents?
ye
(fwiw I also find the modding wiki difficult to navigate/find things for similar reasons but I rely more on Google than the AllPages)
I think they'll show up in both if they're in both categories, not just the child category?
I just checked and you're right, they do. But many pages are not in both categories.
i mean for me that's also kind of part of the problem in that it means I have no idea where to look if I want to find something about a certain topic. who knows what category or subcategory I should look at
basically categories are a weird cross between tags and folders ig
I do think the modding wiki desperately needs an actual index
Tbh my general issue with thr modding wiki is there are sometimes things out of date and frankly as a c# knower it is faster, 99%, for me to pop open the decompile and check it myself
And then I'm not a good person and don't share the knowledge
I am not actually speaking from the perspective of a modding wiki user for the most part. I am speaking from the perspective of a contributor and a frequent linker of tutorials for others.
tbf wiki editing especially for complex knowledge is annoying
took me a good couple hours to do the quests page on the official wiki
tbh I think the reason I personally don't use the modding wiki is that I'm kind of unclear on what it is/what belongs in it, so I never end up thinking "oh, that's something the modding wiki would have, I should search there" when I'm looking for answers
Iro, I'm too busy looking dumb and being pretty
New quote added by irocendar as #6510 (https://discordapp.com/channels/137344473976799233/156109690059751424/1397573932177035368)
Except for a couple of pages that I already know about (roku's list of all the mail flags, the sprite indexes for springobjects) I only look at the modding wiki for the tutorials as that's what I think of it being for.
Anything related to playing the game does not exist to me (and in fact I would like it if we could have a more clear delineation between the playing vs modding sections).
the main wiki (both the main namespace and the modding namespace) has fairly clear and narrow scope, so I know if I need to look up the structure of a data model for example, I go there.
it would be cool if the modding wiki could be that for specific mods that aren't content patcher ig, but mods tend to have their own documentation
@ivory plume I'm trying to ascertain the differences between the regular SMAPI download on Nexus and the SMAPI for developers. Everything I can find (basically going back through your messages here lol) points to the only difference being that the developer version has DeveloperMode set to true in the config.json by default while the regular version has it set to false*. Is that correct or are there other differences between them?
* though it's possible to create a user config to set it to true in the regular version.
Correct, and that's something we can change.
If you don't have time/interest in updating, we do have a notice for outdated info you can attach!
Or you can even post about it in SMC and I can tag it if you tell me what's outdated.
that's pretty much it
I would say the scope is largely tutorials and that's what it's known for, but anything useful for modmaking that isn't already covered on the official wiki is in scope.
As in like a sitemap with all the (relevant) pages, or ?
I am doing some testing on drawing loads of furniture
For some reason the draw is much slower if farmer overlaps with the furniture
Why is that 
(I'm back at work so please feel free to ping me about modding wiki discussions if I don't respond right away
)
So prior to this point it's doing the same thing regardless of package and then the DeveloperMode setting value is the only difference between them?
yeah
it makes the main folder and sets it up, and then copy+pastes it for the dev mode, and then changes the main config to no longer be developermode
as when running builds of smapi from source its by default developer mode and it has to be turned off
Do you know what's meant by the "includes intellisense" bit?
wondering
Is it possible to use ScaleUp to create a high-resolution version of companions?
I think that might be best done with Sprites in Detail maybe?
idk if iro meant this exactly but its what i would think of and want when talking about an index, so my thinking is an index just literally like the official wiki index
(I did, sorry I'm making lunch and forgot to reply)
unforgiveable
Both versions include IntelliSense (i.e. the StardewModdingAPI.xml file), it's just not relevant to players. The full console output is what's specific to the 'for developers' version, and the IntelliSense is just a note that it's available for developers.
Custom Mounts now lets you rename your mounts, and set custom random idle animations with optional custom sounds
https://www.nexusmods.com/stardewvalley/mods/35810
oh i need to make use of that expeditiously
@ivory plume, while you're here, is there a chance the main wiki could enable the RenameUser extension? (it actually comes bundled in with the version of MediaWiki the wiki uses, so on the practical level it just has to be enabled and set to allow people to rename themselves)
I'm actually not sure who the sysadmin is for the wiki so I figured I'd ask you haha
margotbean iirc
(Margotbean is the moderator, not the server sysadmin.)
I knew that much but I didn't know who actually is the sysadmin, though my guess was you or CalicoCole 
I don't know if we want to let anyone rename their account on the fly, but I can ask about enabling it so users can request a rename from the wiki's local Margotbean.
maybe for example if someone made their wiki account over a year before becoming a mod author and choosing the name they use for stardew stuff... 
It was bundled in MediaWiki 1.40 though, and the wiki still has 1.35.1. So if it happens, it'll probably be after the upcoming planned MediaWiki update.
it was added to the base MediaWiki install in 1.40 but bundled (but disabled by default) quite a bit before that! iirc 1.32?
so it's there but it's an extension that has to be enabled rather than being a native feature
(I was way off, it was 1.18)
What kind of companion are you thinking of?
(I added an internal ticket to consider enabling renameuser.)
I wanted to edit the giga farm mod and add the EnableGrassSpread: T
to the extended areas of the map, since it's annoying that grass don't grow there... how do i do that? (already downloaded and installed tiled)
@brittle ledge this is also what I said (probably got lost in my verbose message lol).
You don't need tiled for this, just editmap is sufficient
Look at the MapProperties field
hmmm ok will check that ๐
(EnableGrassSpread is a map property which applies location-wide though, not a tile property.)
Ah yeah if u want tile prop stuff I'd just edit the tilesheet and make the grass diggable, this u can do via tiled yep
[[modding:maps]]
so i open the tmx file with notepad and insert EnableGrassSpread: T ?
just want the gras there so my animals don't starve ๐ข
Well u should use tiled unless u are very familiar with the tmx format
I disagree
XD
Easier to open in a text editor than explain all the tilesheet stuff
yeah tried that tile program but only gave me errors and made the map crash XD thats why i'm looking for help ๐
If you open it in notepad and copy the <property name="Outdoors" value="T"/> property to the line below it and then change the second one from "Outdoors" to "EnableGrassSpread" you should be okay. Make a backup first though.
the only problem that i have... dont know where to add the line in the text file... there is so many stuff XD
I just said where
the reason why i said tiled is cus u may actually need to edit the tile properties
if it was just map prop then i recommend doing it in content patcher 
It is a map property
Have you got the grass version or the dirt version?
dirt version ^^
Looks like all the tiles already have Diggable T
hmm just curious, you need diggable for grass spread?
Yup
That's why chu mentioned the tile properties. But I have been checking and almost every tile on all three maps has the diggable property.
yeah whos that gravy person ?! never see them round here
Silly super general question. If I wanted to have all of the furniture in a farmhouse shift a specific amount of coordinates (Ex on upgrade shift 10,12) is that Content patcher or would I need a C# code to do that
that's a thing in MMAP now
C# but i believe chu's MMAP thing can do it
ohhh neat. I'll check out MMAP
By which chu means trigger action action
we're trying to make traction happen 
/s
ok awesome. Thanks. I think i can fix my farmhouse now
uuuuhhh elaborate?
I'm assuming this is for something other than the input item
well u know how we still need AT for big craftables like keg
partly bc when people add rules they only target (BC)12
what if i can tag a new big craftable with idk, data_machines_(BC)12 somehow
and have it use keg rules instead of own rules 
im not sure if it is easy to do this or if this is a patch 13 distinct locations problem
well thankfully that should be dead simple since Object.GetMachineData is a thing
any mods that use DataLoader.Machines directly is doom, but there aren't many of those around hopefully
LA does iterate over it so a PR is needed
Ah me too
prefix the DataLoader
It's ok i would just add special support for this lol
It sounds like a great idea ๐
I dunno if it should be context tag or custom field
Probably custom field 
A zero harmony way could be a very late edit on Data/Machines
Where u look for CustomField "basedon": "(BC)12" and then just copy the rules over
Then u r compat by default cus u changed the data for reals
what if i do an even later edit
Not supported
wow

Priority Int32.MaxValue
I dunno i feel like this is a valid choice like, my machine rule is super special donut steel plz
i will simply patch the content pipeline itself to run mine after AssetRequested
how do you make a pet mod a standalone thing kind of like how Elle's cats you can have multiple options like they are standalone cats not replace any existing cats and you can have them all at the same time?
you use EditData to edit Data/Pets to add your own entry
(optionally with TargetField if this is a breed of an existing cat)
I don't know what that means ๐ฅฒ
welcome to the next step of learning Content Patcher 
you'll be editing game data itself, specifically pet data
[[Modding:Pets]]
thank you! that looks really complicated so I am gonna come back to it ๐ฅฒ
(ah we dont have a tutorial for pets yet, unfortunately)
good luck! once you learn how edit data works you can literally mod anything in the game*
*well not mods that require C# but you get it
also quick question, is this about your rabbits mod
no its my cat one(s)
both of them replaced a cat (the same cat) and people want to be able to use both/all the cats
okay
then yeah read up on how content patcher works (not just editdata)
https://github.com/Pathoschild/StardewMods/blob/develop/ContentPatcher/docs/author-guide.md
at a minimum you want to:
- Load your cat textures into a new asset
- EditData + TargetField the cat's Breeds field to insert new breeds
You can use Elle's cats' code as a reference too
Anyone know where or how i could see Maru's 10th Heart Event json file? (assuming you already unpacked the xnb file)
look at the file named after the location in which the event starts
Ohh thank you, found it!
Log Info: SMAPI 4.3.2 with SDV 1.6.15 build 24356 on Microsoft Windows NT 10.0.26100.0, with 7 C# mods and 5 content packs.
Whenever I try and walk into a certain area of the map it does this
(Which then causes the game to completely crash)
I have no idea what I've done
You found Narnia
What the actual fuck
Have you cleared the launcher's Cache? And restarted your device, perhaps?
(If it helps, it only happens when I go into a certain area of the map)
No that's a common thing
When you walk into that area the game attempts to draw something it can't, which forces a crash
Give your smapi log of the crash
Log Info: SMAPI 4.3.2 with SDV 1.6.15 build 24356 on Microsoft Windows NT 10.0.26100.0, with 7 C# mods and 5 content packs.
what mod are you making?
I was just editing the vanilla map of the forest
Divide by zero eh?
Hey guys, does anyone know how ItemExtensions MineSpawns works? I'm trying to figure out what it does and how to use it, it's just kind of confusing
Yeah I think that map edit did a bad with tilesheets somewhere
yes i know a bit, sir ritz
Now how... I would leave to lumina and co
cheers, could you help me out a little?
give me example of what you want to do/know
sorry lyoko, i don't know that much about map trouble like that
it is worth trying resaving the map and retesting
I have fully restarted my computer and will go back into the game and see if that's done anything
restarting computer can solve lot of issue but i have doubt about this one
so, is the MineSpawns field for like, spawning things in the mine? (like forage) If so, where do you put it?
How are you editing it exactly
it's for the specific node you created
Tiled
if you want to spawn forage it's more a job for FTM
Not what I meant 
Aaaaaand yeah same thing happened okay I'll resave the tilesheet
I mean what are you doing to the forest
and you put it on the field of the node you created, IE has some example
but let me grab one
part of a larger json so there's missing chars
but you can see the diamond use it
(also i put 773767 instead of 77376)
thank you so much!
i will not be around much soon, however
how is a good way to draw steam?
so i suggest you to look at the docs and https://www.nexusmods.com/stardewvalley/mods/21986 this for a working example if needed
like does this look like steam?
its supposed to be "baking"
its dough grub/worm "baking" into the baguette fly/fairy
maybe like this?
i have a mod thatโs pretty simple (adds three cats) if you want an example https://www.nexusmods.com/stardewvalley/mods/34867
where are the winter island tilesheets used?
Ginger island doesnt change with season does it?
this does look a little easier (also these lil babies are so stinking cute!!) ty!
can I copy paste sections from it is that an allowed thing when modding?
even if it isnโt i give you permission, mine is mostly copy pasted from vanilla. when youโre in CP thereโs only so many ways to write things
thank you so much!! โค๏ธ โค๏ธ
i do recommend also having the wiki open next to it though so you know what the fields are and their defaults
Hihi, I'm trying to make a custom NPC but I just can't make his schedule and dialogues work. 
Here's my content.json log (https://smapi.io/json/none/0e9438d8cc9b4b35a22157464e0f81a5)
can we see the actual schedule and dialogue json as well?
also, have you tried sleeping a day in game?
OH WHAT ABOUT THIS DOES THIS LOOK STEAMY?!
Sure! I didn't make much dialogue yet though.
Dialogue (https://smapi.io/json/none/5c46537cc4be4e4292e14d0b62a504ec)
Schedule (https://smapi.io/json/none/3b8aa11ea8cd420f9d80c2b063c01882)
Yes, I tried even changing seasons ๐
are you seeing your NPC in game? have you given them gift tastes?
i think so!
Yes! He shows up and if I give him gifts he does answer, althought not with the special dialogue to one of the gifts.
He just doesn't move at all.
600 schedules i believe are weirdโtry changing it to 610 for me?
also keep in mind that for most places it takes NPCs several hours to walk places depending on how far apart they are
ooh okay!
oh wait includes donโt take a target
Hej @vocal osprey .
There are three different font in SV. I added the first one with a png- and a fnt-file. I just used and edited the Russian one.
I added it with the following code:
In the Language Entry:
"UseLatinFont": false, "FontFile": "Fonts/Esperanto", "FontPixelZoom": 3.5,
In "Changes":
{ "Action": "Load", "Target": "Fonts/Esperanto", "FromFile": "assets/Esperanto.fnt" }, { "Action": "Load", "Target": "Fonts/Esperanto_0", "FromFile": "assets/Esperanto_0.png" },
I added the other two fonts diffently in a more complicated way:
- I looked at the code of a Vietnamese Translation mod: https://www.nexusmods.com/stardewvalley/mods/8409
- I used this tool to unpack the Vietnamese xnb-files: https://steamcommunity.com/sharedfiles/filedetails/?id=1709011717
- I added the esperanto letters to the png
- I added entries for the esperanto letters in the yaml-files. It is a bit complicated becose all letters have to be in ascending order (according to unicode) and all the crop and vectors variables have no id, so you have to add the new ones in just the right space. I attached an excel file I used to figure out what has to go where.
- Then I repacked everything and included them in my mod
{ "Action": "Load", "Target": "Fonts/SmallFont, Fonts/SpriteFont1", "FromFile": "assets/{{Target}}_vi1.xnb", "When": { "Language": "eo" }
I know it all sounds quite complicated and confusing, but honestly what takes long is figureing out how to do it. Once I had done the Sprite Font it took me only an hour to add the small fonts as well.
Feel free to PM me if you have questions
in your content.json youโve included the schedule with a target when it should just be fromfile
same with dialogue
oky! I'm trying again!
only loads and edits take a target which is sort of like telling it where to store the data
I got another error:
(And he's still not moving)
[Content Patcher] Error loading patch 'Ramuda > NPC Dialogue': file 'assets\Dialogue\dialogue.json' doesn't have anything in the Changes field. Is the file formatted correctly?.
I think the beach farm uses some of the tiles from those. Doublecheck that, though, please. 
your dialogue needs to be nested inside a patch (the {} with an action and a target). in this case your action should be EditData and your target should be whatever you loaded the blank json to for the dialogue
you also need to have Changes: [ at the beginning of each file you include
(with a corresponding closing bracket ])
for an example look at how your content.json is formatted, with all of the patches inside of the Changes
Oooh! Makes sense! He talks now, but still don't follow his schedule ;(
did you do the same for the schedule file?
yep!
did you try sleeping a day
yes, but he's still just there
Does anyone here understand farm type manager really well? and are you willing to join me in creating a content json for my mod?
I will pay you in art assets?
I come with my only skill, art
I'd say having any form of art as your only skill... is at least something not too many people on this planet can call themselves good at. ๐โ๐ผ
-# which is a compliment btw
i cant help with that, but i recently found out that esca has an html editor that makes it super easy and convenient for making the content.json for it! https://www.nexusmods.com/stardewvalley/mods/3231?tab=files its under optional files. i wish i had known about it sooner lol
it looks like so
oh your wonderful lovely person thank you
Ohh that makes sense
oh lordy i dont understand any part of this XD
(I'm also here, feel free to @ me whenever
)
@ esca how are you
!modgroups

