#making-mods-general

1 messages Β· Page 552 of 1

urban patrol
#

yeah that's sort of what i saw when i opened up a map in notepad++

uncut viper
#

I only just woke up so the only message I've seen is that ping so forgive me if this reply is missing the point a bit from the rest of the convo. But catching a missing tsx isn't possible. Catching a duplicate tile sheet I thought it already did but I can add if not, but it won't fix them because it wouldn't know which one you used more
If they're named differently then it's also impossible for a computer to know they are duplicates

urban patrol
#

named differently in terms of tileset name or png name?

uncut viper
#

Either. If anything is different about them it could be an error or it could be a legitimate choice on the users part

urban patrol
#

i see SDVpufferthumbsup

ornate trellis
#

hm

uncut viper
#

But like "fishmonger_inside" vs "ModId_fishmonger_inside" are two completely different names as far as the code can tell, it wouldn't even know to check if these were dupes.

urban patrol
#

does it/can it cach unembedded tsx or does that fall under "can't catch a missing tsx"

gleaming flax
#

Could someone possibly make me a mod?

ornate trellis
#

the png name is the same but the tilesheet name in tiled if different

urban patrol
ornate trellis
#

like, when i go and look at the iamge source then its the exact same png used for both

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.

uncut viper
#

How would it know if you meant to embed a tsx?

urban patrol
#

i thought they had to be embedded?

uncut viper
#

It tells you when there's a .tsx in your tmx already

#

But there's reasons you might want that

mortal blade
#

listens to the THX sound.

urban patrol
#

interesting okay

#

in that case, void, i know even less about your map issue SDVpufferthumbsup 😭

ornate trellis
#

ok, just counted, seven maps are affected by double tilesheets ugh

uncut viper
#

(I haven't back read at all or had my coffee yet so I understand it not at all, sorry)

urban patrol
#

i can link you the beginning if you want but don't feel obligated

analog nimbus
#

yo what workload should i install in visual studios?

ornate trellis
#

is the only way to have twice the same tilesheet fixed to remove one and redo the entire map then?

analog nimbus
#

i only choose the C# and roth compiler

urban patrol
analog nimbus
#

im not just making a mod im learning how to code

urban patrol
#

this page and the pages it links to tell you how to set up and make a simple mod

#

this channel is for making mods

ornate trellis
#

im gonna take a little break to eat something

mortal blade
#

I use JetBrains Rider for C# (D-flat?)

urban patrol
#

@ornate trellis i found this, you might want to ask if midnight has found an easy way to fix this

turbid plank
#

For CP mods, should I be putting i18n string names in LogName or would that break things?

uncut viper
#

You can't use tokens in LogName

turbid plank
#

Can you use tokens in recipes?

ornate trellis
#

dang, midnight isnt online atm...i might as well bite the bullet and redo my maps

#

also i am looking at tilesheetinator and im not seeing custom tilehseets mentioned or do those fall under the same thing as "tilesheet mods"

urban patrol
#

generally i18n is used in places where 1) the text is user-facing, 2) it would help with randomization, such as randomized NPC dialogue

#

tokens like {{ModId}} can be used (almost) anywhere though

turbid plank
#

Yeah I had thought about using i18n in LogName since someone playing a theoretically translated version wouldn’t recognize what my item’s English name is which sounds unhelpful for troubleshooting

uncut viper
#

The tokenizable field the wiki mentions is not the same thing

lean surge
#

How do I force a screen fade, followed by custom code, and then end the day? When I use Game1.fadeScreenToBlack() it fades out, and then immediately back in. I want it to stay dark and then add logic that happens before the shipping bin and saving. I can't use Game1.newDayAfterFade alone, because it seems to immediately end the day with no fade, and the callback isn't called until after saving. Do I need to set some other properties first?

uncut viper
#

That is referring to tokenizable strings

#

The vanilla concept of tokens

urban patrol
#

oh sorry never mind that

uncut viper
#

You can use content patcher tokens basically literally anywhere inside a patch entry itself

latent mauve
#

So that method may be viable rather than replacing all the tiles by hand

sick thorn
#

If i were to make a mod to change dialogue what format would i need to use? most of the available mods on nexus are using 2.9.0

ornate trellis
#

i wish i knew what exactly that meant...cuz when i open a map in text for I just have big questionmarks

sick thorn
urban patrol
#

2.9.0 is the most current format yes, but you can always check content patcher documentation to find out what the current format is

latent mauve
ornate trellis
#

ohh

latent mauve
# ornate trellis ohh

As a point of comparison, the unembedded tilesheet code from the LostIsland_Orchard.tmx is just this one line: <tileset firstgid="2913" source="VWCF_LostIsland_Inside.tsx"/>

mortal blade
#

Silvermoon-chan: do you switch tilesheets when capybara goes into the water?

ornate trellis
#

hmm

#

so when i have two that are both already embbed i can copy all the stuff from one to the other?

#

this looks hella alot tho, hm

latent mauve
#

The firstgid number is something you don't want to mess with, and you need to change source to name, but otherwise, you can just copy and paste everything from the working tileset's code after that.

ornate trellis
#

hm, but i need to get rid of a whole set

latent mauve
#

The <tile> ... </tile> part is where it makes your candle tile animated.

ornate trellis
#

cuz for example rn i am looking at the TEMP wedding map where it has outdoors twice

latent mauve
#

duplicate tilesheets may be something the tilesheetinator does handle, I think?

#

(I could be wrong)

#

I've fixed those before with editing the TMX code too, but it's definitely a bit more annoying.

ornate trellis
#

idk...i read the mod desc and i am still wondering where to set up custom tilesheets(not from tilesheet mods, my own)

latent mauve
#

Left is broken, right is fixed.

#

I'll open up the wedding map and take a peek

ornate trellis
#

man, im still so lost...I mean i see the difference but

#

i didnt even catch the orchard having issues too, the ones i found were
fishmonger inside

  • lost island
  • coolgalhome
  • forsaken cove
  • hidden spot
  • northern cliffs
  • wedding spot
latent mauve
#

Yeah, I found the Orchard right before Northern Cliffs in the error log

ornate trellis
#

i swear to god i will use tilesheetinator for any future mods, ugh (once i figure out how to add my custom sheets via that)

mortal blade
#

Which animals/beasts have proper swimming animations?

latent mauve
#

Void, here's all the ones I found in the log with the exact same TSX issue:

  • GI Inside
  • CoolGalHome
  • Library
  • Orchard
  • NorthernCliffs
  • GanguroHome
  • Lolita Home
  • RoyalMermanHome
  • BirdHome
  • AnglerGuyHome
ornate trellis
#

augh

#

i need a moment to recover from this

latent mauve
#

No worries, sorry if I stressed you out more!

ornate trellis
#

its alright, i mean, i guess i did this to myself

latent mauve
#

I can probably fix the TSX errors for you if you want, but I want to see if I can work out a way to save you from the duplicate maps also.

lucid iron
ornate trellis
#

i managed to redo GI inside and the wedding map but man i am already so done...if you happen to find a way without having to completely redo whole sections or something that would be great(or at least find an easier way)

ornate locust
ornate trellis
#

did you find a way to fix double tilesheets or did you have to redo the tiles

ornate locust
#

Oh, double tilesheets, I know a way around that. It's not perfect, it saved a lot of time

ornate trellis
#

what did you do? O:

ornate locust
#

Pick the copy of the tilesheet you want to keep, the one with all the animation data and stuff you need. Export it to TSX.

#

then use this to replace the other one with that TSX

#

If nothing goes wrong like the image being visibly out of order (I've had this happen once or twice), embed

#

and then delete the tsx because it will probably show up separately in the list of tilesheets. You may have to close it and open it again to double check. That way you can make sure there's just one.

#

I have had it go wrong once or twice as I said, so save a copy and all, but it saves so much time

ornate trellis
#

oh my god

ornate locust
#

I was doing compatibility patches for festivals and SVE and everything and I didn't realize until I was almost done with them that the bits I copies from SVE and Ridgeside had copied the tilesheets. it was SUCH SLOW GOING until I figured this out

ornate trellis
#

i was manually replacing all tiles before and was going insane shinji

ornate locust
#

but the time it took working out how to do it was way less than it would manually doing it

#

Yeah god the "which exact grass tile is this" game

ornate trellis
#

you are my saviour

#

i need to fix like ten maps or so of which some wouldve basically been full replace

ornate locust
#

LOL yeah I was looking at about 60 maps I had to double check

#

and they aren't big, but jesus christ

ornate trellis
#

hmm, why are all my inside tilesheets gone now th

mortal blade
#

The Soul Mod requires... a sacrifice.

ornate trellis
#

yall, i got it to work finally omg

jaunty shuttle
ornate trellis
#

(new version finally available in my thread dsfsdf)

jaunty shuttle
#

@woeful lintel Heyy, so I figured i'd test the slots thing with my silk playstand just to get it set up preemptively. I got it working but just with putting normal furniture on top of the playstand frame like a table. How do I make an item/furniture for silks that I can place only on the frame, and is it possible to have the inventory sprite of the silk look different than the placed sprite? I saw the item_context stuff in your docs but nothing on making the items themselves SDVpufferowo

tranquil olive
#

Would there be a better way to add gift tastes for flavored items in the json, or would it be better to not do it?

I tried this after seeing there was 'AcceptedContextTags', and while it does make for example Penny love the Poppy flavored item, it also makes Evelyn love all of the flowers (even Poppy), which isn't really intended

https://smapi.io/json/none/c78174c374084d08bb3eb2f4a870a4e9

hallow prism
#

I dont believe !context_tag works in gift taste

#

You cant have a set of context tag sadly

quasi crow
#

how does one set the value of a map property in c#?

lucid iron
hallow prism
#

So you cant have stuff like "all blue flowers", just taste about blue and taste about flowers

uncut viper
tranquil olive
hallow prism
#

Sure

quasi crow
# lucid iron `location.changeMapProperties` but also why

assuming im following everything right, soil decays at the end of the month because the farm has the "ClearEmptyDirtOnNewMonth" map property.
I want to prefix where that happense and turn that off.
then posftix it back probably

#

specifically GameLocation.HandleGrassGrowth()

lucid iron
#

i would just do a transpiler on that if check if u already doing a harmony SMCPufferjail

quasi crow
#

...i don wanna

lucid iron
quasi crow
#

transpiling looks hard. prefix is easy

lucid iron
#

no its not hard

#

but hm i think u would have to transpile anyways

#

if (this is Farm || HasMapPropertyWithValue("ClearEmptyDirtOnNewMonth"))

brave fable
#

transpiling in itself is simple, but you do need to learn about CIL and the instruction stack

lucid iron
#

gotta yeet the this is Farm bool

#

the map prop is irrelevant when the location type is a farm

quasi crow
#

oh damn. your right.

#

huh, actually i dont think the farm even does have that property.

paper lotus
#

I have a question, i have a mod that's going to require some testing to tweak, is the best way to get feedback just uploading the mod and seeing everyones opinions?

quasi crow
#

i thinks it just that check

#

sigh fiiiiiiiine.

lucid iron
#
IL_0007: ldarg.0
IL_0008: isinst StardewValley.Farm
IL_000d: brtrue.s IL_001c

IL_000f: ldarg.0
IL_0010: ldstr "ClearEmptyDirtOnNewMonth"
IL_0015: call instance bool StardewValley.GameLocation::HasMapPropertyWithValue(string)
IL_001a: brfalse.s IL_0047
#

u just gotta make brtrue.s IL_001c into br IL_0047 probably blobcatgooglyblep

whole raptor
#

Would I be able to just replace the Action field in this edit/tile while keeping everything else unchanged? Or do I have to replace the whole thing? SDVpufferthinkblob
Nvm, that was a dumb question πŸ˜…

lucid iron
#

so yea relatively not that bad as far as transpilers go, since u got a good label to steal nearby

quasi crow
lucid iron
#

yea and im suggesting adding unconditional jump to end of the if

quasi crow
#

oh

lucid iron
#

sometimes i get testing from friends willing to help

slow basin
#

is there a tutorial about how to use the appearances thing? idk how it works but I have a feeling it'll be easier than trying to use one sheet of all portraits

whole raptor
#

It's definitely better to use appearances πŸ™‚β€β†•οΈ As for tutorials.. probably? I know modding wiki has a page about it

slow basin
#

ill go lookin then :3

buoyant moon
#

Is there any convenient reference for every line of dialogue a villager has in the game? At a glance the wiki page for each character has most of their lines outside of event scenes but I'm not sure if anything else is missing and events are a bit annoying to parse as scripts because of how they're formatted (and saved by location rather than character).

#

If nothing else I can search through the unpacked JSON and reformat event scripts a bit for readability but wanted to see if anyone else already put in the work to collect everything as transcripts.

lucid iron
#

!unpack

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!

lucid iron
#

it is in fact the best way PecoWant

buoyant moon
#

Already done that but fair enough

tender bloom
#

dialogue is one of the more readable game formats

#

events, on the other hand...

buoyant moon
#

could probably do a simple script to pull every speak <name> command into a file for each character SDVpufferthink

whole raptor
#

It's not that simple of a script to pull everything, just tons of regex SDVpuffersquee

buoyant moon
#

ooh neat tool, thanks

opaque field
olive lotus
#

Question re changing location during an event. The first half of the event happens in the Saloon on a Friday night, and includes all the Friday night crowd, or at least those visible within the viewport (part of the point is that it's crowded). Then switches to another location with only 4 characters - one of which wasn't in the original scene. When I change location do I have to warp all those other characters into a spot in the dark, or can I just load the ones I need for the new scene? And do I need the last character to be included (albeit out at like -100 -100 somewhere) from the start?

royal stump
opaque field
#

nope hang on wrong i18n

opaque field
torpid sparrow
#

have the one you dont need yet at -100 -100 yes and then warp them to a visible tile when u need them

royal stump
#

the other keys did start with flavored- instead, so it might be mixed up somewhere

olive lotus
opaque field
quasi crow
# lucid iron u just gotta make brtrue.s IL_001c into br IL_0047 probably <:blobcatgooglyblep:...
{
    var matcher = new CodeMatcher(instructions, generator);

    // Find the target anchor (IL_0046 - IL_0048)
    matcher.MatchStartForward(
        new CodeMatch(OpCodes.Pop),                 // IL_0046
        new CodeMatch(OpCodes.Ldarg_0),             // IL_0047
        new CodeMatch(OpCodes.Isinst, typeof(Farm)) // IL_0048
    )
    .ThrowIfNotMatch($"Could not find entry point to make target anchor {nameof(Transpiler_HandleGrassGrowth)}");

    if (!matcher.IsValid) return instructions;

    // Move to IL_0047 and get/create its label
    matcher.Advance(1);
    var targetLabel = matcher.CreateLabelAt(matcher.Pos, out _);

    // Find the original branch to redirect
    matcher.Start().MatchStartForward(
        new CodeMatch(OpCodes.Isinst, typeof(Farm)),
        new CodeMatch(OpCodes.Brtrue_S)
    )
    .ThrowIfNotMatch($"Could not find entry point for {nameof(Transpiler_HandleGrassGrowth)}");

    if (matcher.IsValid)
    {
        // Update the branch's destination to the new target label
        matcher.Advance(1) // Move to the Brtrue_S instruction
               .SetOperandAndAdvance(targetLabel);
    }
    return matcher.InstructionEnumeration();
}```
so uh. like so?
lucid iron
#

oh u dont need ot make ur own label bolbsun

quasi crow
#

mm. just advance to the right spot and do the setoperandandadvance thing?

lucid iron
#

you can match for the brfalse.s IL_0047 and then Label lbl = (Label)matcher.operand;

#

then use that label and replace brtrue.s IL_001c

#

it is usually best to just try loading game with ur transpiler tho

#

harmony will bonk u if u did it wrong and then i usually just print the IL to see what i did

quasi crow
#
var matcher = new CodeMatcher(instructions);
matcher.MatchStartForward(
    new CodeMatch(OpCodes.Brfalse_S));
Label lbl = (Label)matcher.Operand;
matcher.Start().MatchStartForward(
    new CodeMatch(OpCodes.Brtrue_S));
matcher.SetOperandAndAdvance(lbl);
return matcher.InstructionEnumeration();```
That is certainly much shorter.
#

and appears to be working

#

many thanks!

#

well, that didn't take long πŸ™‚β€β†•οΈ

uncut viper
#

Transpilers are inevitable 😌

quasi crow
#

i mean... I could've done something worse. like just replace the entire method, to change my one line.

#

it would have taken me less time, if nothing else :P

#

from the mutterings i hear about crime rates around here it probably wouldn't even be that big of an offense

lucid iron
#

wait

#

i keep doing this LilyDerp

#

yep unpublish still borked

patent lanceBOT
lucid iron
vernal crest
#

Lol

whole raptor
#

I think you can just unpublish in the showcase SDVpuffersquee

ornate locust
#

nope

uncut viper
#

(It is deleted)

ornate locust
#

Hasn't worked since... I've been here, tbh

whole raptor
#

Oh, the more you know SDVpuffersquee

lucid iron
#

yea i get missing permission everytime

#

its supposed to work

uncut viper
#

It's supposed to work but doesn't due to Discord permissions weirdness and a workaround has yet to be implemented yet

latent mauve
#

Okay, I finally stopped waffling around on other projects to launch my bathroom renovation mod, LOL

gaunt orbit
quasi crow
#

nifty. I'm promptly going to forget before the next time i try to do that, but thanks :P

fierce vault
#

do you need to have dialogue .mon (which would default to spring), and so on in the json as defaults in order for the rest of the numbered dialogue to work?

vernal crest
#

No, you shouldn't, though if you don't have the day ones you have to be very careful not to miss any of the more specific keys otherwise your NPC will not have dialogue occasionally. I'm not sure what you mean about defaulting to spring though - there's no default dialogue like there is with schedules.

fierce vault
#

oh

#

well thanks

lucid iron
#

If u want to do the popular dialogue pool approach then ppl normally just cover all 7 days of week

#

I think covering all 4 seasons should also work? No clue

fierce vault
#

I actually need to have an entire months worth of unique dialogue for what I'm working on, so I don't think I will be using week entries

hard fern
#

I just write 5 lines per heart level and just randomize it.. im lazy...

vernal crest
#

I don't use any keys other than the "Mon" etc keys except for specific dates like around festivals

fierce vault
#

My dialogue is broken currently though, and now my npc also isn't showing up anymore even though the trigger actions stuff worked great the other day, so I'm kind of frustrated with multiple things right now

uncut viper
#

Back when I was working on my NPC I gave her unique dialogue for every single day of the year

autumn tide
#

oh you have an NPC?

fierce vault
vernal crest
fierce vault
#

I'm working on one right now though for modfest

autumn tide
#

I was actually asking about buttons but I'm excited to see what you make too!!

fierce vault
uncut viper
#

(I sort of do! Conceptually I do. No art for her though so she's on indefinite hiatus.)

autumn tide
#

gotchaaa

vernal crest
#

I think it is the worst thing when something was working before and now it isn't and you don't know what happened to cause that.

fierce vault
#

yup

autumn tide
#

cough cough everything i do ever

uncut viper
#

My very first Stardew mod (and my first foray into C#) was actually diving headfirst into Harmony to dehardcode gift taste dialogue portraits pre-1.6 just for my NPC to work the way I wanted her to, so she's been on hiatus for a while

fierce vault
autumn tide
#

still that is fast-

#

tbf i do work at the pace of a heavily concussed snail

#

but still fast!

fierce vault
#

I am verrry slow as well. This project is doable compared to my other npc mod though for reasons I can't share without spoiling what it's about

autumn tide
#

I've been working on my main krobus/dwarf expansion for like 6 months and I'm like... 40% done

vernal crest
#

I'm thinking it's pretty unlikely that I will manage to get a modfest submission (beyond Bog's Witchy Tilesheets that Bog and I did together).

#

I've been working on my "quick museum mod to be an early user of Button's CMF mod" for...8 months now I think lol

autumn tide
#

i had my custom emotes mod done with the nexus publishing tab open on my computer for a whole month

vernal crest
#

Every time I introduce me needing to draw anything into my mods I slow down to a crawl

#

Nexus mod pages are terrible

fierce vault
#

My total time spent with my real first mod and npc is so much, with so little to show for it πŸ˜…

vernal crest
#

I hate having to make the art assets

#

We can all be slow and steady together

brave fable
#

still working on my first mod btw. you're doing alright

autumn tide
#

I think I hate modding but also i love it

vernal crest
#

There are some parts that I dislike but for the most part I really enjoy it

fierce vault
lucid mulch
#

I'm pretty sure I've spent more time updating other mods than my own

autumn tide
#

-# gonna actually go force myself to sleep now byeee

brave fable
#

celebrate both. live a little

fierce vault
#

No, I will, I'm just talking about the technicalities, that's all πŸ˜…

#

Ok, the perspective I just shared was very much a glass half empty one.

#

I will have TWO first npc mods to celebrate, just for different firsts lol

#

I'm going to start another new test save to see if my npc is just not triggering because of weirdness going on in this one. I literally have no idea what could have changed to make him not show up when it worked last time

#

Ok, so there was something wrong with my save! Idk if I should be concerned that it got messed up so easily though.

tender bloom
#

it was very exciting

#

made a house

#

need to put rice cooker next to the pantry, but to do that i need tilesheet and that is work

fierce vault
#

Anyone know why this would happen?

#

I don't want someone to play my mod, not finish their day because something came up, and then not be able to trigger the event properly the next time

brave fable
fierce vault
#

My mod relies on a trigger action to make the npc invisible, and then an event to make him visible again by the way

tender bloom
#

no comment πŸ˜› it's meant to be a courtyard

vernal crest
tender bloom
#

but i don't know how to draw that any other way

vernal crest
fierce vault
#

sure

tender bloom
brave fable
#

i see you managed to sneak in some hydrangeas SDVdemetriums

fierce vault
#

Dolphin actually came up with the idea!

vernal crest
#

Fair enough

fierce vault
#

Oh, debugging it does seem to make the event actually register this time, so this might not be a disaster scenario.

#

Odd it doesn't play properly if I try to view it a second time after failing to save the day though

tender bloom
brave fable
tender bloom
#

omg they are so pretty

brave fable
#

they dont even do anything theyre just there for decoration and to justify makotos existence i swaet t o god

tender bloom
#

they have shapes

fierce vault
#

I'm going to have to set this concern aside for now probably, since there might not be anything I can do.

tender bloom
#

I drew an avocado tree yesterday

brave fable
#

glamorous. realistic. and most importantly avocado shaped

tender bloom
#

the fruit trees are bedeviling me

#

i have drawn a papaya tree and an avocado tree

#

i meant to draw a total of 11 fruit trees

brave fable
#

11 trees is so many trees

tender bloom
#

yeah i don't know why i do this to myself

#

the problem is, i love fruit

#

and if i want to have 11 fruits i need 11 fruit trees

brave fable
#

it's important to note that CA used the exact same tree shape (with edits for the stump) for every fruit tree up until ginger island

#

i don't know how he had the strength to give them all unique leaves but at least the tree is the same

tender bloom
#

messing around with gingko trees

brave fable
#

braver than i

tender bloom
#

winter-fall-summer-spring left to right because sure that makes sense

#

with a myserious extra mistake in the middle

hard fern
#

Trees r so cool...

brave fable
#

i suppose technically i drew a gingko but i thought it was buxus

#

and i havent drawn any seasonal variants either

tender bloom
#

this is my papaya tree

hard fern
#

What if i just make bonsai to avoid big tree

tender bloom
#

i think you can guess where i got it

#

bonsai is also a struggle but less of one

#

the problem with bonsai is you want so much detail

#

in such a small area

#

but at least there is finite fiddling

brave fable
#

i was going to jsut make small trees but also the trees grow big after a year but you can cut them back down to size with secateurs

hard fern
#

I have those lego botanical sets of an orchid, crysanthemum, some bamboo, and a plum blossom... So i want them everywhere

#

Even in stardew

tender bloom
#

i think i drew wisteria, pine, and a couple others in my bonsai mod

brave fable
#

tbf papaya trees really do just Look Like That

#

there's a bunch growing around here and i saw loads in fiji

tender bloom
#

right?? they're such weird trees

hard fern
#

Why are they so green

tender bloom
#

i don't think i've seen one irl but i looked up pictures

brave fable
#

just tall ass green things with blobs hanging from the top

#

i only drew the decorative mandarin since i saw a nice one on a walk out of work over lunch

#

actually that's the same story for all the trees now i think about it

hard fern
#

Blueberry can u draw a giant weeping willow

brave fable
#

fuck off

hard fern
#

😭

brave fable
#

/lh but also /gen SDVdemetriums

#

i am going to EXPLODE at trees

#

these ones are survivable cos they r small

hard fern
#

What if the trees exploded

brave fable
#

i would cry

patent lanceBOT
calm nebula
#

Blueberry, what about that one fun one with the parallel veins

#

Ginkgo

#

Or a fig tree

tender bloom
#

i love fig trees

brave fable
#

elizabeth's got us covered

hard fern
#

Baobab

tender bloom
#

the leaves are such hands

#

i am not drawing one tho

#

bluebs can do the figs

brave fable
#

there's a truly wild fig in the sydney botanic gardens

#

actually a few

calm nebula
#

Does atra get a fig

brave fable
calm nebula
#

Your figs are wild

brave fable
#

truly

calm nebula
#

Ours dont look like that

#

Just big with big leaf

lucid iron
#

??????

#

im being scammed by netlist again

gaunt orbit
hard fern
#

What about poplar

calm nebula
#

Why are you looking at the backing array, chue

#

Why

lucid iron
#

well the size is not the important part

#

im being lied to

#

the front only show 1 item πŸ˜”

#

but theres 2

calm nebula
#

Do u have two trinket or one trinket

lucid iron
#

2

calm nebula
#

Weird.

tender bloom
#

i would consider birch trees but lumi already made very nice ones

gaunt orbit
#

2cakes

brave fable
#

i do love birch trees. our university had some for some reason

#

very pleasant look

calm nebula
#

Does NetList have a custom enumerator

brave fable
#

but anyway it's impossible to do a nice willow or honestly most pines since the foliage just doesn't foliage right in pixels

hard fern
#

2trees

lucid iron
#

i think its cus im checking this list in the middle of trinketItems.OnElementChanged += OnTrinketChange;

tender bloom
lucid iron
#

so it's in a weird state

brave fable
#

sdv has some groovy way of doing pines which i don't fully understand or appreciate

tender bloom
#

i feel like at tree scale you could make spikes

#

sdv pines are like, christmas trees pines

lucid iron
#

well i didnt think of it until now cus there's like 5 layers of indirection

calm nebula
#

....doesnt on element changed tell u about added element

brave fable
#

at least i'm sure magnolias will be easy enough to make. like a plumeria but different

lucid iron
#

see 5 layers of indirection

calm nebula
#

Magnolias are pretty

#

Big flower

lucid iron
#

anyways i do have simple solution at least

brave fable
#

a very grandi flora

hollow pine
#

I feel Kinda silly, Ive been trying to make a warp between 2 of my custom maps (a front door of a house to the entrance of the interior). I've watched videos and read the wiki and just cant seem to wrap my head around it. help? please and thank you.

calm nebula
#

Anyways yeah, video game does not actually follow c# naming convention

tender bloom
calm nebula
#

..changed isnt a guaranteed after change.

tender bloom
patent lanceBOT
brave fable
#

at work i've got a big bowl of interesting seeds and nuts i've pilfered from my walks because i'm like that. the magnolia seed pod does get a few questions lol

#

jacarandas also have cool pods

lucid iron
#

im being bullied again

calm nebula
#

At work I have small glass chickens and many empty cans of Monster

tender bloom
#

You should need:

  • outside map: tileproperty on the lower part of the front door (LockedDoorWarp is typical for a house)
  • inside map: Warp map property designating which tiles warp back to the outside map
#

Here's an example of the LockedDoorWarp tile property in Tiled, on the outside map

brave fable
#

maybe this season i'll be able to find some flame tree pods. oh to dream

hollow pine
hollow pine
fierce vault
tender bloom
#

here's my inside map corresponding to the same lockeddoorwarp above

tender bloom
tender bloom
#

I circled the two tiles that are referenced in my Warp map property

hollow pine
#

I feel like Tiled would probably be easier as a beginer

tender bloom
#

the LockedDoorWarp is aimed 1 tile above that so I don't infinite loop

tender bloom
#

used to be the case that AddWarps was more reliable because the wrong number of spaces in Map properties would up and die, but i think pathos made that more robust

vernal crest
fierce vault
#

oh πŸ€¦β€β™€οΈ

#

his gift dialogue doesn't even work for some reason

vernal crest
#

What do you mean by "doesn't work"? Do you get the no translation error? Some other dialogue? You can't give him gifts at all?

fierce vault
#

I literally can't tap him

#

there is no chat or give gift pop up upon hovering

#

I wish there were translation errors lol

vernal crest
#

You have not given him any dialogue

#

Because the Targets are wrong, they are his display name not his internal name

fierce vault
#

Ohh

vernal crest
#

Same with his entry in NPCGiftTastes

hollow pine
tender bloom
#

LockedDoorWarp destinationX destinationY mapNameB startTime endTime

#

(in a tile property, so you don't need the "from" x y)

#

and then in the interior yes Warp x y MapNameA x y

hollow pine
#

Ah ok I think I understand now. One moment I'm gonna give it a try

fierce vault
hollow pine
brave fable
#

24-hour time, ranging from 600 (6am) to 2600 (2am)

fierce vault
#

Ok, so I think I fixed the inconsistent names. Is there a reason my i18n is getting a bunch of translation errors now?

#

I'll get the new jsons

lucid mulch
#

(don't forget i18n needs a different reload command to patch reload)

hollow pine
#

The warp isnt working...hmm. keeps saying " [game] Warp to OrphanageInterior failed: location wasn't found or couldn't be loaded. "

lucid mulch
#

And is OphanageInterior a location?

vernal crest
#

Is your map named differently to your location? (By the way, we recommend that you use your mod id as a prefix for all IDs to ensure they are unique.)

fierce vault
hollow pine
lucid mulch
#

What does your Data/Locations patch look like?

hollow pine
#

...

lucid mulch
#

Or the Customlocations field in cp if it's defined in that instead

hollow pine
#

I dont think i have that set up

hollow pine
#

i think thats the part i've been confused about

vernal crest
#

Yes it's tricksy because you have to have location data and that contains the map. Without the location, the map isn't actually in game as a map.

fierce vault
#

Where do I read about all of the different reload commands btw? Is it in debug's docs?

hollow pine
#

I may need to get a good nights sleep before i take this on. I only started trying to make stardew mods this last week and ive kinda gotten obsessed lol. Have to force myself to take breaks

uncut viper
#

The only "official" reload command is SMAPI's reload_i18n, which is in its docs and our !reload command. Beyond that any other kind of reload is added by whatever mod uses it, so it'd be in their own docs

#

(CP is also in our !reload command though but things like FS or Smithy (i think it has one?) or AT and stuff wont be)

fierce vault
#

Oh, ok. I'll try that command then, thanks button

#

I'll think I'll quit smapi, since some things may not get reloaded anyway actually.

lucid mulch
#

you can also run help in the smapi console and it'll tell you the top line of every command

fierce vault
#

(Because the command didn't fix the errors)

lucid mulch
#

and for many commands doing stuff like patch help would give further details

#

so what patch is having the translation error and what does your i18n look like

fierce vault
#

thanks I'll save this

vernal crest
fierce vault
#

Oh, ok

cedar thorn
#

i already made a mod to add cucumbers and i want to do more but i'm too lazy

#

like bell pepper, onion, maybe lemon trees

fierce vault
#

hmm, yeah, absolutely nothing in my i18n seems to load, so I'll grab those json again

cedar thorn
#

cocoa that can milled to make cocoa powder

fierce vault
lucid mulch
#

and where are you seeing the translation error?

fierce vault
#

his name, his gift tastes, and his dialogue for winter_5 currently

vernal crest
#

If it's not recognising the i18n at all, that suggests that your file or your i18n folder might be incorrectly named

fierce vault
#

it's default.json

#

oh wait!

#

That's my other npc mod

#

NO

#

It's called i18n.json SDVpufferflat

#

SDVpuffercry That's not what it should look like

#

hmm, still translation errors after changing that though. Thanks for all the help guys, I appreciate it. I'll need to just fix my mod more tomorrow now though, when I get the time.

opaque field
clever monolith
#

Hello
I'm losing my mind lowkey
How do people link the translations of their mods in this section of the page
I tried googling but its just telling me how to upload the translation itself, not how to link the translation mod page...

devout otter
#

If a translator gives their mod a translation tag and a language tag, and put the mod they're translating as a requirement, it would automatically be in there. No other way to do it, AFAIK.

uncut viper
#

You don't manually link them there

#

Uploading the translation itself IS how it gets put there, as Dolphin says

clever monolith
#

Ohh
Okay then I guess it's nexus itself being weird then
The translator uploaded the mod correctly, nexus just isn't recognizing it
I'll just manually link it in my mod description

Thanks!

swift falcon
#

ive seen a lot of translation tagged mods that shouldnt have one

#

i miss a lot of them since i have translations and ai filtered out :(

dire kestrel
#

i've heard that the nexusmods team are doing some improvements in that area but can't say for certain what they are or entail

#

my workaround, currently, is doing the occasional looksie while signed out

spice inlet
#

ok but what stops me from creating a random mod and tagging it as a sve translation SDVpuffersquee

sullen rain
#

Hey guys. Is there a way to remove quality from items produced by animals that don't usually have a quality value? Like the lung dragons are producing gold quality batteries

quasi crow
#

do you want a way to strip quality from items generally, or are you looking to specifically stop them from producing like that? if they arent supposed to then i assume its a mod doing it, so youd have to look at its options.

sullen rain
#

No I've had this problem before, it's definitely my mods doing it. Any items I have them produce that shouldn't have a quality, do. I'd like to try and stop that from happening

hallow prism
#

you would need some C# at the moment

#

it's how the game works, the animal products get quality, i don't know of a way to make that stop with just CP

#

i don't believe animal drops are using the full range of item field features, so if they do in a future update this may become possible

quasi crow
#

oh i thought we were in the other channel woops.

sullen rain
#

Alright thanks Lumina

vernal crest
#

Extra Animal Configs allows you to prevent quality from friendship gain

sullen rain
#

Oh?

#

I'll check that out

#

Thanks

cedar thorn
#

for the sprite index, if i put them all in one image that is, do the numbers go by column or by row? like if i had a orange, peach and banana in the first row and mango, plum and strawberry in the second row. would peach be spriteindex 2 or 3?

woeful lintel
# jaunty shuttle <@385527172783276032> Heyy, so I figured i'd test the slots thing with my silk p...

You can make them like any other Furniture (it can even be a basic object made with CP if it's less than 16x16 pixels).
To make the slot only accept silk, you can use the "Condition" field. For example, "Condition": "ITEM_CONTEXT_TAG Input some_unique_id.silk" will make it so that the slot only accepts items with the context tag some_unique_id.silk (you can define and use any context tag you want, just make sure that it's unique (the [[ModID]] token won't work here) to avoid unwanted items). Then you just have to add the same context tag to the items you want to fit in that slot (FF has a field for it). If the silks' collision is large, you might also want to set "Max Size" = {"X": 2, "Y": 1} or even larger on the slot.
Unfortunately, I don't think there's a way to make your silk furniture or item be only placeable on the slot, I'm pretty sure all objects are placeable anywhere by default. This is not a huge issue though.
To have a special inventory sprite, use the "Icon Rect" field (works the same as the Source Rect of a Layer).

In case you want to have your silks be placed on top of your playstand Furniture, you can have the Area of the slot on the upper part of the Furniture and use the Offset to align it with the playstand so that it's more intuitive to place and remove it.

#

I'm trying to figure out AT again, is there any way to give an alternative base texture for colored chests? I can't find anything about it in the docs.

dreamy dew
#

Can someone identify these strings of ActiveDialogueEvent for me?

questComplete_25
questComplete_132
questComplete_8
questComplete_
questComplete_23

#

I just want to know what they mean technically, or significance. They can be found the save's data, for example.

torpid sparrow
#

err it looks like theyr'e CTs for after quests are completed

torpid sparrow
dreamy dew
torpid sparrow
dreamy dew
#

But even outside of the list of vanilla event IDs, I couldn't search for them.

torpid sparrow
#

open the raw data

whole raptor
#

!unpack

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!

torpid sparrow
#

^If ur modmaking and havent unpacked, u must

dreamy dew
#

Thank you, both of you.

woeful lintel
hidden tinsel
#

Hello! I'm currently writing the dialogues for a new NPC I'm making, and the doc on the modding wiki says you can add % to the start of a line to make it like when you talk to Gil, without any portrait. Does it HAVE to be at the start of the entire line of dialogue, or can it work just for the second line of the same dialogue?

This is what I'm writing:

"Introduction": "Is it for real this time, though?$2#$e#
%(San Lang seems lost in his thoughts...)$11"

#

it doesn't seem to work right now

whole raptor
#

Should work I think SDVpufferthinkblob But also you're adding a portrait call for a dialogue that shouldn't have a portrait

hidden tinsel
#

ah yeah I forgot to remove that in the copy-paste

#

I tried without the portrait tho and it doesn't work

#

I'll do it a second time just in case I got things mixed up

whole raptor
#

"Should" as in "I have no clue, but logically it should imo" πŸ˜…

hidden tinsel
#

well now we know it doesn't work lmao

torpid sparrow
#

i dont think it's worked for me in the past

#

cant remember though and i guess the test also proves that lol

hidden tinsel
#

I'll try as the first thing in the whole dialogue

#

for science

#

and the wiki might have to be edited lol

#

"Introduction":
"%testing"

#

so it somewhat works, but I was expecting the smaller frame that we can see during events

brave fable
#

task failed successfully SDVpufferthumbsup

torpid sparrow
#

i thought it used to be a smaller frame

#

but that might just be for events

hidden tinsel
#

yeah, I've just spent 3 days making events, I get all mixed up now that I'm writing the normal dialogues

tiny zealot
#

that smaller frame is for the message event command, i believe

hidden tinsel
#

yup this one

tiny zealot
#

% dialogue always uses full-size (e.g. emily dancing at the luau)

hidden tinsel
#

"Introduction":
"%testing#$b#testing2",

#

and % dialogue has to only have one line

#

✨ Science ✨

whole raptor
hidden tinsel
#

Yeah that's what I'm gonna end up doing, I'll just change the portrait for a closed mouth

south crown
#

Should I use Json Assets or just stick with content patcher for modding in items and machines?

brave fable
#

guess da tree

#

stick with CP! json assets is out of use

tiny zealot
#

^ json assets no longer serves a purpose except for keeping old mods working

calm nebula
#

Pretty

mortal blade
#

Magnolia? Wait... it's a fruit tree. Never mind.

gentle rose
#

cherry of some kind? idk trees

slender leaf
brave fable
#

magnolia it is 😌 it does look quite like a guava tho except for not being completely covered in guava

slender leaf
#

okay im slow

brave fable
#

this has been a fruitful research session tho since now i know people will see the weird magnolia seed pods and think it's a delicious fruit

cedar thorn
brave fable
#

you know it never occurred to me that almond is also prunus

#

i knew it's the kernel of a stone fruit but i never put the two together

cedar thorn
#

yeah

brave fable
#

i'll be sure to make the flora a bit more grandi for the larger version πŸ™‚β€β†•οΈ

torpid sparrow
brave fable
#

a common misconception

torpid sparrow
#

oh my

slender leaf
torpid sparrow
#

who has now changed their name to cranberry

slender leaf
#

ohhhh okay

mortal blade
slender leaf
torpid sparrow
#

i do like cranberries more than blueberries

brave fable
#

sydney 🀝

slender leaf
#

wait are you aussie?

mortal blade
#

W0t's wrong with new zealand, m8?

slender leaf
#

wait a second, now this is really out of the blue but you dont play any other games do you? i feel like i know you

brave fable
#

frangipani season here still πŸ™‚β€β†•οΈ

#

dota's probably the only multiplayer game in the last year haha

calm nebula
#

Well New Zealand's former prime minister has relocated to Australia

brave fable
#

(unless you played mh world/rise)

calm nebula
#

Modding help rise

#

Modding help world

slender leaf
#

okay nvm xd, used to play a game with some one called blueb3rryyyy

mortal blade
#

Mod the Worldβ„’

brave fable
#

oh no i haven't had a leetspeak name since 2006 haha

slender leaf
#

what does that mean?

calm nebula
#

What happened in 2906

brave fable
#

numb3rs 4 l3tt3rs

brave fable
slender leaf
calm nebula
#

What's counter strike

brave fable
#

it's a sort of online casino

calm nebula
#

Is it that game New York is suing

brave fable
#

but it used to be a video game

torpid sparrow
#

and also yes

#

*suing over

cedar thorn
#

the state of new york is suing a game?

torpid sparrow
#

arent suing csgo but valve

#

ovre csgo's loot boxes

torpid sparrow
cedar thorn
#

interesting

mortal blade
#

100% Provenβ„’!

gaunt orbit
#

CS:GO is pretty much singlehandedly responsible for starting the lootbox trend

brittle pasture
#

TF2 didnt sell keys for $2.5 for it to be sidelined smh my head

tiny zealot
#

i just spent at least ten minutes wondering why my postfix patch wasn't changing the result of a function, and it's because i forgot the ref in ref bool __result 😩

#

turns out that will make your patch just silently not do the thing!

calm nebula
#

I mean it did what you told it to!

#

You changed the local copy of the result!

tiny zealot
#

i know! that's what makes it so irritating 😌

brave fable
tiny zealot
#

not even the first time i've done it, but i think the longest i've gone before figuring it out

mortal blade
#

When we dont' learn from our mistakes.

#

... or have made so many mistakes, we forget all the others we've made.

jaunty shuttle
#

When brain goes brrrr

calm nebula
#

I love the sandwich game

torpid sparrow
#

papa's cheeseria

mortal blade
#

Pizza Soup. Mmmmmm.

buoyant moon
#

At a glance it doesn't seem like it's possible to use CP to patch an event to add preconditions without replacing it outright (i.e. nulling it and then adding a copy with the updated preconditions), is that right?

calm nebula
#

Which precondition are you trying to add

#

For some, conditionally nulling the event works well

buoyant moon
#

I didn't have anything specific in mind at the moment SDVpufferthinkblob

#

probably mostly seeing other events off the top of my head (from forked question answers)

#

actually just conditionally nulling might work, you're right

tiny zealot
#

aside from that edge case, yes, you have to null out and replace the event entirely if you want to change its preconditions

#

this is because the preconditions are part of the key (grr in-band metadata) and the key is how you access items in the dictionary

soft lance
#

Someone reported an issue with quests, the first I've heard:

"When the letter that starts the quest arrived, my quest log was already full, so the quest didn't get added. Now the letter is gone and the quest never appeared in my quest log."

#

While I can give them commands to activate it, how can I prevent that in the future?

#

Is there a condition that can be added before being given quest(s) to check if they are already full? I didn't know that there was a limit for the number of quests, seems like the first person that has met said limit

torpid sparrow
#

can quests get full?

soft lance
#

I'm unsure, I'm questioning now!

#

I've never had a user have that kind of issue until today, so I'm curious how this works

#

I did check, the letter does work correctly, and no one reports issues with it

#

Though he does state that his quest log was..full

#

so I assume that there is soem sort of limit to the number of qeusts you can have

torpid sparrow
#

err i can only imagine he means his ui is full

soft lance
#

I just dont know the limit, or how to check before

torpid sparrow
#

but u can scroll down?

soft lance
torpid sparrow
#

is blueberry around

soft lance
#

I'm going to ask them

torpid sparrow
#

guh

fallow musk
#

i believe if two quests have same ID the second one doesnt trigger

soft lance
#

I'd doubt it, I have unique IDs for my mod, and especially mail

#

and they are pretty long

#

he isnt getting any errors I believe, at least what Im told

#

"ASF_QuestWillyJackOFishLetter"

torpid sparrow
#

oh god i have the same id in my mod!

soft lance
torpid sparrow
#

some of my ids are so long for no reason

soft lance
#

ohh

#

i thought u meant

torpid sparrow
#

oh no that was a joke

soft lance
#

u had ASF_QuestWillyJackOFishLetter

torpid sparrow
#

xd

soft lance
#

PHEW

#

🀣

torpid sparrow
#

imagine if i did

#

HAHA

soft lance
#

i wanted to migrate to a new ID, but thats a big headache, not worth it since all the stuff I have, are, pretty long ID's

torpid sparrow
#

i hope theres no other wem who wants to make a toothless, peeta, or tilly mod

soft lance
#

im sure there will be no conflicts

#

I did just ask for their SMAPI log tho

#

and what platform (i asked if PC, how big monitor and resolution)

#

I doubt anyone uses 720p these days..but i remember on a very old laptop of mine it was 720 and i had to do smth funky so some UI fit

#

(tho, ages ago)

soft lance
brittle tree
#

is there a mod, which fixes the controller issues , i wanna know

swift gust
#

Does anyone know where in the files LeahsEx is defined? I know it's a gender check somewhere, but I can't find where

brittle tree
#

on ipad or android

soft lance
#

By default controller support is good, works with Xbox cotnrollers and my steam deck

#

Im unsure, might be a weird bug

#

but id recommend that channel : )

brittle tree
#

okiee.

fallow musk
#

in events.cs

swift gust
soft lance
#

: D

#

I love pfp

mortal blade
#

WARPU-STARRR!

swift gust
#

thank u!!!!

torpid sparrow
#

mailflags are permanent right, if nothing else changes it?

royal stump
#

yep

quasi crow
#

can you make recipes with a lot of options for an ingredient?
random example, 1 any edible mushroom and either 1 horseradish or 1 garlic?

calm nebula
#

With spacecore yes

tender roost
#

Hey @ivory plume ! I'm here from Nexus mods! You asked me to ping you here πŸ™‚

gaunt orbit
#

anyone know offhand what the building id for the shipping bin is? is it just ShippingBin?

lucid iron
#

There's also leftover code on Farm from when shipping bin is generally not a building

gaunt orbit
lucid iron
#

Hell yea I always wanted that

gaunt orbit
#

I'm making all the island buildings real

lucid iron
#

I remember the island shipping bin is wack as hell it uses the Farm code to do stuff

calm nebula
#

Well yes

#

The farm is a nice always synced location

gaunt orbit
#

hm, there's no mailbox building

#

would it be better to leave it where it is, or to use c# to glue it onto the island farmhouse after it's unlocked

#

if I do the second, it becomes movable with the farmhouse, but then it might not be in the same spot as the parrot perch

calm nebula
#

Make a mailbox building

#

Is it not a tile action

gaunt orbit
#

yknow maybe I should just add a constructable mailbox

#

it is just a tile action I think

#

and it has its own separate building sprite

#

idk how useful it would be, but if we can build shipping bins, why not mailboxes?

#

hm, I will need some c# to add the mail bubble though I think

calm nebula
#

How does farmhouse do it

lucid iron
#

I think it'd be useful

#

Hardcoding SMCPufferjail

#

The issue is mostly the cabin mailboxes which are baked in

pine dock
#

hello! hopefully this is the right channel to ask but i was wondering if there was a way to alter leah's ten heart event so that the opposite gender shows up instead of the same gender. i know the love interests in this game are all player-sexual but leah being bi would be cool

gaunt orbit
uncut viper
#

It is already movable as well with a map property

lucid iron
#

Ideally use fields so you only change specific lines

gaunt orbit
#

makes sense, though, since you can do that one the farm too

#

although the farm ignores it if the mailbox is attached to the farmhouse

#

in theory this should be compatible with map edits, since it does read the mailbox position and everything else is hardcoded

calm nebula
#

It's nit glued to the farmhouse?

onyx panther
#

hey, uh, does anyone know if there's a way to make a train appear during an event at the railroad?

calm nebula
#

C#

urban patrol
#

a temporary animated sprite could maybe fake it

gaunt orbit
onyx panther
urban patrol
#

then yeah look at TAS and i think the train is in cursors

hidden tinsel
#

Help, I feel like I'm going crazy : I'm looking for a sound to play during an event, it's like a big wind whoosh, and I knoooow it's in the game, but I can't find it in the list! Does anybody know what the name is?

calm nebula
#

Try the soundbank mod to find it

hidden tinsel
#

do you have a link? I can't find it with that name on nexus

uncut viper
#

Soundboard

hidden tinsel
#

thank you!

onyx panther
urban patrol
#

when in doubt, maps/springobjects or loosesprites/cursors

onyx panther
#

πŸ‘

pine dock
hidden tinsel
#

I think I might have hallucinated the sound I was thinking about, I can't find it at all ._.

#

oh well, one more thing to add with CP I guess

latent mauve
onyx panther
#

I think editing it to be a coinflip on ex's gender would be cool, personally

#

alternatively, config

void aspen
#

Is it possible to swap the whole music folder in the game with just the cp without any additional frameworks

#

Really curious how game even operates with it

latent mauve
#

I'm taking a peek at the event where Leah's ex appears and it doesn't seem like LeahEx is defined as a character anywhere that I can see, so I'm honestly not sure if you are able to swap the sprite just through the event script, even if you do change the dialogue.

#

(You might need to fake the sprite change with an EditImage patch to temporarily replace LeahExMale with the LeahExFemale sprites or vice versa)

lucid iron
void aspen
#

I'm jus wondering if it's possible with cp

void aspen
#

Or I need some other kind of framework

onyx panther
#

ok so I think these are the locations and dimensions of the trains sprites :3

void aspen
#

This works

#

Ty

lucid iron
#

just remember that you cant do any conditional edits

#

it must be done one time at launch

uncut viper
#

you can apply an edit conditionally but it wont be unapplied

#

unless you re-apply the original audio

elder scarab
#

Can someone send me a wiki on how to make a new map and add the game?

iron ridge
#

[[Modding:Maps]]

onyx panther
#

(btw I'm making a mod that adds more Abigail events and since she often visits the train station I wanted an event there)

void aspen
#

Recently learnt this stuff and I loved it

opaque field
#

I am one step closer to getting my flavored marsmallow and flavored cream cheeses to work and it's really funny because I feel like the answer to fixing one is in the other's code somewhere XD

reef creek
#

i feel like im being an idiot but i cant figure out how to put the player into their bathing suit for an event in the bathouse. can anyone help me out?

latent mauve
#

I think the only related vanilla event triggers in the pool area specifically so that the player is already in the swimsuit by the time they get there.

#

(Penny's heart event)

#

It's in Data/Events/Bathhouse_Pool, so you'd need to target that as your event location to use the same method.

reef creek
#

the event im making doesn't start in the bathhouse which is why I'm struggling so much. I've seen someone do what I'm trying to do in a different mod before but I can't find the mod I saw it in to use as a refrence.

calm nebula
#

Date night

latent mauve
#

There doesn't appear to be a direct event command to change in and out of the swimsuit, but I feel like I've seen one before as part of a framework maybe

reef creek
onyx panther
#

is there a way to check if the tide pool bridge is fixed for an event?

reef creek
#

if you are using content patcher you can check for the world state flag.
"When": {
"HasFlag": "beachBridgeFixed"
}

onyx panther
#

thanks!

reef creek
#

no problem!

onyx panther
#

also I too would like to know how one might put the player in their swimsuit (wanna add that to my Abigail 10h event)

reef creek
#

yea im tryna figure that out rn but ill ping you when i figure it out

onyx panther
#

tysm

#

also I'll probably have a showFrame right before you get in the water so it doesn't look like a sudden downwarp

latent mauve
#

Just out of curiosity, but having the Farmer pass through a tile with the TouchAction ChangeIntoSwimsuit tiledata property wouldn't work in an event, would it?

calm nebula
#

You have to walk the player using a move command over the title property

#

That's what Date Night does

latent mauve
#

Oh, so the thing I just wrote is viable?

#

Nice.

#

I did find a framework that adds more Event commands, but changing into the swimsuit wasn't one of them-- there was one that changed the player's clothes that I was thinking of instead.

onyx panther
latent mauve
#

And then walk the farmer over it

reef creek
#

do you think if i just have them walk over the tile in the locker room and then warp to inside the pool it would work?

latent mauve
#

I think so..

onyx panther
#

changeTile doesn't seem to have anything to do with tile properties though

reef creek
#

i might be back in here if it doesnt workπŸ˜…

latent mauve
onyx panther
#

fun

latent mauve
#

I mean, TemporaryMaps for events are easy enough to make/clone from the base map with small changes like that.

reef creek
#

you could use tiled or just do what im gonna do and have a "blinking" shot of them walking through the locker room

onyx panther
#

so make a copy of the woods with that single tile edit

#

seems easy enough

reef creek
#

oooh youre not using the bathhouse nvm

mortal blade
onyx panther
#

yeah I'm doing an event where you go swimming with Abby in the woods at night XD

#

it seemed cute and stuff

#

(gonna have the farmer go behind a bush after Abby invites them into the water to change)

latent mauve
onyx panther
#

no I am not making that an option

#

all sfw

uncut viper
#

@mortal blade Not appropriate.

mortal blade
latent mauve
#

It's against the rules to discuss NSFW content ❀️

mortal blade
#

Thank you for the reminder.

onyx panther
#

I mean, it is a trans Abby mod, so I do have her reference prefering to swim somewhere more secluded, but that's like, not nsfw and just a fact of being a trans woman anyway

lucid iron
#

If that secluded area is your map you can just add the changing and swimming tile right

onyx panther
#

... it's just the normal secret woods map

unique tusk
#

Is there a smapi command to just,,, spawn a baby? I need to test if my mod is working on changing the baby and toddler sprites 😭

calm nebula
#

There is one iirc

#

debug child or smth

#

But it can be glitch

lucid iron
#

u can just patch export the asset and trust it works Dokkan

calm nebula
#

I cant find the two and a half kids joke I made three years ago

onyx panther
#

you could also try borrowing someone else's save where they have a baby

somber rapids
#

so if i download smapi and put it in my mods folder the same way i have too as every other mod would it work okay?

latent mauve
#

!mh

ocean sailBOT
#

For help with modding issues, please ask in #1272025932932055121! When asking for assistance there, sharing an error log will help others identify your issue (see https://smapi.io/log for instructions).

latent mauve
#

or maybe #modded-stardew (but it seems like they already redirected you to modded-tech-support, so go there)

reef creek
#

okay i have another question that i might just be being dumb on. is there a way to combine the end dialogue and end newday commands? i want to had the enevnt end on a new day but i also want there to be dialogue from the npc the next day

left nova
#

You can use conversation topic though.

latent mauve
#

The base game does this by using the event commands to add a conversation topic

reef creek
latent mauve
#

addConversationTopic <ID> [length] : Starts a conversation topic with the given ID and day length (or 4 days if no length given). Setting length as 0 will have the topic last only for the current day.

#

from the event data page on the wiki

reef creek
#

thank you, I was looking at that one but wasnt sure if it would work for what im looking to do.

#

i would just use the event id right?

latent mauve
#

eventSeen_<id> is a built in conversation topic you can use

#

So you wouldn't need to use the command to add it, it should be automatic

#

You would just need to use that for your dialogue key.

reef creek
#

thank you!

onyx panther
#

ok, I need to ask, why does tiled like to break file explorer?

#

every time I open a map, tiled does not like having file explorer visible for some reason until I minimise it

latent mauve
#

Can't say I have ever run into that issue

onyx panther
#

it doesn't happen every time

#

eh it's probably a symptom of microsoft vibe-coding their god-awful OS

#

whatever, this should work, right?

#

(this is my first mod btw so I might seem a little dumb sometimes XD)

lucid iron
#

yea

#

i would use Maps/{{ModId}}_AbigailWoods

onyx panther
#

yeah I've not been using the token form the whole time and now I'm too lazy to go back and fix it...

lucid iron
#

this is a new instance so you must as well

reef creek
ornate trellis
latent mauve
cedar thorn
#

hey guys would anyone be willing to take a look over the content.json file for the mod i'm working on? it's not done yet but i have to go to bed and i've spent so long on it that i would really appreciate knowing i'm doing it correctly

latent mauve
#

!json drop it in here, morgan, and share the link and I'm sure people can look it over for anything if the validator complains

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.

cedar thorn
lucid iron
#

but also, the best way to find out if it works is to test

latent mauve
#

"Description": "Takes 28 days to produce a mature Lemon tree. Ready to harvest in the summer. Only grows if the 8 surrounding "tiles" are empty.", <-- this will break because "tiles"

#

Same for the other tree description after it

stark ocean
#

hey y'all. to have a conversation topic happen after an event, does the ID for said topic get put into the dialogue.json or elsewhere?

swift gust
stark ocean
#

ahhh yes, i didn't see that portion in the dialogue tab. from what i can comprehend, so long as there's a matching key in the dialogue.json, it should apply?

swift gust
#

from what i understand, when you want to create the topic you use the $t dialogue command. then any character with a corresponding topic_memory_time key in their respective dialogue files will react

ornate locust
#

You addConversationTopic in an event

stark ocean
ornate locust
#

And then in Characters/Dialogue/Charactername you add entries for your topic

#

For each character it's for

#

example, this adds one to Alex

#

For the CT MV.NewSheriff

stark ocean
#

ahh i see. does that have to go in the content.json for each character or can each entry be compiled in the dialogue.json?

ornate locust
#

The JSON does not matter, it's just for organization

stark ocean
#

okay swag :)

ornate locust
#

I have one specifically for CTs added to villagers because I like sorting it that way

stark ocean
#

organization is key 'round these parts !

ornate locust
#

Just remember to include all your JSONs

calm nebula
#

For CTs I'm persnickety

#

I like dividing the NPCs into 4 groups and adding the CT to only one group at a time (randomized) so is not like you see smth and the entire town is talking about it tbh

ornate locust
#

I am More Persnickety

#

because I add them each one based on exactly who I think would comment about it at all

onyx panther
#

... ok what if I added a 'she/they' config option for Abigail to my trans Abby mod?

ornate locust
#

Which is why Alex only has the one I basically assigned to everyone becuase it is a Big Town Change

#

and some of them are "exactly one guy talks about this"

distant bolt
#

Tfw I just found out about the Mod fest from a CoffeeMug video and I’m already deep into a different month long drawing challenge.

Has there been any notable tutorial guides that cropped up from this fest? I’m extremely new to mod making and I had started to get the tools for it but irl stuff kinda took precedence until now

ornate locust
#

also I went different angles with different people for the first one that most people react to, where Robin and Demetrius talk about the building being finished and Caroline's glad the construction's stopped, etc.

#

(it's basically next door to Caroline, bad vibes for her tea time)

#

I think there's a few ways you can vary out your CTs without the "Everyone talking about one thing" problem

onyx panther
ornate locust
#

I use localized strings for mine when I do Gender

onyx panther
#

?

ornate locust
#

You don't have to pass through the tokens to the i18n, it's nice

#

hang on let me JSON Validator upload mine so you can see examples, it was hard for me to get a handle of without them

torpid sparrow
ornate locust
# onyx panther ?

https://smapi.io/json/none/80bb5956ac31406bb6a18a3daf1b4f0f Okay here are my localized strings.
Now, I do have an Abigail one in there, AbiShe, for DSV's Nonbinary Abigail. I'll use that as an example.

    "MV.Municipal.Abi.She.false": "she",```
Here's my i18n for it. So if you use that option in DSV, it sets True. (the dynamic token here refers to DSV's settings)
```    "MV.Municipal.Dialogue.Daily.31": "Think [LocalizedText Strings/MV.Municipal:PierreName] and Abigail are feudin' again.$3#$b#I know where [LocalizedText Strings/MV.Municipal:AbiShe]'s comin' from. Some people expect their kids to be one way and don't know what to do when that ain't what they end up with.$3",```
And here's it in action (with Pierre/Piper compatibility as well)
#

Also I realize now that she's/they's reads badly, I WILL FIX THAT, but the example works anyway

#

Anyway. that works everywhere except mail. That's how the base game swaps out words in i18n now, so it works more cleanly than having to pass tokens through

onyx panther
#

does it randomise it?

ornate locust
#

You can do that with it

#

My examples just use hasmods, but you can randomize instead

#

{{Random: {{Range: 1, 2}}}} like you could do one of these and have 1 be she and 2 be they

onyx panther
#

... doesn't content patcher have a random string feature too?

ornate locust
#

That is content patcher's random function isn't it...?

#

{{}} is for content patcher tokens

onyx panther
#

ok but what you suggested kinda overcomplicates it?

ornate locust
#

If you put those in an i18n, then you have to pass through the token to an i18n

#

If you just use {{i18n: today}}, it'll show the literal text "today is {{DayOfWeek}}". You can pass in the token like this instead: {{i18n: today |dayOfWeek={{DayOfWeek}} }}, in which case it'll show something like "today is Monday".
this is from Content Patcher documents

#

That bit is... annoying and can be fragile, you have to remember to do it every place you use that token in the dialog

#

for each token you use, so if there's more than one pronoun in a sentence, you have to pass through each token

onyx panther
#

ok but what if the dynamic token I set up does that for me?

ornate locust
#

You can set up a token at the end of every single piece of dialog you do to pass through your tokens in a big block. It's really fragile and I must have broken my dialog five times by messing with that

#

so I wouldn't really recommend it, it was a headache

#

but you can do that

#

In 1.7 there'll be switch blocks and it'll be way easier overall to do that kind of randomization, but that's unfortunately not now

#

but to save you some time, if you do that and your NPC stops talking at all, check the passthroughs. One bad comma and your NPC can't talk

onyx panther
#

fun

#

also, am I overdoing it, or should I do more?

ornate locust
#

Yeah that's why I use the more complicated to set up but easier to just USE strings.

#

Do as many as you like!

onyx panther
#

ok, adding neo-pronouns then!

lucid iron
#

what if u just let player enter a value too

onyx panther
lucid iron
#

well yea, so ppl enter what they want

#

as in a text option in ur config

onyx panther
#

maybe idk

ornate locust
#

I think GNMT can even do randomization with that

onyx panther
#

what is GNMT

ornate locust
#

so maybe how they do it would cut down on options needed, you just have them enter it in

#

This is for the player, but you could probably do the same thing with a NPC

reef creek
onyx panther
#

I mean, I can probably just leave it with static options and change it up later idk

ornate locust
#

ngl I just said it for Just In Case reasons, I am sure you could do it that way. I just don't know the specifics, so I'd rather not sound really sure

#

You can do all kinds of magic if you're willing to C#, I just have no idea how

latent mauve
#

That should fix them standing on the water at least

#

Finishing up dinner but I will play around with making a quick event after to see if I can reproduce it

vocal knoll
ocean sailBOT
#

Log Info: SMAPI 4.5.1 with SDV 1.6.15 build 24356 on macOS Unix 15.7.3, with 20 C# mods and 2 content packs.

uncut viper
#

You're missing a space between the NPC name and the dialogue

#

That said, using SetNewDialogue at the end of a day won't do anything, because the dialogue is just going to be overwritten the next morning with whatever dialogue they get that day

vocal knoll
#

Okay I see, I'll try it again! Do I need quotes around it or slashes? And Am I able to trigger it with the mail instead? I didn't know how to add multiple items to the mail since I have the quest triggering already!

uncut viper
#

You don't need quotes if you're using a translation key instead (or you just have one word) but if you're plugging in a whole sentence, you do need to surround it with quotes, escaped as necessary

#

As far as I know mail can have an endless amount of actions put inside it, one after the other separated by the % symbols

vocal knoll
#

Okay, I'll give it a shot! Thank you!

vocal knoll
uncut viper
#

I would double check the number of % symbols required, but I can't check that myself atm. You'll need quotes around the dialogue if that i18n is a whole sentence.

vocal knoll
#

Yeah, it's the whole thing for the translation key. JSON won't validate it if I put quotes just around the i18n key though

uncut viper
#

If it's a whole sentence then it isn't a translation key, by translation key I mean like Strings/StringsFromMaps:Blabla or whatever. You need to escape the quotes with backslashes.

vocal knoll
#

"Spiderbuttons.BETAS_SetNewDialogue"{{ModId}}_Rosalie {{i18n:RosaliesRibbonForJas}}"/true" Like this?

#

welp there were slashes there

#

discord deleted them haha

#

"Spiderbuttons.BETAS_SetNewDialogue "[]{{ModId}}_Rosalie" [] {{i18n:RosaliesRibbonForJas}}[] "/true" (just ignore the [ ]

uncut viper
#

Put it in backticks (`) to prevent Discord from formatting them

#

\"like this\"

#

"Spiderbuttons.BETAS_SetNewDialogue {{ModId}}_Rosalie \"{{i18n:RosaliesRibbonForJas}}\" true" this is how your action should look

#

(Assuming it was just one action. The quotes on the very start and very end would be at the ends of your mail if used in mail)

fierce vault
#

how am I supposed to format the mugshot command? "MugShotSourceRect": "0 0 16 23", smapi rejects this both with and without commas.

vocal knoll
fierce vault
#

tried {} too, but it turned red in the json

uncut viper
fierce vault
#

Oh, that's definitely more complex than what I was trying, thanks button!

hollow pine
#

Ive been trying desperately to get my second custom map into my mod and nothing is working.

#

I looked at the wiki and tried to do what it said but something isnt correct

ornate trellis
uncut viper
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.

hollow pine
ornate trellis
#

please use the link provided above

lucid iron
#

you got 2 Format so thats not good also u should use {{ModId}}

#

not {{PunkBuggy.BoxCanyon}}

lucid mulch
#

Your problem is almost certainly using the token {{PunkBuggy.BoxCanyon}} which probably doesn't exist and thus the Data/Locations patch isn't running
(patch summary <ModId> would confirm that)

hollow pine
#

Sorry one moment

ornate trellis
#

id go with chu said first

#

several formats AND changes is a no go

lucid iron
#

also u dont have to use CustomLocations anymore

lucid mulch
#

ah yeah the second change block would be overriding that first change block

distant bolt
torpid sparrow
#

!gs

ocean sailBOT
torpid sparrow
#

wrong one

#

!startmodding