#making-mods-general

1 messages · Page 128 of 1

wraith meteor
#

:jsonthonk:
[subtext]you'll have to take my word that that's an actual emoji somewhere. I've committed to taking a break from discord Nitro for a bit in order to give myself a cash advance on something else.[/subtext]

teal bridge
#

Ok, I actually successfully got the test to run one frame. Now I just have to figure out how to pass the GAME_PATH into the test instead of hardcoding all the paths.

swift vessel
#

ahhhhh thank you so much!!!! glad you saw the praise!

wraith meteor
#

I reciprocate the remark about "keep circling the tapes". Not that I have any mods etc. (at least in this community) anyway, but everything I publish is implicitly under a "don't be a jerk" license like the one CoFH uses for their Minecraft mods.

uncut viper
#

if you ever do publish something though you should make it explicit and not implicit

earnest orchid
#

yes I think I wrote that somewhere on my mods' pages but I'll add it to the readme and anywhere else relevant

wraith meteor
uncut viper
#

well.. if you forget that file, and no one is around to remember you saying it in this one instance in this channel, they have to assume ARR

wraith meteor
#

Yeah...

#

I did say it's foolproof did I

#

Didn't*

latent mauve
#

Question: I managed to get the DrawLayers animations to work for the Obelisks that are actually Buildings, but the Farm Obelisk isn't a Building. How would I animate that?

tender bloom
#

Is that one a map patch?

latent mauve
#

It looks like it

tender bloom
#

You might need to animate the tilesheet using spacecore

latent mauve
#

That's unfortunate and makes it pointless for me to use CP Drawlayers in that case, since I might as well use Spacecore animations if I have to use Spacecore at all. xD

#

Was hoping to make a version that didn't require SpaceCore

#

(Original was a CP Animations mod)

modest dagger
#

the struggles of map making continue

latent mauve
#

I suppose the Farm Obelisk can be the only hot air balloon that stays on the ground.

latent mauve
modest dagger
#

Any idea how to remove warps from the previous map used

#

like I edited the adventurer's guild to make this and now when I walk to the fireplace I exit at the guild

latent mauve
#

If you're editing in Tiled, you'd need to change the Map Properties for the Warps

modest dagger
#

I've no idea how to do that

latent mauve
#

Okay, so open up Tiled

modest dagger
#

gotcha

latent mauve
hard fern
teal bridge
#

Nexus's virus scanning seems to be a bit behind... like more than 2 days behind.

latent mauve
#

Yep, my screenshot was to show them how to get there, Shrimply. 🙂

hard fern
#

DX i heard tiled and my brain moved on autopilot

latent mauve
#

LOL

hard fern
#

well "heard"

modest dagger
#

oh my god this is how i fucking do doors and fix the lighting as well?

hard fern
#

doors as in clicking on a door to warp in somewhere?

latent mauve
#

Yep

modest dagger
#

doors are in the internal ones to open rooms

hard fern
#

if you have to click on a door, wouldn't that be in the buildings object layer? as an action

latent mauve
#

The internal doors with the animations are set in the Map Properties, yes.

#

You then pair it with a TileData object for Action Door on the same tile coordinate

hard fern
#

ohh the internal ones

#

😔 reminds me i need to do map making

modest dagger
#

this and doors now working thank u

hard fern
#

😔 i tell myself to work on my npc but making houses is fun

modest dagger
#

that it is, all my npc says still is 'hello dear'

lucid iron
outer kernel
#

do any of yall blacksmiths develop on linux

#

if so would you be willing to share your coding workflow with me if i ever make the switch to using it as my primary OS

deep cypress
#

Hi! I cannot recall. Updates as to what?

solid ocean
#

I think

latent mauve
lucid iron
latent mauve
#

Well, I've already finished doing it by hand

#

So, too late now

lucid iron
#

For the future DokkanStare

opaque cobalt
#

does there happen to be video tutorials on how to do modding on the coding side for Stardew? Almost to the point to start making the rough outlines of the actual busyworks for my Seasonal Penny mod and hoping there is a video or step by step guide. Or, is it better to find a pre-made seasonal outfit mod and reverse engineer for what I need?

lucid iron
# opaque cobalt does there happen to be video tutorials on how to do modding on the coding side ...
Stardew Modding Wiki

If you want to add seasonal outfits for your NPC, there's two ways you can do this: the token way or the Appearances way. Appearances is a new code structure added in SDV 1.6, so if you're looking at an older NPC's code for reference, they'll most likely be using the token way. The main difference between the two is that the token way is simpler...

#

Don't use video tutorials because they don't tend to get updated as game changes

opaque cobalt
#

okay thank you. Coming from very basic HOI4 modding, was spoiled was amazing video tutorials that still work even after many many patches

lucid iron
#

You can't copy paste out of a video tutorial either monS

uncut viper
#

anything posted before march of this year is definitely way too out of date to be helpful. anything after march but before november is like, slightly possibly (but not likely, but maybe) out of date for specific things

lucid iron
#

for sdv in particular there was big paradigm shift with 1.6

reef palm
#

anyone who might've fussed with playerControl in events, should/can it be possible to interact with tiles that have a message or letter action on them in the map or am I going to need to crack into C# territory for something like that?

old edge
outer kernel
#

i was mainly asking for the coding side of things, hence the use of Blacksmiths lol
guess i shouldve made that a bit more clear

old edge
#

I use visual studio code from arch repo. Still new to it but works good got intellisense.

#

Need to install mono tools

outer kernel
#

how do you use vsc with the visual studio extensions

old edge
#

I'm still new what extensions?

outer kernel
#

i currently use visual studio, not visual studio code

old edge
#

I haven't used visual studio yet

#

Only vsc as a newbie

outer kernel
#

its a c# exclusive ide

old edge
#

But I've created several c# mods already

outer kernel
#

huh okay cool

#

good to know

old edge
#

Well everything works but still trying to figure out how to do hot reload

#

I think because I am on arch I think they only have visual studio code but maybe other distro like the Linux mint Debian,Ubuntu distributions will have the other visual studio perhaps?

pulsar flower
#

hello, where can I see the source code for translating Stardew valley? thankyou so much

old edge
#

translation?

#

You need to unpack the game

#

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

latent mauve
#

I'm up entirely too late, but the balloon obelisk animation for the farm obelisk is working! Hooray!

minor mountain
#

Guys

hard fern
#

?

minor mountain
#

Why does my ancient doll does not sink on the lava, It keeps coming back to me(im on mobile)

inland cedar
#

really can use some time this winter break to update the good ol' market town

earnest dock
#

Hi! Need help installing smapi on an arm device (handheld console) or raspberry pi. has anyone had success?

earnest dock
fossil osprey
#

Oh, so that means it would need another smapi basically... Okay, my bad ^^

old edge
#

Can't you install Linux on a raspberry pi?

#

I thought you could

#

Always wanted a raspberry pi

fossil osprey
#

Probably not all distributions

old edge
#

Linux could do it

#

I think

earnest dock
hard fern
#

probably not

earnest dock
#

the most interesting thing is that smapi andoid version exists.

hard fern
#

surprising, i know SDVpuffersweats

#

well i guess it "used to" exist

#

because right now it's still in development, and barely works. If it ever does work properly, that is.

iron ridge
#

you can use the compatibility branch (which ofc means no smapi), a vm/translation layer or 1.5.4

woeful lintel
#

yeah, don't do that to Furniture, that would break FF compat in some ways (I have postfixes for clicked and checForAction and I already rewrote the whole draw function)

blissful saddle
#

If one makes a secondary recipe for an item, one ends up with two copies of the same 'item' on the crafting menu, right?

rancid temple
#

Yep

#

Well, assuming your entry key is different than the original recipe anyways

blissful saddle
#

alas, your recipe and furniture tutorials are awesome. helped me a lot!

tiny zealot
edgy laurel
#

hey, so I mentioned to my husband ages ago I wanted to try and make a mod just as a project and to say I have tried it, especially because I have an interest in coding and such. He has requested I make a custon NPC character for the game for him as a project to work on.

As someone who has never made a mod ever before, am I in over my head starting with making a mod that creates a custom NPC character or is it doable for a first timer? I don't want to try doing something that is simply not within my capabilities for my first go :'3

hard fern
#

Honestly it's not the best for a first timer because of how complicated it is imo

#

It's doable, but

edgy laurel
#

I suspected it would be a bit much xD

hard fern
#

!npc

ocean sailBOT
#
Creating a Custom NPC

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

hard fern
#

If you're interested there's a bunch of things that can belp you

edgy laurel
#

oh, thank you! heart112

#

I shall go in with low expectations that I will actually make it, but it will be an interesting read nonetheless. I want to give it a go someday, even if I try other things first!

tiny zealot
#

unless you want to do something really out of the box (requiring C#), i wouldn't say making an NPC is especially hard as a first mod. it's just a lot of work: there are a lot of pieces scattered all over the place and you have to do them all in concert for it to function

#

the only part that's hard is finding a place for them to live (the game map is really crowded these days)

hard fern
#

you should probably just ask it here

tiny zealot
#

better to just ask without gating for "experts"

calm nebula
#

Heavily c# but like

#

Oh, yeah, that's actually easier probably

hard fern
#

it sounds doable ?

fallow musk
#

is there a way to make NPCs immediatly warp/follow their schedules if i change time programmatically?
In my case, making my mod requires talking to robin in her shop a lot
so to ease the development process, at day start i teleport to mountain and set time to 900 programmatically, but it looks like shes still following her usual schedule

tiny zealot
#

oh, it's okay. i didn't mean to sound rude.
when you lead off by asking "who here knows a lot about <subject>", people who might be able to help you but don't consider themselves to know a lot about it may be disinterested and ignore your question. and people who do know a lot may not want to commit to helping without knowing what the question is. if you ask directly, you are more likely to get helpful answers from passersby

edgy laurel
#

@mighty lake not a mod-maker (yet!) so can't provide expertise, but just wanted to say that I love this idea! You could also integrate existing things in the game with this easily that could negatively impact Lewis' favor/increase yours. For example, when you put the gold statue of him in the town centre for people to see kekw or the classic purple shorts

fallow musk
lucid iron
#

oust lewis in a predefined series of events: not that bad, SVE does it #morris4mayor
dynamically simulate an election where any npc can be mayor: thats a lotta C# and dialog writing blobcatgooglyblep

mighty lake
#

ive never made mods before so its like probably way too ambitious but i want my idea to exist so bad even if its just for my own gameplay xd

mighty lake
tardy adder
#

Time to attempt again to get my book to book

lucid iron
#

@distant radish
What are the benefits of doing MPS in C#?

  1. You can inspect the data of modded machines, and generate additional tiers automatically
    • Need some heuristic to decide what tier the base machine's at though, and what would a tier upgrade
  2. No longer need to produce recolored version of machine sprites, can just do things during draw
    Components:
  3. AssetRequested: do a late priority edit on Data/Machines and Data/BigCraftable
  4. Object draw: alter draw here, using mod data to identify what to do
#

i dont have plans to do any of this but i do think it's a good idea and the most efficient way to do mod compat

hoary lake
#

i thought 2.0 was in c# already?

lucid iron
#

not the bulk of the data edit afaik, the C# is for edge cases

hoary lake
#

ah okay. my memory told me that 2.0 was the project of converting MPS to c# fully but maybe my memory is faulty...

distant radish
distant radish
lucid iron
#

Dokkan never too late to lern

lucid iron
#

and i think the asset requested part is pretty good for a starter C# mod

#

its really just doing what content patcher would have done for you, but programatically so u write less code

hoary lake
#

hey chu....is that pi in your user name?

lucid iron
#

no

#

euler

hoary lake
#

i saw long number and assumed it was pi...

distant radish
eternal mortar
#

how do i change maps for festivals?

brittle ledge
# edgy laurel I shall go in with low expectations that I will actually make it, but it will be...

The big thing about an NPC as your first mod is that it has a lot of parts and is a lot of work, so it's hard to see the payoff vs. a small mod. Plus it does help if you have a little familiarity with CP first. I'd start by setting yourself a realistic list of what you want in the initial release: as an example, Jorts and Jean's first release had no movie or resort stuff and only two events, so you don't have to come out of the gate swinging SDVpufferheart

latent mauve
#

(SVE still has my ire for making custom NPC compatibility extra work for festival appearances, LOL)

calm nebula
brittle ledge
edgy laurel
# brittle ledge The big thing about an NPC as your first mod is that it has a lot of parts and i...

my husband loves Jinx and was surprised to see no League themed mods, but I explained there's very little crossover in what League stuff could be applied to Stardew short of simply adding characters as NPCs (like how people have made Jujutso Kaisen characters! kek) so he asked for me to make Jinx as an NPC as my project, but I think what I will do first to get used to it is simpler stuff like reskins (e.g. a bomb to look like a Jinx bomb) as I'm sure he will enjoy that and it gives me an excuse to learn!

calm nebula
#

Cats do that

brittle ledge
tiny zealot
#

i'm still confused about how SVE handled spirit's eve in 1.6. like i figured it out (eventually!) but why did they do it Like That

brittle ledge
calm nebula
#

What castle lol

edgy laurel
brittle ledge
#

The ice castle Robin builds in vanilla

brittle ledge
eternal mortar
frozen elm
edgy laurel
mighty lake
#

Oh god i just realized something, how are festivals going to work if i get rid of lewis as mayor 😭

edgy laurel
mighty lake
latent mauve
#

Upside for Marnie though, Lewis will be less busy since he won't be the mayor in full and might finally have a chance at making his terribly kept secret relationship public

mighty lake
#

She deserves better x

edgy laurel
#

LMAO

latent mauve
#

LOL

edgy laurel
#

my husband got the purple shorts quest for the first time in our shared gameplay together and his innocent lil completionist in him said he would do it, and I was like "no, let me handle this one. I need to torment the man"

latent mauve
#

I figure there must have been something there if she was willing to go along with it for this long, but, it's your mod and your vision xD

mighty lake
#

just because. funny

edgy laurel
#

#KrobusForMayor

lament shell
#

would love to see other mods adding compat for this where you can just have like jorts as mayor

#

our mayor is this cat thank you town

fallow musk
#

what is the difference between an item and an object?

brittle ledge
#

Object is a specific type of item, 16x16 pixels + can be gifted generally iirc

#

things like big craftables, rings, and clothing are items but not objects

tawny ore
fallow musk
#

thanks

tawny ore
#

From that page:

Objects are the default type for items in inventories or placed in the world.

eternal mortar
#

I accidentally messed up a unsaved stardew tile sheet, without a back up like an idiot, is there any way to get a new one??

brittle pasture
#

re-unpack?

eternal mortar
#

nvm i was able to undo it

#

ik i asked a bit ago but how do i change maps for festivals? like new festival, my own custom map

blissful saddle
#

I am finally done with my chest sprites!

#

once you know how to satisfactory make one, the others fly by

#

I can go back to the fun: coding

latent mauve
#

Unless it's a passive festival, I think new festivals are beyond my knowledge and probably need C#?

tender bloom
#

Nope

#

You can do new festivals

#

They won’t have fancy mini games or anything

#

Ridgeside has some, fireworks festival is mostly CP except the mini games

eternal mortar
#

thats completly perfect! Mind letting me know how to code in a festival and how to change maps for festivals?

brittle pasture
eternal mortar
#

ok ty!

brittle pasture
eternal mortar
#

how do i set up like an in game like cutscene, for example maru's rocket or like when alex's mom popped up in the sky

brittle pasture
#

ah wait, you want in game sprite stuff

#

Probably the new temporaryAnimatedSprite event command to load any sprite anim you want

eternal mortar
#

tysm i was pretty much looking for both

hollow dust
#

i keep getting this text

#

im kinda having trouble how to input properly

grizzled rain
#

hello, i am trying to add a warp to a modded map with the "EditMap" action, it's not giving me any errors, but it won't show up in-game. will post a shorter version of the content.json soon just give me a minute please

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

brittle pasture
#

at first glance you seem to be having a syntax error (missing comma/bracket/etc.)

hollow dust
brittle pasture
#

missing comma end of line 10

grizzled rain
hollow dust
#

it's fixed now

#

mwamwa

brittle pasture
grizzled rain
#

so do i point it to the internal asset key then?

#

sorry 🙏

latent mauve
#

(I usually load my map assets to a Target so I can point things to the Target and avoid that)

#

Is there a particular reason you are using the internal asset key in the map path?

frosty hull
reef palm
#

Figured I'd pop back in now that it's a different time of day/more folks might be active - has anyone tried using playerControl in an event and if so - were things like message actions interactable during the playerControl portion?

latent mauve
#

I'm not sure why it's easier than loading and using "Maps/ritzygen.gabrielmod_GabrielHouseInside" for your Map Path if you are gonna have that available anyway. InternalAssetKeys are also specific in that they block things from changing them, so you might not even be able to add things directly to it from code?

#

I could be wrong but my understanding is that you use an InternalAssetKey when you don't want anyone else to be able to alter the asset later.

brittle pasture
#

InternalAssetKey is more performant, but yeah assets loaded by it can't be edited

grizzled rain
#

ok thanks 🫡

brittle pasture
#

(at least that's the case for images. Not sure about maps, probably the same)

grizzled rain
#

question

latent mauve
#

I've been told multiple times that CP mods should not be concerned about optimizing performance unless they've done something very silly, so not sure how relevant that is, LOL.

grizzled rain
#

if i have an NPC that spawns on the map that i'm going to load instead of using internalassetkey, will it break the NPC's spawn when i change it to load?

tawny ore
#

InternalAssetKey pretty much just means that SMAPI does the loading for you. Otherwise, it will behave almost identically.

latent mauve
#

As long as your location's internal name isn't changing, it shouldn't matter?

tawny ore
#

It's for convenience as you have to do less typing.

grizzled rain
#

ok thanks you

grizzled rain
#

so um, where am i supposed to load it to?

#

sorry, it's unclear to me

latent mauve
#

In this case, I believe you'd just be doing {"Action":"Load", "Target": "Maps/ritzygen.gabrielmod_GabrielHouseInside", "FromFile": "assets/GabrielHouseInside.tmx"},

#

So just telling SMAPI "hey, put this file from my mod folder into the game's Maps folder virtually with the name 'ritzygen.gabrielmod_GabrielHouseInside'."

deep cypress
solid ocean
lucid iron
#

!converter

#

!converters

lucid iron
#

3rd from bottom is the cpa to spacecore anim

tame orbit
#

hey friends not sure if this is the right channel but is there there a sheet that lists the X and Y tile coordinates of the game maps? I'm trying to code npc into a specific location

tame orbit
#

and thank you!!!

lucid iron
#

Debug mode is a mod

iron ridge
lucid iron
#

I also like using LookupAnything with tile lookup on

tame orbit
#

Ooo I see thank you so much!!! @iron ridge @lucid iron

blissful saddle
#

the double backslashes thing for opening textures in CP EditData thing is old? Or is a cross-platform practice? because I saw paths with normal slashes working normally and got confused

deep cypress
#

Spacecore animation?!?!?! I missed that somehow!!! That would likely have fixed my solutions yesterday!!!

brittle pasture
#

the game normalizes both so it doesn't really matter nowadays
the only place that this is relevant is in slash-delimited data structures (e.g. furnitures), where you want double backslashes when you don't want the game to think it's a new field

blissful saddle
#

I see. ok, now this makes sense

#

thanks a lot

mighty lake
#

does lewis have a shocked portrait?

#

i just unpacked his portrait file but i swear i remember seeing a shocked expression on his portrait one time, am i mandela-affecting myself or am i confusing it with a portrait mod? Hmm

royal stump
#

he has a shocked sprite in the intro cutscene, but not a portrait

#

(unless a mod does that somewhere)

latent mauve
#

^ I believe the portrait that's used along with that shocked sprite in the revelant event where it happens is usually the angry portrait.

mighty lake
#

thanks for your help loves <3

#

moriss has the funniest expressions

latent mauve
#

Morris is very wacky

mighty lake
#

the 3rd one kills me

#

isnt that when he gets punched by pierre?

latent mauve
#

Also when his customers are all in Pierre's shop, I think?

blissful saddle
#

ok, I am having another unintended behaviour with CP conditions.

By CP Git example text bellow:

{
    "Action": "EditImage",
    "Target": "Buildings/houses",
    "FromFile": "assets/{{season}}_house.png",
    "When": {
        "Season": "spring, summer",
        "Year": "1"
    }
}

I understand that the patch will be applied if (Season is Spring OR Summer) AND (Year is 1)

#

if so, why my patch bellow was applied even if farmer doesn't have the Big Chest Recipe?

{
    "LogName": "Load Frozen Big Chest Crafting Recipe",
    "Action": "EditData",
    "Target": "Data/CraftingRecipes",
    "When": {
        "HasCraftingRecipe": "Big Chest",
        "HasCraftingRecipe": "{{ModId}}_FrozenChest",
            },
    "Entries": {
        "{{ModId}}_FrozenBigChest": "388 60 84 60 334 2/Home/{{ModId}}_FrozenBigChest/true/default/{{i18n: FrozenBigChest.name}}"
    }
}    
mighty lake
#

what a silly fella

royal stump
latent mauve
#

oh wait, nvm, misread

blissful saddle
#

so the only way to check if farmer has both recipes so is through dynamic token?

#

queries and such?

#

I was trying to get rid of a boring dynamic token, but seems like I will need to get back to it

royal stump
#

I'm not sure about the format offhand, but a query should handle "has recipe A and B", yeah

blissful saddle
#

I will look for using queries in action. thanks a lot

latent mauve
#

"HasCraftingRecipe" being there twice doesn't do something silly like "HasMod" and only read the first one unless you do a |contains= right? (I don't actually know)

royal stump
#

I imagine it's the same situation; {} in JSON is basically a dictionary of unique keys with attached values, so it'll either throw an error on load or just read one of them if they match

#

(whereas [] is just a list, anything can be in it)

uncut viper
#
"When": {
   "HasCraftingRecipe |contains=Big Chest": "true",
   "HasCraftingRecipe |contains={{ModId}}_FrozenChest": "true"
}

this should work

royal stump
#

(also yeah, I forgot about contains, that'd be better than setting up a query SDVpufferdizzy)

latent mauve
#

Yeah, that

tender bloom
#

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

turbid rapids
#

OKOK thanks

light bramble
#

right I was looking through the files in the game...what exactly is the Dog5 supposed to be? Like...it looks like Dog...but purple?

#

Like is that for people who have custom animals?

uncut viper
#

(but also yeah its not just HasMod that wil ldo the "only load one" thing its any key as esca says. its a json thing)

#

its the same as if you tried to add two objects to Data/Objects both with the same entry key. cant do it

latent mauve
#

unused Iridium Pupper? LOL

light bramble
#

The cat has one too!

latent mauve
#

Definitely looks like an unused iridium variant

#

since it's both

royal stump
#

they aren't directly referenced in the code at least, and Data/Pets* doesn't use them, so probably that

latent mauve
#

turtle is the same exact purple coloring

ornate trellis
#

free real estate

light bramble
#

Hmmm

blissful saddle
light bramble
#

I'm just gonna stick to the ones I know are referenced and used in game....

#

XD

#

Another question. If I wanted to have a blank option for something IE you don't have to have it. Would one of the allowed values just be " "?

#

so like this "AllowValues": " , 1, 2, 3, 4, 5",

#

and then "AllowBlank" would be just true or "true"

#

Honestly though it might make more work for me I might just have a checkbox to enable/disable the specific animal... 😭

lucid iron
drowsy pewter
#

Hi

calm nebula
#

Hi

tawny ore
brittle ledge
#

oh, nm, I see it got linked

ornate trellis
#

question: i know i can do forage on any grass and sand tiles etc but is there any different with custom tiles? I am either doing something wrong or idk. i just wanna have an item spawn in a room

blissful saddle
tawny ore
#

Of course

light bramble
light bramble
#

you can set an actual area instead of tiles

ornate trellis
#

i dont use ftm

lucid iron
ornate trellis
#

i am just doing it via CP

light bramble
#

I would use FTM

ornate trellis
#

shouldve mentioned that, sorry

lucid iron
#

Did nexus smoosh it a second time

ornate trellis
#

i dont really wanna use ftm tbh

latent mauve
light bramble
ornate trellis
#

what i basically just want is ferret furballs to spawn in the fishmongers boat lol

hallow prism
#

"Those trains are regular like clock" does this sentence makes sense and is there a more natural phrasing in english? It's a bit hard to picture trains thatarrive on time, i know, but well, sdv is a fictional world in a lot of sense

tardy adder
light bramble
#

I still feel that FTM would be the easiest option. As you can set an area to have spawns from a certain time and only when the player is present.

latent mauve
drowsy pewter
light bramble
#

If it's blank, don't load anything

ornate trellis
#

yeah but i dont really want too many dependencies for my mod

hallow prism
#

thanks 😄

latent mauve
#

Rather than just a blank dropdown option, which they may think is an error

hallow prism
light bramble
#

It's because I have two (planning to add more eventually) dogs for the Dog Substitution mod XD

hallow prism
#

however i got some annoying stuff in using that for VMV as i got stone and twigs to spawn in those area too, which is apparently unavoidable

light bramble
lucid iron
#

Ftm or spacecore pick ur spawning framework sleep

ornate trellis
ornate trellis
light bramble
#

And I mean, my massive farm mod has content patcher and FTM as depenancies

ornate trellis
#

hm, well i gonna try what lumi said first if i figure out how

brittle pasture
#

it's new compared to FTM but yeah

ornate trellis
#

oh wait maybe not when i read that stone and twig comment

#

i jsut want this lil room to spawn some furball objects

#

twigs n stones kinda not fitting there lol

hallow prism
#

yeah, maybe it's not always the case, but i prefered to let you know just in case

light bramble
#

Fact of the matter is, dependencies are gonna be everywhere, and some mods have 20 from what I've seen. And given that FTM has an easy way to set spawns for items, plus a config editor, I just think it's the more friendly way to do it.

hallow prism
#

you can always test and see

light bramble
#

And FTM is always kept up-to-date and its creator, Esca, is very helpful :3

light bramble
light bramble
#

Wasn't there a mod that would allow you to add extra animals automatically without much issue? Like I know there used to be a mod that would allow you to have extra animals and that you could just drop them in the assets folder?

brittle pasture
#

wdym extra animals
both farm animals and pets are supposed by the game/CP now

light bramble
#

Also...Is there a way to do a conditional for a patch that is basically when this = this and that doesn't = this

hallow prism
#

there was the old mod allowing to add skin

#

but it's outdated/deprecated

#

now that animals have skins in their data

lucid iron
#

yea vanilla ate it

#

the only animal left out is SDVpethorse

#

but u know flute

brittle pasture
#

does AT support horse skins I forgor

light bramble
#

Well, still want to know. Can you do a When X = 1 and Y != 1 conditional?

lucid iron
#

u need to be more specific

#

what are you trying to check yggy

light bramble
#

Basically I have the config schema set to allow a user to select 1-5 (and none) but both dogs up for substitution have the same options. If someone selects 1 for the first dog, I want to make sure that they cannot selct 1 for the second dog

#

or that if they do, nothing will happen

rancid temple
lucid iron
#

why yggy

#

they can just buy 2 dogs?

light bramble
#

I'm replacing the sprites

lucid iron
#

just add new breeds

#

thats the better way to do things in 1.6

light bramble
#

HOW?!

#

I DID NOT KNOW THIS

latent mauve
#

LOL

light bramble
#

HOOOOOOOOOW

lucid iron
brittle pasture
latent mauve
#

SDV 1.6 is the "Add, don't replace" update

drowsy pewter
#

the iridium cat and dog mod does this too

light bramble
#

And here I was replacing textures... 😭

lucid iron
#

and u can decide if u let ppl select ur doog at game create

#

or lock it behind pet shop

latent mauve
#

[[Modding:Pets]]

light bramble
#

😭

#

All my hard work on the mod I made....SOB I need to re do it all

#

XD

lucid iron
#

eh its just a bit o json

latent mauve
#

Nah, a lot of it is transferrable

brittle pasture
#

tbh if you did the sprite that's 90% done

lucid iron
#

art is the same

latent mauve
#

You're mostly just gonna be targeting a new pet or breed target rather than the existing one in a lot of cases.

light bramble
#

No I mean I have to make a new project or completely re-name the old one and then make sure it transfers to curse forge

lucid iron
#

circling back to the original config q though

#

you can't use cp conditions in the config schema

#

for the fancy stuff u have in mind you'd need to do a C# mod (like atelier cauldron for wildflour altelier goods)

ornate trellis
#

hm

#

I think I am doing something wrong

light bramble
#

Ok well I'll just add new pets XD

blissful saddle
#

ok, the condition worked, but now I need to exit the game and reload when I have the conditions met so the new recipe shows up

ornate trellis
#

oh yeah i am realizing what it might be lmao

blissful saddle
#

maybe I should just try to do it with dynamic tokens

light bramble
#

But, I do have question on if there is a better tutorial for adding an animal than what is on the wiki as I do not understand it in the slightest....

lucid iron
#

not really

#

if u poke rokugin enough times maybe he will make one

rancid temple
#

Couple it with seeing how Ichor did it

#

I'm still sick, I'm not doing anything currently dogekek

lucid iron
#

but eh i think the best way to lern is hands on

#

just do it™️

#

0 consequence if u explod game

light bramble
#

I still like tutorials as they help to guide me....else I'm in here being a bother and constantly asking questions....

latent mauve
#

I have successfully used Dynamic Tokens to create values based on my config options to change additions to a shop list via item query for a specific context tag value.
(I did this for one of my unreleased mods, I hope Airyn is proud of me! SDVpufferwow )

ornate trellis
#

yeah no i still dont get em to spawn

lucid iron
#

i also think that the format is not that hard

rancid temple
#

Forage spawns are a fairly low chance aren't they

lucid iron
#

since vanilla is your example, u r just editing in some new entries

light bramble
#

I mean I will have to make the icons...

#

I don't have those XD

#

I'm gonna ask so many questions y'all are gonna hate me....

rancid temple
#

dogekek If we hated questions, we wouldn't be helping here

ornate trellis
light bramble
#

Like also, just looking at the github page for ichorscat... I am confuzzled... mainly because there is this "IconTexture": "Mods/{{ModId}}/Icons", but like...wouldn't it just be assets/icons.png?

lucid iron
#

nope

light bramble
#

BRAIN NOT BRAINING!!!! the structure just doesn't LINE UP FOR ME

ornate trellis
#

man, I either am really unlucky or i am still doing something wrong xD

lucid iron
#

you have to Load an asset

#

and then use it

light bramble
#

I know this, but like....you have to have a target

#

right?!

#

and this makes NO SENSE

rancid temple
#

Are the Load's further down?

light bramble
#

...they are...still makes no sense to me as it's all in one?

#
      "Action": "Load",
      "FromFile": "assets/{{TargetWithoutPath}}.png"```
#

Like can you do that?!

lucid iron
#

yea

rancid temple
#

You can do all your loads at once using the TargetWithoutPath token

tardy adder
#

weeee I finally got my book to book... now to get the secrete notes to note

light bramble
#

WHATTTTTTTTTTTTTTT

rancid temple
#

It takes the Target you provide, scoops off the "path" part and leaves just the end

latent mauve
#

Just need to make sure that your png names match your Path part of the Targets, yep.

rancid temple
#

So if you provide your Target as Mods/{{ModId}}/Cat TargetWithoutPath returns Cat

light bramble
#

Error 500 N3rdGirl brain crash

ornate trellis
lucid iron
#

there's no need to panik sleep

#

this is all on the content patcher docs

ornate trellis
#

scroll all the way down for the forage stuff btw

light bramble
#

See Idk if I'm being dumb or just overwhelmed XD

#

I mean I also go into work in about an hour....

ornate trellis
#

i didnt wanna cut it out of my content.json in case i missed a bracket in the copy-paste

light bramble
#

so I'm getting the customer service mindset ready....

I work retail...

ornate trellis
#

colleague

rancid temple
#

Looks like SpawnableDefinitions require Trigger Actions?

light bramble
#

lol I can't do tiny text XD

ornate trellis
faint ingot
ocean sailBOT
#

Log Info: SMAPI 4.1.8 with SDV 1.6.14 build 24317 on Microsoft Windows 11 Home, with 8 C# mods and 5 content packs.

ornate trellis
#

trigger actions, huh....

brittle ledge
#

usually that means your loads are wrong

#

portrait or sprite most commonly

#

check for typos, file name mismatches, etc.

edgy laurel
#

sorry if this is a ridiculous question; I'm going in totally blind here! How do I know exact what size to make my pixel art for clothing items? I'm trying to make clothing items through Fashion Sense and I want to understand how to do everything before I try and throw myself into it all :'3 (literally only got as far as making the manifest json so far kekw )

rancid temple
#

SpaceCore readme has a specific Trigger Action for Spawnables

light bramble
rancid temple
#

I haven't actually played with any of this spawnable stuff, so I'm not actually sure how it works, but looks like there'a an example

brittle ledge
faint ingot
rancid temple
#

Hm, looks like the example is just the definitions, not sure if this example actually works

edgy laurel
brittle ledge
#

yeah it's something off with your portrait load sdvhead

ornate trellis
#

hmm

light bramble
#

Or the content.json

#

whichever has the portaits load

brittle ledge
#

upload wherever you're doing the portrait load, presumably content.json

light bramble
#

yeah what Tai said....

#

Puts on a dunce hat

#

OH! Taikall, I got my NPC to LOAD!!!

#

He lives

faint ingot
ocean sailBOT
#

Oops, couldn't parse that file. Make sure you share a valid SMAPI log.

faint ingot
#

keep in mind that npc loading and everything else in my mod USUALLY works, but occassionally it seems the save file gets corrupted and NPCs stop loading

brittle ledge
faint ingot
#

could the cause be that debug commands (i do a lot of world_setday right now for festival testing) is corrupting the file?

ornate trellis
ornate trellis
#

should really read everything carefully

light bramble
#

you need "Format": "2.4.0",

uncut viper
#

if its in an include it cant have format

brittle ledge
#

if this is include... what button said SBVLmaoDog

#

(I wouldn't do the loads in an include but)

#

is this the folder where your files are at?

faint ingot
#

it is loaded from an included file like so: { "Changes": [ { "Action": "EditMap", "Target": "Maps/Town", "FromFile": "assets/Locations/Sheriff_fixup.tmx", "ToArea": { "X": 70, "Y": 0, "Width": 8, "Height": 9 } }, { "LogName": "Initialize NPCs", "Action": "Include", "FromFile": "assets/NPCs/npcsetup.json" }, { "LogName": "Unlock initial mod events", "Action": "Include", "FromFile": "assets/NPCs/Events/events.json" } ] }

#

I do have format in my content.json

light bramble
#

Wait is this not in the content.json?!

#

XD I am dumb

faint ingot
#

I guess it's unnecessarily complicated but my NPCs don't load until daysplayed > 40 so that's why they're loaded later on after checking that you've seen an event

light bramble
#

Right well I need to go be retail drone...wish I could've helped more 😭

faint ingot
#

but I mean I have files that I've played for hours and hours and hours on, and they continue to work fine

brittle ledge
#

I assume you've either disabled that condition or you're past 40 days on your test file?

faint ingot
#

but I saw this error on a file I was using for festival testing and it broke the save after playing for like 5 minutes

#

I used debug dp on my test file

#

so that's why I'm asking if using debug commands can cause this

brittle ledge
#

(I would personally put that condition in your disposition instead of conditionally loading, but)

uncut viper
#

it might be possible that when CP reruns the patches your stuff gets temporarily unloaded i guess, which might cause problems

#

which is why yeah, id also put that condition in the dispo

ornate trellis
#

augh its still not working what is up evaporated

brittle ledge
#

also I would strongly suggest giving your NPCs a more unique internal name, e.g. yourmodname.Shannon - if there's any other NPCs sharing your internal name that get loaded, SMAPI will just refuse to load them both

faint ingot
#

I've wondered about that but this is my first mod and the tutorials / examples I worked off didn't have that approach... that may have to be a 1.1 feature because I'm actually 99% done with this

brittle ledge
#

void, you might try pinging casey? I don't know that a lot of people have used the spacecore spawning yet

uncut viper
#

if you make it a 1.1feature it will be so much work to fix it

#

more work than necessary i mean

faint ingot
#

oh like it could break previous installs... sigh

uncut viper
#

because there will be data associated with the old NPC name in the save

brittle ledge
#

yep

#

what tutorials have you been working off? Pretty sure I mention that [goes to check]

#

It handles it automatically.

faint ingot
#

oh I'm pretty sure it was a pre 1.5 tutorial on youtube i think the guy who wrote the zuzu city mod

#

plus some others

brittle ledge
#

ohh yeah, I would not reference a 1.5 tutorial just because some pretty significant stuff to NPCs changed

#

!npc

ocean sailBOT
#
Creating a Custom NPC

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

faint ingot
#

Well I'm not going to start over like I said i'm 99% done you guys!! I will see about the NPC name prefix though

ornate trellis
brittle ledge
#

If you're using a 1.5 dispo but you're using Format 2.4.0, that could also be causing the NPC to not load

meager dome
#

i assume all the disposition information is mostly obsolete now?

uncut viper
#

(the stardewmodding wiki tutorial also does not use modid for the NPC internal name in its example though)

brittle ledge
#

yeah it didn't exist when I wrote the tutorial SBVLmaoDog

faint ingot
#

I updated it for 1.6 and like I said usually everything works, but I do have a follow-up question about what you two were saying about 'putting that condition in your dispo'

brittle ledge
#

I mention it under content.json but like my examples from Jorts and Jean don't have it because they started in 1.5

faint ingot
#

let me summarize how i'm doing it now give me a min

brittle ledge
ornate trellis
#

maybe i am doing the trigger wrong, who knows...what I understood from it I got

"{{ModID}}_FerretFurBallspawnSPACECORE": {
                    "Id": "{{ModID}}_FerretFurBallspawnSPACECORE",
                    "Trigger": "DayEnding",
                    "Action": "spacechase0.SpaceCore_TriggerSpawnGroup VoidWitchCult.CP.TheFishmongerNPC_FerretFurballSpawn VoidWitchCult.TheFishmonger_Fishmonger_GI_Inside_LowerDeck includeRegions excludeRegions"
                },```
meager dome
brittle ledge
ornate trellis
#

oh wait i thing i also understood the region thing at the end wrong

brittle ledge
meager dome
#

and its not like harvest moon with rivals so i assume that loveinterest was never actually used

uncut viper
#

social anxiety also determines whether or not they say hi to people they pass by

brittle ledge
#

Yeah, loveinterest in particular is obsolete and you don't have to include it (it has a default null)

uncut viper
#

and how they react to you drinking mayonaisse

ornate trellis
#

I thought the setpiece stuff in the group was the area but uhh

meager dome
#

thnkxxx

ornate trellis
meager dome
#

im gonna set them but

#

do they also get used for default strings

#

or determine non dialogue interactions

lucid iron
#

They say hi

#

Also those gift taste reveal dialogs

brittle ledge
#

yes, they'll determine how your character refers to others in e.g., revealing gift tastes ("Did you know my dad, Pierre, hates trash? I guess everyone has their hangups.")

faint ingot
#

OK so I have my condition in content.json (https://smapi.io/json/none/146785ce8b484fd782dd8e05762f5c0f) that conditionally runs an include called prereq.json (https://smapi.io/json/none/e1e82d23876d41d4b7839cb6b37783f0), which will update the NPC home, initialize the NPCs in npcsetup.json (https://smapi.io/json/none/988de45f62fe4339968ad48a2d1d1240), and create a few events. The bulk of the NPC data though including schedules is in fixup.json (https://smapi.io/json/none/a195a2808b0e4761899ad21f39d9500f) which isn't loaded until after they've seen the event where the NPC building gets fixed up

#

And it USUALLY all works, but help me understand what I should change about my conditional loading to improve it, besides making my NPC names internally unique

#

Sorry I know that's probably an overly complex way to approach it. first-timer here that bit off maybe more than he should have

uncut viper
#

NPC character data has a field called UnlockCondition or something that determines when they can actually show up

blissful saddle
#

I am not debugging it

brittle ledge
#

You said it usually all works? What have you changed since it last worked?

uncut viper
#

when we say use the Condition in the character data thats what we mean, not conditionally loading it with CP

faint ingot
#

it STILL all works, just on occassion it seems like test files get corrupted, and I THINK it only happens when I use debug commands to change the day but I'm not positive

uncut viper
#

that way the character data always does exist, but the NPC is still only unlocked after the days_played requirement is met

brittle ledge
#

I feel like conditionally loading parts of the NPC based on different conditions is going to cause problems

faint ingot
#

OK, so Button can you point me to what is the correct way to hide the NPCs from the player until the reveal time?

brittle ledge
#

so yeah, I would load everything at once and just not spawn the characters until you're ready using the Condition field in the disposition

brittle ledge
#

Jorts and Jean do this, they don't actually spawn in until after six days, so that might be a good example of what you're doing

faint ingot
#

OK I will take a look at that resource and your mod for an example. Thank you both for your patience.

brittle ledge
#

Also why are you splitting the NPC load between npcsetup and fixup - what's the difference between these two?

faint ingot
#

In retrospect there is probably not a good reason. It just doesn't "do stuff" that I don't need them to do. like I need them to be able to be present in an event. But I don't want to activate their schedule until the next day

brittle ledge
#

If you don't want them to start their schedule until after an event, you can conditionally patch that in

#

if they're spawned but you want them to not be wandering around until after the event, I'd use a warp room (small map not accessible by the player) and have a schedule that just dumps them there

#

then patch that out in favor of their normal schedule once the event is seen

ornate trellis
#

ok i think i gonna stop trying for now idk whats the issue with my stuff but i did figure out to add the numbers for the regions in my trigger

faint ingot
#

OK well thank you for the pointers. I'm grumpy that I have to do all this unexpected work but I guess it's good it will save work later. SDVpufferwaaah

brittle ledge
#

learning is part of the process skaiHug

ornate trellis
#

which is btw just for reference

                    "Id": "{{ModID}}_FerretFurBallspawnSPACECORE",
                    "Trigger": "DayEnding",
                    "Action": "spacechase0.SpaceCore_TriggerSpawnGroup VoidWitchCult.CP.TheFishmongerNPC_FerretFurballSpawn VoidWitchCult.TheFishmonger_Fishmonger_GI_Inside_LowerDeck 6,12,3,6/9,12,4,3/11,10,4,4 0,0,0,0"
                },```
aka these spots
#

so i guess i really gotta wait till casey is online

blissful saddle
#

@next plaza

uncut viper
#

casey was already pinged

ornate trellis
#

i am sorry that you got pinged again casey afdsf

final folio
#

Hey, do you know if this command to give random money in a dialog is correct?

#

$action AddMoney {{Random:{{Range:5000, 7500}}}}

tender bloom
#

Have you tried it?

#

It’s usually much more reliable to test things by putting them in the game than by asking humans to read them

final folio
#

Yes, and it does not work, it shows me the keys }}}}

uncut viper
#

inside an i18n file?

final folio
#

nope, in xnb but should work

blissful saddle
#

I am so sorry in this case, Casey

brittle ledge
#

in XNB? Do you mean in content patcher?

uncut viper
#

if you're working with the .xnb file format at all for anything other than unpacking, you are doing something wrong

#

unless you are modding your switch

brittle ledge
#

yeah random would not work in an xnb because it's a CP function

rancid musk
#

Yay, found someone violating Better Crafting's license and uploading it to Curseforge. Time to see if they comply with a demand to remove it or if I get to shout at Curseforge directly

blissful saddle
#

ok, even calling the "HasMod"s conditions in a dynamic token, it yet requires to reload the game to the recipe show up...

tender bloom
#

The license is no license rn? I snooped a little because I was curious

final folio
blissful saddle
#

I think she says the upload permissions in nexus

tender bloom
#

(Curious whether i should imitate you)

rancid musk
#

Yeah, I switched to All Rights Reserved while I figure out what license I actually want to use. But licenses are annoying so I have been procrastinating.

#

I'm sure there's some kind of source-available license I can use.

blissful saddle
#

oh, neat

rancid musk
#

And yeah, I list my permissions in Nexus since that's where I distribute actual builds.

tender bloom
#

I switched to MPL for some of mine since I’m not an expert on licenses but it seemed maybe better than MIT

rancid musk
#

I want to have my source available too, I just don't want people uploading builds and stuff while I'm still maintaining them.

tawny ore
tender bloom
#

Although some of my mods I feel more protective of than others

blissful saddle
#

I got from 'I am doing only the original chest' to 'since I am here, why not doing all the chests' to 'I am doing only the normal sized chests for now' and finally 'I am doing only the original chest again'

#

doing four times more work to end at the same place

tender bloom
#

I might switch licenses again idk

blissful saddle
tender bloom
#

Maybe if i actually work on mods again

blissful saddle
#

had to reload the world/game

tender bloom
#

Like if I’m dead, then sure people can have them, and I like having them public so people can reference them

tardy adder
#

Hewo sorry to interrupt, I has a question:
How do I prevent the keg/preserves jar from processing a specific category_fruit item?

blissful saddle
#

I am ok having an open-source since Nexus give me option to not authorise the build be uploaded anywhere else. But I know how you all feel

brittle ledge
tender bloom
#

lol

#

I already know how to knit

tender bloom
#

Truthfully or not

#

Curseforge is kind of a bad influence that way

blissful saddle
#

seems like I am the only MathPerson actually working on mods. maybe I should leave the nick to another retired modder thinking about coming back while knitting

tender bloom
#

I prefer crochet

#

I’m not good at sticking to a pattern

tawny ore
#

I don't mind my stuff being completely open. The worst case scenario I can imagine is someone building directly off of my work and maybe getting a bigger audience than me.

brittle ledge
#

I was gonna say, you'd better be careful, the knitting brigade might come for you SBVLmaoDog

rancid musk
#

Yeah, Curseforge basically says "oh this is MIT sure you can upload it you don't need permission"

tender bloom
#

I just get annoyed by straight reuploads

drowsy pewter
tawny ore
#

It's like if anyone wants the headache of supporting my mods, be caseful what you wish for

tender bloom
#

I haven’t found a license that prohibits reuploads without some actual thought and changes put in

rancid musk
#

I like how the BSL has a feature to automatically relicense to something like MIT after a period of time passes. That seems like it'd be good for mods.

tender bloom
#

Which is what my actual intent is

brittle ledge
#

(let's be real, they wouldn't support them, that requires effort)

tender bloom
#

I’m also picky about where licenses come from

tawny ore
#

I can only think of that ending in 2 ways - they support my mod better than me in which case you can have it, or they support it worse than me so people would end up coming right back to me

calm nebula
#

I think one reason why no one has tried with mine is that my repo isn't trivial to even fork ans recompile lol

tardy adder
tender bloom
#

Absolutely true I think

#

I won’t touch GPL stuff, which does limit my options on licenses

velvet narwhal
#

atra you also write in such a verbose way that it gets lost on someone who does it purely as a hobby

brittle ledge
#

well in fairness, stealing a C# mod generally does require at least a little effort, and most people aren't about that

tawny ore
#

My mods have so many overcomplicated abstractions as this point that I can barely make sense of it anymore

brittle ledge
#

easier to just steal SVE and call it a day

tender bloom
calm nebula
#

(Amonf other things, you have to disable my keysign)

tender bloom
#

Stealing a broken C# mod is the hard part

blissful saddle
#

I really don't care. over and over issues will show up that will not be answered in curseforge, and so hopefully the users will come to nexus to reach me and it will be just kind of free propaganda

drowsy pewter
# tardy adder Gotcha, thanky! That would be in the trigger part right?

yeah, cornucopia does it for some stuff (because they have rules that require 2 or more of the same item, so we dont want the player to be able to make something with just 1 of them)

https://github.com/MizuJakkaru/Cornucopia/blob/main/[CP] Cornucopia Artisan Machines/machines-extendedcrops/keg.json
Scroll to the bottom of the file

Your alternative option is to make it not a fruit in the object data, and just use Spacecore to overwrite the category label so it LOOKS like a fruit

tawny ore
#

Anyway, I already have my mods automatically syncing to CF and ModDrop so there's no reason for anyone else to reupload them there at least

tender bloom
#

I’ve considered stealing atra’s but then i remember support is gross 😛

velvet narwhal
#

a knitter SBVPensiveButt

tardy adder
#

Hahaha I do use cornucopia as an example to follow when I get stumped, thank 6480!

tender bloom
#

I might someday try to revive the ones I used to use for myself

#

I really liked the Simon says one

#

I’m so bad at Simon says

blissful saddle
velvet narwhal
#

i just know the day will come that tia holds my arm behind my back and says, "revive GIMA for me, or else"

calm nebula
#

(To be fair I think if someone re-upload me rn, we'll, I'm inactive(*), fair game.

(*) or maybe I'm too active, ran five miles yesterday.)

calm nebula
#

Fuck yeahhhhh work code worksssssss

#

I get to go hommmmeeeeeee

faint ingot
#

so I was advised to move my conditional NPC loading to a game state query in the NPC disposition. All well and good. This will be unlocked based on 'daysplayed'. However it needs to synchronize with an event which unlocks the same day, which currently uses content patcher's days played which is not exactly the same. Do events support game state queries (I don't see that on the wiki page that I can tell)?

blissful saddle
#

I think I did something wrong on my last edit

brittle ledge
#

The NPCs would spawn in the next day iirc

faint ingot
#

the event seen needs the NPCs though : (

brittle ledge
#

ahhh

calm nebula
#

Okay

#

Instead, try this

lucid iron
calm nebula
#

Spawn the npc unconditionally

#

Have a day started trigger that sets the npc invisivle

#

Set the npc visible in the event

lucid iron
#

I dunno how pathos keeps things so clean tbh I only got to 6 mods before I went "nope I'm splitting this shit up"

brittle ledge
#

Atra if you're already spawning the NPC could you not just hide them in a warp room until the event is seen?

faint ingot
#

Is NPC visibility a character data property? I don't see it

calm nebula
#

No, but there is trigger actions for it

uncut viper
#

a trigger action action can hide an NPC by making them invisible

#

like Elliott with his book tour\

calm nebula
#

Hi my favorite trigger action author

uncut viper
#

(but if you know where theyre supposed to be you can stilol catch them with Lookup Anything)

brittle ledge
#

(huh, did 1.6 change how Elliott's 14 heart line works or did hardcoded trigger actions always exist?)

uncut viper
#

(i should admit i dont know how elliotts stuff works im just repeating what ive heard over the last 8 months)

#

(ive never gotten him anywhere close to that number of hearts)

calm nebula
#

What

#

Tbh I like Elliott but by that I mean I like Realistic Writer Elliott

uncut viper
#

all heart levels i get with the men are incidental

velvet narwhal
#

turn them all into women, got it

calm nebula
#

Anyways, question to the crowd

brittle ledge
#

I'm just gonna doublecheck his vanilla event to make sure nothing changed... sips

calm nebula
#

Which marriage candidates feel super young to you

#

For some reason despite the fact that Maru is super young she doesn't feel young

velvet narwhal
#

abigail, sam

uncut viper
#

all of them feel identical in age to me except elliott

#

who seems older

calm nebula
#

Harvey feels older

#

Penny feels like she could be older

brittle ledge
#

Penny still feels young to me

calm nebula
#

Leah is older

#

Penny has that "grew up too fast" feel

brittle ledge
#

...so who's the older sister, Emily or Haley

blissful saddle
#

Abigail without a doubt

calm nebula
#

Both older and younger

uncut viper
#

is this for a mod you're making atra

calm nebula
#

Emily is older

#

Uhhhh.....not yet?

faint ingot
#

It looks like I can use the game state query in the event after all so hopefully that will work if I understand this correctly

blissful saddle
#

Emily and Haley are a bit hard to define. Emily sounds older, but having a less responsible older sibling like Haley also makes the younger mature faster

velvet narwhal
#

yeah i've always seen emily as older simply due to the clint infatuation thing

blissful saddle
#

I would also not be beyond consider they are non-identical twins

#

Haley may also be older than she sounds, but have some kind of Peter Pan syndrome

meager dome
#

ok what of this data in specialorders is actually used by the game and what should i change if i just want a characters displayed name to be different

blissful saddle
#

and after spending 12 hours and downgrading my former 4 chests, 12 files and a handful of conditions, I have a simply frozen chest to work with spoilage

tardy adder
#

weeee no more weird fruit as wine

brittle pasture
meager dome
#

im changing clints name through the whole game but i just mean here

#

i want it to still be requested by clint but have the name say something else

brittle pasture
#

got it. the strings associated with the special orders are in Strings/SpecialOrderStrings

meager dome
#

ohhhh

#

ok cool

#

so im not gonna be changing anything in here

brittle pasture
#

nope

silk cliff
#

is there any mods that add more dialouge to emily?

calm nebula
#

Probably lol

#

If you're planning on making one, make one anywyas lol

silk cliff
#

ohe?

#

o i could never make mods

faint ingot
#

then you're in the wrong channel

silk cliff
#

o oki

rancid temple
#

ohe is probably one

gray linden
#

just quickly so i dont need to make a post, does anyone know how to add a hud mesage without the whitespace / border for the image. just got started and this Game1.addHUDMessage(new HUDMessage("rain boosted crop growth!")); adds the hud msg but with the area for an image

calm nebula
ocean sailBOT
#
gray linden
uncut viper
#

you can skip the first four stages of grief here

rancid temple
ornate trellis
#

🤔

#

maybe its time for me to make a spacecore json to keep all my spacecore stuff in...

brave fable
#

hi @rancid musk , where can i find a list of current materialcontainers/inventories from ICheckCanCraftEvent? my usual method takes params of CraftingRecipe, List<IList<Item>> in the base game inventory item list format

ornate trellis
#

idk what not present in the dictionary means

brave fable
#

if i have to rewrite the ingredients handler i'm going to leave love of cooking at 2.0.1 hahah

calm nebula
#

🫂

blissful saddle
ornate trellis
#

i thought i needed to add it there josweat

blissful saddle
#

if it is a new object, check if it is being loaded correctly

rancid temple
#

Oh

#

You have capitalization issues

blissful saddle
#

damn capitals

ornate trellis
#

it does exist ingame if thats what you mean

ornate trellis
rancid temple
ornate trellis
#

i am now just confused

#

o

rancid musk
#

What exactly do you need them for?

blissful saddle
#

I had {} issues when working on my mod earlier that almost made me lose my mind and scream for help here, because my textures were not opening

#

I was loading it to Mods/{ModId}/texturename and trying to open them from Mods/{{ModId}}/texturename

ornate trellis
#

it lives

#

thanks everyone

calm nebula
#

Floof

ornate trellis
#

i either wanna make thread out of it or cloth..or maybe just directly use to it craft something idk 🤔 we shall see. i am happy enough for now that it spawns at least lol

brave fable
blissful saddle
#

question: with EditData it is possible to add a context tag to an item without deleting or having to manually copy the original ones?

rancid temple
#

I do think there's some problems with how this spawnable thing works though

#

Seems like if it chooses a spot that's not available it throws an error

#

Doesn't stop it from spawning in other spots

ornate trellis
#

O:

rancid temple
#

But the red I'm sure will be great when any user sees it

distant radish
#

Look at Cornucopia - Artisan Machines and then look for their objectcontexttags.json file

ornate trellis
brittle pasture
rancid musk
brave fable
#

no, that's all for now thanks SDVpufferthumbsup

dreamy cedar
#

I'm adding a mechanic to Junimatic where Junimos will take raisins and get a speed boost. The way it'll look will be a Junimo grabs the raisin from a chest and hauls it to the Junimo hut (which is a big-craftable, 1x2 thing)... Easy enough for me. But I'd also like all the Junimo Huts to have an animation when that happens. Perhaps a shake and a little burst of sparkles. Any idea where I could find an animation like that in the game already?

lucid iron
#

blueberry my liege the cat in sailor styles is leaving behind a impassable tile

lucid iron
dreamy cedar
tender bloom
#

Ugh I think I actually have to deal with VS being discontinued

#

I sort of hate microsoft

blissful saddle
lucid iron
#

yea they are but i think the sprites is just this one but side to side

#

as for sparkle effects u can pick smth from TileSheets/animations

calm nebula
brave fable
tender bloom
#

Yeah I'm downloading Rider rn

#

The wiki doesn't have any tutorials on Rider though

#

So that's going to be fun

uncut viper
#

its basically 99% the same

tender bloom
#

I don't feel like figuring things out myself rn but I guess I have no choice

#

Many grumbles

lucid iron
#

the other approach would be to use action in the cat's dialog

#

since the cat is an anti social npc right

solid ocean
#

im having troubles coverting CP-A mods. when i convert them they dont animate in game

brave fable
#

yeah the cat is antisocial and has no dialogue, but it does use a unique animation at every schedule point

tender bloom
#

What are you converting them to?

#

Also what language is your game in

brave fable
#

so in theory i could open a shop action. if one exists

solid ocean
lucid iron
#

nop its only avail as tile action or debug seriousblep

blissful saddle
brave fable
#

tile action it is 😌

blissful saddle
#

panic

lucid iron
#

i will hope that passable is just work DokkanStare

blissful saddle
lucid iron
#

vs on mac is ending yea

blissful saddle
#

oh ok. I am safe with my shitty windows so

lucid iron
#

just use notepad AquaThumbsup

#

who needs things like "syntax highlighting" and "intellisence"

blissful saddle
#

just use punched cards

brave fable
#

is it possible to add other folder trees to the solution view? since removing the csproj files and using ContentPacks in the c# project it's a nuisane having to open via explorer

#

folder view in solution explorer sucks

tender bloom
tender bloom
#

Show an example of what you're doing and I can explain what I mean

calm nebula
tardy adder
#

Send help ><

lucid iron
#

Weeds

tardy adder
#

But from where?

rancid temple
#

Isn't that like the default Texture and SpriteIndex?

tardy adder
#

-> maybe the recipe isn't loading?

#

since the item is

rancid musk
#

You can set DisplayUnknownRecipes to true on that crafting station for debugging purposes

tardy adder
#

hmm probably recipe no like ze pumpkin seeds SDVpufferthinkblob

#

nvm I has discovered an extra slash in ze recipe after actually seeing

tender bloom
#

friendship ended with VS, Rider is my new best friend

tardy adder
#

on a side note I was today years old when I realized I can add a number next to the yield blobowo

tender bloom
#

ok so how do I edit the mod compat whatever-it-is-now

#

now that I've unbroke my mod

uncut viper
#

what do you mean

lucid iron
#

You need to open a pull request

uncut viper
#

o

lucid iron
#

To the compat github

tender bloom
#

Terible

#

I can do this

lucid iron
#

Elizabeth new mod DokkanStare

tender bloom
#

nope

#

just fixing a broken one

#

Maybe a new mod...in like a couple years 😛

#

I still have 2 more broken mods

#

and 1 I want to add a feature to

#

I have been feeling the art itch a little bit

#

like one tiny iota

#

I also relicensed a bunch of my mods, again

#

Probably janky but idk, at some point I just pick something that seems ok and go with it

#

I did discover one of those mod stealing websites stole one of my mods

#

I think they didn't update it for 1.6 tho lol

brittle ledge
#

(could also include Lola and Lacey in that)

calm nebula
#

Yarn? Yarn?

brittle ledge
#

We'll also add it to atra's gift tastes.

calm nebula
lucid iron
#

Cotton candy flavored

ornate trellis
modest dagger
#

hats

ornate trellis
#

i do have one cloth made of flax that i use for some bigcraftable deco :B

#

nothing too fancy but

#

i fear i gonna scope creep myself into making a custom crafting station or w/e and thusly will never finish my update cuz i always gonna do more lmao

calm nebula
#

(Brioche hat?)

brittle pasture
#

huh I never bothered to check 1.6.9's furniture crafting fix. Looks like it works, so Craft Anything Framework is mostly obsolete

#

looks kinda weird though lol

tiny zealot
brittle pasture
#

that's more points toward the "furniture as machines" side, vs "revive bigger craftables"

#

because it turns out the collision and placement logic is kinda a pita to reimpl lol

teal bridge
#

1 step closer to the table that makes more tables

brittle pasture
#

(better crafting does show the icon correctly, fun fact)

rancid musk
#

Naturally.

brittle pasture
#

(I'll just add a hard requirement for BC ez)

rancid musk
#

I appreciate using 10 wood to transform an oak table into a walnut table.

brittle pasture
#

wood plating

brave fable
#

it's just a veneer 😌

rancid musk
#

You just soak it in wood.

calm nebula
#

And meh

#

It's not a simple two line change so I'm not going to bring it up

wise river
#

okay- i has question, yall want the short story or the full story, cause either way it involves- uh- what- are they-

hard fern
#

Just ask it

wise river
#

Tbin?

hard fern
#

? Do you want to make maps

wise river
#

how does one- see the stuff in it--

hard fern
#

!tiled

ocean sailBOT
#

If you want to make mods that add or edit maps:

  1. Use Tiled to edit .tmx or .tbin files.

  2. Refer to the Maps wiki page for details on how maps work in Stardew Valley.

  3. Content Patcher allows you to create custom locations through editing Data/Locations

  4. Vanilla Maps can be edited via Content Patcher as well: EditMap

wise river
#

i'm trying to edit something but, completely clueless

lucid iron
#

enable the tbin extension in tiled

#

dunno why you are editing tbin though, just use tmx

hard fern
#

Maybe an older mod that uses tbin? Idk

wise river
#

i give short story, a revamp of alex's home is clashing with SVE, a way to fix it was to edit the file

#

or- at least that's what a person suggested--

hard fern
#

Can you give more details,

#

What about it was conflicting

wise river
#

the resident of alex and his grandparents is the mod that had the instructions, i'm trying to see if a mod that changes ||the casino|| works still, or if it's clashing with SVE

#

which, i will be honest this is like. super new. so i have no clue what tmx is, or what tilited was until now

drowsy pewter
#

Okay so what exactly do you need help with. I think people want to know what the actual question is

hard fern
#

Yeah

drowsy pewter
#

If you want time to go through the map editing guide thats fine

acoustic summit
wise river
#

pleaseeee be patient i have no clue what im doin-SDVpuffersweats

lucid iron
#

u can rotate tiles

#

and its plain text

wise river
#

i wanna try and use the mod "less ugly casino" but- apparently SVE edits it or does something with it i think- so i'm hunting for its file, and im trying to check if its the right file but its in Tbin format (?) and im not sure how to really- see or use what's within it

acoustic summit
#

Whats the advantage in plain text?

#

Unless you want to analyse the file in a seperate tool

drowsy pewter
uncut viper
#

(potentially)

acoustic summit
#

Ah, cool!

tiny zealot
acoustic summit
lucid iron
#

sometimes i mess up tilesheet climbing so i can just open tmx and fix it

#

cus it's just xml file

wise river
#

mhm, but- i can't seem to understand how to use it,

lucid iron
#

but u dont have to deal with any of that if u dont want to

#

tiled can open both tmx and tbin(with extension enabled)

#

oh yea i also check my maps into git

#

so plain text = can see diffs

wise river
#

i think i found it- but how do i find what version im on?--

#

or- windows version

gaunt orbit
#

If you're not sure and don't have a mac, you're on windows

brittle ledge
#

honestly it seems like it would be easier to just turn off SVE's edits than edit the other mod to fit SVE, but ymmv

serene quarry
#

Hi there.
I want to move custom NPCs around on the event map. For example, I want Pam to move around during the Luau, similar to how she does in the base game. I've set it up like this. Please advise.
thank you.

{
  "Action": "EditData",
  "Target": "Data/Festivals/summer11",
  "TextOperations": [
    {
      "Operation": "Append",
      "Target": [ "Entries", "Set-Up_additionalCharacters" ],
      "Value": "Yamionisama 39 7 2",
      "Delimiter": "/"
    }
  ]
},
tiny zealot
#

you will want to continue using TextOperations, targeting "Fields" -> "set-up" -> a reasonable index in the script, and append advancedMove commands targeting the desired NPCs

brittle ledge
#

pretty sure I use field 5 for festival animations

tiny zealot
#

if you don't already know, be advised that every festival now has two maps (for odd and even years), so there are _y2 keys involved as well

brittle ledge
#
                    "Operation": "Append",
                    "Target": ["Fields", "set-up{{FestivalYear}}", 5],
                    "Value": "/animate JeanCat false true 100 28 28 28 28 28 28 28 28 28 28 29 30 31 32 33 34",
                },```
#

what I use for festival animation (the {{FestivalYear}} adds in the _y2 tag on even years)

faint ingot
#

hello, its me again, I have come back for more chastisement. I'm the one who had their NPCs everywhere with "Shannon" and "Russell" as internal names instead of something firmly unique

#

I'm starting revisions and want to make sure I have the right idea before I do this everywhere, do I have the right idea to do it in this fashion? {
"LogName": "Russell Blank JSON load",
"Action": "Load",
"Target": "Characters/Dialogue/{{ModId}}_Russell, Characters/schedules/{{ModId}}_Russell, Strings/schedules/{{ModId}}_Russell, Characters/Dialogue/MarriageDialogue{{ModId}}_Russell",
"FromFile": "assets/NPCs/Data/blank.json"
},

#

sorry { "LogName": "Russell Blank JSON load", "Action": "Load", "Target": "Characters/Dialogue/{{ModId}}_Russell, Characters/schedules/{{ModId}}_Russell, Strings/schedules/{{ModId}}_Russell, Characters/Dialogue/MarriageDialogue{{ModId}}_Russell", "FromFile": "assets/NPCs/Data/blank.json" },

brittle ledge
#

Yep, that would work and is the most common way of doing it in 1.6

#

{{ModId}} will output your mod ID, so the internal name will be yourmodname_Russell in this case (with yourmodname being, well, your mod name)

faint ingot
#

yep understood, thank you just confirming

#

if I was better at regex I'd have a chance of hunting down all these references

#

wait the abbreviated names are still fine in like event scripts for advancedMove etc, right?

brittle ledge
#

no, those need to be the internal name too

faint ingot
brittle ledge
#

can you not do a find/replace on everything that isn't dialogue and the display name?