#making-mods-general

1 messages · Page 273 of 1

tidal stone
#

i wonder if its possibel to just patch in the gate as a new object in order to have the alternative..

tender elbow
#

you're a life saver

#

that's ok i can fix those

uncut viper
#

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

tidal stone
#

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

craggy cape
#

patch reload commands work with fashion sense mods too, right?

lucid iron
#

no

craggy cape
#

fuc

uncut viper
#

patch reload is not a smapi command. its a CP command

#

its for content patcher mods only

craggy cape
#

ah

#

alright thats good to know

uncut viper
#

anything that starts with "patch" will be

tender elbow
uncut viper
#

logname is purely informational. it just changes what shows in the log

tender elbow
#

oh alright cool

uncut viper
#

like before it said "Ignoring Everglades > EditData > WorldMap" or w/e, itd show what your LogName said instead

#

(or maybe in addition to idr)

brisk wedge
#

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

uncut viper
#

did you click "Save File" after uploading the file?

brisk wedge
#

yes, also i see it now, i think i just needed to be more patient

uncut viper
#

nexus being nexus

fierce vault
#

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

uncut viper
#

it will technically have a performance impact but not in any way worth worrying about

lucid iron
#

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

uncut viper
#

you wont be able to define dynamic tokens in another json, either, but you can still use ones defined in content.json

fierce vault
#

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.

uncut viper
#

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

lucid iron
#

its more like included jsons can only have "Changes"

fierce vault
#

Right, I got that

uncut viper
#

just makin sure

#

same w ith ConfigSchema

lucid iron
#

the other top level stuff like config and dynamic token must stay in content.json

uncut viper
#

(i only mentioned dynamic tokens specifically bc of the talk of using them earlier)

fierce vault
#

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.

uncut viper
#

much better than a 20,000 line content.json

fierce vault
#

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.

lucid iron
#

!npc

ocean sailBOT
#
Creating a Custom NPC

Keep in mind that making NPCs is a complex process that requires learning many different aspects of Stardew modding.
Here are a few links that can help get you started on all that you need to know:

uncut viper
#

makes s ense for an older mod, i doubt CP did Includes from the getgo

lucid iron
#

the template avi has uses includes i think

fierce vault
#

Yeah, that could have been the case. I'm really glad for the 1.6 update.

#

I'll check it out, thanks

uncut viper
#

Includes were added on August 2nd, 2020 apparently. before that, you would use EditData with a FromFile... interesting

fierce vault
#

Oh wow, so they aren't that new then.

uncut viper
#

not new, but still 2 years after CP was first released!

fierce vault
#

Oh, right! CP isn't that old either.

uncut viper
#

id say 7 years is pretty old considering the game itself is only 9 years old

fierce vault
#

That's fair. A three year time difference isn't that far off.

#

oops

#

I meant 2

uncut viper
#

its late i wont hold it against you SDVpuffersquee

uncut viper
fierce vault
#

I was under the impression recently that stardew was about ten years old lol

lucid iron
#

do tokens work...

uncut viper
#

some

#

evidently, tokens used to work with EditData FromFiles, though i dont actually know what an editdata fromfile looked like

lucid iron
#

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

uncut viper
#

seems like it'd be very inefficient to check if any of their tokens changed

lucid iron
#

still the kind of lexer needed is prob terror

#

yea that too

uncut viper
#

reloading the file OnTimeChange...

tender elbow
hot gale
#

Nexus came out with yet another mod manager?

rigid oriole
#

it's supposed to replace vortex i think

tender elbow
#

what is "PixelArea"? T-T

hot gale
#

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

brittle pasture
hot gale
#

Awesome, thanks Selph

brittle pasture
hot gale
#

Oooh sweet

spice inlet
#

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 VMVPufferBlush)

royal stump
hot gale
#

Is there a way to draw larger sprites for objects and shrink them, similar to how SpaceCore does it for portraits?

brave fable
#

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

craggy cape
#

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

wide flint
#

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 couldInventoryAcceptThisItem returns True
  • If I don't have any Leeks at all, it returns False

Why is that? 😕

craggy cape
# craggy cape im trying to fix a missing sprite within cute valley, i dont know what im doing ...

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

brave fable
#

LooseSprites/Cursors2 <<-

#

very hurt ur not using ```json``` formatting SDVpufferpensive

craggy cape
#

yea all the target:/tilesheet/[file]'s kept messing me up lol

craggy cape
brave fable
#

well moreso the discord messages but do format ur actual json too

uncut viper
#

(blueberry means please use code blocks on discord)

wide flint
craggy cape
#

oh

#

oh the code blocks are the colored versions of the block thing

#

wait THATS WHAT THAT WAS? anyways

brave fable
#

i don't know what the block thing is but you can ```jsonc
{
"format": "things", // nicely
}

with \`\`\`json
craggy cape
#

i typed in block to show the codeblock i think its called

#

with the `

craggy cape
#

lemme see if i can format it on discord properly this time tho lol

brave fable
#

!codefence

#

!codeblock

ocean sailBOT
#

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.

craggy cape
#
   {
          "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

brave fable
#

well your next problem is that Maps/farmhouse_tiles doesn't exist

craggy cape
#

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

brave fable
#

i suppose that any custom map that used that tilesheet when it existed would've still had the patch applied

latent mauve
#

A lot of older mods added their own sprites to the bottom of farmhouse_tiles.

craggy cape
#

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

uncut viper
#

are you sure Maps/farmhouse_tiles doesnt exist blueberry

latent mauve
#

It does

#

Maps/FarmhouseTiles on the other hand, was removed

uncut viper
#

the one without the underscore

brave fable
#

ah, Maps/FarmHouseTiles my nemesis

uncut viper
#

blueberry had me doubting how recently id unpacked my folder lol

latent mauve
#

I went through to check the removals from the migrate notes LOL

uncut viper
#

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?"

craggy cape
#

hhmm i realized i didnt have a from/to area code for the openfridge

latent mauve
#

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

wide flint
# wide flint Found the issue... I'm patching `GameLocation.checkAction()` where I grab the C...

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

craggy cape
#

ok no matter what i do i cant fix this missing sprite

tender elbow
#

!log

ocean sailBOT
#

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:

  1. Open this page: smapi.io/log.
  2. Follow the instructions at the top of the page to upload the log file. (Don't copy & paste from the console window!)
  3. 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.

tender elbow
ocean sailBOT
#

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.

tender elbow
#

plz help T-T

flat karma
#

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.

uncut viper
#

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

spiral lion
ocean sailBOT
#

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

flat karma
uncut viper
uncut viper
craggy cape
#

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."
uncut viper
#

you put your FromArea inside your ToArea object

craggy cape
#

ah

uncut viper
#

and also put your when condition inside that FromArea

#

you have to close your objects before you start another one

gentle rose
uncut viper
#

yeah go for it

craggy cape
#

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

craggy cape
spiral lion
ocean sailBOT
#

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

foggy spruce
#

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

gray bear
craggy cape
#

thats just the patch mode used in all the assets. i tried replace, didnt work

gray bear
#

the default is replace, which should be fine. isn't the open fridge animation in craftables?

craggy cape
#

i just know the sprite is in cursors2

#

the open fridge sprite i mean

gray bear
#

that....is weird. you're patching both areas so it should be fine? hmm. did you add the comma btw

craggy cape
#

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

spiral lion
ocean sailBOT
#

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

craggy cape
#

im using prophets kitchen as reference since that mod has the open fridge texture for it

brave fable
#

@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

gray bear
#

i just tried doing a test mod with editing only craftables and it seems to be working fine thonk isn't that the regular fridge in ur screenshot

brave fable
#

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

craggy cape
#

great! now content patcher isnt recognizing the damn mods ID

brave fable
#

wat r u doin

craggy cape
#

oops ping mb

spiral lion
#

oh okay! i will move my tilesheets and try again! 🙂

gray bear
#

did you change the mod id?

craggy cape
#

no

gray bear
#

maybe the actual fridge open animation isn't cursors2 haj_sweat

#

lemme see

craggy cape
ocean sailBOT
#

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.

brave fable
# spiral lion oh okay! i will move my tilesheets and try again! 🙂

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

gray bear
#

you need the " " around the mod id

craggy cape
#

but

#

it works without those..

gray bear
#

it... shouldn't

craggy cape
#

it did when i reloaded the sakura interface's id

brave fable
#

it should, shouldn't it? either way, you should share a full log instead of just a screenshot.

craggy cape
#

also i did share a log

#

unless you mean a json log

gray bear
#

the log itself, not a screenshot

craggy cape
ocean sailBOT
#

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.

brave fable
#
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.

unreal spoke
brave fable
#

it can't reload because it never loaded in the first place

gray bear
#

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)

unreal spoke
#

Cursors2 was part of the 1.5 update, I think. If… that was the question.

craggy cape
#

I swear to god.
e4aece190fa14442848eeeceebee7204

#

ops

ocean sailBOT
#

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.

craggy cape
#

i got the same errror

brave fable
#

actually that's a different error again haha

#

share your json file

unreal spoke
#

!json for one. Also… test mod loadout?

ocean sailBOT
#

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.

craggy cape
brave fable
#

line one thousand and thirty....

gray bear
#

the when is outside the block

#

put it a line above and should be good

unreal spoke
craggy cape
#

ah

gray bear
unreal spoke
#

That… sure is a place to put them in.

ocean sailBOT
#

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.

craggy cape
#

this time at the very bottom

#

like, of the code

spring marlin
#

is there a website where you can input different fish values so you can see how it would behave?

craggy cape
#

i removed the } at 4228 but its giving the same error for the json log

#

even when i added it back

brave fable
#

you see how you're closing the When: {} on that last line?

craggy cape
#

noticed, changed, another error

brave fable
#

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

craggy cape
#

so i need a ] at the very end?

#
    {
      "When": {
        "Statue Of The Dwarf King": "enabled"
      }
    }
  ]
}```
like that?? or, is there too many } ????
brave fable
#

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

craggy cape
#

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

spiral lion
#

omg it worked!!! thank everyone so much ❤️

craggy cape
#

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

brave fable
craggy cape
#

which one

brave fable
#

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

spiral lion
brave fable
#

that one was a load-bearing }

craggy cape
#

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

brave fable
#

sure, extremely easy one. remove all the config options SDVconcernedpride

craggy cape
#

..fair point

gray bear
#

you can like, seperate it into smaller files

craggy cape
#

also if CP failed to load a mod, wouldnt smapi say id have one less mod?

#

yea thats what i was thinkin lmfao

craggy cape
gray bear
#

and then just have an include block in ur content.json to load all the code

craggy cape
#

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

brave fable
#

SMAPI itself sets up the loaded-count in the title bar, CP only realises later that it can't load a content pack

craggy cape
#

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

spiral lion
#

Does anyone know why my doors looks like this? 🙂 And also why it looks like nighttime in the day? SDVcharhaley

craggy cape
#

the doors r transparent and idk how else to fix it

brave fable
#

!doors

craggy cape
#

this is NOT the fridge texture i had before, or kitchen texture in general

gray bear
#

pink

craggy cape
#

do i still have kawaii kitchens insalled.. i might

spiral lion
craggy cape
#

ok i have no other kitchen mods

#

hm

#

oh but also!

brave fable
#

ah here we go. i was hoping we had a !doors command

#
Stardew Modding Wiki

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...

craggy cape
spiral lion
#

Thank you hahah 😉

craggy cape
#

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

spiral lion
#

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? 🙂

craggy cape
#

"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."

spiral lion
#

It is a custom interior map! 🙂

craggy cape
brave fable
#

all of the possible map properties and their behaviours are listed on [[Modding:Maps]]

craggy cape
#

so map property door tells the map its a door and that tells the game to show a door, riight .ᐣ

spiral lion
#

Ouu i found it! I will try to se if it works now 🙂

craggy cape
#

WHY IS MY KITCHEN CHANGING

#

i deleted kawaii kitchen aND NOW ITS A DIFFERENT TEXTURE COMPLETELY

brave fable
#

the Doors map property will do that, yes, but you need to follow the rest of the instructions in that doors tutorial

craggy cape
brave fable
#

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

craggy cape
#

fair point

#

counterpoint: i just found the other kitchen mods im using lol

craggy cape
# craggy cape

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

spiral lion
#

hmm. I tried to fix the Map Property: Door but the doors are still see trough and does not work. Any ideas? 🙂

craggy cape
#

retexture mods go in "Retextures" unless theyre specifically an alternative texture

craggy cape
#

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."

spiral lion
craggy cape
#

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

spiral lion
#

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! 🙂

craggy cape
#

defaults to base game .. even without other mods

ocean sailBOT
#

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.

craggy cape
#

how am i missing a whole chunk of code

#

..okay well, i solved that issue.

#

tis too high up though

#

okay fixed it completely

pliant patio
#

is there any up to date youtube videos that can help me get started with creating mods?

ocean sailBOT
#

Making mods can be broadly divided into two categories:

Usually it’s easier to start with making content packs, since you don't need to learn programming.

pliant patio
#

thank you!

opal sage
#

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?

unreal spoke
#

!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.

ocean sailBOT
#

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!

opal sage
#

I am unpacking, but oly get .png and .json files, which I cannot use to edit in Tiled. Am I doind something wrong?

unreal spoke
#

Ah, sorry. I think there should be some map files in… well, the Maps folder.

naive wyvern
# spiral lion Hi. My doors still aren't working. I can't open them, and they're also transpare...

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

Stardew Modding Wiki

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...

spiral lion
#

I tried using that guide but i still dont get it to work :/

naive wyvern
#

hm, let me cross reference with my own setup, i have it on one of my maps

pine brook
#

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.

spiral lion
pliant patio
#

{
"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

gray bear
#

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

golden basin
#

is there a vanilla way to spawn forage on custom maps? as well as monsters?

vernal crest
#

Forage, yes. Use the forage field in data/locations. I'm not aware of any way to spawn monsters.

pliant patio
spiral lion
#

I am using LockedDoorWarp to get inside my custom location. Which is the best way to get out? 😦

lucid mulch
#

Have a warp in your custom location to go back again?

vernal crest
gray bear
ocean sailBOT
#

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.

pliant patio
#

oh right sorry

#

i'll try that now, thanks

vernal crest
vernal crest
pliant patio
#

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

vernal crest
#

I would expect so but you can always spawn some extras just to be sure

calm nebula
#

Reloading or making new saves

pliant patio
#

yeah true enough, i'll have to download cheat sheet

calm nebula
#

Reloading doesn't generate new parnips

pliant patio
#

ah i didnt think of that

gray bear
#

what atra said. tested just incase

calm nebula
#

You can also do debug fin parsnipseed

vernal crest
#

Ah, I took "used a new character" to mean new each time

gray bear
#

(same, i was worried i gave wrong advice for a bit there, heh)

spiral lion
ocean sailBOT
#

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

pliant patio
#

after making a new character and running the json through the editor it seems to have worked, thank you guys

#

thanks for thy patiences

vernal crest
golden basin
#

hm is there really no way to spawn monsters thats not a frame work?

calm nebula
#

Nope!

#

You can use ftm or spacecore

golden basin
#

ooh spacecore?

#

i already use that framework so ill go with that

flat sluice
#

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?

vernal crest
flat sluice
vernal crest
#

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

calm nebula
#

Is it a list?

#

Dude

#

Useful

vernal crest
flat sluice
vernal crest
flat sluice
spiral lion
#

It is called "anpassade egenskaper" (swedish)

modern pebble
#

everyone

#

can you guys tell me how to add optional choices?

flat sluice
modern pebble
#

yeah in a dialog

modern pebble
# flat sluice In a dialogue?

{
"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
}
}
}
}

flat sluice
#
      "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).

modern pebble
#

damn, wizard fem. you have the same taste as mine.
Oke, letme fix mine code real quick

flat sluice
modern pebble
#

... which one did you choose, BTW? male or female :3

flat sluice
# flat sluice That is if you want to make each response 'as a new event' that is immediately ...

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"```
modern pebble
#

{
"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"
}
}
}

flat sluice
flat sluice
calm nebula
#

For the love of God do not ask chatgpt

modern pebble
#

me write :)?

#

i don't know much about modding

#

just adjust it for my personal use

flat sluice
#

@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
    }
}```
flat sluice
# modern pebble 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...

modern pebble
#

:))

flat sluice
#

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).

modern pebble
blissful panther
# modern pebble me write :)?

Please don't use generative AI for this, for a few reasons.

  1. If enough of it is AI generated (and here, it looks like the entire skeleton of it is), you cannot post about it here.
  2. 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.
  3. 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

modern pebble
#

fax i guess

tribal ore
#

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,
       }
   },
tribal ore
# modern pebble 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

flat sluice
tribal ore
#

Then store the npc name into {{lSpouse}}

modern pebble
#

if you say so

#

i don't mind taking a hit into it

tribal ore
#
      kSpouse           | [ ] 
      lSpouse           | [ ] 
      ModId             | [X] Kantrip.Anniversaries
      mSpouse           | [ ] 
      SamDaysMarried    | [X] 112
#

As you can see, SamDaysMarried gets set just fine

flat sluice
flat sluice
tribal ore
#

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

golden basin
#

does anyone understand how to spawn forage and monsters with spacecore? Im struggling with the documentation really badly

tribal ore
#

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}}",
       },
   },```
flat sluice
tribal ore
#

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

modern pebble
#

uhh guys, is this still work?
TMXL Map Toolkit

tribal ore
#

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

flat sluice
#

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!)

tribal ore
#

The mod is installed

#

      token name                                                | value
      --------------------------------------------------------- | -----
      ApryllForever.PolyamorySweetLove/NPCWeddingDate           | [X] 
      ApryllForever.PolyamorySweetLove/PlayerSpouses            | [X] Sam
vernal crest
# spiral lion

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.

flat sluice
tribal ore
#

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

flat sluice
vernal crest
tribal ore
#

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

flat sluice
vernal crest
flat sluice
golden basin
#

or what to edit

tribal ore
#

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

tribal ore
#

I just don't understand why I can't then put it into a Query expression

vernal crest
tribal ore
#

Maybe I could put the value into another token and use that in a query expression

golden basin
#

thats fine thankyou so much

tribal ore
#

But then things get really silly

flat sluice
tribal ore
#

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

flat sluice
tribal ore
#

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

flat sluice
tribal ore
flat sluice
flat sluice
tribal ore
#

Omigosh, thank you

flat sluice
tribal ore
#

Ahhhhhhh, use a CP built in. I do have another mod-provided token from PolySweet called "PlayerSpouses"

brittle ledge
#

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 SDVpufferheart

flat sluice
# tribal ore Ahhhhhhh, use a CP built in. I do have another mod-provided token from PolySweet...

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,
      }
  },```
tribal ore
#

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

flat sluice
tribal ore
#

And thank you!

flat sluice
tribal ore
#

Gonna go do some actual work now and then give variations on this a try. Much appreciated!

vernal crest
flat sluice
flat sluice
flat sluice
vernal crest
#

Thanks, it's SpaceCore's spawning mechanic. At 7am on the dot all that stuff appeared on the beach like magic!

flat sluice
vernal crest
#

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.

golden basin
#

thank you for looking into it really

vernal crest
flat sluice
vernal crest
# golden basin thank you for looking into it really

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.

golden basin
vernal crest
#

I just copied and pasted the example that Casey had and then added the trigger action needed to actually spawn it all.

golden basin
#

could i see the trigger action

brittle ledge
vernal crest
# golden basin could i see the trigger action

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"
               ]
          },
     }
},
golden basin
#

oh i see

vernal crest
#

Has that made the whole thing click for you?

golden basin
#

what is SpawnableDefinitions for exactly

vernal crest
#

That's the part where you specify the details about the forage/monsters you want to spawn.

golden basin
#

and spawning groups ?

vernal crest
#

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.

golden basin
#

o i see i see

#

so i dont really need spawning groups?

vernal crest
#

Yes you definitely do

#

Because without them you cannot spawn anything

modern pebble
#

Can not convert Object to String. because i use scripts and condition?

vernal crest
#

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

modern pebble
#

bug from content patcher

golden basin
#

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

vernal crest
ocean sailBOT
#

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:

  1. Open this page: smapi.io/log.
  2. Follow the instructions at the top of the page to upload the log file. (Don't copy & paste from the console window!)
  3. 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.

flat sluice
modern pebble
#

like 22_spring

#

smth like that

vernal crest
# golden basin https://smapi.io/json/none/6284fa26200e4e8c980b4df3b8eb80ed

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.

vernal crest
vernal crest
golden basin
#

i would put the condtion in spawn groups?

modern pebble
vernal crest
golden basin
#

the season for the group

vernal crest
# golden basin 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.

golden basin
#

!!!! just need to do the conditions now

flat sluice
# vernal crest Have you got a log from the player?

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.

blissful panther
golden basin
modern pebble
blissful panther
modern pebble
#

oh

rigid musk
#

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 heh

vernal crest
vernal crest
blissful panther
#

SpaceCore 101 tutorial thread time? SDVkrobusgiggle

vernal crest
golden basin
#

So I use the spawn group id to spawn a group of forage?

vernal crest
#

You're just trying to hide me away DH! 😭 /j

golden basin
#

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

flat sluice
vernal crest
flat sluice
golden basin
#

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,
},
]
},
},
},```
vernal crest
upbeat cloak
#

vallaha

vernal crest
vernal crest
rigid musk
#

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

flat sluice
rigid musk
#

You can ALSO spawn forage with CP? my god... magical

lucid iron
#

well u can do it the vanilla way

vernal crest
rigid musk
#

sideeye how are you gonna do that

#

(definitely not curious for my own purposes too)

flat sluice
flat sluice
#

in gifts

rigid musk
#

perhaps with a when condition for when polysweet is installe?

#

installed*

vernal crest
#

Yes, that.

rigid musk
#

that's such a clever idea

vernal crest
#

Only polyam mod I will accept is EnderTedi's because it allows for configurable polyamory.

lucid iron
#

yea but you have to also beat the feature that makes all characters romancable right

rigid musk
#

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

lucid iron
#

so i think the reject is also needed

vernal crest
#

By configurable I mean I can make it so Hiria is not polyam in any way in Tedi's mod (I am pretty sure).

lucid iron
#

should button get around to making the set npc relationship trigger action then u can use that too

vernal crest
lucid iron
#

married and then instant divorce AnnelieStare

rigid musk
#

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)

vernal crest
#

I will probably need C# anyway because I am making Hiria not marriagable through normal game means anyway.

lucid iron
#

no if the thing dennis is trying works out then u wont need additional C#

gentle rose
vernal crest
lucid iron
#

ultimately though, i dont think you should be expected to do more than convey intention (this character doesnt want to poly)

vernal crest
lucid iron
#

determined person can go in and make edit

rigid musk
lucid iron
#

it is same as wanting anti cheat for sdv u know

vernal crest
#

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.

rigid musk
#

CH_FaceWhy if someone is that determined there really isnt anything I can do about that lmao

lucid iron
calm nebula
#

Rejwct item should woen tbh

gentle rose
# lucid iron it is same as wanting anti cheat for sdv u know

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

calm nebula
#

But I think polysweet does do stuff like copy and paste large parts of game code

#

If I ever come out of retirement

gentle rose
#

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)

brittle ledge
#

SDVpufferthinkblob 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)

modern pebble
#

How long have you guys been modding?

gentle rose
#

idk, I'm sure plenty of characters don't want to adopt a kid with the farmer SDVpuffersquee

rigid musk
brittle ledge
#

SBVLmaoDog I mean yeah, by that token there's probably some characters that are okay with polyam but not okay with adopting

gentle rose
modern pebble
brittle ledge
rigid musk
modern pebble
blissful panther
#

My first Stardew mod! SDVkrobusgiggle

rigid musk
vernal crest
#

I am at just under a year now

modern pebble
lucid iron
#

like 8 months

brittle ledge
#

...actually wait, it might be five years

gentle rose
rigid musk
#

almost three years yippie

modern pebble
#

Skyrim 💀

vernal crest
#

If it was too quick to learn I'd already be bored and gone by now lol

modern pebble
brittle ledge
#

okay yeah it is four years, I was solidly in 1.5 territory SDVpuffersquee

calm nebula
brittle ledge
gentle rose
modern pebble
rigid musk
#

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

lucid iron
#

oh i guess its actually 9 months now

rigid musk
#

that's scary

lucid iron
#

283 days since june 20 2024

rigid musk
#

/silly

gentle rose
#

governor user info SBVLmaoDog

calm nebula
vernal crest
#

If you count when I first started editing mods for my own use...2021! But then a 3 year break lol

modern pebble
calm nebula
#

But none of my mods work currently on 1.6 anyways and I have no desire to bring them back

lucid iron
#

Ms Qi...

gentle rose
whole raptor
#

March 2021 for me... damn... how SDVpuffereyes

modern pebble
#

Ye

lucid iron
#

you could prob start from just doing ms qi for vanilla

brittle ledge
#

Lily, yours is compatible with Mx. Qi, isn't it?

modern pebble
rigid musk
whole raptor
#

I'm actually curious how many mods add stuff for Qi SDVpufferthink

gentle rose
rigid musk
modern pebble
rigid musk
lucid iron
gentle rose
#

here's how it looks for Lily, for example

lucid iron
#

this one's anime enough to be ms qi to me

whole raptor
modern pebble
vernal crest
lucid iron
#

oh i shuld update my wiki page

gentle rose
#

you're all always using the same device type as me, right? /lh

vernal crest
#

I really need to add Apollo to my mods list. Maybe that would help him get some more love.

rigid musk
#

It was mildly annoying specifically for the fact of having to do the two sprite sheets but it wasnt that bad really

whole raptor
blissful panther
#

(Thanks, Nexus. There's an update available for my own mod!)

whole raptor
gentle rose
crude plank
#

How else would you know about it??

lucid iron
#

they all start with S

rigid musk
#

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

crude plank
#

Schu

lucid iron
#

but yea i just havent updated in a long time

crude plank
#

You shouldkyuuchan_nod2

lucid iron
#

i did

hard fern
#

I havent updated my wiki page in a long time...

rigid musk
#

my assets folder is so neat now...

hard fern
#

But i want to wait until i release a mod im proud of

crude plank
#

You didkyuuchan_nod2

rigid musk
#

point you should be proud of everything you release because you're creating something and that's amazing

lucid iron
#

i am proud of all my children Dokkan

#

except pre-2.0 mcp that one is dumpster fire

hard fern
#

I mean a lot of the ones on my wiki page ive since hidden on nexus

#

Since they're old and need updates

brittle ledge
rigid musk
whole raptor
vernal crest
#

Woo, Apollo is now present 😌

brittle ledge
#

I am either proud of mine because they're good, or proud of mine because they're good shitposts SBVLmaoDog

calm nebula
#

Or myself

rigid musk
brittle ledge
gentle rose
brittle ledge
rigid musk
crude plank
lucid iron
#

tia who is competing for the spot of your third child DokkanStare

whole raptor
#

Where can we update the wiki again..? 😅

vernal crest
#

I wonder how it is going to handle everyone trying to edit it at once lol

calm nebula
#

Badly!

gentle rose
#

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 SBVLmaoDog

calm nebula
#

Take turns

lucid iron
#

for these occasions

calm nebula
#

Call out locks

#

Go make lunch

whole raptor
#

I'm not in a hurry SDVpufferthumbsup

lucid iron
#

so is wiki on a SVN adjacent model then

gentle rose
#

something something semaphores

calm nebula
#

Chue, I found out something cursed about svn

#

Guess how svn keeps track of what files are currently locked

vernal crest
#

Whew I must have started my edit just after chu finished theirs

calm nebula
#

If you said sqlite db

#

You win

gentle rose
lucid iron
#

yea but if this was sensible version control it'd be merging on diffs

lucid iron
#

i dont need this terrible knowledge take it back

vernal crest
#

Good news I did not break chu's edit

gentle rose
brittle ledge
vernal crest
#

How on earth did I fail to find RWE when I was adding every dialogue mod known to man to my game last year

whole raptor
#

Should I put Statue Shorts as my 3rd mod... of course I should, the dumber the mod the better SDVpuffersquee

rigid oriole
#

Why is there a bot command to slap ppl i almost accidentally slapped poor Tia through a misclick on mobile

crude plank
#

What does a slap even mean

calm nebula
rigid oriole
#

Oh it's banned

#

Probably wise

calm nebula
#

I like how your allergies, specifically, are a mod

whole raptor
#

I'm more concerned about this one SDVkrobusgiggle

calm nebula
#

(I know what it is really but lol)

rigid oriole
#

I don't even have any allergies irl

#

Stay silly

calm nebula
#

Specifically, your allergies

rigid oriole
#

(Spa)

rigid oriole
#

And now I don't wanna change it bc bzpa was a nice prefix for unique ids for console commands and things

lucid iron
#

i still dont get how to see ppl's profiles

brittle ledge
vernal crest
brittle ledge
#

Maybe I warned you off it by telling you about my overhaul of it SBVLmaoDog

vernal crest
gentle rose
#

weirdest thing I found out is that moiph (uberbot dev) was actually IN this server near the beginning

#

as far as I can tell

rigid oriole
vernal crest
lucid iron
#

oh it updated real fast

rigid oriole
lucid iron
#

ddos the wiki...

rigid oriole
#

Do not!

vernal crest
#

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

brittle ledge
#

(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 SBVLmaoDog

lucid iron
#

mossss

#

the moss calls thee

calm nebula
#

Consider: lichens

golden spire
#

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

rigid oriole
#

Very important niche

golden spire
#

"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

whole raptor
#

We need more dumb mods

calm nebula
#

Is it bluesky now

golden spire
#

depends on the person

whole raptor
#

I'm so glad Twitter or anything of the sort was ever popular in my country...

rigid oriole
flat sluice
whole raptor
rigid oriole
#

Idk why I made it tbh. I had the thought "rocks r heavy" and then in one afternoon I had the mod lol

vernal crest
flat sluice
# vernal crest 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.

vernal crest
lucid iron
#

36*999 anvils

calm nebula
#

and yet

#

not one of alex's dumbbells

golden spire
calm nebula
#

brb, making an "alex's dumbbells" mod

lucid iron
#

he painted those on the floor

#

ofc u cant move em

whole raptor
#

Good to know SDV has anvils now SDVpufferthink

calm nebula
#

(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

flat sluice
# vernal crest Then you need `RejectItem_(O)ApryllForever.CPPolyamorySweet_MermaidBouquet` (if ...

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}}"
      }
    }```
lucid iron
#

You can send ur jsons by the parser if u want

#

It'll be easier to read

vernal crest
#

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.

flat sluice
vernal crest
flat sluice
#

"RejectItem_(O)ApryllForever.CPPolyamorySweet_MermaidBouquet": "bla"

vernal crest
# flat sluice It is the i18n.

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?

flat sluice
whole raptor
flat sluice
#

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.

whole raptor
#

Any reason why Rasmodius is "Mr", but Rasmodia is just "M."? SDVpufferthink Just out of curiosity

vernal crest
#

It's amusing because "M." actually stands for Monsieur (in the real world) so it's male then too.

ornate trellis
#

unless its supposed to be Magistrate thonking

gray bear
#

the M stands for [microwave noises]

whole raptor
#

I mean M in Rasmodius context doesn't really stand for anything SDVkrobusgiggle

gray bear
#

he just added a letter to sound more mysterious

flat sluice
ornate trellis
#

he himself did state he forgot his name so maybe M is all he remembers from it...unless that sentence was from a mod

flat sluice
ornate trellis
#

as if I could remember anything well lmao

calm nebula
#

driveby

gray bear
#

you say that as i should be aware what is vanilla and what isn't

calm nebula
#

I'm gonna be really amused if this works

whole raptor
gray bear
#

what... what does this do

vernal crest
#

Don't kill the vowels, farmer!

calm nebula
#

(it's because the targetname for a slay quest is a string contains)

whole raptor
#

Depends on what you use in your events/dialogues, if it's always Mr. Rasmodius, you could use Ms. Rasmodia or something

gray bear
#

does this game end the farmer?

flat sluice
calm nebula
#

so basically, what I'm saying is this: if the monster name contains a vowel at all (and all English words do), count it

gray bear
#

learn your vowels with monster hunting

ornate trellis
whole raptor
# flat sluice So, ```` { "Name": "DT_wizard_name", "Value": "Rasmodia", "...

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 SDVpufferthumbsup

flat sluice
calm nebula
lucid iron
#

Is y a vowel now

calm nebula
#

Yes

rigid musk
#

sometimes y....

gray bear
#

who are we to say what is or isn't a vowel

ornate trellis
#

then is ä, ö and ü too?

lucid iron
#

Ï

gray bear
#

old mcdonald had a farm...

ornate trellis
#

(i know englisch was specifically mention i jsut jest)

calm nebula
#

I mean you can trivially get around ut by making your monster's internal name be in Chinese

brittle ledge
#

(/lh)

brittle ledge
lucid iron
#

This is the failure objectives i think

#

To enable something like

  • reach floor 100 skull cave
  • without killing more than 10 monsters
brittle ledge
#

ohhh SDVpuffersquee

gray bear
#

there's no monster names without vowels

brittle ledge
#

(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)

rigid musk
#

pondering 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

gray bear
#

[coughs in sc elevator]

flat sluice
calm nebula
#

....hmmm

#

....hmmmmmm

rigid musk
#

heh 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...

brittle pasture
#

yeah you can't, this is part of atra's slightly more dehardcoding

rigid musk
#

dont get ideas you're retired remember

gray bear
#

i dun think that's how being retired works

ornate trellis
#

anti scope-creeping? and I have to witness that with my own two eyballs?

#

wasnt aware I slipped into bizzaro world thonking

rigid musk
#

if they get ideas they'll stop being retired that's how it works /silly

gray bear
#

lily you just invented anti scope-creep

rigid musk
#

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 evilcat

gentle rose
gray bear
#

what , what even is that

gentle rose
#

.g crwth

patent lanceBOT
#

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...

gray bear
#

KROOTH

gentle rose
#

bug: Cwtch Crwths don't count for the pacifism quest

calm nebula
#

the fact that special orders lack moddata or guids is annoying

#

tbh

brittle pasture
#

quick, there's still time to make it inherit IHaveModData in 1.6.16

calm nebula
#

you ask pathos

gentle rose
#

IHaveModData, UHaveModData, WeHaveModData

brittle pasture
#

(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)

calm nebula
#

active at the same time

gentle rose
#

does anyone else see guid and immediately think graphical user interfacedentifier

gray bear
#

(i see it and think guild but i am a worm on a string)

spiral lion
#

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

ocean sailBOT
#

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

gentle rose
ornate trellis
#

git guid

gentle rose
#

genuinely thought that was a real git command for a sec

vernal crest
calm nebula
#

okay, your default arrival tile is in the middle of nowhere

#

555 would be giant

vernal crest
#

Yes, all their coordinates are really weird

calm nebula
#

(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

spiral lion
vernal crest
#

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.

calm nebula
#

so, all your coordinates are really weird, and tbh that's probably part of why nothing is working

#

you should be using tile coordinates

spiral lion
spiral lion
gentle rose
#

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.

spiral lion
#

Thank you all so much ❤️ I will try it and see if it works ❤️

gray bear
#

are these the tile coordinates? (genuine question btw)

ornate trellis
#

yes

calm nebula
#

you should not be loading someone else's tilesheets

#

their mod should be loading it already

gentle rose
gray bear
#

i mean i don't think there's another way to add modded tilesheets to maps

calm nebula
gray bear
#

oh wait u meant the code

calm nebula
#

(they're loaded in the content.json, which seems...weird)

gray bear
#

yeah they shouldn't be there. sorry atra i didn't understand

spiral lion
#

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

gray bear
#

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

spiral lion
#

Okay! When i use "tiled" which tilesheets should i select?

gray bear
#

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.

spiral lion
#

Okay! So i remove them when I am finished? 🙂

gray bear
#

yes!

#

btw dottie, which program are you using to edit the art?

craggy cape
#

pixlr, not the best but it wors

#

works*

jagged sun
#

Guys is there anyone here who makes mods?

calm nebula
#

no

#

no one here makes mods

vernal crest
#

Lol

craggy cape
#

lmaoo

rigid musk
#

not at all actually

jagged sun
#

Im new

vernal crest
#

Atra don't be mean

calm nebula
#

try r/smapi ?

patent lanceBOT
calm nebula
#

I'm being sarcastic 😛

vernal crest
#

Yes we all make mods

jagged sun
#

Can I give a suggestion of the mod I always dreamt?

vernal crest
#

Nope

gray bear
vernal crest
#

!modideas

ocean sailBOT
#

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.

craggy cape
#

i got the coords dw

jagged sun
#

Wait where to add my suggestion?

ocean sailBOT
#

@jagged sun You leveled up to Cowpoke. You can now speak in our voice channels and share images in all channels!

rigid musk
#

congratz on the level up

jagged sun
#

I need to download github?

rigid musk
#

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

vernal crest
#

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.

gray bear
#

i think you might need an account for the suggestion?