#making-mods-general
1 messages · Page 273 of 1
keep in mind this doesnt actually add anything to the map texture itself still, you'll still need a separate EditImage patch for that
and to add on to my "i didnt double check the coords" comment: ive never used this data asset before, so all i know how to do is format it in the way the json and data layout should be, but cannot verify it necessarily functions correctly for things other than coordinates, either
e.g. if theres some intricacies or particulars one should keep in mind when editing the world map, i dont know them
i can not seem to get this working no matter what i try but i love the arches so i dont want to just scrap it
wrolng json one sec
patch reload commands work with fashion sense mods too, right?
no
fuc
patch reload is not a smapi command. its a CP command
its for content patcher mods only
anything that starts with "patch" will be
i may be dense, but does "LogName": "Load tmx into Maps", mean that it wants the name of my area? or the tmx file of my area?
logname is purely informational. it just changes what shows in the log
oh alright cool
like before it said "Ignoring Everglades > EditData > WorldMap" or w/e, itd show what your LogName said instead
(or maybe in addition to idr)
If i've uploaded a file on nexus, and i can see it on the page where you add files, but cant see it on the mod page, is nexus just verifying? I can't tell if I need to click more buttons to publish it or if i just need to wait
did you click "Save File" after uploading the file?
yes, also i see it now, i think i just needed to be more patient
nexus being nexus
Would there be a downside to compartmentalizing all the location data to a different json? Would it load slower? I can do that, right?
Everything related to loading my maps in basically
it will technically have a performance impact but not in any way worth worrying about
your includes act as if they are defined in content.json for the most part
if you have multiple locations, doing them in 1 EditData is technically better
you wont be able to define dynamic tokens in another json, either, but you can still use ones defined in content.json
Ok, so dynamic tokens must stay in the content json. That's interesting. I've gotten more interested in breaking everything up to make working on relevant sections easier.
to be clear when i say "you can use ones defined in content.json" i mean once you d efine them there, you can use them in any of your jsons
its more like included jsons can only have "Changes"
Right, I got that
the other top level stuff like config and dynamic token must stay in content.json
(i only mentioned dynamic tokens specifically bc of the talk of using them earlier)
Right. But everything else would essentially be free to move, which is kind of nice. When I looked through big mods starting out, I got so overwhelmed trying to find out how different things were done in them because I didn't know where to look. But now I'm starting to see the appeal of not having everything in one content json. It could help with localizing issues too I think.
much better than a 20,000 line content.json
Those scare me. I've seen it done in a more beginner npc at least once. Everything, and I mean every conceivable thing that would work in there was put in that json. It was an older mod though.
!npc
Keep in mind that making NPCs is a complex process that requires learning many different aspects of Stardew modding.
Here are a few links that can help get you started on all that you need to know:
-
Tiakall has a great tutorial on making a custom NPC for 1.6.
-
NPCs no longer use dispositions, check the wiki page for the new NPC data.
-
Aviroen has put together a template that will allow you to easily create a romanceable NPC.
-
Feel free to jump into the https://discord.com/channels/137344473976799233/1277457201077813280 thread for more interactive feedback and help!
-
Fireredlily has a WIP NPC Builder Please do report any errors you get with it into the NPC thread!
makes s ense for an older mod, i doubt CP did Includes from the getgo
the template avi has uses includes i think
Yeah, that could have been the case. I'm really glad for the 1.6 update.
I'll check it out, thanks
Includes were added on August 2nd, 2020 apparently. before that, you would use EditData with a FromFile... interesting
Oh wow, so they aren't that new then.
not new, but still 2 years after CP was first released!
Oh, right! CP isn't that old either.
id say 7 years is pretty old considering the game itself is only 9 years old
thats terrorfy
its late i wont hold it against you 
if you change your CP format to 1.17.0 you, too, can do this still
I was under the impression recently that stardew was about ten years old lol
do tokens work...
some
evidently, tokens used to work with EditData FromFiles, though i dont actually know what an editdata fromfile looked like
i kind of like the idea of a Load mode where tokens are enabled for the content, if they r plain text file of some sort
would finally stop confusing ppl who put {{ModId}} in tmx perhaps
seems like it'd be very inefficient to check if any of their tokens changed
reloading the file OnTimeChange...
do I need a LogName for every section? and also do I need a TargetField for EditImage?
Nexus came out with yet another mod manager?
Discover, install, and organize mods effortlessly with our all-in-one powerful mod manager.
it's supposed to replace vortex i think
what is "PixelArea"? T-T
When using the PLAYER_SHIPPED_BASIC_ITEM condition, can I specify multiple items?
Like, if player has shipped any of these 3 items, then yadda yadda
The wiki doesnt explicitly say it can, thought I'd ask
or is there a better way to perform a if player has shipped any of these 3 items, send mail
or perhaps, wait until player has shipped all three
you can combine multiple GSQs by separating them with commas (for AND) or use ANY (for OR)
Awesome, thanks Selph
https://stardewvalleywiki.com/Modding:Game_state_queries#Meta on how to format ANY
Oooh sweet
Hello!
Regarding yesterdays inquiry about Bigger Backpack compatibility:
Bigger Backpack changes how many inventory slots are drawn, which causes misalignment with some UIs.
Unfortunately I don't think that's a practical solution for more inventory space as establishing compatibility would require creating alternative UIs for Bigger Backpack (and recolors). That's not something I'd like to maintain.
"The Return Of Custom Backpack Framework"s approach of providing a scrollbar alongside a row index seems far more scalable and already works incredibly well with UB, so I'd suggest using that instead.
(Also a bit of a sneak peek at Kisaas amazing Cookbook Theme
)
If you mean in the world map, the fields are described here:
https://www.stardewvalleywiki.com/Modding:World_map#Format
Each PixelArea defines the part of the world map covered by that area. For example from the game's data:
"Id": "Backwoods",
"PixelArea": {
"X": 82,
"Y": 38,
"Width": 29,
"Height": 24
},```
So the backwoods' top left corner starts at pixel `82,38` of the world map, and it's 29 pixels wide, 24 tall in total.
thank you so much!
Is there a way to draw larger sprites for objects and shrink them, similar to how SpaceCore does it for portraits?
i don't suppose it's possible to change the sitting position for a couch, is it? (nevermind, changing field 3 from 2 2 to 2 1 seems to give a good enough result)
oh for a furniture data model
im trying to fix a missing sprite within cute valley, i dont know what im doing wrong though.
i got it to work once, and when i hopped onto my test save for something else entirely, i noticed the tools were miscolored, so i undid the changes (i added the edited cursors_2.png into my interface's assets folder, which did fix the missing open fridge sprite.)
this is the unedited json file put in the validator : https://smapi.io/json/content-patcher/ef7edcf56330411986f20b88bb549ff7
this is the edited json file put in the validator: https://smapi.io/json/content-patcher/2466d45d58cb4113b53c48864ab0b812
this was when i had the edited cursors_2.png in the interface's assets folder
I'm having a weird issue with Farmer.couldInventoryAcceptThisItem(Item item)
- Inventory is full
- I have basic quality Leeks in my inventory
- When I try to harvest a Leek, it says "Inventory Full". Most likely because it's a higher quality Leek so they don't stack. Correct behaviour.
- But
couldInventoryAcceptThisItemreturnsTrue - If I don't have any Leeks at all, it returns
False
Why is that? 😕
more context, im using the prophets kitchen's code as reference in the edited json file:
this is what i added to the cute valley one, hoping it would fix the missing sprite:
{ "Action": "EditImage", "Target": "TileSheets/Cursors_2", "FromFile": "assets/fridgeopen.png", "FromArea": { "X": 0, "Y": 0, "Width": 16, "Height": 32 }, "ToArea": { "X": 0, "Y": 192, "Width": 16, "Height": 32 }
i created a .png file of the opened fridge similarly to how PK does, so the x,y / width height are abit different from the cursors_2 file in tilesheets.
hm, upon second look i might have used the wrong target
yea all the target:/tilesheet/[file]'s kept messing me up lol
i'll format once i confirm i did this correctly 😭
well moreso the discord messages but do format ur actual json too
(blueberry means please use code blocks on discord)
Found the issue...
I'm patching GameLocation.checkAction() where I grab the Crop/Forage from a tileLocation. For whatever reason the Crop always returns quality 0.
Is there a way to get the correct quality value when patching checkAction() or am I screwed?
oh
oh the code blocks are the colored versions of the block thing
wait THATS WHAT THAT WAS? anyways
i don't know what the block thing is but you can ```jsonc
{
"format": "things", // nicely
}
with \`\`\`json
anyways that didnt work either . sigh
lemme see if i can format it on discord properly this time tho lol
You can embed code in Discord using a series of three ` :
```
Your code can go here
Even if not a haiku
Just an example
```
For syntax highlighting, add the language code on the same line as the first
``` (with no space, like ```json).
The usual codes are cs (C#) and json.
{
"Action": "EditImage",
"Target": "Maps/farmhouse_tiles",
"PatchMode": "Overlay",
"FromFile": "assets/farmhouse_tiles.png",
"When": { "Interior": "enabled" }
},
{
"Action": "EditImage",
"Target": "LooseSprites/Cursors2",
"PatchMode": "Overlay",
"FromFile": "assets/fridgeopen.png",
"When": { "Interior": "enabled" }
},```
yIPEE tjats new
for me atl;east lol
well now i wonder how the hell cute valley was able to load in the modded kitchen then
since the maps/farmhouse is within the unedited code of it
but it does have the town interior files
i suppose that any custom map that used that tilesheet when it existed would've still had the patch applied
A lot of older mods added their own sprites to the bottom of farmhouse_tiles.
my house is modded though so.. maybe thats how it was able to load in?
doubt it has the farmhouse map but oh well
anyways back to my main issue
are you sure Maps/farmhouse_tiles doesnt exist blueberry
the one without the underscore
ah, Maps/FarmHouseTiles my nemesis
blueberry had me doubting how recently id unpacked my folder lol
I went through to check the removals from the migrate notes LOL
i did too but then even after seeing it i started doubting myself like "maybe it was before 1.6.9 and i just missed it?"
hhmm i realized i didnt have a from/to area code for the openfridge
Removed assets:
LooseSprites/buildingPlacementTiles
LooseSprites/DialogBoxGreen
LooseSprites/hoverBox
LooseSprites/robinAtWork
LooseSprites/skillTitles
Maps/cavedarker
Maps/FarmhouseTiles
Maps/GreenhouseInterior
Maps/spring_BusStop
Maps/TownIndoors
Maps/WizardHouseTiles
Maps/WoodBuildings
TerrainFeatures/BuffsIcons
Those were the dupes/old unused files
If anyone is curious and for future reference:
checkAction() doesn't know the quality of forageables you are trying to harvest so couldInventoryAcceptThisItem works with quality 0 when running its checks.
You can help it with running that before couldInventoryAcceptThisItem:
Random random = Utility.CreateDaySaveRandom(vector.X, vector.Y * 777f);
value.Quality = value.Location.GetHarvestSpawnedObjectQuality(who, value.isForage(), value.TileLocation, random);
value is the object (forageable) from a tileLocation
!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.
Log Info: SMAPI 4.2.1 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Home, with 6 C# mods and 1 content packs.
Hi, I'm new to modding and I have some questions. Are there any other sources of knowledge about monsters besides stardewvalleywiki.com/Modding:Modder_Guide ? My second question is: how can I combine Content Patcher (CP) with writing code in C#? I noticed that there are two separate folders and the files load separately ?. Let's say I want to write something in CP and then move to C#, add logic, and modify it—how does that work? I would appreciate an answer.
the modding namespace on the wiki is the go-to for information on each data asset in the game (as well as a few things that arent data assets), aside from looking in your unpacked content folder itself. otherwise, you'll be decompiling the game to look at its internals to figure out how things work if what you need is not described on the wiki. but for data assets like Data/Monsters, if some information is not written on the wiki, its probably because its hardcoded and not something you can change by just modifying the asset
as for combining a CP mod and a C# mod, you notice correctly, there will be two folders that load separately. as far as SMAPI is concerned, your C# mod and your CP mod will be two entirely different mods. different folders, different manifest.jsons, different uniqueIds. they cant be the same mod. but they can both have their folders placed in one overall parent folder to bundle them like that, and the C# ModBuildConfig nuget package can do this for you as well
Hello! I'm trying to set up a custom location in my mod, where you should warp from town (lockedDoorWarp), but I can't get my custom map to load.
Any tips? ❤️
https://smapi.io/json/none/861e7985a6e344f4b93917205ece60b1
https://smapi.io/log/73678e9ea3e84bfcb3461de4b83a5333
Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Home, with 22 C# mods and 55 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
Thanks for the response, I just wanted to make my work easier by doing whatever I can in CP, like loading assets, etc., because I saw that a lot is in the public class Monster : NPC class, and I have to do most of it using C#. That's why I wanted to know how it connects.
at some point you saved your .tmx when the tilesheets were not present or there were errors, and thus when it saved it messed up the ids of the tiles. you need to make sure all of your tilesheets are present in Tiled and then save the map again (do a small edit, save, then undo the edit and save again to make sure it actually saves)
correct, the only stuff you will be able to edit for Monsters from CP is what you see in Data/Monsters, and it aint exactly much. Monsters are very hardcoded and very weird and very painful to deal with. using CP for what you can though is what a lot of people do, its very convenient and easy
ok i got it to partially work, but now its defaulting again AUGH
{
"Action": "EditImage",
"Target": "LooseSprites/Cursors2",
"FromFile": "assets/fridgeopen.png",
"PatchMode": "Overlay",
"ToArea": {
"X": 0,
"Y": 206,
"Width": 16,
"Height": 32,
"FromArea": {
"X": 0,
"Y": 206,
"Width": 16,
"Height": 32,
"When": {
"Interior": "enabled"
}
}
}
},```
im not too sure what the error means though in the validator.. https://smapi.io/json/content-patcher/2ae23f98aebe4b3d8e547f124c38dea6
"Changes[3].ToArea.FromArea Property 'FromArea' has not been defined and the schema does not allow additional properties."
you put your FromArea inside your ToArea object
ah
and also put your when condition inside that FromArea
you have to close your objects before you start another one
do you reckon we can bully atra into adding them to smd
yeah go for it
im very much going insane
https://smapi.io/json/content-patcher/f847936750be4d858c9efc68ab3d3e44
im just tryna fix the missing fridge sprite AUG
this happened so im like "okay let me adjust the sprite" so i removed the full fridge image AND NOW IT KEEPS DEFAULTING
basically ihave the full fridge sprite and half fridge sprite
full fridge did that, which partially worked.
half fridge is just defaulting

Hello! I'm trying to set up a custom location in my mod, where you should warp from town (lockedDoorWarp), but I can't get my custom map to load.
Any tips? ❤️
Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Home, with 22 C# mods and 55 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
silly question, would it be wrong to make a mod thread for simple mod ideas if i may or may not end up actually making any mods at all
im a big overthinker and secondguesser
i dunno if i would even be able to make a mod, let alone gain the courage to
you're missing a comma there. why are doing patch mode overlay for the fridge?
thats just the patch mode used in all the assets. i tried replace, didnt work
the default is replace, which should be fine. isn't the open fridge animation in craftables?
that....is weird. you're patching both areas so it should be fine? hmm. did you add the comma btw
i did add the comma yes, gonna reload the patch and test
that did NOT work but im gonna reopen the game entirely to test since theres so many errors from previous reloads pff
I am going crazy... I don´t know why it is´nt working... https://smapi.io/log/ada48312dec64cd3894316db77df9bb9
Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Home, with 22 C# mods and 55 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
im using prophets kitchen as reference since that mod has the open fridge texture for it
@spiral lion this may be relevant?
you'd need to follow the forward-link and look around for the info
given that you also have a tilesheet directory climbing error, it sounds like you're either using Save As (which is bad), or working with your tilesheet images in a different folder to your TMX map file (which is also bad):
Can't apply patch Bloom and Brew > Load Maps/bloomingvalley.BloomandBrew_BloomAndBrew to Maps/bloomingvalley.BloomandBrew_BloomAndBrew:StardewModdingAPI.Framework.Exceptions.SContentLoadException: Bloom and Brew loaded map 'Assets/Maps/Indoors/BloomBrew.tmx' with invalid tilesheet path '../../Tilesheets/hime_bakery.png'. Tilesheet paths must be a relative path without directory climbing (../).
instead of organising your folders like this:
Assets/Tilesheets/mobler.png
Assets/Maps/Indoors/BloomBrew.tmx
you should have them in the same folder:
Assets/Maps/mobler.png
Assets/Maps/BloomBrew.tmx
i just tried doing a test mod with editing only craftables and it seems to be working fine
isn't that the regular fridge in ur screenshot
i know it isn't the neatest or prettiest way of doing things, but you cannot load your maps if the tilesheet images are in a higher/different folder
great! now content patcher isnt recognizing the damn mods ID
kitchen fridge, yes
wat r u doin
oops ping mb
oh okay! i will move my tilesheets and try again! 🙂
did you change the mod id?
no
Log Info: SMAPI 4.2.1 with SDV 1.6.15 build 24356 on Microsoft Windows 10 Home, with 112 C# mods and 370 content packs.
when you've moved the tilesheet files to the same folder as all of your maps (no Indoors nesting!), you'll need to reopen each map file and follow the very red error banner to choose a new path for your tilesheet images. if the error persists afterwards, you'll need to follow a couple of extra steps to clear it up for good
it... shouldn't
it did when i reloaded the sakura interface's id
it should, shouldn't it? either way, you should share a full log instead of just a screenshot.
the log itself, not a screenshot
Log Info: SMAPI 4.2.1 with SDV 1.6.15 build 24356 on Microsoft Windows 10 Home, with 112 C# mods and 370 content packs.
Error preloading content pack 'Cute Valley - Pink'. Technical details:Newtonsoft.Json.JsonReaderException: Can't parse JSON file at D:\SteamLibrary\steamapps\common\Stardew Valley\Mods\Retextures[CP] Cute Valley - Pink\content.json.
Technical details: Unexpected end when deserializing array. Path 'Changes[253]', line 4310, position 7.
(The link to the log is already up here btw. If you’re testing a mod you’re making, I’d still recommend making a test load out, though.)
it can't reload because it never loaded in the first place
dottie i think, you're editing the wrong places
"Action": "EditImage",
"Target": "LooseSprites/Cursors2",
"FromFile": "assets/fridge open.png",
"ToArea": {
"X": 0,
"Y": 205,
"Width": 16,
"Height": 19
}
}```
behold red fridge
u can't... see it very well but it's there
you start both your Cursors2 edits (why are there 2) at 0,0 and 64,304 (which is here btw)
Cursors2 was part of the 1.5 update, I think. If… that was the question.
Log Info: SMAPI 4.2.1 with SDV 1.6.15 build 24356 on Microsoft Windows 10 Home, with 112 C# mods and 370 content packs.
i got the same errror
!json for one. Also… test mod loadout?
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.
loadout as in load on a new save entirely with just the required mods and none else?
line one thousand and thirty....
As in "a mod list that doesn’t consist of almost 500 mods". Vastly reduces your loading time and prevents potential mod conflicts.
ah
that makes more sense yeah. if anyone ever wonders where the heck is the farmhouse fridge animation tile it's in Cursors2 
That… sure is a place to put them in.
still getting the same/similar error ^_^
https://smapi.io/log/dd2bb61f7f0a487188529be0bddbeed0
https://smapi.io/json/content-patcher/1a5189916d5b4dca990135b3294ec4f8
Log Info: SMAPI 4.2.1 with SDV 1.6.15 build 24356 on Microsoft Windows 10 Home, with 112 C# mods and 370 content packs.
is there a website where you can input different fish values so you can see how it would behave?
i removed the } at 4228 but its giving the same error for the json log
even when i added it back
you see how you're closing the When: {} on that last line?
noticed, changed, another error
you need to close the {} entry that contains that When.
and the Changes: [] list that contains that entry.
and the {} object you open on line 1 that contains everything in the file
so i need a ] at the very end?
{
"When": {
"Statue Of The Dwarf King": "enabled"
}
}
]
}```
like that?? or, is there too many } ????
you need to close every opened [ and { in your code, though it's easy to get lost in 4,500 lines of it
this closes all the brackets, which reveals new, exciting errors
ok yk whats strange
when i tried to find the typo in editimages , it didnt show up at all in the VScode search
but it showed up in the validator
https://smapi.io/json/content-patcher/a654f994e8da40b09aa0b03cddf52be0 anyways this is the most-errors-fixed
omg it worked!!! thank everyone so much ❤️
aka the mini forge and auto petter+grabber renamed to not have the - bc the validator screams at u for that, and then the typo fixed
that brace needn't exist, you can safely remove it
which one
click the Line number in the Validation heading at the top, it'll take you to where it thinks it found an error.
this doesn't always match the actual problem character, and often comes on the next line/character, but in this case it's correctly showing an unneeded brace on line 4285
that one was a load-bearing }
god ctrl+a is such a life saver in this case
honestly would there even be a way to trim the code..
not going to, just curious
sure, extremely easy one. remove all the config options 
..fair point
you can like, seperate it into smaller files
also if CP failed to load a mod, wouldnt smapi say id have one less mod?
yea thats what i was thinkin lmfao
but yea i mention that since i noticed the entire time my mod count didnt drop, it stayed at 486
and then just have an include block in ur content.json to load all the code
i think i got it to work now
i gotta change one more thing and thats the tokens for the 3 craftables
since those were ignored lol
lemme hop into my save to test tho
SMAPI itself sets up the loaded-count in the title bar, CP only realises later that it can't load a content pack
ooh
so basically CP is just
"oopsies miscounted"
i think i have to go into the config file to change the craftables tokens
unless the - in the names were actually safe to have
Does anyone know why my doors looks like this? 🙂 And also why it looks like nighttime in the day? 
oh i have a similar issue with alexs house
the doors r transparent and idk how else to fix it
this is NOT the fridge texture i had before, or kitchen texture in general
pink
do i still have kawaii kitchens insalled.. i might
I dont understand haha 🙂
ah here we go. i was hoping we had a !doors command
This is a mildly advanced guide for modders that assumes familiarity with Tiled, Content Patcher, and map modding fundamentals such as the difference between Map Properties and Tile Properties.
Interior doors, such as the one in Figure 1, are interactive map elements with hardcoded behaviour (see InteriorDoor.cs). There are three types in the b...
Thank you hahah 😉
i think i mightve disabled the cute valley kitchen completely...
but if i did , how.
the interior is enabled
ok yea i did have kawaii kitchen still lol
All maps with interior doors on them must have the Map Property Door with the following data structure:
Door [XPosition YPosition TilesheetID TileID]
What is a map property? 🙂
is this a towninterior map?
"If townInterior is not patched with EditImage, the transparent version of the base-game door will still be visible in-game. This patch only needs the first frame of your custom door tilesheet, so the Width of the ToArea and FromArea patches is 16, while the rest of the patch is similar"
"If there is a transparent overlay of the base-game door visible, it means that your Cursors EditImage patch was successful but your townInterior EditImage patch was not. See Doors Not Appearing."
It is a custom interior map! 🙂
also map property i believe tells the game what the item on the map does
like, Map Property Light means its an object that emits light in game
map properties are simple - they're written in the same way as all of your tile properties, except there's no need for a 🟣 TileData object for each one, you just add it to the list as given here:
all of the possible map properties and their behaviours are listed on [[Modding:Maps]]
so map property door tells the map its a door and that tells the game to show a door, riight .ᐣ
Ouu i found it! I will try to se if it works now 🙂
WHY IS MY KITCHEN CHANGING
i deleted kawaii kitchen aND NOW ITS A DIFFERENT TEXTURE COMPLETELY
the Doors map property will do that, yes, but you need to follow the rest of the instructions in that doors tutorial
i'm gonna propose a radical idea here but i want u to hear me out. loading only your mod and any mods it requires
i need to place my mods a bit better. the kitchen mod appearing in this screenshot was in my content patcher folder where non-retexture mods go
like the content patcher folder i have is just for adding new content like furniture or crops lol
hmm. I tried to fix the Map Property: Door but the doors are still see trough and does not work. Any ideas? 🙂
retexture mods go in "Retextures" unless theyre specifically an alternative texture
patch export maybe?? to test if the theyre being applied
the guide says this:
"If your edits to the base-game doors are not appearing in game, perform a patch export on townInterior and Cursors to see if your edits are applying.
If your patch exports show the edits are applying, but your doors still don’t appear in game:
Remove any vanilla tilesheets from your assets folder before running the game, especially townInterior and Cursors. Content Patcher will use the local versions of these tilesheets in your assets folder instead of the versions in Content/Maps, which prevents your changes from being seen."
Okay thank you 🙂
and it also says:
"If your patch exports show the edits are not applying:
Check for other mods that may be overriding your edits. Run a patch summary on Cursors and townInterior to see who else is editing them.
Confirm that your When conditions are set to what you intended. Test without the conditions and see if the edit applies to every door as a quick check- if it works without your conditions, they’re the problem.
Check that your doors open in-game. If they were improperly set up on the map, the Cursors assets won’t be visible and the door won’t work."
gotta love accidentally opening a new tab while loading into a save so my computer freezes and takes like 10 years to load the damn tab AND game /lhj
Hi. My doors still aren't working. I can't open them, and they're also transparent. I've made sure the tiles are placed on the correct layer and that the map properties are set correctly… but it still doesn't work.
To clarify: I want to use the normal doors from the game in my custom map.
Thanks in advance! 🙂
defaults to base game .. even without other mods
cute valley is the only mod loaded
https://smapi.io/log/d976071d8a1a4f05a935fc5ad09909ff
Log Info: SMAPI 4.2.1 with SDV 1.6.15 build 24356 on Microsoft Windows 10 Home, with 3 C# mods and 1 content packs.
how am i missing a whole chunk of code
..okay well, i solved that issue.
tis too high up though
okay fixed it completely
is there any up to date youtube videos that can help me get started with creating mods?
!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.
thank you!
Hey all, I want to start making mods, I have beew through the Wiki page and all... and after experimenting a bit, I am stuck with my mod not giving errors in SMAPI console, but not appearing in the game at all...
I suspect I've made something wrong in the building file (.tbin). So I want to use an existing building from the game and change it's function. Would that be possible? How do I get access to the editable files?
!unpack
FYI, I have absolutely no idea how map making works, but this lets you access the base game files. If you want proper help, you might also want to share your log.
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!
I am unpacking, but oly get .png and .json files, which I cannot use to edit in Tiled. Am I doind something wrong?
Ah, sorry. I think there should be some map files in… well, the Maps folder.
youll wanna use this guide, it makes indoor doors functional like in base game
https://stardewmodding.wiki.gg/wiki/Kailey's_Interior_Door_Guide
And since you only want to use base game doors, you dont have to worry about the custom doors section in the guide
This is a mildly advanced guide for modders that assumes familiarity with Tiled, Content Patcher, and map modding fundamentals such as the difference between Map Properties and Tile Properties.
Interior doors, such as the one in Figure 1, are interactive map elements with hardcoded behaviour (see InteriorDoor.cs). There are three types in the b...
I tried using that guide but i still dont get it to work :/
hm, let me cross reference with my own setup, i have it on one of my maps
Hey all, good day! I saw that CP now kind of does what PFM does and that EMC adds some additional features. Should I migrate away from PFM and try and get everything into CP? I really liked that PFM provided me a template showing available fields, and I was kind of looking for something like that associated with CP machine updates.
Thank you so much! I am going crazy trying to figure this out... 😉
{
"Format": "2.6.1",
"Changes": [
{
"Action": "EditData",
"Target": "Data/Objects",
"Entries": {
"472": { //parsnip seeds
"DisplayName": "Edited Parsnip",
"Description": "Custom msg"
}
}
}
]
}
anyone have any idea why it changes the item? I was following the tutorial on the wiki and i thought it would only change the displayname and description of the parsnip seeds, not change the actual item
Use Fields instead of Entries
Also when posting code you can use a codeblock for it ``` code here ```
iirc entries replaces the entire object instead of just the fields you want
is there a vanilla way to spawn forage on custom maps? as well as monsters?
Forage, yes. Use the forage field in data/locations. I'm not aware of any way to spawn monsters.
it didn't seem to work . i cant seem to code code block working sorry lol
I am using LockedDoorWarp to get inside my custom location. Which is the best way to get out? 😦
Have a warp in your custom location to go back again?
Usually it's a map property Warp
!json try sending it via this?
please don't ping me in replies
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.
It looked like you were using apostrophes but the correct character is the backtick (to the left of the 1 on my keyboard). But in this situation it's better to use the json parser like Bea said, so this is just an FYI for future :)
Did you spawn a new one when you tested the change from Entries to Fields or were you looking at the one you'd already spawned?
ive used a new character so im testing it on the seeds grandpa gives you on day 1
so unless they have a different ID to other parsnips seeds it should work no?
so i would be testing them on new parsnips, since i reload day 1 and pickup the gift he leaves you
I would expect so but you can always spawn some extras just to be sure
Reloading or making new saves
yeah true enough, i'll have to download cheat sheet
Reloading doesn't generate new parnips
ah i didnt think of that
what atra said. tested just incase
You can also do debug fin parsnipseed
Ah, I took "used a new character" to mean new each time
(same, i was worried i gave wrong advice for a bit there, heh)
It seems like not any of my Map proporties are working... Does anyone know how to fix it?
I dont see any errors in the log.
https://smapi.io/log/714e48a7352f4bb58563deaf53bd248a
Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Home, with 22 C# mods and 53 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
after making a new character and running the json through the editor it seems to have worked, thank you guys
thanks for thy patiences
Can you show us a screenshot of your map properties in Tiled?
hm is there really no way to spawn monsters thats not a frame work?
Hi!
I'd like to ask 2 questions about the new CP translation thing - default keys. (More about it here: https://github.com/Pathoschild/StardewMods/blob/develop/ContentPatcher/docs/author-guide/translations.md)
1st:
The docs say that we can use tokens in the default text. Does that mean that I could also use i18n text for that? By that, I mean something like this:
"{{DT_weekday}}": "{{i18n:Dialogues.0hearts.random.{{Random:{{Range:0,6}}}}|DT_name={{DT_name}} |DT_wizard_name={{DT_wizard_name}} |DT_wizard_fem={{DT_wizard_fem}} |default={{i18n:key_not_found}}}}", of course with appropriate key in i18n's default.json file.
2nd:
Does anyone know if there is a way to use the key the dialogue has for the default text? If proper translation isn't found, it'll write this when triggered: Dialogue key Dialogues.0hearts.random.0 was not found. Please, take a picture of this and create a bug report! for the key Dialogues.0hearts.random.0, Dialogue key Dialogues.0hearts.random.1 was not found. Please, take a picture of this and create a bug report! for the key Dialogues.0hearts.random.1, etc., all of that (the key parsing into the dialogue) automatically? And if it would be possible, either with CP or via C# mod, could you please guide me?
Oh, and one more question, but that one's regarding a bug report I got - any idea what could cause my NPC to accept the bouquet when having her at 1 heart?
The user that experienced this bug says that they have Polyamory Sweet mod installed, so I guess it might be a compatibility issue with it. If so, does anyone know how to fix it?
I don't feel confident about my grasp of the new defaultKeys thing yet but I do want to point out that you haven't actually made use of it in your first question/example. You're using default which has existed since 2020.
Oh! Now I see!
What is, therefore, the difference between |default and |defaultKeys? And to achieve what I want, which one I should use?
Default lets you write the text to use as a default if it doesn't find the given i18n key, while defaultKeys appears to let you write a list of backup keys to attempt to go through, going on to the next one in the list if each one before it hasn't been found.
Pathos put an explanation on his Patreon page that I found helpful, let me grab it
What a fallback that is! I'll indeed use this link.
As for whether you can get your backup to actually use the name of the original key it tried...I can't think of any way to do so, at least with CP. I don't know of any tokens that return keys rather than values.
I expected that.
Nevermind, thanks for the explanation!
It is called "anpassade egenskaper" (swedish)
In a dialogue?
yeah in a dialog
{
"Action": "EditData",
"Target": "Data/Events/Farm",
"Entries": {
"16554812": {
"Script": "continue/64 15/farmer 64 16 2 Bella 64 18 2/pause 500/speak Bella "Greetings, Master... Finally, just the two of us. I've been watching over you, you know... Learning everything about you. When you wake up, when you go to sleep... who you spend time with. And lately, I've noticed something strange."/pause 700/emote Bella 20/speak Bella "Abigail, for example. She keeps smiling at you. Waving. Laughing at your jokes. That's not a problem, of course. Because I always handle problems."/pause 800/emote Bella 1/speak Bella "Now... tell me, Master. How may I serve you today?"/pause 700/speak Bella "By the way, I'm curious... What do you think about me?"/pause 300/option "You're... a bit intense." -> response_1/option "I think you're sweet." -> response_2/option "Should I be worried?" -> response_3",
"Responses": {
"response_1": "portrait Bella serious/speak Bella "Oh? Intense?"/pause 500/emote Bella 16/speak Bella "I suppose that's one way to put it. But, Master... I only act this way because I care."/pause 700/emote Bella 24/speak Bella "Don't you want someone who watches over you? Protects you?"/pause 500/end",
"response_2": "portrait Bella blush/speak Bella "S-Sweet?"/pause 500/emote Bella 26/speak Bella "Oh, Master... You always know just what to say."/pause 700/emote Bella 28/speak Bella "But don't think flattery will distract me from my duties."/pause 500/end",
"response_3": "portrait Bella smirk/speak Bella "Worried?"/pause 500/emote Bella 18/speak Bella "Master... worrying about me is pointless."/pause 700/emote Bella 1/speak Bella "I told you—I take care of everything."/pause 500/end"
},
"Conditions": {
"Year": 1,
"DayOfMonth": 6,
"HasSeenEvent": false
}
}
}
}
Ehh... That indeed is not correct.
Let me grab my example...
"LogName": "Eleanor - event - 2hearts",
"Action": "EditData",
"Target": "Data/Events/Forest",
"Entries": {
"StrojvedouciDenis.Eleanor_2hearts/e {{ModId}}_Intro/f {{ModId}} 500/t 600 1200": "none/21 31/farmer 21 20 2 {{ModId}} 16 30 1/skippable/addConversationTopic {{ModId}}.CT_2h 2/pause 1111/Move farmer 0 10 2 true/pause 4444/textAboveHead {{ModId}} \"{{i18n:Events.2h.0 |DT_name={{DT_name}} |DT_wizard_name={{DT_wizard_name}} |DT_wizard_fem={{DT_wizard_fem}}}}\"/pause 500/emote farmer 8/pause 500/faceDirection farmer 0 true/pause 500/faceDirection farmer 1 true/pause 500/faceDirection farmer 2 true/pause 500/faceDirection farmer 3 true/pause 500/faceDirection farmer 2 true/pause 250/emote {{ModId}} 40/pause 500/speak {{ModId}} \"{{i18n:Events.2h.1 |DT_name={{DT_name}} |DT_wizard_name={{DT_wizard_name}} |DT_wizard_fem={{DT_wizard_fem}}}}\"/pause 500/faceDirection farmer 3 true/pause 750/emote farmer 16/pause 500/speak {{ModId}} \"{{i18n:Events.2h.2 |DT_name={{DT_name}} |DT_wizard_name={{DT_wizard_name}} |DT_wizard_fem={{DT_wizard_fem}}}}\"/pause 750/emote farmer 60/pause 500/quickQuestion {{i18n:Events.2h.3_q |DT_name={{DT_name}} |DT_wizard_name={{DT_wizard_name}} |DT_wizard_fem={{DT_wizard_fem}}}}(break)switchEvent {{ModId}}_2hearts_q1_yes(break)switchEvent {{ModId}}_2hearts_q1_no",```
"StrojvedouciDenis.Eleanor_2hearts_q1_no": "resetVariable/friendship {{ModId}} -350/speak {{ModId}} \"{{i18n:Events.2h.4_no |DT_name={{DT_name}} |DT_wizard_name={{DT_wizard_name}} |DT_wizard_fem={{DT_wizard_fem}}}}\"/pause 2500/speak {{ModId}} \"{{i18n:Events.2h.5 |DT_name={{DT_name}} |DT_wizard_name={{DT_wizard_name}} |DT_wizard_fem={{DT_wizard_fem}}}}\"/end"
}
},```
That is if you want to make each response 'as a new event' that is immediately switched without any problems.
That makes all choice outcomes as a separate (you can later unify them back again, but...) event, and therefore you can test them easier (in my opinion, at least).
damn, wizard fem. you have the same taste as mine.
Oke, letme fix mine code real quick
That's just a compatibility dynamic token parsed into the dialogue (in i18n) so they would be OK for both male wizard mods (or the vanilla one) and female witch mods (like Rasmodia).
... which one did you choose, BTW? male or female :3
That back unifying:
"StrojvedouciDenis.Eleanor_4hearts_q1_time": "resetVariable/friendship {{ModId}} 150/speak {{ModId}} \"{{i18n:Events.4h.6_time |DT_name={{DT_name}} |DT_wizard_name={{DT_wizard_name}} |DT_wizard_fem={{DT_wizard_fem}}}}\"/switchEvent {{ModId}}_4hearts_ending_time",
"StrojvedouciDenis.Eleanor_4hearts_q1_magic": "resetVariable/friendship {{ModId}} 50/speak {{ModId}} \"{{i18n:Events.4h.6_magic |DT_name={{DT_name}} |DT_wizard_name={{DT_wizard_name}} |DT_wizard_fem={{DT_wizard_fem}}}}\"/switchEvent {{ModId}}_4hearts_ending_time",
"StrojvedouciDenis.Eleanor_4hearts_ending_time": "resetVariable/pause 1111/... some code here.../end"```
{
"Action": "EditData",
"Target": "Data/Events/Farm",
"Entries": {
"16554812": {
"Script": "continue/64 15/farmer 64 16 2 Bella 64 18 2/pause 500/speak Bella "Greetings, Master... Finally, just the two of us. I've been watching over you, you know... Learning everything about you. When you wake up, when you go to sleep... who you spend time with. And lately, I've noticed something strange."/pause 700/emote Bella 20/speak Bella "Abigail, for example. She keeps smiling at you. Waving. Laughing at your jokes. That's not a problem, of course. Because I always handle problems."/pause 800/emote Bella 1/speak Bella "Now... tell me, Master. How may I serve you today?"/pause 700/speak Bella "By the way, I'm curious... What do you think about me?"/pause 300/quickQuestion "You're... a bit intense.(break)switchEvent Bella_16554812_intense" "I think you're sweet.(break)switchEvent Bella_16554812_sweet" "Should I be worried?(break)switchEvent Bella_16554812_worried"",
"Conditions": {
"Year": 1,
"DayOfMonth": 6,
"HasSeenEvent": false
}
},
"Bella_16554812_intense": {
"Script": "portrait Bella serious/speak Bella "Oh? Intense?"/pause 500/emote Bella 16/speak Bella "I suppose that's one way to put it. But, Master... I only act this way because I care."/pause 700/emote Bella 24/speak Bella "Don't you want someone who watches over you? Protects you?"/pause 500/end"
},
"Bella_16554812_sweet": {
"Script": "portrait Bella blush/speak Bella "S-Sweet?"/pause 500/emote Bella 26/speak Bella "Oh, Master... You always know just what to say."/pause 700/emote Bella 28/speak Bella "But don't think flattery will distract me from my duties."/pause 500/end"
},
"Bella_16554812_worried": {
"Script": "portrait Bella smirk/speak Bella "Worried?"/pause 500/emote Bella 18/speak Bella "Master... worrying about me is pointless."/pause 700/emote Bella 1/speak Bella "I told you—I take care of everything."/pause 500/end"
}
}
}
I always play with normal SVE wizard (as my NPC the examples are from is SVE dependent).
Still incorrect (I guess). Give me a minute, I'll try to fix it!
Where are you getting this from
For the love of God do not ask chatgpt
@modern pebble
"Action": "EditData",
"Target": "Data/Events/Farm",
"Entries": {
"16554812": "none/64 15/farmer 64 16 2 Bella 64 18 2/pause 500/speak Bella \"Greetings, Master... Finally, just the two of us. I've been watching over you, you know... Learning everything about you. When you wake up, when you go to sleep... who you spend time with. And lately, I've noticed something strange.\"/pause 700/emote Bella 20/speak Bella \"Abigail, for example. She keeps smiling at you. Waving. Laughing at your jokes. That's not a problem, of course. Because I always handle problems.\"/pause 800/emote Bella 1/speak Bella \"Now... tell me, Master. How may I serve you today?\"/pause 700/quickQuestion \"By the way, I'm curious... What do you think about me?#You're... a bit intense.(break)switchEvent Bella_16554812_intense#I think you're sweet.(break)switchEvent Bella_16554812_sweet#Should I be worried?(break)switchEvent Bella_16554812_worried",
"Bella_16554812_intense": "portrait Bella serious/speak Bella \"Oh? Intense?\"/pause 500/emote Bella 16/speak Bella \"I suppose that's one way to put it. But, Master... I only act this way because I care.\"/pause 700/emote Bella 24/speak Bella \"Don't you want someone who watches over you? Protects you?\"/pause 500/end",
"Bella_16554812_sweet": "portrait Bella blush/speak Bella \"S-Sweet?\"/pause 500/emote Bella 26/speak Bella \"Oh, Master... You always know just what to say.\"/pause 700/emote Bella 28/speak Bella \"But don't think flattery will distract me from my duties.\"/pause 500/end",
"Bella_16554812_worried": "portrait Bella smirk/speak Bella \"Worried?\"/pause 500/emote Bella 18/speak Bella \"Master... worrying about me is pointless.\"/pause 700/emote Bella 1/speak Bella \"I told you—I take care of everything.\"/pause 500/end"
},
"Conditions": {
"Year": 1,
"DayOfMonth": 6,
"HasSeenEvent": false
}
}```
damn, thank bro
It probably won't work at all, but I tried to save it. At least, slightly, the quick question code was exhausting to do with i18n and I have no clue how to do it without it 'cause every time I look at it, I just get lost in the dialogues...
:))
Err... not probably, it will be totally bugged (if the game manages to load it, and I don't think it will).
Using AI for coding isn't the best idea. Believe me, I tried. I thought I'd save time with it, and I spent much more time fixing what it did (barely rewriting from zero - backups needed).
so how can i technically learn it ?
Please don't use generative AI for this, for a few reasons.
- If enough of it is AI generated (and here, it looks like the entire skeleton of it is), you cannot post about it here.
- You will not get good results from it for Stardew, and this will just lead to confusion for anyone trying to help you. The vast majority of what you posted is complete AI hallucination.
- If you did fully finish a mod using substantial amounts of generative AI output, you wouldn't be able to post or mention the mod here.
We've reminded you about the rule break one time already.
If you want to learn how to make events, please read the wiki pages about them: https://stardewvalleywiki.com/Modding:Event_data for a good piece of reference material, and https://stardewmodding.wiki.gg/wiki/Events_for_Everyone for a more walkthrough style
damn bro show up about time
fax i guess
I'm having a little trouble using a mod-provided token.
This works, but if I added a "HasValue" condition on that token, it doesn't:
{
"Name": "SamDaysMarried",
"Value": "{{ApryllForever.PolyamorySweetLove/NPCWeddingDate:Sam}}",
"When": {
"HasMod": "ApryllForever.PolyamorySweetLove",
},
},
I don't know if that's significant, but I can't seem to get this token to work in a query expression either:
{
"Name": "lSpouse",
"Value": "Sam",
"When": {
"HasMod": "ApryllForever.PolyamorySweetLove",
"Query: {{ApryllForever.PolyamorySweetLove/NPCWeddingDate:Sam}} % {{kPeriod}} = 0": true,
}
},
thank
Event coding isn't that hard once you play around with it enough. You'll spend less time adapting vanilla events than trying to fix whatever the AI is spitting out for you
And you might end up enjoying the process in the end, too
What do you want to achieve with the query?
NPCWeddingDate:<NPCname> gives me a number. I am just trying to get a true/false out of the query expression when that date % 112 = 0
Then store the npc name into {{lSpouse}}
the main thing is that i dont wanna spend too much time on it... but hmm...
if you say so
i don't mind taking a hit into it
kSpouse | [ ]
lSpouse | [ ]
ModId | [X] Kantrip.Anniversaries
mSpouse | [ ]
SamDaysMarried | [X] 112
As you can see, SamDaysMarried gets set just fine
I'm probably not knowlegable enough to solve that, but if you don't mind, why do you need to get that number and then check it if it is tru-
Oh!
A one year marriage check, right?
Yeah. This works with Custom Tokens, but Custom Tokens gives me a single number
"Query: {{TheMightyAmondee.CustomTokens/DaysMarried}} % {{kPeriod}} = 0": true,
},```
For some reason, trying to do it with the poly token (which is a list) just does not work
And even stranger, adding a "HasValue" check on that token always evaluates to false
does anyone understand how to spawn forage and monsters with spacecore? Im struggling with the documentation really badly
GOOD
{
"Name": "SamDaysMarried",
"Value": "{{ApryllForever.PolyamorySweetLove/NPCWeddingDate:Sam}}",
"When": {
"HasMod": "ApryllForever.PolyamorySweetLove",
},
},
BAD
{
"Name": "SamDaysMarried",
"Value": "{{ApryllForever.PolyamorySweetLove/NPCWeddingDate:Sam}}",
"When": {
"HasMod": "ApryllForever.PolyamorySweetLove",
"HasValue": "{{ApryllForever.PolyamorySweetLove/NPCWeddingDate:Sam}}",
},
},```
That's a cross-mod compatibility and usage, and I struggle to even read that 😆
But - you want to achieve what? F.e. a dialogue? An event?
BTW, well, that's strange...
Unfortunately, I need to patch in dialogue for any person who the player is married to and whose "days married" value is correct. What I really need is a forEach funciton in CP
uhh guys, is this still work?
TMXL Map Toolkit
But since i don't have it, I have to resort to trying to figure out which person the patch might apply to on any given day and storing it as a token
My guess that won't be correct but - the HasValue is checking for the value that is in the Polyamory Sweet mod, right? Then the HasMod doesn't need to be there, as the value won't otherwise exist if the mod isn't installed. (I'm probably wrong!)
The mod is installed
token name | value
--------------------------------------------------------- | -----
ApryllForever.PolyamorySweetLove/NPCWeddingDate | [X]
ApryllForever.PolyamorySweetLove/PlayerSpouses | [X] Sam
Your coordinates are way off. Your map is only 35 tiles wide and 40 tiles tall but your Warp coordinates are written as being at tile 192 across and 624! down. That's a really, really long way away from where you want to put them. If you hover your mouse over the tile you want the warp to be on it should tell you the coordinates down the bottom left of the screen.
I expect that.
The message in other words - isn't there a double-check for "is the mod installed?" that's not needed?
CP refuses to read the token without the HasMod check, because it's not a mod requirement for mine
If I made the mod an actual requirement, I could get rid of that one
Huh. I'd expect it would, but ok...
Maybe soft requirement?
No, that mod doesn't work anymore.
It's the HasValue check that fails, though. Not the HasMod one
Just... pulling my hair out at this point. Hopefully I'm not coming across as terse -- I appreciate you brainstorming with me
I got that.
The first one's value is empty, right? Should it be?
I haven't used it before but I can try having a look. Did you try just copying and pasting her example in and seeing if it worked as-is?
It's fine, I like brainstorming and probably learning something new!
Not exactly I dont understand the example much either so idk what to look for to see if it works
or what to edit
The first value is a list I think. If I call it directly, I will get a value from it:
{
"Name": "SamDaysMarried",
"Value": "{{ApryllForever.PolyamorySweetLove/NPCWeddingDate:Sam}}",
"When": {
"HasMod": "ApryllForever.PolyamorySweetLove",
},
},```
SamDaysMarried | [X] 112
So there is definitely stuff in there!
It's reading save data and giving me the numbers straight from the file
Oh, yeah...
I just don't understand why I can't then put it into a Query expression
I'll understand best if I can get it working in game myself, so I'll try doing that now and then get back to you about it. Is that ok?
Maybe I could put the value into another token and use that in a query expression
thats fine thankyou so much
But then things get really silly
Bad idea, but couldn't the thing you want to do use dynamic tokens?
That's what I'm trying to do with the lspouse thing. lSpouse is supposed to be a dynamic token set to the name of the NPC whose anniversary is today
{
"Name": "lSpouse",
"Value": "Alex",
"When": {
"HasMod": "ApryllForever.PolyamorySweetLove",
"Query: {{ApryllForever.PolyamorySweetLove/NPCWeddingDate:Alex}} % {{kPeriod}} = 0": true,
}
},
{
"Name": "lSpouse",
"Value": "Elliott",
"When": {
"HasMod": "ApryllForever.PolyamorySweetLove",
"Query: {{ApryllForever.PolyamorySweetLove/NPCWeddingDate:Elliott}} % {{kPeriod}} = 0": true,
}
},
Something like this
My bad, sorry, thinking after sending message!
I really don't like this, because it won't work for arbitrary NPCs
but I can't find a way around it with CP
I am really really close to just gritting my teeth and diving into the c# modding side of things
Maybe you could simplify the code to one patch by doing another DT with the NPC's names?
Would love to! Do you have an idea how? (edit responded to wrong post whoops)
That's why I created a C# part of my NPC but I use it only for its On/Off config and for proper installation check.
Oh-
Give me a sec, I'll try to code it!
Omigosh, thank you
I think it should use this: https://github.com/Pathoschild/StardewMods/blob/develop/ContentPatcher/docs/author-guide/tokens.md#Relationship
But I struggle on how to create it....
Ahhhhhhh, use a CP built in. I do have another mod-provided token from PolySweet called "PlayerSpouses"
oh speaking of, Dennis, I haven't been in the room with you at the same time lately, so belated congrats on your NPC release! I wish I could play with her 
If that's the case, then maybe try this: (no guaranties!)
"Name": "NPC married",
"Value": "{{PlayerSpouses}}",
"When": { "Relationship:{{PlayerSpouses}}": "Married" }
},
... other npcs
{
"Name": "lSpouse",
"Value": "{{PlayerSpouses}}",
"When": {
"HasMod": "ApryllForever.PolyamorySweetLove",
"Query: {{ApryllForever.PolyamorySweetLove/NPCWeddingDate:{{PlayerSpouses}}}} % {{kPeriod}} = 0": true,
}
},```
Alright, will try it and see if I can use a list that way. That would be really nice
Since I don't want to lose the ability to work with arbitrary npcs
But genuinely, I am probably going to dip my toes into the C# if I can't get this working this weekend
Because CP is making this 100x harder than it has to be
Thanks, and thanks for the help you provided me (at least 4 times)!
I'm really liking working on my Eleanor. Smaller 0.90 update was already released (main release was 0.8.0) and after I fix the problems I have right now, I'll start working on the marriage 1.0.0 update, which will request A LOT of help from here.....
And thank you!
OH! Ignore the ... other npcs and delete it!
Lol, no worries, I know!
Gonna go do some actual work now and then give variations on this a try. Much appreciated!
All righty, I got it working!
Me too, I'm finally going to do the fixes I have to (but I'll probably get back!)
Congrats
(whatever you made working)!
(i'll keep the copy of that in my code for now)
Thanks, it's SpaceCore's spawning mechanic. At 7am on the dot all that stuff appeared on the beach like magic!
That's nice, and I think it will be useful (not for me for now, though, I got lost at the SpaceCore documentation after 10 seconds...)
Yeah SpaceCore's docs are not the easiest to navigate that's for sure. But it's worth it because Casey is such a smarty and she does such cool stuff.
thank you for looking into it really
Let me know if you ever want my help trying to interpret them. So far I have a 100% success rate!
Thanks for the offer, I'll note it and will ping you if I want to use something like that (first I have to find out in what and how)!
No problem :) Do you want me to show you how it's done with the entire list of possible things to spawn that Casey has in the docs, or just the monsters and some forage? It might be easier to grasp if I condense it down to just one example (like just the dino for now) but I'm happy to try with the whole list if you prefer.
just monsters and forage please
I just copied and pasted the example that Casey had and then added the trigger action needed to actually spawn it all.
could i see the trigger action
Elliott's gonna have a heck of a shock when he leaves his house this morning
Yup! I used a custom time trigger (also from SpaceCore) to make them spawn at 7am but I've switched it to the vanilla DayStarted to show you.
{
"LogName": "Add Trigger Actions",
"Action": "EditData",
"Target": "Data/TriggerActions",
"Entries": {
"{{ModID}}_TimeSpawn": {
"Id": "{{ModID}}_TimeSpawn",
"Trigger": "DayStarted",
"MarkActionApplied": false,
"Actions": [
"spacechase0.SpaceCore_TriggerSpawnGroup {{ModID}}_TownSpawns Beach 32,12,14,9"
]
},
}
},
oh i see
Has that made the whole thing click for you?
not completely
what is SpawnableDefinitions for exactly
That's the part where you specify the details about the forage/monsters you want to spawn.
and spawning groups ?
And then SpawningGroups is where you define different possible groups of things to spawn. So you could have a spring forage group that contains only the forage items from SpawnableDefinitions that you want to spawn during spring.
Can not convert Object to String. because i use scripts and condition?
But if you want to spawn exactly the same stuff at exactly the same rate in every place you do it, you can just put them all into one group
bug from content patcher
do everything i want to spawn I put in SpawnableDefinitions and everything i want to spawn at certain times I can put in spawning groups and trigger it conditionally with a trigger action
!log Please share the full log (via the link) and then your full json (also using the website rather than pasting the whole thing in here)
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.
aight
Dialogue fallbacks are completed, now to solve this bug: #making-mods-general message
so like this?
oh wait, which field indicates the day?
like 22_spring
smth like that
Close. In your trigger action you have to put the spawn group id, not the spawnable definition id. So it should be "spacechase0.SpaceCore_TriggerSpawnGroup {{ModID}}_OldGraveYardSpawns {{ModID}}_OldGraveYard 0,0,49,86" not "spacechase0.SpaceCore_TriggerSpawnGroup {{ModID}}_SpawnFairyFingers {{ModID}}_OldGraveYard 0,0,49,86". And that would only spawn the fairy fingers, not the corrupted ghost or the old graveyard set piece.
I don't know what you're referring to, so I can't tell you.
Have you got a log from the player?
i would put the condtion in spawn groups?
i fixed it by simple my brain down
What condition?
the season for the group
You'd put all the spring items in that particular spawning group, then in the trigger action you'd use the "Condition" field to specify that this trigger action only happens in spring and you'd specify in the action that the spawn group id to use is the spring one.
!!!! just need to do the conditions now
Asking for it. Might know the reason - if there is "Mermaid bouquet" in some mod, then she'll accept it. She, however (tested like 1 minute ago), won't accept the vanilla "Bouquet" (for dating) until its conditions are all checked.
If you still need help, can you upload your log to https://smapi.io/log, and the full JSON file to https://smapi.io/json? We can't help if we can't see the errors and what's causing them.
but like i thought i used the spawn defs to spawn things
the When field is invalid: invalid Random condition: invalid values (0.3); expected one of.
Upload the log and error as requested, or we can't do anything to help, I'm afraid.
oh
I didn't know you could use spacecore to spawn forage too O:
that would make it so I have one less requirement... but then I'd have to learn how to do it too 
No, you do not. The spawnable definitions is where you define what things can be spawned and give them additional properties over what is available for them in data/objects or wherever they were originally defined.
Join the tutorial, it's ongoing right now!
SpaceCore 101 tutorial thread time? 
Mermaid bouquet certainly sounds like it might be a Polysweet thing. Apryll loves mermaids.
So I use the spawn group id to spawn a group of forage?
You're just trying to hide me away DH! 😭 /j
like if i wanna spawn fairy fingers in spring, I use {{ModID}}_SpawnFairyFingers in the trigger action
which is a id defined in the spawn defs
It indeed is! Thanks, I'll have to check out what it does.
No. You have to put the spawnable definition ID into a spawn group first and then spawn the whole group using a trigger action.
It does the same thing... Fixing time!
ooo so like this
"Action": "EditData",
"Target": "spacechase0.SpaceCore/SpawningGroups",
"Entries": {
"{{ModID}}_SpawnFairyFingers": {
"SpawnablesToSpawn": [
{
"SpawnableIds": [
{
"Weight": 1.0,
"Value": "{{ModID}}_SpawnFairyFingers"
}
],
"Minimum": 1,
"Maximum": 1,
},
]
},
},
},```
Yes. And if you wanted to spawn anything other than fairy fingers, you'd add those things to that same spawning group. Alternatively if that caused problems in some way, you could just add multiple spacechase0.SpaceCore_TriggerSpawnGroup actions to the same trigger action block.
vallaha
I wonder if Hiria will experience the same issue 
But you can also just spawn forage with CP if you don't want to use FTM or learn the SpaceCore way
So for the monsters for spacecore - can you do the same thing that FTM does with the custom skins?
and then custom drops as well
Do you want the fixing code after I find out how to do an accept/reject dialogue for a custom item?
You can ALSO spawn forage with CP? my god... magical
well u can do it the vanilla way
I intend to make Hiria not romanceable at all if someone has Polysweet installed so I might not need it, but I won't say no just in case xD
Then I'll copy its rejection only.
Reject bouqet and RejectItem_(O)460, probably (that's how I prevent it)
in gifts
If I can achieve it with "HasMod" then I'll do that.
Yes, that.
that's such a clever idea
Only polyam mod I will accept is EnderTedi's because it allows for configurable polyamory.
yea but you have to also beat the feature that makes all characters romancable right
Honestly I just can't imagine Qi wanting anything to do with polyamory in the first place, but that is also a good point imo
so i think the reject is also needed
By configurable I mean I can make it so Hiria is not polyam in any way in Tedi's mod (I am pretty sure).
should button get around to making the set npc relationship trigger action then u can use that too
Hmm I was not aware Polysweet did that. C# may be required then.
married and then instant divorce 
I was hearing about that - aren't there custom responses for a variety of things? Like oh this person is fine with x and y but not z (or just not fine with it at all and so on and so forth)
I will probably need C# anyway because I am making Hiria not marriagable through normal game means anyway.
no if the thing dennis is trying works out then u wont need additional C#
iirc it's a config option or something?
Yes you can set it so they will only be in a polycule if other certain NPCs are or that they will refuse to be in a polycule with certain people etc
ultimately though, i dont think you should be expected to do more than convey intention (this character doesnt want to poly)
The reject item things?
determined person can go in and make edit
Also with this - I was going to be using FTM for this since you can give the monsters custom skins and have them drop items and such
it is same as wanting anti cheat for sdv u know
It's not about being expected to, it's about doing as much as I can to force people not to be allowed to. I know that very determined people will still find a way around it but I want to make it as difficult as possible.
if someone is that determined there really isnt anything I can do about that lmao
yea that, if those work out then its fine/10
Rejwct item should woen tbh
true, but my understanding is that some NPC authors want to make this specific thing a tiny bit more difficult by putting it in the (already required for other reasons) c#
though making a c# component only for this obviously wouldn't work because they could just disable it
But I think polysweet does do stuff like copy and paste large parts of game code
If I ever come out of retirement
but for anyone who already requires c#, it's a somewhat usable option
(I'm sure there are ways to make it so it's as viable even if you don't require c# for other reasons, like putting the basic NPC data load in c# instead of content patcher, but that's where you start going a bit overboard I think)
does Tedi's distinguish between roommates and spouses?
I imagine characters who don't want polyam might still be okay with roommates (e.g., adopting a kid)
How long have you guys been modding?
idk, I'm sure plenty of characters don't want to adopt a kid with the farmer 
a few years 
Looks like yes
I mean yeah, by that token there's probably some characters that are okay with polyam but not okay with adopting
personally I started in late 2023/early 2024 then stopped until December 2024
What is the best you have created
Right around four years!
It's why I have Qi's child option toggled off by default lmao, but I knew people would WANT to so ... eh I thought blue children were funny
What?!
My first Stardew mod! 
I imagine it's subjective depending on what people like of mine, but I'm proudest of my Qi mod :)
I am at just under a year now
Bruh modding take way too much times to learn
like 8 months
...actually wait, it might be five years
stardew modding is pretty simple compared to a lot of other types!
almost three years yippie
Skyrim 💀
If it was too quick to learn I'd already be bored and gone by now lol
Bro give me the link, i will download it
okay yeah it is four years, I was solidly in 1.5 territory 
2022-2024?
What is da best mod you have created
Oh well that one is 1.5 but if you're asking about the mod I'm proudest of uhhh-GUHAIDFSF
Iro how did you have that so quickly
oh i guess its actually 9 months now
that's scary
283 days since june 20 2024
/silly
governor user info 
You can search me on Nexus. I use the same username
If you count when I first started editing mods for my own use...2021! But then a 3 year break lol
Can i make a female version of him :)?
But none of my mods work currently on 1.6 anyways and I have no desire to bring them back
Ms Qi...
ask lily!
March 2021 for me... damn... how 
Ye
you could prob start from just doing ms qi for vanilla
Lily, yours is compatible with Mx. Qi, isn't it?
Ya want to see me make ms qui :)?
You absolutely may, you might want to wait until 1.1.0 is released since I have a lot of new portraits and sprites for him :) so you'd have to replace those too
You're entering the muddy waters of gender and mod compatibility... trust me, I'd know 
I'm actually curious how many mods add stuff for Qi 
if you see anyone with an orange name, click on their pfp, click the three dots, "Apps", then User Info (the one with the picture of the governor), and you will see up to three links to their mods
Thank u 👍
Unfortunately not because of how I did the honorifics for it, but it's built in to my mod itself (i knew people would WANT to use it but I edited (most likely) all of the same things as it)
I turn many characters i like in sdv into female... I love doing it
You would only have to do portraits and sprites by the way, I take care of all of the titling stuff :)
😳
Not that many 😭
here's how it looks for Lily, for example
this one's anime enough to be ms qi to me
I completely forgot we had mods linked on the wiki...
Goddamn
That doesn't work for me. I have to right-click. That's why I was so lost about it the other day.
oh i shuld update my wiki page
oh, I was assuming mobile because I'm currently on mobile
yes, on pc you have to right click
you're all always using the same device type as me, right? /lh
I really need to add Apollo to my mods list. Maybe that would help him get some more love.
:3 I already thought of that, I saw a fair few mods that were gender neutral or female for Qi so I already did it >:]
It was mildly annoying specifically for the fact of having to do the two sprite sheets but it wasnt that bad really
Oh yeah, I have one old broken mod and another one I left to just exist linked there... I should probably update it 
(Thanks, Nexus. There's an update available for my own mod!)
Yeah... it's annoying
probably, why are these the three mods you have on there 
How else would you know about it??
The few time's I've actually downloaded my own mod (either because I lost something or was trying to test to see if it worked) made it so that happens to me too... it is mildly annoying
Schu
but yea i just havent updated in a long time
You should
i did
I havent updated my wiki page in a long time...
my assets folder is so neat now...
But i want to wait until i release a mod im proud of
You did
you should be proud of everything you release because you're creating something and that's amazing
I mean a lot of the ones on my wiki page ive since hidden on nexus
Since they're old and need updates
oh lovely! I'll have to check your configs, I'm a fan of gender-neutral Qi 
I think that my thing being Mr.Qi is actually so funny 
I'm proud of half of them and keep forgetting the other half exists 
Woo, Apollo is now present 😌
I am either proud of mine because they're good, or proud of mine because they're good shitposts 
I'm not proud of any of my children
Or myself
Yeah! it's only one config! You just have to change it and it changes the title to Mx. ! All of the dialogue I wrote is gender neutral by default (both for the farmer and for Qi)
I will be proud of them for you 😌
Wren isn't in your links
nuisance
I was about to say, you reminded me I gotta go add her 
I've said it before but I would die for Jorts and Jean I love them so much you did great (and thank you so much for letting us dance with Jorts that's my favorite thing ever)
But there wouldn't be mcp 2.0 without it so you should appreciate it
tia who is competing for the spot of your third child 
Where can we update the wiki again..? 😅
Badly!
there's a non-zero chance you guys will overwrite each other by accident
chu why do you have an ms paint version of the 💯 emote 
Take turns
for these occasions
I'm not in a hurry 
so is wiki on a SVN adjacent model then
something something semaphores
Chue, I found out something cursed about svn
Guess how svn keeps track of what files are currently locked
Whew I must have started my edit just after chu finished theirs
I'm more thinking if you click edit on the whole page, someone else edits, and then you submit your edit, since your edit has the version from before theirs, you're submitting that
yea but if this was sensible version control it'd be merging on diffs
why.
i dont need this terrible knowledge take it back
Good news I did not break chu's edit
I don't think implementing things in sensible ways is legal
RWE will win, it's a mod I'm very proud of
(and I haven't finished updating IS yet)
How on earth did I fail to find RWE when I was adding every dialogue mod known to man to my game last year
Should I put Statue Shorts as my 3rd mod... of course I should, the dumber the mod the better 
Why is there a bot command to slap ppl i almost accidentally slapped poor Tia through a misclick on mobile
What does a slap even mean
I like how your allergies, specifically, are a mod
I'm more concerned about this one 
(I know what it is really but lol)
Specifically, your allergies
(Spa)
It was my first mod and I saw ppl putting their names on some of their mods and I was like "oooo I wanna do that" and so I did lol
And now I don't wanna change it bc bzpa was a nice prefix for unique ids for console commands and things
i still dont get how to see ppl's profiles
I only updated it to 1.6 in the last few months 
That seems unlikely to have stopped me though because I installed mods from 2017 
Maybe I warned you off it by telling you about my overhaul of it 
Right-click on PFP -> Apps -> User Info (gov, not userinfo!)
weirdest thing I found out is that moiph (uberbot dev) was actually IN this server near the beginning
as far as I can tell
Sometimes I install outdated cp mods tbh. I figure if I know cp and they're simple I can fix em for personal use lol
But I started my 1.6 game before I joined the discord! And I thoroughly scoured the whole Dialogue category and did a search for every single vanilla NPC name individually to ensure I was getting all the mods for each NPC. It is truly a mystery.
oh it updated real fast
I feel like it doesn't cache the calls to the wiki info
ddos the wiki...
Do not!
Yeah I never let a mod's age stop me from downloading it unless it's something that I can tell in advance will be unfixable or that I won't be bothered fixing it lol
(In fairness RWE worked just fine in 1.6 before I updated it, I just had Big Plans)
and wow it wasn't even Immersive Saloon that was my number three, it was Host Trees
I sure haven't touched that in a hot minute 
Consider: lichens
One day I will continue my nightmare of "Everyone is Clint" and that will make 2-4 people happy who would play the whole thing that way
altough as it was, it was mostly youtuber-fodder
Very important niche
"hey look at this dumb mod"... next..
now hit subscribe and the bell and join my patreon and bluesky and inject a bell into your brain
We need more dumb mods
Is it bluesky now
depends on the person
I'm so glad Twitter or anything of the sort was ever popular in my country...
Consider "items have weight"
I'm back (wen't off for a while), and I am struggling in creating the RejectItem_(O)ApryllForever.CPPolyamorySweet/ObjectId:MermaidBouquet. This one's incorrect. How to use a custom mod's item in this dialogue?
As a hoarder and someone who always searches "No weight limit mod" when I'm starting a new random game... I can't endorse it 
Idk why I made it tbh. I had the thought "rocks r heavy" and then in one afternoon I had the mod lol
Is that the bouquet ID as written in its data/objects entry?
"Name": "Mermaid Bouquet",
"DisplayName": "Mermaid Bouquet",
"Description": "A bouquet of purple, pink, and blue flowers! Give these to someone you want to date!",
"Type": "Basic",
"Category": -80,
"Price": 400,
"Texture": "Mods/ApryllForever.CPPolyamorySweet/MermaidBouquet",
"SpriteIndex": 0,
"ColorOverlayFromNextIndex": false,
"Edibility": -300,
"IsDrink": false,
"Buffs": null,
"GeodeDropsDefaultItems": false,
"GeodeDrops": null,
"ArtifactSpotChances": null,
"CanBeGivenAsGift": true,
"CanBeTrashed": true,
"ExcludeFromFishingCollection": false,
"ExcludeFromShippingCollection": true,
"ExcludeFromRandomSale": false,
"ContextTags": [
"color_bisexual",
"mermaid_item"
],
"CustomFields": null
},```
That's from the export.
Then you need RejectItem_(O)ApryllForever.CPPolyamorySweet_MermaidBouquet (if it's meant to be a qualified item id).
Yeah, found that!
there was debate about whats the heaviest inventory you can have
36*999 anvils
memories:
brb, making an "alex's dumbbells" mod
Good to know SDV has anvils now 
(if you carry them, your strength goes down by 999 and your speed goes down to -11)
you literally start moving backwards through walls like that truck racing game
So the code is here:
"LogName": "Eleanor - gifts compatibility - Polyamory Sweet, accept bouquet",
"Action": "EditData",
"Target": "Characters/Dialogue/StrojvedouciDenis.Eleanor",
"Entries": {
"AcceptItem_(O)ApryllForever.CPPolyamorySweet/ObjectId:MermaidBouquet": "{{i18n:Gifts.AcceptItem_ApryllForever.CPPolyamorySweet_ObjectId:MermaidBouquet |DT_name={{DT_name}} |DT_wizard_name={{DT_wizard_name}} |DT_wizard_fem={{DT_wizard_fem}} |default={{i18n:key_not_found}}}}"
},
"When": {
"HasMod|contains=ApryllForever.CPPolyamorySweet": true,
"Hearts:StrojvedouciDenis.Eleanor": "{{Range:8, 14}}"
}
},*/
{
"LogName": "Eleanor - gifts compatibility - Polyamory Sweet, reject bouquet",
"Action": "EditData",
"Target": "Characters/Dialogue/StrojvedouciDenis.Eleanor",
"Entries": {
"RejectItem_(O)ApryllForever.CPPolyamorySweet_MermaidBouquet": "{{i18n:Gifts.RejectItem_ApryllForever.CPPolyamorySweet_ObjectId:MermaidBouquet |DT_name={{DT_name}} |DT_wizard_name={{DT_wizard_name}} |DT_wizard_fem={{DT_wizard_fem}} |default={{i18n:key_not_found}}}}"
},
"When": {
"HasMod|contains=ApryllForever.CPPolyamorySweet": true,
"Hearts:StrojvedouciDenis.Eleanor": "{{Range:0, 7}}"
}
}```
Those are not the right keys - they do not match the ID of the bouquet and therefore are not the same as what I told you.
Sorry, the reject one is correct now but the accept isn't.
In fact, the Accept one is wrong anyway because it's meant to be AcceptGift not AcceptItem.
I do not know why those are inconsistent. It is annoying.
Oh! That one's my bad!
Maybe it isn't! If I delete the |default={{i18n:key_not_found}}}} from it, it reverts to the loved dialogue...
What if you pull out all the i18n entirely and just write it in plain text? Just to check it's not the i18n causing the problem.
It is the i18n.
"RejectItem_(O)ApryllForever.CPPolyamorySweet_MermaidBouquet": "bla"
Hopefully it won't be too hard to troubleshoot then. Did you maybe use the wrong key? Or did you change the key in the default.json but not the dialogue.json?
My bad! Correct key, forgot to reload the i18n!
It now works properly (the reject one).
Nice to see Rasmodia chilling in the background 
Yeah, I add all the DT's to every single dialogue, even when it isn't used, because then I know I'll add it somewhere in i18n and forget to add the dialogue key parsing...
It was the first post-release thing I did upon a request from user, and I'm happy I did it!
The proper DT's:
"Name": "DT_wizard_name",
"Value": "Mr. Rasmodius"
},
{
"Name": "DT_wizard_name",
"Value": "M. Rasmodia",
"When": {
"HasMod |contains=Nom0ri.RomRas": true
}
},
{
"Name": "DT_wizard_fem",
"Value": "he"
},
{
"Name": "DT_wizard_fem",
"Value": "she",
"When": {
"HasMod |contains=Nom0ri.RomRas": true
}
}```
And on the pic, yeah, I have her there for testing these DT's.
Any reason why Rasmodius is "Mr", but Rasmodia is just "M."?
Just out of curiosity
It's amusing because "M." actually stands for Monsieur (in the real world) so it's male then too.
unless its supposed to be Magistrate 
the M stands for [microwave noises]
I mean M in Rasmodius context doesn't really stand for anything 
he just added a letter to sound more mysterious
Because I looked into your mode and I saw it in your code:
"ItemDeliveryQuest.cs.13546": "I require {0} for potion-making. Please deliver directly to my study. -M. Rasmodia, Witch",
he himself did state he forgot his name so maybe M is all he remembers from it...unless that sentence was from a mod
Should I fix it? If so, to what?
as if I could remember anything well lmao
driveby
you say that as i should be aware what is vanilla and what isn't
Ah, I keep it the same as original, so if there's "M. Rasmodius" I keep the M, if it's just Rasmodius, there's no M
what... what does this do
Don't kill the vowels, farmer!
(it's because the targetname for a slay quest is a string contains)
Depends on what you use in your events/dialogues, if it's always Mr. Rasmodius, you could use Ms. Rasmodia or something
does this game end the farmer?
So, ```` {
"Name": "DT_wizard_name",
"Value": "Rasmodia",
"When": {
"HasMod |contains=Nom0ri.RomRas": true
}
},```
is better?
so basically, what I'm saying is this: if the monster name contains a vowel at all (and all English words do), count it
death is just a minor set-back
Probably, depends on how your NPC refers to him, like if you want to use honorifics or not. If it's normally just Rasmodius then sure, if it's Mr. Rasmodius, you could use Ms. Rasmodia (or something, not an expert on english honorifics), if it's M, both can have M. Don't know the context for your NPC so I can't advice anything specific, go with what you think suits best 
Rhythm
OK, thanks, as she is (or at least I try for her to be) very polite and formal, I'll use Ms. Rasmodia.
"Name": "DT_wizard_name",
"Value": "Ms. Rasmodia",
"When": {
"HasMod |contains=Nom0ri.RomRas": true
}
},```
That has a y
Is y a vowel now
Yes
sometimes y....
who are we to say what is or isn't a vowel
then is ä, ö and ü too?
Ï
old mcdonald had a farm...
(i know englisch was specifically mention i jsut jest)
I mean you can trivially get around ut by making your monster's internal name be in Chinese
did you make a mod that actually allows for pacifism?
This is the failure objectives i think
To enable something like
- reach floor 100 skull cave
- without killing more than 10 monsters
ohhh 
there's no monster names without vowels
(I'd love to have a functioning pacifism mod that actually lets you proceed without killing and/or de-wonkifies the "combat" Pacifist Valley had)
I have no clue what you're talking about right now but a Qi Special Order Quest 'Qi's Pacifist Challenge' to reach level 100 of SC without killing any monsters sounds like a nightmare ...
maybe if I learn C# I can do that... cause atm I don't think there's a way to do that with the objectives
[coughs in sc elevator]
Not if you'll use staircases...
I meant specifically i dont know if there's a way to implement that as an option with the objectives with special orders
not that there wasn't a way to cheese it...
yeah you can't, this is part of atra's slightly more dehardcoding
i dun think that's how being retired works
anti scope-creeping? and I have to witness that with my own two eyballs?
wasnt aware I slipped into bizzaro world 
if they get ideas they'll stop being retired that's how it works /silly
lily you just invented anti scope-creep
I'm the anti-scopecreep fairy oooo don't add extra stuff oooo /j/silly
remove ideas from your mods, do it, go on, do less 
gonna add a living Crwth just to mess with you
what , what even is that
.g crwth
See Rotte for the psaltery, or Rotta for the plucked lyre.
The crwth ( KROOTH, Welsh: [kruːθ]), also called a crowd or rote or crotta, is a bowed lyre, a type of stringed instrument, associated particularly with Welsh music, now archaic but once widely played in Europe. Four historical examples have survived and are to be found in St Fagans Na...
KROOTH
bug: Cwtch Crwths don't count for the pacifism quest
quick, there's still time to make it inherit IHaveModData in 1.6.16
you ask pathos
IHaveModData, UHaveModData, WeHaveModData
(though for guid any reason why the questKey is insufficient? I think they're unique, or at least I sure hope they are for most purposes)
it is techinically possible to have two of the same quest
active at the same time
does anyone else see guid and immediately think graphical user interfacedentifier
(i see it and think guild but i am a worm on a string)
Hi!
I'm trying to create a mod that adds a custom location. The location loads, but I'm still having a lot of issues.
Problem 1: DefaultArrivalTile isn't working
I've defined this in my content file; please see the attached link.
Problem 2: Non-functional doors
The doors won’t open, and they appear transparent. Any tips would be appreciated! I’ve tried following this guide: Kailey's Interior Door Guide, but I still can’t get it to work.
Problem 3: Warping out of the custom location doesn’t work
This issue seems related to the previous one, which makes me wonder if my map properties aren’t working at all.
Any advice would be greatly appreciated! 🙂
I'm attaching my SMAPI log and JSON validator results. I don’t see any obvious errors:
SMAPI log: https://smapi.io/log/fffd3ba5c9a743aea7ff42a534fddcb9
JSON: https://smapi.io/json/none/ae6720674e0048549cfb1b348aede99b
Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Home, with 22 C# mods and 53 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
in vanilla? 
git guid
genuinely thought that was a real git command for a sec
I think you missed my reply earlier because I already explained the reason for problem 3 :)
Yes, all their coordinates are really weird
(2) default arrival tile is used for a handful of debug commands
and basically isn't used otherwise
(3) I'm not sure why you're loading hxw tilesheets
Oh i probably did! 🙂 Is it in this chat? 🙂
I also don't know if you can set default arrival tile in the map because it's a location property. Edit: I stand corrected, there is a map property for it too.
Yup, here: #making-mods-general message
so, all your coordinates are really weird, and tbh that's probably part of why nothing is working
you should be using tile coordinates
Oh omg you are right!! But where do i find the "real" coordinates?
When i select an are this is the coordinates it gives me 😮
Don´t i need to? 😮 I kept getting error messages when i did not.
aba's message has an explanation
Your coordinates are way off. Your map is only 35 tiles wide and 40 tiles tall but your Warp coordinates are written as being at tile 192 across and 624! down. That's a really, really long way away from where you want to put them. If you hover your mouse over the tile you want the warp to be on it should tell you the coordinates down the bottom left of the screen.
Thank you all so much ❤️ I will try it and see if it works ❤️
are these the tile coordinates? (genuine question btw)
yes
no
you should not be loading someone else's tilesheets
their mod should be loading it already
they're probably loading it while making the map, I'm guessing?
i mean i don't think there's another way to add modded tilesheets to maps
well, you shouldn't be packaging them in your mod anyways
oh wait u meant the code
(they're loaded in the content.json, which seems...weird)
yeah they shouldn't be there. sorry atra i didn't understand
Oh okay! I keept getting error messages when i did not load them, I will try to remove them 🙂 Sorry this is my first time modding something complicated
what you do is:
put the modded tilesheets in your mod folder with the map
remove them
and then the game will use the ones from the mod
Okay! When i use "tiled" which tilesheets should i select?
u can keep them while editing ofc but at the end of the day we want the map to use the tilesheets from the mod and not yours.
i think you just need to make sure the names match.
Okay! So i remove them when I am finished? 🙂
Guys is there anyone here who makes mods?
Lol
lmaoo
not at all actually
Im new
Atra don't be mean
try r/smapi ?
I'm being sarcastic 😛
Yes we all make mods
Can I give a suggestion of the mod I always dreamt?
Nope
i have no idea how pixlr does anything, least of all coordinates so,,, i can offer to get u them myself if you'd like
!modideas
If you have a mod idea that you aren't planning to make yourself, you can put it in the mod ideas github: https://github.com/StardewModders/mod-ideas
However, this does not mean anyone is guaranteed to work on your idea—modders who are looking for ideas sometimes go through and work on what they find interesting off this list. If you want to pay someone to make your mod idea, there are a few people who do commissions (mostly art, sometimes code); you can ask around, search usernames for the word comms, or see !commissions.
i got the coords dw
Wait where to add my suggestion?
@jagged sun You leveled up to Cowpoke. You can now speak in our voice channels and share images in all channels!
congratz on the level up
I need to download github?
We can help you make the mod, or you can put the suggestion in the place with that link that Aba had the governor put in chat
Sorry that was a bit mean of me. We ask that people add their mod ideas to the GitHub linked above.
You don't need to download anything.
i think you might need an account for the suggestion?


how are you gonna do that


