#making-mods-general

1 messages · Page 360 of 1

hallow prism
#

!json

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.

gloomy bane
#

like The whole content.json?

hallow prism
#

if it's where this part is, yes

#

if it's somewhere else, put the relevant file

gloomy bane
#

Here it is... XD

patent lanceBOT
hallow prism
#

i will not look at it if not linked properly myself, altought others may

gloomy bane
#

Ohhhh wait... How to link it? Sorry I'm noob T.T

hallow prism
gloomy bane
#

Did I do it right?

hallow prism
#

is "ponceau" a word even used in english or is wikipedia using a french word and forgetting to translate it?

vernal crest
#

Almost. Don't put it in a code block or it won't turn into a link

patent lanceBOT
calm nebula
#

I guess it's an art term

hallow prism
#

well it can be just someone doing like me, using french words and hoping they exist in english too 😄 joke aside, even in french i didn't hear this word previously

#

so

#

Carlisle, basically what are you trying to do? having a sort of event when player can accept/reject the npc, and with this specific answer not being working properly?

#

it works for other npcs?

vernal crest
patent lanceBOT
gloomy bane
#

Yes, Actually, It works on other NPC but not with Elliot and Harvey. Yes, It's an old mod, and recently trying to update them. I'm not a seasoned Modder and just wanted to update them so It can be playable.

calm nebula
#

your issue is that you use NextlevelRejected_Elliott in your event and NextLevelRejected_Elliott in your dialogue

#

note the difference on capitalization of the word "Level"

gloomy bane
#

Ohhhh!!!!

gloomy bane
#

THANK YOU!

hallow prism
#

thanks atra, i searched for a typo but missed the capitalisation difference

calm nebula
#

I'm an old, grumpy hat lol

#

this is why we insist on having a standard for capitalization

#

now, lawn, off my, coffee, insufficient, I'm a rainbow.

hallow prism
#

do we also have a standard for use of comma? 😄

patent lanceBOT
gloomy bane
hallow prism
#

Iridescence (also known as goniochromism)
(wikipedia)
not by me! I will probably forgot the word entirely in 3 minutes

#

(trying to find a word to describe a bug)

#

maybe glitter would work

drowsy pewter
#

hey !

#

i had something funny to say for .q 6480

calm nebula
#

sorry

drowsy pewter
#

hahahaha

slow basin
#

May i ask, Im thinking of slowly bulding my mod over time to its full realization (it will contain at least one shop, a handful of recipes and foods, multiple characters and one new location (just like a single house with maybe 3 rooms for 3 characters it wont be very big)

and i might add in some mail in there 2 and a purchasable pet BUT

idk if i should release it at phase 1: house location and 2 NPCS and update along the way, or if i should just wait and full release it

hallow prism
#

both are valid approaches

#

i suggest aiming for the first, because it's easier to do that then change plan, than cutting content if you aim for the second

slow basin
#

🙂‍↕️

#

alright

hallow prism
#

as long as your initial release has enough content to feel whole then you should be good

slow basin
#

alright! thank you :3

#

It'll probably be a hot minute before I release even phase one as I work on dialogue and events and suh but im excited to get it done ^-^

hallow prism
#

yeah i know how it is 😄

#

good luck!

opaque field
#

I can’t for the life of me get Shane’s gift dialogue for PepperPoppers to work inside the Jojamart. Everywhere else? It works. When I patch export? It shows my dialogue. I have 0 other dialogue mods installed.

#

Also even though I have all my assets for my maps in one folder it’s still giving me the red string about invalid tilesets 😭😭

hallow prism
#

which red string?

#

in tiled or in game?

#

no idea what's going on on joja mart, but a log may help

opaque field
#

I'm loading a new one now

harsh bobcat
vernal crest
#

@outer glacier We get a Junimo to come give you permission first

calm nebula
#

I would temporarily null out Shane's jojamart dialogue

opaque field
ocean sailBOT
#

Log Info: SMAPI 4.2.1 with SDV 1.6.15 build 24356 on Unix 6.8.0.60, with 18 C# mods and 6 content packs.
Suggested fixes: One or more mods are out of date, consider updating them

hallow prism
#

ok so your map issue is climbing tilesheet issue

vernal crest
#

That's a definite tilesheet climb

hallow prism
#

!climbingtilesheet

opaque field
#

right but all my assets are in one folder

hallow prism
#

command bot hates me

vernal crest
#

!tilesheetclimbing

ocean sailBOT
#

When creating or editing maps in Tiled, one common error is tilesheet climbing, marked by red text containing "invalid tilesheet path '../../..'. This is caused by SMAPI not being able to find the tilesheets needed by the map file. To prevent this error, make sure that you have a copy of all necessary tilesheets in the folder containing your WIP tmx file. Copies of vanilla tilesheets can later be deleted, but must be present while working on your map.

If you get this error with a completed map, an easy way to fix it is to open your tmx file in VS Code or a similar text editor, find all of the places with <image source=, and remove the filepaths to so that only the tilesheet names remain. For example, if the code says <image source="Content (unpacked)/Maps/townInterior_2" width="512" height="64"/>, change it to just <image source="townInterior_2" width="512" height="64"/>.

hallow prism
#

...

opaque field
#

and when I edit the tileset it shows that the one I have selected is the asset within the same folder T.T

#

I'll keep trying it though

blissful panther
vernal crest
#

Try editing it with a text editor like Governor says

harsh bobcat
#

okay! since it asks for discord id I assume it's automated [since that feels like something you could use for automation]? if not then I did it

blissful panther
vernal crest
#

Nah the discord ID just lets us snoop your mods lol

blissful panther
#

Yeah, it's entirely manual.

vernal crest
#

Yup I had to remind a certain someone to give me my pixelsmith role SDVkrobusgiggle

harsh bobcat
#

and the github is lvl 50 so I need to do more chatting for that right?

blissful panther
opaque field
#

ah! I haave a new error now. Failing successfully

ocean sailBOT
#

Log Info: SMAPI 4.2.1 with SDV 1.6.15 build 24356 on Unix 6.8.0.60, with 18 C# mods and 6 content packs.
Suggested fixes: One or more mods are out of date, consider updating them

blissful panther
hallow prism
#

not sure why your path is so long

#

you may want to provide the log

#

json i mean

vernal crest
#

(It's not particularly exciting though. You just get to access the decomp while you're not at your computer)

hallow prism
#

!json

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.

opaque field
#

oh like the content.json?

blissful panther
vernal crest
#

Ah, that error is, I'm pretty sure, because you accidentally deleted the height and width of your tilesheet when you were fixing the name

harsh bobcat
vernal crest
opaque field
harsh bobcat
#

like, I have a mod whose harmony patches only work on windows and so I'd like to be able to just edit code and build it to make it work on mac (because it's annoying that I can only use it in a virtual machine)

#

(not published because it's even more hyper specific than the one I have published)

vernal crest
harsh bobcat
#

(or I guess equal levels of hyper-specificity; that mod at least somebody [blade] asked me for)

opaque field
vernal crest
#

A tsx just holds the tileset data in a file separate from the tmx, whereas if you embed your tileset into the map all that data lives directly inside the tmx

#

IMO there's no advantage to having a separate tsx except when you want to transfer a tileset from one map to another and even then I think it should only be separate for as long as it takes to export it from map A and then embed it into map B.

#

If you want to use the json parser to share your tsx and tmx I can probably point out the problem directly

opaque field
#
<tileset version="1.10" tiledversion="1.11.1" name="town interior" tilewidth="16" tileheight="16" tilecount="4352" columns="32">
 <image source="../../.steam/debian-installation/steamapps/common/Stardew Valley/Mods/[CP]Tester The Wolf/Assets/Maps/.townInterior.png" width="512" height="1088"/>
</tileset>```
vernal crest
#

(This is not the json parser)

opaque field
#

when I tried to put it in there it said it was invalid T.T I'll try again

vernal crest
#

It didn't even let you upload it?

opaque field
#

ah! I got it this time. Don't know why it fussed the first time.

vernal crest
#

I thought it would just scream at you

#

Either way, both your tsx and tmx still have all your tilesheet file path climbing. Did you actually fix that?

#

(By which I mean, did you forget to save, perhaps? Or maybe did something with the tilesheet in Tiled and accidentally broke it again afterwards?)

opaque field
#

I thought I did.... Ok here's the fixed TMx

vernal crest
#

Would you like help embedding the tsx or just getting the tsx working for now?

opaque field
#

If I can get this map to work, I can script the last event I need that goes there haha

vernal crest
#

Yes they both look better now

opaque field
#

Halleloo. Testing now.

gentle rose
#

aaaaaba. hi

vernal crest
#

Hiiii iro

gentle rose
#

I’m contemplating updating the console commands page on the wiki because I did a deep dive into the c# for it earlier today

#

and realised the page doesn’t say which commands are vanilla and which are SMAPI

fading walrus
#

Dew it

vernal crest
#

Yes that'd be helpful for knowing which ones can be used in vanilla with chat cheats

gentle rose
#

vanilla as in with smapi but no mods is all of them tbf but I went searching because I was testing something on ios SBVLmaoDog

vernal crest
#

Yeah but I meant vanilla as in vanilla anyway

scarlet ether
#

Morning, all. Anyone familiar with Khloe's Theme Manager? If so, do you know if it's possible to disable certain variables like $SkillsPageMasteryProgressBorder and, if it is possible, how to do it?

opaque field
#

It's still a little rough around the edges.... but I published my mod today

scarlet ether
#

@rancid musk Sorry if I'm bothering you, but would there happen to be a setting to disable certain variables in Theme Manager, or an option to use alpha channel instead of RGB for things like TextShadow and $SkillsPageMasteryProgressBorder?

stark spindle
light jasper
#

@rancid musk does CloudySkies return IWeatherData for vanilla weather as well, or will it be null if it's vanilla?

opaque field
#

There’s a little 7 event prologue and then there are 3 different paths you can end up on depending on how you answer in the first part

#

It got too big to send through discord to the people who were beta testing it with me 😭

quartz arrow
stark spindle
vernal crest
opaque field
rancid musk
# scarlet ether <@335279695673163776> Sorry if I'm bothering you, but would there happen to be ...

Disable certain variables? There's no setting like that. Not sure why you'd need one? The problem with alpha channels is that MonoGame uses pre-multiplied alpha, but you should be able to specify a color with an alpha value using hex or a tuple of four numbers. Also you can try prefixing a color with premultiply: to make Theme Manager do the premultiplication for you. So something like premultiply:#ff000080

rancid musk
opaque field
#

Remind me where I can post a link for the mod for people

stark spindle
vernal crest
# quartz arrow like this? (tho im getting a dif error now) https://smapi.io/json/content-patche...

Yup now the new error is because you don't have enough brackets. If you click on/hover over each bracket it will show you which other bracket it's paired with.

If you do that with the one on line 3 you will see that although it's the third bracket in the file, it's paired with the very last bracket in the file which it shouldn't be. If you add a closing curly bracket between lines 58 and 59 you'll see the bracket on line 3 will change to be paired with the new one you've just added.

sterile dirge
#

Time to work on my first heart event SDVpufferthumbsup

opaque field
opaque field
vernal crest
sterile dirge
vernal crest
opaque field
#

I also volunteered one of my old saves as a “how does it work on my old hella modded stuff” and then made a blank save and kept adding mods until something went weird but also yeah probs hard to break that bad

stark spindle
ivory plume
#

(If you find a way to break a save with a content pack, let me know and I'll look into fixing it. Except bundles since those are cursed.)

patent lanceBOT
stark spindle
vernal crest
#

I have never managed to break a save and I not only do lots of wacky things myself but I also test a lot of other people's mods at varying stages of brokenness. I've also added pre-broken saves to my game from users and un-broken them. They really are very robust.

#

(Plus every user playing with mods should always have the save backup mod anyway so even if something does ruin a save they should have plenty of backups)

#

(Clarification: the save data itself is potentially not robust at all, I have no idea. But our modding tools like SMAPI and CP are very good at not letting things break saves.)

stark spindle
#

Yeah true. In fairness Ive never broken one with all of the wacky mods ive used in my own games before. It was just was a bit of a fear. Are there commonly overlooked things I should watch out for when releasing something?

ivory plume
#

(The save data is fairly robust in Stardew Valley 1.6+. It was much less so in earlier versions, when a single broken entity could crash the game.)

#

(Though SMAPI's error handling helps a bit too. Each of those red errors you see in the SMAPI log would be a game crash without SMAPI.)

vernal crest
scarlet ether
#

@rancid musk Thanks, premultiply solved my font shadow problem.
The reason I asked about disabling variables was because of those ugly color overlays on the skills page. It would be great if they were able to be turned off.

#

Since they can't, any suggestions on how to make them go away?

stark spindle
vernal crest
#

Deleting your config.json before zipping it, making sure you delete any vanilla tilesheets from your mod folder and that any custom tilesheets aren't in the same folder as the map (if you're doing maps), taking good screenshots so your page looks good, including text on your mod page if you use image headers so people using screen readers can see the header text too (no alt text on Nexus)

rancid musk
calm nebula
#

You just make the page and don't hit publish yet

vernal crest
rancid musk
#

I'll be honest I haven't touched stardew in a bit now so I'm drawing a slight blank on which part of the skills page you're talking about.

stark spindle
#

O then maybe I did it wrong. I remember getting an error last time I tried to. Ill give it another go

ivory plume
# calm nebula Is this a challenge.

Yep, I'd be very interested in any new ways to do it. (There's a few fixed in 1.6.16, bundles are cursed, and there's one known softlock if you move the farmhouse out of bounds of the original farm map and then remove the custom farm map.)

opaque field
#

yay now I can focus on my next project which is my own little NPC Iggy and a Kuudere Maru cuz I feel like Maru needs more love

vernal crest
#

I have just learned the term kuudere

opaque field
#

I learned like, last week haha so many -deres out there

sterile dirge
#

Maru def needs more love ngl

#

Being a Seb simp I am guilty of ignoring her lol

opaque field
#

I only recently aknowledged his existance

#

like he's so cute and I love him but I am such a Shane simp its embarrassing. If it wasn't him or Sterling I didn't want it

scarlet ether
#

Basically the skill experience bars and skill level number. I'll fiddle with it a little more and see if I can figure it out. Thanks again for your help. :3

calm nebula
quartz arrow
#

Okay so I installed "Lookup Anything" to see if my Fish Pond quests/items were all good- and it looks like they are!

But now Ive noticed that my individual fish dont have listed "Spawn Conditions" even though I have noticed said conditions working within the fishing pool (through Visual Fish)

vernal crest
#

Have you shared your data/locations patch with me before?

quartz arrow
#

..maybe? i can grab it now tho!

calm nebula
quartz arrow
#

oh ok! I noticed the vanilla fish had the locations/times so i was worried i had something wrong but like xD they spawn in the right places and times

calm nebula
#

Yeah, your code looks right

#

Don't worry about LA

vernal crest
#

Wait but I was using LA with modded fish to figure out when and where to find them

quartz arrow
#

i wonder what the difference is between the mods that worked with LA for you and my code spinthink

hallow prism
#

it may just not like stuff like GSQ

#

or similar very variable conditions

quartz arrow
#

ok ok so my mod adds fish and a few gems/minerals/artifacts (just enough to fill up the empty spots in the vanilla museum LOL)

Here's what I've tested so far!

  • Fish ponds, their quests, and what they produce
  • That the fish spawn in the right location/time/conditions (albeit I didn't check every single one but the ones I did check were all working)
  • That the artifacts have a chance of being in the correct artifact spots
  • That my gems/minerals come out of the geodes I assigned them to
  • That my sapphire node correctly spawns in the mines
  • That the crystalarium works (I assume it has a default time for each gem at the moment because I didn't add that myself xD but idk how to do that yet so I'll do it later)
  • That panning works for the items I assigned to it
  • Lookup Anything shows gift preferences for my items, too, so that appears to be working as well
  • The fish show up with Visual Fish

Can y'all think of anything else I should double check?

vernal crest
#

I would've thought the fish I was using it for were using GSQs for time because they were only available part of the day and so on but I can't say I ever looked at their data and I'm not condemning myself to another 5am bedtime by turning my computer back on to check now lol

hallow prism
#

let me see for the timing in crystalarium

quartz arrow
calm nebula
#

Fair!

quartz arrow
#

(the overlap being like a Surgeonfish from what I can tell)

hallow prism
#

        {
            "LogName": "TimeChange",
            "Action": "EditData",
            "Target": "Data/Machines",
            "TargetField": [
                "(BC)21",
                "ReadyTimeModifiers"
            ],
            "Entries": {
                "Lumisteria.MtVapius_Amber": {
                    "Id": "Lumisteria.MtVapius_Amber",
                    "Condition": "ITEM_ID Target (O)Lumisteria.MtVapius_Amber",
                    "Modification": "Set",
                    "Amount": 1400.0,
                },
                "Lumisteria.MtVapius_AmberFern": {
                    "Id": "Lumisteria.MtVapius_AmberFern",
                    "Condition": "ITEM_ID Target (O)Lumisteria.MtVapius_AmberFern",
                    "Modification": "Set",
                    "Amount": 9000.0,
                },
                "Lumisteria.MtVapius_Demantoide": {
                    "Id": "Lumisteria.MtVapius_Demantoide",
                    "Condition": "ITEM_ID Target (O)Lumisteria.MtVapius_Demantoide",
                    "Modification": "Set",
                    "Amount": 2280.0,
                },
                "Lumisteria.MtVapius_Carnelian": {
                    "Id": "Lumisteria.MtVapius_Carnelian",
                    "Condition": "ITEM_ID Target (O)Lumisteria.MtVapius_Carnelian",
                    "Modification": "Set",
                    "Amount": 3960.0,
                },
            },
        },```
(short version)
quartz arrow
#

ooh is that for the crystalarium?

hallow prism
#

yes

quartz arrow
#

tyvm!

hallow prism
#

sure

quartz arrow
#

that worked so woo!

#

ok ok so i wrote my Fish Code a few months ago and im trying to re-remember what it all means

I know everything up until the weather component, but what are the numbers that follow? Which one pertains to location?

#

(for visual)
"Pufferfish/80/floater/1/36/1200 1600/summer/sunny/690 .4 685 .1/4/.3/.5/0/true"

#

WAIT jk sorry i finally found the wiki page

quartz arrow
#

i forgot to update my fish from LMTD_(Fish) in locations to {{ModId}}_Fish

#

so now the data shows up with LA <3

#

its not showing the Coelacanth's weather conditions for some reason, but it shows the Surgeonfish's weather conditions xD they both work in their spawn locations as defined by their weather BUT at least LA shows their time/location/most of the info

#

now spinthink ive figured out how to add something to a crab pot... i watned to add a frog into the freshwater loot pool but also i wanna release the mod...

Maybe i'll just add the frog in a future update lol

jade pumice
#

hello to all ! i hope this is the right place to this question, im very bad with big servers like this orz

anyway, im trying to find grandpa's sprites (the one that slides down the screen when he gives his evlatuation, or when he appears with Mr.Qi that one time)

my goal is to edit the sprites and make him into a goat anthro to match my farmer for a future playthrough 😌 i've already located his portraits and the intro cutscene ft. The Bed, but all i've found in the Characters/Grandpa xnb is. a single white pixel ? i dont know where else to look, can anyone help me ?

brittle pasture
#

near the bottom right

quartz arrow
#

Cursors2 has him also!

#

booo George

brittle pasture
#

spambots are numerous today

quartz arrow
#

smh they just want a smidgen of the power held in Stardew

#

It looks like Cursors has him with his hands held together and Cursors2 is him with his hands by his side (correction it IS from the thumbs up scene)

brittle pasture
quartz arrow
#

grandpa hiding everywhere

half tangle
#

I'd have to check the code, but Cursors2 might be used in the perfection summit scene

keen seal
#

Alright I’m taking a break from poking my code bc I’m annoyed with it, but how on earth do I get it to recognize the provided asset for a custom item?? Was trying to get my warp item just baseline in the game before I started on the space core aspects of it and everything but the asset is working SDVpufferflat SMAPI is throwing a “asset doesn’t exist” at me each time I pull it up in the item spawned and I’ve tried every combination in the texture field + organization in the mod folder I can think of

brittle pasture
#

did you load it

#

!json post your code

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.

keen seal
#

Completely forgot about that, ach XD I’ve got it, thank you

jade pumice
opaque field
#

This feels silly to ask but can furniture be 16x16 or does it have to be bigger? I want to make my Chicken stuffies placeable decor

brittle pasture
#

sure

opaque field
#

oh, perfect! time to tinker

light jasper
#

@nimble marlin Is Weather Wonders open source? I got a request to provide compat and I wanted to take a peek if it's on github or somewhere.
I just added compat for CloudySkies, was wondering if there was any other compat API I needed to hook into

opaque field
#

how does one patch export NPC gift tastes? I want to change it so Shane loves Blue Jazz Flowers cuz Jazz/Jas

#

characters/gifttastes?

light jasper
#

I've made a mistake somewhere, I can tell. My intuition is never wrong

urban patrol
#

i’m not at my computer right now, but it’s whatever the filepath is in the unpacked game

#

i think it’s Data/NPCGiftTastes but i’d have to check

opaque field
#

itis!

#

ty

quartz arrow
#

am i allowed to share my published mod here

round dock
#

(yes!)

uncut viper
#

encouraged to, even, as long as it abides by server rules

round dock
#

As long as it abides by the server rules, it’s best to link on #modded-stardew

hallow prism
#

current WIP

quartz arrow
#

Ooooh

#

Those are cool

hallow prism
#

thanks!

sterile dirge
#

Those look awesome!

quartz arrow
#

the next lil mod i wanna make is a Rarecrow texture mod spinthink

torpid sparrow
#

does anyone know where the tea set is? need the png for maps

hallow prism
#

springobjects

torpid sparrow
#

thank you!

hallow prism
#

sure

torpid sparrow
#

ive never seen this before in game

#

the middle one above rock candy

hallow prism
#

staring at springobjects in search of an item is a classic of modding

#

it's likely the broken melon, unused

torpid sparrow
#

fun!

hallow prism
#

there are some of those for various veggies/fruits

torpid sparrow
#

i see meat

quartz arrow
#

ah yes the unused meat files

hard fern
#

Yeah, thats where all those meat mods get their sprites

torpid sparrow
#

i wonder how meat would have been implemented

hard fern
#

Butchering?

quartz arrow
#

i think he almost had butchering in game if i remember right ye

urban patrol
#

that’s also where some unused sound cues would have gone

fading walrus
#

there were plans to introduce butchering, yeah

#

he didn't do it in the end because it didn't fit the vibe

urban patrol
#

which i’m glad they didn’t, they’re pretty awful sounds lmao

quartz arrow
#

"cute animals, quaint lil town, bloody murder of your beloved cows-"

hard fern
#

A little too "real" for a farming game where you're escaping from the stress of city life

#

Lol

quartz arrow
#

no fr lol

ocean sailBOT
#

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

quartz arrow
#

EYYYY

hard fern
#

Blue

quartz arrow
#

blue nodnod

torpid sparrow
#

more sprite questions....anyone know where the tea bush and garden pots are

hard fern
#

Garden pot is in craftables

opaque field
#

I changed my buffalo chicken dip recipe cuz I was too lazy to implement the meat so it’s just buffalo crab dip now lmao

quartz arrow
#

tile sheets has bushes!

hard fern
#

For the tea bush check bushes?

quartz arrow
#

tea bush is in there can confirm

torpid sparrow
#

thank u!

opaque field
#
    "Changes": [
        {
            "Action": "EditData",
            "Target": "Data/NPCGiftTastes",
            "LogName": "Gift tastes: Shane",
            "TextOperations": [
              /*Love*/
              {
                "Operation": "Append",
                "Target": [
                  "Fields",
                  "Shane",
                  1
                ],
                "Value": "202  {{ModId}}_SilverDogTag 178 ",
                "Delimiter": " "
              }
      ]
    }
  ]
}```
#

ok, so from the wiki this seems to be the way to edit gift tastes but he still hates them

#

tried giving him hay and he was like 'don't give me your garbage man"

hallow prism
#

hmm

ornate trellis
#

did you do patch reload if you kept the game open? did you do the include in case this is an extra json? its a bit hard to figure out if theres not much context

hallow prism
#

i believe it should be targetfields

hard fern
#

Yrs

hallow prism
#

and not target fields

opaque field
#

oooh, okay cuz I do have the include

hallow prism
#

ah wait

#

no this is correct

#

my bad

ornate trellis
#

and theres no error in the log?

opaque field
#

wait I had a load not an include

hard fern
#

Oh

opaque field
#

no I didn't see any errors in the log but let me try it with the include instead of the load

hallow prism
#

you can try a patch export Data/NPCGiftTastes to check what is actually applied

opaque field
#

do I need a load and an include or just the include

quartz arrow
#

Lookup Anything could maybe help you also see if its appearing on the backend at all

ornate trellis
#

if you have the gift tastes in a seperate json from your content.json then you need the include

opaque field
#

it is in a separate json - my content.json is getting kinda cluttered

quartz arrow
#

ok firstly, thank you for posting this Caracal cause it reminded me to check my own gifting NPC file and update it with the {{ModId}} tags LOL

ornate trellis
#

then you need to include the json

quartz arrow
#

does it need to be (O)202 maybe?

opaque field
#

okieI have { "LogName": "Gift Tastes", "Action": "Include", "FromFile": "Data/ShaneGiftTastes.json" },

ornate trellis
#

oh i didnt even get beyond the top part of what was posted

quartz arrow
#

idk if im totally off base lol

#

but i think a lot of my vanilla IDs needed the (0)

ornate trellis
#

your value does have a double space too

#

id throw your json into the validator

opaque field
#

word, will do

quartz arrow
#

oof ok now to write down (in better detail) what each of my items does gifting wise xD

keen seal
quartz arrow
keen seal
#

AH

quartz arrow
#

your first { doesnt have a close rn and the one after Changes is closing at your last }

keen seal
#

thank you!

quartz arrow
#

np!! (i also had this error in a few of my files LOL)

ornate trellis
#

brackets are everyones enemy tbh

opaque field
#

IT WORKED

#

oh my god now I have to go in and add 10 tapes 10 dog tags and 10 darts and 10 chickens.

hard fern
#

Oh boy

hallow prism
#

???

opaque field
#

So each custom path gets a gift set and I want to add them all to his loved gifts. Regardless of path I also send chicken plushies and want to add those too

#

My ideas start so simple (add a flower to his loved) and then BAM it evolves (add all my custom items and the flower)

#

Ok the itch has been scratched and I can go back to squinting at the ‘make an NPC’ wiki

quartz arrow
#

helll yeah!

#

man a plushie mod is such a good idea 😭

keen seal
quartz arrow
#

imagine if you could add plushies into the claw machine :O

#

so it'd look like ->

    },
   ],
}```
#

ish

opaque field
keen seal
quartz arrow
#

hmmm we are now beyond my skill level LOL tho the bracket def was missing originally

keen seal
#

fair! i appreciate the guidance

quartz arrow
#

also tho ooh a warpstone?? to a cool new village???

proven spindle
urban patrol
#

what program do you use? i recommend using something that highlights bracket pairs for you

proven spindle
#

I've been experimenting with it a bit bc I want to add some books in there

#

Haven't gottent them to show up yet though

quartz arrow
#

OH yeah you had your JSON format set to "None"

quartz arrow
urban patrol
#

no that wasn’t the issue, the issue was the brackets

keen seal
quartz arrow
#

asdklf gotcha LOL learning a lot still LOL

#

ohhh i see how what i said wasnt quite right, i put the bracket in the wrong place too lol

urban patrol
#

weird! yeah i also use N++ but sometimes i guess you just need another set of eyes haha

keen seal
#

Yeah for sure! Thank you for the fix 💜

urban patrol
#

np!

#

what i actually came in here for: what are all the components of a romanceable NPC? so far i’ve got:

  • marriage dialogue
  • spouse room
  • 10-14 hearts events
  • marriage schedule

anything i’m forgetting?

quartz arrow
#

their portrait in the traveling cart!

hallow prism
#

festival dialogue (optional)

keen seal
#

wedding + flower dance sprites

quartz arrow
#

having a cute ass blushing portrait

hard fern
#

Spouse patio?

quartz arrow
#

God i miss my 1.6 perfection save and how cute Harvey was as a spouse 😭 but i ran out of things to do so it sits in perpetuity

urban patrol
#

aha! thank you all

#

i knew i would forget some lol

keen seal
#

Also kiss sprites!

#

still can’t get the asset to show up in game SDVpufferflat

torpid sparrow
#

oh shrimply said that

#

reading is hard

quartz arrow
keen seal
#

error icon

#

smapi is giving me this

quartz arrow
#

what does your Objects.json look like/wherever you have the main data for the gem

#

(i also had the error icon last night lol)

brittle pasture
#

!json pls

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.

keen seal
#

just trying to baseline get it to exist rn, not worrying about attainability outside the item spawner currently since its meant to be accquired via an event

#

and i am worrying about that after i get this working

quartz arrow
#

your "Texture" line hsould be the same name as your "target" line

brittle pasture
#

your load target is "Target": "thresholdcrest",, so you need to set "Texture": "thresholdcrest",

keen seal
#

GOTCHA

brittle pasture
#

I also recommend picking a more unique name with {{ModId}} in it to avoid collision

keen seal
#

THERE WE GO

#

thank y'all, i really appreciate it XD SDVpufferheart

quartz arrow
#

YAY

keen seal
#

gonna save making it a functional warp item via spacecore for later lmao, cause that will doubtlessly be its own interesting tangle

hallow prism
#

it's not too hard

#

        {
            "Action": "EditData",
            "Target": "spacechase0.SpaceCore/ObjectExtensionData",
            "Entries": {
                "Lumisteria.MtVapius_OwlCarving": { // The object ID
                    "TotemWarp": {
                        "Location": "Lumisteria.MtVapius_Hamlet",
                        "Position": "16, 61",
                        //"Color": { "R": 0, "G": 0, "B": 255, "A": 255 }
                    }
                },
                "Lumisteria.MtVapius_JunimoCarving": { // The object ID
                    "TotemWarp": {
                        "Location": "Lumisteria.MtVapius_ForestTrailPond",
                        "Position": "26, 31",
                        //"Color": { "R": 0, "G": 0, "B": 255, "A": 255 }
                    }
                }
            },
            "When": {
                "HasMod": "spacechase0.SpaceCore",
            }
        },```
keen seal
#

oh heck yeah! thank you

quartz arrow
#

its so helpful when others have already done the cool thing once and are kind enough to show you their work b_giveup_sob

keen seal
#

it really really is SDVpufferheart

hallow prism
#

sure! it's great to be able to spare others some of the struggles sometimes

keen seal
#

worked like a charm!!! thank you so much

#

also, just saw your comment on the reddit post i made abt this yesterday before joining here; there's a "consumed on use" property for the totemwarp function, true/false, so i've got it set to false and works just how i want it to

light jasper
#

Is there a built in utility method to get the quarry range on the map? All I could find was this rectangle

private void quarryDayUpdate()
  {
    Microsoft.Xna.Framework.Rectangle r = new Microsoft.Xna.Framework.Rectangle(106, 13, 22, 22);
hallow prism
#

great! i didn't look in too much details since i didn't need it

quartz arrow
#

hmmm so my GarbageCans.json looks like this--

    "Changes": [  
{
      "Action": "EditData",
      "Target": "Data/GarbageCans",
      "TargetField": ["GarbageCans", "Blacksmith", "Items"],
      "Entries": {                
                "{{ModId}}_rose_quartz":{
                    "ID": "{{ModId}}_rose_quartz",
                    "Condition": "RANDOM 0.25",
                    "ItemId": "{{ModId}}_rose_quartz"
                }
            },
            "MoveEntries": [
                {"ID": "{{ModId}}_rose_quartz", "AfterID": "(O)382"},
            ]
        }
    ]
}```

and yet the outdated "LMTD_rose_quartz" item (with an error texture) just popped out of a trashcan
#

... it looks like the one in my ACTUAL in game mod folder didnt update when i swore id udpated all the files xD welp thats an easy enough fix at least

cold marsh
#

Do custom CTs also create memory_ CTs, so I can use something like My_Own_CT_memory_twoweeks?

quartz arrow
#

ya think you caught all the bugs and you think you uploaded the right files into the right places but then youre running your own SDV save and encounter oopsies xD

#

already on 1.0.2 for my mod cause i missed things 😭 oops

exotic willow
#

Hey, I'm trying to change the recipe for the Junimo Portal added by Junimatic but can't figure out how to change recipes for mods that don't use content patcher.

#

Any sort of guidance however broad would be very helpful, I'm not sure where to start.

brittle pasture
#

it will give you every recipe that's available in game, modded or otherwise

#

you can find the recipe and then make a CP patch targeting it

exotic willow
#

Thanks I tried to do that with xnbHack but was only getting vanilla stuff. Sounds like I had the wrong approach.

brittle pasture
#

yeah that only unpacks vanilla files in the game folder
mod/CP patches are runtime and leaves the game files alone

exotic willow
#

Looks like that gave me exactly what I needed. Thanks again

candid veldt
#

In one of my mods I want to patch the bottom of the Cindersap Forest map and add a little path down to a cave behind the waterfall. Does anyone know if I can just follow the normal map patching procedure or does the Trash Bear cleaning stuff up down there present problems/replace the map with another one?

hallow prism
balmy valve
#

is there a commad to make leah post in mods showcase??

torpid sparrow
#

Those with the mod author role can use leah to do it i believe

balmy valve
#

Or do I need the Mod Author role?

torpid sparrow
#

yes

balmy valve
#

oh :(

#

How do I get mod author role

round timber
balmy valve
#

I have made 2 mods, one already in here

torpid sparrow
#

im pretty sure someone else can do it for you but i dont know 100%

round timber
#

correct

torpid sparrow
#

a win for my memory

hallow prism
#

if they are willing to, however

#

if you published mod and have the proper level you can ask for the role

balmy valve
#

Ok then I would like to request the role

#

I have published the "Ctrl Alt Zero" and "Slightly Bigger Farm" mod on NexusMods

#

Yeah but that's level 25+ i think

round timber
#

you have to have the farmer role to request mod author

balmy valve
#

Dang it

#

So I just gotta keep yapping

round timber
#

yes (but do not spam)

#

(we will know)

balmy valve
#

I am four levels away...it's ok

#

Are levels linear or exponential?

round timber
#

linear

#

same exp for every levelup

balmy valve
#

Oh phew

#

Thank you all :) Will check back in once i am farmber

#

Farmin time!

round timber
#

yeehaw

torpid sparrow
#

Gonna finally tackle converting everything to i18n

gentle rose
#

have you seen the i18n tool by nomori?

torpid sparrow
#

I think I’ve heard of it

gentle rose
#

it does the conversion for you!

#

!i18nifier maybe?

#

nope

hard fern
#

!i18n

ocean sailBOT
#
Creating Translation Capability

So you'd like to stop writing all of \"your strings straight in your content.json?\" and/or you'd like the capability to see all of your strings across all of your .jsons?
Introducing i18n!

  • How to make your mod compatible with other languages: stardewmodding.wiki.gg

  • The file where you can put all of your strings is called default.json, and it sits in a folder at the same level of your assets, named "i18n".

  • If you're converting from an older version of the game, there's a converter for ease-of-access.

Not to be confused with {{DynamicTokens}} since these require the specific {{i18n:<KEY>}} modifier

hard fern
#

Is the command

urban patrol
#

watch out for the generator putting {{ModId}} in the keys though—i’m not sure if nomori changed that yet

torpid sparrow
#

Thank you!!

#

oh boy 300 lines of dialogue and more in events

#

hopefully i can done within a week

keen seal
#

Just caught that my Threshold Crest item is showing up in the shipping collection, it’s not meant to be there. How do I set it so it’s not listed there?

hallow prism
#

there's a field to exclude it

#

i don't remember exact name

light jasper
#

If a location has 0 doors, can I assume it's event only?

quartz arrow
hallow prism
#

excludefromshippingcollection or something

quartz arrow
#

"ExcludeFromShippingCollection": true,

hallow prism
#

i suggest searching for one keyword like exclude in whatever relevant documentation theere is

lucid iron
light jasper
#

GameLocation#doors

lucid iron
#

I think those are interior doors

#

Not the warp in/out doors

#

Which is in warps iirc

quartz arrow
light jasper
#

I'm assuming if there's no way in or out it's just for an event?

lucid iron
#

But anyways I don't really think there's a good way to tell if a location is event only because you can also be warped inside by mod things

keen seal
lucid iron
#

There is a kind of map that is events only, temp maps

light jasper
keen seal
#

I put it in the tools category, which I thought would exclude it, but no XD

lucid iron
#

They don't have associated location data

torpid sparrow
#

do dialogue commands work inside i18n

#

or do i have to do separate ones before and after something like $b

lucid iron
#

Checking warps is probably reasonable for ur use case

#

You can just add a toggle to show all locations for artifact spots in config

light jasper
#

THEY HAVE WARPS

lucid iron
#

Why tho Thqnkqng

#

I dunno i think this is SVE's problem not uiis2

#

Was there some location data u can set to prevent artifact spot spawns i forgor

light jasper
#

what's the difference between isOutdoors and treatAsOutdoors?

#

is it crops growing?

lucid iron
#

Treatasoutdoors is for indoor location to behave sorta like outdoor

#

Except for some bits like water

#

Not important for u

#

I guess another idea is check if they have a proper display name?

hallow prism
#

(i have to go to sleep but wondered, i heard there was a change about wild trees in ui info suite 2 future update and wondered what the impact would be on mods like VMV and its birch trees)

lucid iron
#

Hide the ones that don't

lucid iron
light jasper
#

@hallow prism

light jasper
lucid iron
#

Yes well gotta try

#

Miss every scope creep req u don't ask pathos

light jasper
hallow prism
#

Remind me in 12 hours to see if i have the field uber pls

patent lanceBOT
#

oh lumisteria you sweet summer child. trusting me with such a task? all right ;) (#6763713) (12h | <t:1751889411>)

hallow prism
#

I wasnt sure if the feature was removed entirely

#

If its just that its now on the side of the mod author of the tree then all good

lucid iron
#

Yeah basically, perhaps double check the custom field name vs the sve one Dokkan

half tangle
#

Popping in for the warps and locations conversation - there's really no good way to use a player's ability to warp in and out of a location as a means of determining if it's event-only. Mods can add so many custom actions to move the player around.

#

In making World Navigator I had to at one point just accept that I cannot determine every way for a player to move around the world (and that's ok)

opaque field
torpid sparrow
#

oh god okay

opaque field
#

When I tried putting it inside of my i18n keys it would give me an error item

torpid sparrow
#

turns out i do not need to separate, at least not for festivals dialogue. events might work differently

#

i will reckon with events later SDVpufferwaaah

lucid iron
#

You can use the i18n-fier as a starting point

keen seal
uncut viper
twilit quest
#

I have a question. There is a mail flag for when the player builds the Corner Room with the renovation menu (FirstPurchase_Corner). Does the game itself use this mail flag to track whether the renovation has been purchased or not? I have tried setting the mail flag myself, and it has led to variable results: sometimes the corner room shows up and sometimes it doesn't.

gentle rose
#

are you sleeping after? SDVpufferthinkblob

harsh bobcat
#

FirstPurchase should be saved even after you destroy it iirc

#

so I'd be shocked if it causes the map to update honestly

#

there's the renovation_corner_open mail flag which might be more what you want right?

twilit quest
twilit quest
harsh bobcat
#

lemme do some testing myself actually on vanilla to see what happens with the flags

gentle rose
#

someone could/should probably check the decompile

not me though it's 2am here

half tangle
#

In the code FirstPurchase_Corner (or more specifically FirstPurchase_ + [a room ID] is used in the process of buying or getting a refund for that purchase, but not for setting the house up from what I can see

#

the corner room is actually added if the player has the mail flag renovation_corner_open

#

I gotta go for IRL reasons but hopefully that's helpful

twilit quest
harsh bobcat
half tangle
#

I don't see it getting removed in the decompile, at least...

harsh bobcat
#

isn't that exactly what you want?

half tangle
#
                if (hasOwner && this.owner.mailReceived.Contains("renovation_corner_open"))
                {
                    base.ApplyMapOverride("FarmHouse_CornerRoom_Add", "cornerroom_open");
                    if (this.displayingSpouseRoom)
                    {
                        base.setMapTile(49, 19, 229, "Front", "untitled tile sheet");
                    }
                }
harsh bobcat
#

yeah that's what I saw too which is why I suggested renovation_corner_open; that block of code ^ gets called in _ApplyRenovations which is called in updateFarmLayout which is called in _newdayafterfade and in MakeMapModifications (which would be called in resetForPlayerEntry)

twilit quest
#

Ah, right. Sorry, my attention was being demanded elsewhere. Let me take a look at my code again and do some more tests. When I added the FarmHouse_CornerRoom_Add, it didn't seem to be registering on Robin's menu, but I think there's a delay based on how long it takes in game to build the renovation. This is really helpful; I will experiment and come back with more detailed information if necessary. Thank you, @harsh bobcat and @half tangle SDVemoteheart

harsh bobcat
#

(also I realized my testing in vanilla would be with an unupgraded farmhouse [because I'm just using glitches to give mail flags] which is ... not gonna work lmao)

twilit quest
#

Hehe

#

Oh, renovations are completed instantly (smacks my head)

twilit quest
#

@harsh bobcat
So this is the code I'm using:

    {
    "Action":  "EditData",
    "Target": "Data/TriggerActions",
    "Entries": {
        "glymr.BrokenFarmhouse.CornerMail": {
        "Id": "glymr.BrokenFarmhouse.CornerMail",
        "Trigger": "DayEnding",
        "Condition": "{{DLX.Bundles/Purchased |contains=glymr.BrokenFarmhouse.FixUp17}}",
        "Actions": [
            "AddMail Current FirstPurchase_Corner",
                ],
            },
        },
    },
    {
    "Action":  "EditData",
    "Target": "Data/TriggerActions",
    "Entries": {
        "glymr.BrokenFarmhouse.CornerMail": {
        "Id": "glymr.BrokenFarmhouse.CornerMail",
        "Trigger": "DayEnding",
        "Condition": "{{DLX.Bundles/Purchased |contains=glymr.BrokenFarmhouse.FixUp17}}",
        "Actions": [
            "AddMail Current renovation_corner_open",
                ],
            },
        },
    },```
#

After the condition is met, I go to sleep, and when I wake up, there is no corner room. But if I leave the farmhouse and return, the corner room appears. This is consistent even if I sleep for several days: the corner room is missing when I wake up, but re-appears as soon as I leave and re-enter the farmhouse.

#

Oh, hmm. I had a mail notification with no letter attached in my mailbox, and after I read it, the room is not persistent.

uncut viper
#

your trigger actions are adding mail for tomorrow, not sending it to the received inbox

#

if something doesnt go straight to "received" you get a mail icon and the flag is only applied when you click the mailbox

twilit quest
uncut viper
#

im not saying its the sole cause of the room being inconsistent, but its definitely at the very least the cause of the phantom notification, and is also definitely a contributor if you havnet been consistently checking mail

twilit quest
uncut viper
#

correct

torpid sparrow
#

When I do i18n, do i need to make the {{i18n:key}} have a unique key?

#

Like instead of {{i18n:Introduction}} it would be {{i18n:ModId_Introduction}}

uncut viper
#

no

#

i18n is scoped to your mod already

torpid sparrow
#

ok perf

twilit quest
#

Now it's only missing the first morning after. @uncut viper you were right, the incorrect syntax on the mail was definitely a contributing factor.

harsh bobcat
#

sleeping in a place that should have map modifications made overnight generally stops it from actually showing up iirc (where my sole experience is perfection boulder)

#

(sleeping in the railroad on the night you get perfection makes the boulder still there and you have to leave and reenter)

harsh bobcat
#

I ran into it during a speedrun lol

twilit quest
#

Y'all, I'm so excited to share this mod with you. I've been working so hard on it, and I think it's going to be really fun.

torpid sparrow
#

This is showing up after I converted everything to i18n but i can't find anywhere that i've accidentally put } instead of dialogue

#

I remember before there was a bug with marriage dialogue that had the npc say "..." isntead of anything, is this related?

uncut viper
#

its likely not "instead of" dialogue but just accidentally writing {{i18n: ...}}}

#

a stray random brace is often just due to brace syntax error hidden amongst other braces

torpid sparrow
#

it's happening every day now

#

this is gonna be fun

#

searching }}} hasn't found anything

twin wadi
#

can you send your i18n file thru smapi.io? ill help you dig through it SDVpuffersquee

uncut viper
#

did you use the converter? i would double check the output of it if its happening every day

torpid sparrow
#

ough thank you lifesaver

uncut viper
#

bc thatd mean it did it to all your dialogue

#

or at least several of the daily ones

torpid sparrow
#

ough

#

this is the default json

#

regular dialogue

#

marriage dialogue

#

yeah its happening with allll of the dialogue

uncut viper
#

wait did you run the i18n file itself through the converter?

twilit quest
#

@harsh bobcat I switched the trigger to DayStarted and it seems to be working as intended now!

torpid sparrow
harsh bobcat
#

excellent!

twin wadi
#

wait wem

uncut viper
#

yes, the default.json

torpid sparrow
#

oh no i didn't

uncut viper
#

are you Loading your dialogue directly?

twin wadi
#

i think you're supposed to put the portrait data at the end of the string, not the start? maybe that's causing it?

uncut viper
#

instead of loading a blank and then doing EditData?

torpid sparrow
#

dialogue was working before

#

it was just after i did the conversion

#

oh wait directly not correctly

#

sorry i cant read

twin wadi
#

hmm weird i cant find anything wrong directly with the files you sent

uncut viper
#

these files are not content patcher jsons at all, theyre just... dictionaries

#

theyre not a part of a patch

torpid sparrow
#

i loaded from my content

uncut viper
#

which means its either the i18n file itself, which you said it isnt, or you were using just raw files loaded directly

#

which means tokens do not work

torpid sparrow
#

hm let me check my original files

#

i made a copy for times like these

uncut viper
#

if your dialogue was added in via a Load patch then that is loading them directly and skipping token parsing

torpid sparrow
#

does that become an issue when using i18n? bc i havent had problems without it

#

dialogue worked and everything

uncut viper
#

i18n is a token

#

so, yes

torpid sparrow
#

ah i see

#

id need a blank json then?

uncut viper
#

yes

#

you Load a blank to all your relevant dialogue targets

#

then you EditData in these dialogue entries instead

torpid sparrow
#

that makes sense; my map strings were working since i used editdata

torpid sparrow
uncut viper
#

do you remember what you did with the blank that time?

#

or do you need the full instructions

torpid sparrow
#

im trying to find it i actually cannot even find where i loaded it

#

oh nvm it was my events blank

uncut viper
#

you just do the exact same thing as the event blank. if its the same mod you can even do it in the same patch

torpid sparrow
#

okay perf thank you

uncut viper
#

just instead of the Target being Data/Events/Whatever its Characters/Whoever/Dialogue

#

or whatever your current load target is

#

i can never remember

#

then you do EditData on that target to add your dialogue keys

torpid sparrow
#

yes oki i will go do that

#

thank u!

#

it worked yay!

undone kelp
#

i'm just gonna ask here first before moving to mod art but here's a very quick rundown of the situation:

  • i play with talkohlooeys portraits for 1.6
  • person makes a traveling merchant mod based off of a youtuber
  • i draw a talkohlooeys style portrait for it and wanted to use it but only scaled it to 256 because i use farmer portraits and 256 works with it so i assumed 256 would be the max
  • wanted to upload it to nexus after months of having forgotten it
  • swore it worked when i first used it
  • it might have not, in fact, worked when i first used it
  • befriended the mod creator
  • tried using portraiture (failed)
  • tried using scale up (failed)
  • oh the orig traveling merchant didnt even HAVE a portrait ok that makes sense
  • well shit now what
#

TLDR mod creator and i are losing our marbles trying to make an HD portrait work because the thing being modded doesn't have a portrait in the first place

#

i feel insane trying to explain this

balmy valve
torpid sparrow
#

yes, yes it is

undone kelp
#

why did i read peeta hungergames from hit YA novel series the hunger games in lois griffin's voice

torpid sparrow
#

he is available rn im just trying to get the i18n up so people can translate it if they like

balmy valve
torpid sparrow
#

😭

half tangle
balmy valve
undone kelp
#

i was also thinking of using that and also redrawing the portraits in the style but

#

again

#

giggity goddammit

half tangle
#

Yeah, I can't help you beyond that info, unfortunately

undone kelp
#

yeahh it's really complicated without having to count on HDP

#

i tried scale up but, again, idk what i'm doing so i didn't go too far with it

lucid iron
#

I believe the easiest path rn is spacecore source rect override

undone kelp
#

mainly i just want to make the hd portraits for the swaggon aka the mod by the mod creator im talking to

lucid iron
#

Ok then u need to know what the actual texture asset is, and then use spacecore texture override to put in ur 256x256 version

undone kelp
#

so would there need to be a dependency for spacecore in the manifest if ever?

lucid iron
#

Yeah you would make a content patcher mod that edits some custom assets provided by spacecore

#

I can't make u an example rn, perhaps in an hour or two

devout otter
undone kelp
devout otter
undone kelp
#

yeah!

#

literally

#

LMAO

devout otter
#

Yey!

#

Feel free to ping or DM me if there's anything I could to do help.

undone kelp
#

i'm gonna take a peek first in the anime style PFV so i can get a sense of what the hell is going on over there, thank you!

twilit quest
#

This syntax is wrong, isn't it.

            "Query: {{Player_Has_Mail |contains=FirstPurchase_Corner}}": false
                        },```
uncut viper
#

Player_Has_Mail is not a token

#

you cannot use a GSQ as a When condition

#

you want HasFlag

#

and you dont need query

#
"When": {
  "HasFlag": "FirstPurchase_Corner"
}
twilit quest
#

I knew I was doing it wrong, I just wasn't sure how to do it right

uncut viper
#

"HasFlag |contains=FirstPurchase_Corner": true would also work but its functionally identical

#

so might as well write the easier to write one

twilit quest
#

If I want it to be false instead of true

uncut viper
#

oh yeah

#

i misread it as true

#

then yes you do actually need that contains way sorry!

twilit quest
#

Can I put an exclamation point in front of the expression?

uncut viper
#

no

#

you need to use the contains= way

quartz arrow
#

Okay so, I have a fish thats supposed to only be spawnable after the Glittering Bolder is removed.

It not only is appearing in the Mountain Lake, regardless, but its also acting more like trash about 80% of the time- the minigame doesnt even proct

#

I have the condition of "Has Seen Event" in the Fish.json part, but not my Location.json... Is that why?

#

Also despite it acting more like trash (i had the minigame pop up the first time) it IS in my fishing catalogue/collections tab

calm nebula
#

Yes

uncut viper
#

well we dont know what your fish.json or location.json even are, so we cant answer that
but if im taking a guess, you probably dont want your fish to conditionally exist. you want it to be conditionally catchable. iirc fish spawn data in the Data/Locations entry allows a Condition field.
dont know what the deal is with the trash though. i dont do fish stuff.

calm nebula
#

It's acting like trash because that's what happens when you have an entry in Data/Locations but not a matching entry in Data/Fish

#

My recommnedation would be to gate it in Data/Locations instead

#

oh my god my name is holographic

#

I mean

#

I knew it was gradient I didn't know it was animated

#

(it's not on mobile)

quartz arrow
#

so it wouldnt need it in both locations?

lucid iron
#

You can use Condition instead of cp When

quartz arrow
#

My Green Rain exclusive fish has their like "When: X" then in the FishData one and it works just fine (I did test that one with normal summer rain and green rain)

But my goofy ass only checked for the pale catfish after the glittering bolder was removed and not before 😭

uncut viper
#

i cant imagine you want that for the green rain fish either

calm nebula
#

So gating it that way in Data/Fish isn't really useful tbh

quartz arrow
#

but its working and im afraid to mess with it-

lucid iron
#

I thought it's not working

calm nebula
#

I guess maybe if you wanted it to not count for perfection on every day but green rain day

uncut viper
#

well, did you test what happens to the fish you already caught after green rain is over?

quartz arrow
#

No the Green Rain one works

calm nebula
#

oh, where's aquarium data again

#

is it Data/Fishies or is it somewhere else

quartz arrow
calm nebula
#

the fish you caught are fine because Data/Fish controlls how the fishing minigame works and also if the fish is required for perfection

#

unless aquarium data is also in there

uncut viper
#

does it not also control the name of the fish?

calm nebula
#

nope!

#

That's Data/Objects

#

it's an object.

uncut viper
#

interesting

calm nebula
#

Aquarium data is not in there

uncut viper
#

well, the perfection point stands then

calm nebula
#

you are fine to do that check I just don't recommend it

quartz arrow
#

Yeah they dont have Aquarium sprites yet anyhoo

uncut viper
#

itll just disappear from your collection entirely

quartz arrow
#

Noted noted, im still learning all the code stuff lol so im not surprised i did some janky things on accident 😂

#

so would I still use the "When" component and just, shift it over to Location?

uncut viper
#

as a general rule of thumb, you want assets to exist as much as possible

calm nebula
#

do I get to be 8th grade physics now?

uncut viper
#

no, you dont still use the When

#

you use the Condition field of the fish location data

calm nebula
quartz arrow
calm nebula
#

(I assume that's the name)

uncut viper
#

if a "When" condition is false, the patch doesnt apply. which means nothing in your patch will exist in the game, at all

#

i.e. when its not Green Raining, your fish data literally does not exist whatsoever in the game

quartz arrow
#

but the fish still exists in objects?

#

and its in the collections tab rn, greyed out, in Fall

uncut viper
#

the object data still exists. the fish data will not. because you didnt change Data/Objects

#

if a mod tried to look at every fish that existed in the game, they would have no idea your fish was even a thing if they looked at Data/Fish

#

and there is no reason for it to not exist all the time

#

because it existing in Data/Fish does not mean it is catchable

quartz arrow
#

so because the game is checking FishData and the when condition is false, instead of the location data being the false one, thats the bad thing?

uncut viper
#

using a PLAYER_HAS_SEEN_EVENT GSQ inside Data/Locations, which is also not a When condition, can restrict when it can be caught

#

yes

#

but neither of them should have When conditions at all

#

you should not use When conditions if you can get away with not using When conditions (again, as a general rule of thumb)

quartz arrow
#

Also the thing i have is "When" : {"HasSeenEvent": "404798",},

Would it just be "HasSeenEvent: "404798" or is the PLAYER_HAS_SEEN_EVENT totally dif

uncut viper
#

forget the entire concept of When

#

PLAYER_HAS_SEEN_EVENT is a game state query that goes in the Condition field inside the fish spawn data

quartz arrow
#

I am removing it, but I was making sure the tag thing was correct

uncut viper
#

which is presumably inside that patch

#

it is literally PLAYER_HAS_SEEN_EVENT

quartz arrow
#

Ok

uncut viper
quartz arrow
#

I was double checking cause initially 7th grade said "I assume that's the name" and i wasnt sure

uncut viper
#

it would not be "PLAYER_HAS_SEEN_EVENT": "404798" either, so neither the tag nor the syntax you said would be correct, is why i said to forget Whens entirely

quartz arrow
#

This is my first time making a CP mod so I'm sorry I'm not catching on quickly

uncut viper
#

somewhere in your Data/Locations you have a Fish field right?

quartz arrow
#

Okay so I need to re-figure out what the tag/synatax thing is for the Glittering Bolder event?

latent mauve
#

The format is different for When blocks and Conditions, it can be a bit confusing at first. 🙂

uncut viper
#

actually i forgot you sent your json, one second

#

okay, so you actually are already using Conditions and GSQs

#

for other fish

#

you're using LOCATION_SEASON for the icegill and the mossy_trout

#

thats a Game State Query/GSQ

#

instead of LOCATION_SEASON, you use PLAYER_HAS_SEEN_EVENT

#

the way to use that one is described on the GSQ wiki page i linked, but you most likely want PLAYER_HAS_SEEN_EVENT Current 404798

#

which means if the current/local player has seen event id 404798, then that fish is possible to catch in that location

quartz arrow
#

Okay, and if I don't want the fish to appear in winter, still, is that then a situation where I just add a comma and both the LOCATION_SEASON and PLAYER_HAS_SEEN_EVENT are within the condition thing in sepearte quotes?

uncut viper
#

if you want to use it AND the season one, then put a comma between them

quartz arrow
#

ok

uncut viper
#

LOCATION_SEASON Here spring summer fall, PLAYER_HAS_SEEN_EVENT Current 404798

lucid iron
#

Say can u make custom mannequins

uncut viper
#

you can comma separate as many GSQs as you want, but they must all be true for the Condition to be true overall

#

yes

#

Data/Mannequins

lucid iron
#

The other day i saw mannequin data but idk what exactly u gotta provide sprite wise

quartz arrow
#

ok thank you

lucid iron
#

Is it a big craftable or special LilyDerp

uncut viper
#

as far as i can tell, its solely defined within Data/Mannequins

#

unless its just not called "Mannequin" in Data/BigCraftables

lucid iron
#

I shall experiment

uncut viper
#

also their sprites live in TileSheets/Mannequins

#

which also points to them being their own thing

#

or well

#

their base sprite

#

they also take a farmer texture lol

#

good luck

lucid iron
#

How terror

#

But it's not like u can move their arms right

quartz arrow
#

so, ok, how do i translate my Green Rain scenario into that then into the locations file instead

uncut viper
#

i dont believe so no

uncut viper
lucid iron
#

I can probably figure out which ones actually matter

calm nebula
#

(the green rain was correct to start with_

#

you already had that

quartz arrow
#

okay, so since i already have that tag in there, the one in FishData was just redundant?

uncut viper
#

also, you dont have to put a Condition at all. you can remove the entire Condition line if it sshould have no conditions

#

yes

uncut viper
calm nebula
#

speaking of green rain fish

#

this little fellow looks like a green rain fish to me

quartz arrow
#

thanks for helpin :) learnin lots of new things polishing up this mod lol

uncut viper
#

more so because your current condition for it is just literally always true

#

its always going to be one of spring, summer, fall, or winter

static stone
#

Trying to make a prefix for tryToReceiveActiveObject. Does anyone know how to get the NPC I'm gifting's info like name and gender?

this.(something) doesn't seem to work, I read something about __instance but idk if that's correct.

quartz arrow
#

okay so SDV automatically generates both Roe and Bait for fish added into the game (which is SO incredible MWAH) but if i wanted to overight just one of them (for my rainbow fish because obvi rainbow roe/bait) can i do that..?

brittle pasture
#

what are you trying to do

quartz arrow
#

im not sureh ow the roe and bait is automatically generated so im curious if i make an asset file specifically for that fish's bait and roe how i would go abouts adding it in

brittle pasture
#

you can't

quartz arrow
#

gotcha yes thats what i was wondering LOL

static stone
# brittle pasture `__instance` yes

so I can legit just do
public static bool tryToReceiveActiveObject_Prefix(NPC __instance, Farmer who, bool probe)

and all will work out fine?

quartz arrow
#

it seemed like a more Complex System because it did it automatically LOL its really neat it does that at all honestly

brittle pasture
#

all the roe, bait, wine, fruit, etc. are the same item under the hood

#

the flavored variants have a color overlay on top

quartz arrow
#

that makes total sense

brittle pasture
quartz arrow
#

eh its not that important xD just thought it wouldve been Fun

hard fern
#

When will someone create even more better artisan good icons

brittle pasture
#

that was matt's spritepatcher 😌

lucid iron
#

Even worse artisan goods

#

Back to 1.5

twin wadi
#

anyone know where the junimo language font is located? want to reference it real quick

#

i tried checking loosesprites/cursors.png, loosesprites/junimonote, and all the pngs in fonts/

brave fable
#

you've been tricked by, you've been struck by, LooseSprites/font_bold.png

#

junimo text starts 224px down (lower 2nd 'paragraph'), and doesn't exist in font_colored

uncut viper
#

what the game does when something should be junimo text is just vertically shift the place on the png that it looks for the letters

twin wadi
#

is that a lil shadow guy 👀

uncut viper
#

so onto the same sheet they go

twin wadi
#

ah okay thanks

drowsy pewter
lucid iron
drowsy pewter
#

literally back to 1.5

lucid iron
#

Ah yes

drowsy pewter
#

its hilarious

lucid iron
#

Gotta just prefix colorobject.draw ez

drowsy pewter
#

Looool

#

thats c# brain. just delete the overlay sprite

wise forge
#

Is there a simple way to alter where the farmhouse door sits on the asset?

#

I've dug through the modding wiki a bit and wasn't able to sus it out myself

quartz arrow
wise forge
#

For context, I'm using AT because this a farmhouse retexture I'm only using for one particular playthrough

#

I know the most effective modding format is CP. This is a convenience vs functionality issue

lucid iron
#

For buildings though u can do it all as buildings skins, and still use it with AT tools

fossil osprey
#

HumanDoor

#

What a name

lucid iron
#

You can only have 1 HumanDoor without mods

wise forge
#

So would I add the HumanDoor change to the code for the skin?

#

Just making sure I'm understanding corrently

slow basin
#

i made 2 character sprites so far but i need to do better on one because omg is she not as good as the second character i did

i might need to change my mod idea a bit to compensate 🤔

do you have to do anything specific to make your sprites see through in sdv or is it just a matter of saving them with the opacity down and then patching them in as usual?

brave fable
#

nothing special, just export as PNG with transparency SDVpufferthumbsup what's your art program?

quiet cedar
#

hey yall have a quick question, i read in my log that some maps were not loaded because they all have the property 'exclusive'. in normal circumstances id just remove one but im making kind of insane personal edits and just wanna fuck with it, so is there a way to remove that property from a tbin file? i loaded it up in tiled and i couldnt find it but i probably missed it, havent used tiled in a while

#

i also looked in the content jsons to see if i could find it and didnt, but im not really a modder just a very weird editor so i dont really know how that is done

lucid iron
#

Well why r u Loading map twice?

#

Exclusive is a cp concept and yep by default loading same map 2x is no good

#

What's the goal here

brave fable
quiet cedar
#

okay so i found out the map editor mod existed and ive used a lot of mods that edit the vanilla maps over the years, and a lot of them just patch onto the map so i thought i might be able to combine them in a way? idk if that makes sense i was just really curious about it

brave fable
#

otherwise, the more usual approach is to Action: Load a single asset, and use Action: EditMap in a separate entry to override it with a following patch

quiet cedar
#

ohhhh sick thank you sm! so wait then is it possible to just change one of them to an editmap instead of a load?

#

(obviously its gonna overlap and cause mild destruction i am okay with that)

brave fable
quiet cedar
#

thank you sm!! i really appreciate that :D ill def give it a read

#

thanks for yalls help!

brave fable
#

so for example, your changes might look like this to replace the whole map with a patch of the same size:

{
    "Format": "2.7.0",
    "Changes": [
        {
            "Action": "Load",
            "Target": "Maps/{{ModId}}_MyFunnyMap",
            "FromFile": "assets/my-map.tmx"
        },
        {
            "Action": "EditMap",
            "Target": "Maps/{{ModId}}_MyFunnyMap",
            "FromFile": "assets/my-map-override.tmx",
            "PatchMode": "Replace"
        }
    ]
}
quiet cedar
#

omg hell yeah, thank you so much!!! thats awesome fr youre the bomb<3

brave fable
#

no problem! feel free to ask if you run into any problems SDVpufferthumbsup

slow basin
inner harbor
#

A GSQ of "Condition":"{{TokenThatCanBeTrueOrFalse}}" can be used, right?

lucid iron
#

Yes but ideally if the token's a gsq already use that instead

inner harbor
#

its a "If this mod is NOT installed it should be "true" "

brave fable
lucid iron
#

A HasMod contains should be fine here i think

inner harbor
#

I suppose I could use !{{HasMod |contains=modid}}.

lucid iron
#

Basically u r just using the gsq TRUE and gsq FALSE

inner harbor
#

It has to read as "true" if it's not installed.

lucid iron
#

HasMod itself probably resolves to the entire mod list so i think u need the contain

inner harbor
#

(Feels like this may be easier than having the things patch in if its not there)

lucid iron
#

I think i would choose to do the When instead almost every time

inner harbor
#

Is it dicey?

lucid iron
#

No it's pure vibes reasons kyuuchan_run

#

I don't think there's anything functionally wrong with it i just dont like mixing gsq and token like this

uncut viper
royal stump
#

"when" is probably better performance-wise for tokens that never change, but format-wise I do like just putting tokens in conditions

#

(and CP packs shouldn't overthink performance much SDVkrobusgiggle)
(though speaking of which, TRUE is technically faster than true in condition fields)

uncut viper
#

im not sure its even more performant

#

assuming its the only token used in the patch

royal stump
#

fair, it's probably trivial now that I think about it more

lucid iron
#

Yeah it is purely vibe reasons

#

Related to desire of shoving everything related to a particular HasMod behind one include

royal stump
#

I've just been dwelling on whether it's bad to use (changing) tokens in Data/TriggerActions lately, since it's busier and does caching

#

HasMod won't change either way, so yeah, vibes

slow basin
#

hm, does anyone know off the top of their head if theres many mods that take the area above the cliff next to where pierre's shop is? by the river its where overgrown valley puts a orchard for the town, lowkey thinking of putting my shop in that location when i make it, but i dont wanna make it where people have to choose between my mod and another so i was wondering if anyone knew

#

i already know my mod prob wouldnt be compat with overgrown if i do put it there though (looking for alt locations as well near town)

gentle rose
slow basin
#

omg your right

uncut viper
#

pretty sure in SVE that entire cliff is basically gone to make room for whatshernames house

slow basin
#

puffer_think i had no idea! ill have to look around a bit more

#

ideally id like to put the shop in town but if i cant i suppose i could make it san additional addon to my characters house in the custom map location i was planning on making

#

i just feel like it would be a bit odd for the shop to be so far away from the people XD

brave fable
#

it's fine for a mod to conflict with others, though. it's just not possible for everything to be compatible and everyone to get their vision with their own mod

#

follow your dreams ☀️ and just list out all the conflicts on the mod page when it's out haha

fading walrus
#

Compat is nice, but making yourself happy is more important to begin with
Compat can be a stretch goal if you want to do it

vernal crest
#

Yeah, a building in town + no conflicts is incredibly unlikely (potentially completely impossible) so pick whichever matters more to you and focus on that ^_^

red egret
#

Not everyone plays with SVE

slow basin
#

🙂‍↕️

#

thats fair, XD if only the town was bigger lol, im sure ill figure out how i want to proceed ill just need to do some expirementing first, ty for letting me know that SVE changes the cliff :0

vernal crest
# red egret Not everyone plays with SVE

SVE also isn't the only mod that affects that area though, I know several people have wanted to put buildings there (though I couldn't tell you if they got released because I wasn't paying special attention)

#

For me, having Hiria be in Cindersap Forest (albeit in a custom map extending it west) is an important part of her story so I'm willing to sacrifice compatibility with any mod that would prevent me doing that.

red egret
#

Oh? I haven't seen any others

slow basin
#

:0

#

i might make a secondary map that makes a more "farmer's market" looking area

#

put the shop there

red egret
#

How big will the shop be?

gentle rose
#

I’m glad my npc’s story actually requires his house to be on a different, bus-only map SDVpuffersquee

slow basin
#

Not very big, it could even just be a location similar to where you buy ice cream and she just travels into town to sell

red egret
#

I want to eventually make my own expansion too and i'm set on Backwoods map, i want a cave there

vernal crest
# red egret Oh? I haven't seen any others

I spend a lot of time in here and have done so for over a year so I've seen a lot of people pick areas to put their mods. Whether they actually get to the point of releasing...well...I don't track that part xD

slow basin
#

since the idea is she lives deep in the woods of the valley

gentle rose
vernal crest
#

lol iro same brain

red egret
slow basin
#

:0

red egret
#

Or near the fountain

slow basin
#

oh true

gentle rose
#

it’s blacklisted from npc pathing because if you don’t blacklist it, the pathfinder explodes

red egret
vernal crest
#

I'll buy you one if we ever make it over to visit Mouse's family

slow basin
#

hmm wait i wonder if anything changes the backyard behind sams house

gentle rose
slow basin
#

why is the backwoods cursed O_O

vernal crest
#

Circular pathing iirc

#

It adds multiple ways to get to the same map and the pathfinder can't handle that

slow basin
#

makes me think of that old fable about how if you enter the woods of the fae they can send you around in circles XD

#

this is clearly the junimo magic at work

red egret
gentle rose
#

tl;dr vanilla stardew implements pathfinding badly and as a result, cycles crash it

#

(spacecore actually changes it afaik?)

brave fable
red egret
#

:)))

lucid iron
#

spacecore doesnt do anything about cycles afaik

#

but the actual problem with backwoods is that it has a state where there are warp into it that has no way out

vernal crest
#

What are cycles?

red egret
#

Just if i edit the map and there are 2 other mods adding pathways to other areas, does it have to be defined somehow? Or idc about others and the program knows?

fading walrus
vernal crest
gentle rose
red egret
gentle rose
#

like farm-backwoods-mountains-town-bus stop-farm

vernal crest
slow basin
#

i make an npc who explains why no npcs go to the backwoods so
"You see my fellow fae love playing tricks and the forest is our home, so they confuse those who enter your backwoods so that they may not delve too deep, I am at a loss as to why the magic does not seem to affect you, my friend."

vernal crest
gentle rose
vernal crest
vernal crest
gentle rose
#

yup!

#

and when that happens, it just stops

slow basin
#

can npcs go in the deep secret woods or is that also a no go ?

vernal crest
#

Like when somebody who I forget who it was wanted to make that trapdoor on the top of their NPC's house but the NPC kept trying to use it from the ground so it failed

lucid iron
#

whats the deep secret woods

slow basin
#

the one behind the log

#

idk its name

gentle rose
#

(the issue in this case is a much tougher fix that would require rewriting the entire structure of how npc pathfinding is done)

vernal crest
#

No, NPCs are also banned from the secret woods but I think that's just to stop them dying? Because I don't think there's a pathfinder issue there

slow basin
#

ooooh

gentle rose
#

…can npcs even die

#

do they even have hp

vernal crest
#

No probably not lol

slow basin
#

imagien they just delete the monster in their path

gentle rose
#

I think they just ignore them ngl

red egret
#

But Jessie has an event in the secret woods