#making-mods-general

1 messages · Page 537 of 1

merry river
#

thanks for the heads-up! in that case, it's my custom map, though SDVpufferthumbsup

merry river
brittle pasture
merry river
royal stump
#

they tried it with GSQ is_green_rain_day before, but the thing is, I'm pretty sure the wiki definition of that is incorrect
(which is why it wasn't on the wiki for a long time)

merry river
#

oops, hit enter too fast

royal stump
#

you could try the normal Weather GreenRain event condition or the other weather GSQ
({{ModID}}_RecipeEvent/GameStateQuery Weather Here GreenRain, I think?)

vast flicker
#

I want to make a NPC mod but I’m scared that the art would be too different from vanilla and I would feel out of place :((

jaunty shuttle
#

People will still love it, it’s your own art style!! I think if you want to then go for it

brittle pasture
merry river
#

or rather, settle for the one that works first, if it does

royal stump
#

the typical weather one should be able to see the current day's green rain

jaunty shuttle
#

There are lots of helpful people and resources here that can help you improve at SDV style art too SDVpufferheart

jaunty shuttle
vast flicker
#

Olay

#

Okay!!✅

elfin kindle
#

Im getting so deep in the modding compats, my code is so ugly and confusing now lmao- Im trying to add an alternative house map, and its been giving me a lot of issues but i think it's finally working as it should BUT NOOO, cus for some reason my NPC can't find his way to Pierres shop from the new map. he can find his way out and to basically any other place, but not Pierres shop. Dude just walks off the screen.

merry river
#

perhaps the gsq needs to be in quotation marks

royal stump
#

quotes will probably cause an error where it says the key is invalid (interpreting "weather here greenrain" as a single ID, rather than just "weather")

#

aside from trying without the / at the end, I'm not really sure what else to try, not very familiar with events myself

merry river
#

yeah haha, i was wondering when this part would apply

royal stump
#

yeah, that specific example is inaccurate afaik, it's just trying to demonstrate quotes/spaces

merry river
#

I already tried without the /SDVpufferwaaah

royal stump
#

some gsqs do want escaped quotes for things like /GameStateQuery ANY \"query 1\" \"query 2\"/, but that one doesn't

#

ig you could try temporarily targeting a map other than Woods, to see if it's not triggering there for some reason SDVpufferdizzy

merry river
#

I removed the preconditions and changed the target to forest but still, nothing. I'll take out the dynamic tokens now and see if they are causing the issue

#

and I don't have to load a blank.json for that since it's targetting an existing map, right? or am I forgetting something here

royal stump
#

you shouldn't, because there's already a Woods asset for its vanilla events

merry river
#

Well, replacing the dynamic tokens didn't help either. I really don't get it since the script doesn't appear to be faulty if it works with debug ebi SDVpufferthinkblob

brittle pasture
calm nebula
#

Test the gsq with the gq console command

lucid iron
#

Did you try the WEATHER gsq

#

That one that just takes GreenRain iirc

merry river
#

gsq result is true, changed "here" to "target", let's see

calm nebula
#

Shits and giggles try specifying Town

merry river
#

i checked for town rather than target and changed it in the precondition accordingly and still. nothing?

#

is there a way to wipe all kinds of flags

#

patch summary didn't show me that the event has been seen, though

inner harbor
#

I thought events didnt trigger in green rain at all?

merry river
tiny zealot
#

that would be wild and also i can totally see it

merry river
#

putting this on the list of things that are randomly hardcoded

tiny zealot
#

hang on, let's make sure it's true first

brittle pasture
#

GameLocation.checkForEvents

#

yeup
thanks for the catch lemur

inner harbor
#

Pretty sure it was because outdoor events are buggy as due to all the weeds

tiny zealot
#

yeah location events are blocked when green rain

inner harbor
#

Pity they cannot make indoor events happen

merry river
lucid iron
#

Hm i guess you can hack around it with spacecore

#

Location change trigger play event

#

Use a temp map version of woods while you at it

inner harbor
#

(I think we discovered this with Eli & Dylan)

tiny zealot
#

the PlayerKilled and rescue events, and your wedding, should still occur

merry river
brittle pasture
#

(tbh from a player's perspective I wouldn't want progress gated behind viewing an event that only triggers on one day across the entire year, meaning if I miss it I have to play at least another 112 days on average)
(unless this event is actually not important and/or you provide other workarounds)

merry river
merry river
vast flicker
#

How do I make a heart event?

brittle pasture
#

[[Modding:Events]] assuming you know the basics for content patcher feel free to reference the wiki page

#

[[Modding:Event_data]]

merry river
#

IT FINALLY WORKED! SDVpufferparty Thank you, everyone, for patiently trying to figure this out with me. and thanks to space core for saving my hide once again

#

In case someone else runs into the same issue as I do and wants an event to play during Green Rain, this is the trigger action I set up with space core:

            "LogName": "Trigger action: Play event during Green Rain upon Location change",
            "Action": "EditData",
            "Target": "Data/TriggerActions",
            "Entries": 
            {  
        "{{ModID}}_RecipeEventTrigger":
                {
                    "ID": "{{ModID}}_RecipeEventTrigger",
                    "Trigger": "LocationChanged",
                    "Condition":  "ANY \"WEATHER Woods GreenRain\" \"RANDOM 0.1 @addDailyLuck\", LOCATION_NAME Target Woods",
                    "MarkActionApplied": true,
                    "Actions": [
                        "spacechase0.SpaceCore_PlayEvent {{ModID}}_RecipeEvent true"
                    ]
                }
            }
        },```
merry river
#

Hmmm not sure why it worked exactly once and when running another test, it plays right after leaving the farm house, soft-locking the game

rocky copper
#

Is there a way for Content Patcher "When" conditions to read in-game stats? A Query maybe?

tiny zealot
#

you can't use game state queries in CP's When conditions (although at least one mod provides a use-only-if-necessary token that does that)

#

you will need to rely on tokens that content patcher understands

rocky copper
#

Darn. I found a conversation about stats being maybe implemented as tokens for queries, but that was from 2021 and I wasn't sure if that was ever implemented

#

Thank you

tiny zealot
#

what are you trying to do? there may be another solution

pale river
#

@next plaza hi, I'm using spacecore's dungeon system for a custom mine. Is it possible to do monster floors, and is it possible to do a dungeon with only monster floors?

edit: I found out it's not possible, but I figured out a way to do it

rocky copper
tiny zealot
#

often if something is suitable to check with a GSQ there's a field for that and you don't need to do content patcher about it at all

rocky copper
#

I can make reading the book run a trigger action that updates when the player moves locations, but I was wondering if I could make it instantaneous

tiny zealot
#

i believe it's generally a better idea to add the item to the game data unconditionally, and only grant access to it when the conditions are met

#

for example, since reading the book sets a stat, you could put a condition on its entry in the (hypothetical) shop that sells it that requires the stat

#

those conditions are checked every time you open the shop so you would get instant results that way

rocky copper
#

They're meant to be items you can process in a vanilla machine only once you've read the book (and that I can do, just like you described), the goal was to only make them show up in the Shipping Collection if you read the book. I can patch them to exclude from the shipping collection, but then I'm back to square one

#

It'd probably be okay for them to only show up the next day or on location change, I was just curious how quickly I could make this work

merry river
#

If I wanted to append something using text operations, would this be the correct way:

            "Action": "EditData",
            "Target": "Data/Objects",
            "TargetField": [ "Entries", "void.Peiming_77616e6c657420646f6c6c"],
            "TextOperations": [
                {
                     "Operation": "Append",
                    "Target": [ "CustomFields", "selph.ExtraMachineConfig.SlingshotDamage" ],
                    "Value": "100",
                    "Delimiter": " "
                }
            ]
           
            }```
brittle pasture
#

why you need text operations just to set a customfields

merry river
#

accessing this from another mod

brittle pasture
#

then you can use TargetField

merry river
#

or i'd have to set EMC as dependency for said mod,

calm nebula
#

What is that hash

merry river
#

it's a mystery

#

for me to know and for you to find out

#

how would i set up target field then
i am confusion

merry river
#

thank you o knowledgeable selph

blazing gulch
#

Does anyone know the route to the cherry tree?

dire kestrel
wraith bay
#

is there a way to spawn /monster GreenSlime with special item antenna?

#

testing an update to cuter slimes doodlebobs, figured y'all would know.

merry river
blazing gulch
royal stump
# wraith bay is there a way to spawn /monster GreenSlime with special item antenna?

I think this technically works? but you'd still have to spam it and pass the normal 1% chance of it happening:
debug monster GreenSlime 10 10 2
tech reasons:
the last argument seems to be interpreted as the slime's "mine level" if it's a number
mine level is used for slime difficulty/color, and also the special item check
it needs to not be an elevator floor or directly after it, so setting it to mine level 2 should make it do the 1% chance check

wraith bay
#

i do not mind spamming it, just happy to have a possible solution tyvm!

royal stump
#

(oh, and 10/10 can be whatever x/y tile)

#

seems to work in testing

wraith bay
#

yah. prelim test was working well, but wanted to get a chance to test both bobble versions once i get the full graphic set in.

somber kernel
#

Are these slimes as livestock 👀

brittle pasture
#

you can already ranch slimes in vanilla

#

if you have infinite patience and nothing else better to do

wraith bay
#

just regular old slimes

potent granite
#

hi! im pretty new here but I've been wanting to make a portrait for a custom npc but have no idea where to start. I do have a program ready, permission from the creator, but just do not know anything about the dimensions needed. When I see the two columns, I get too overwhelmed and dk where to start. Anything helps, thank you T-T

urban patrol
#

there's also a template just beneath it

potent granite
#

Okay I see it ! thank you so much ^^

gaunt orbit
#

benchmarking my catalogue optimizations and so far the early results are promising.
even setting aside the batching, the overall total processing time is reduced by almost half

#

next step is to stress-test it on my main modlist and see if/how it scales

lucid iron
gaunt orbit
lucid iron
#

What if u hold on to data longer is the ask

gaunt orbit
#

Yeah I can do that

uncut viper
lucid iron
#

What did yoba say about memory usage

somber kernel
#

Everything

calm nebula
#

Just swap, lol

#

If u can't swap spin up a aws

gaunt orbit
# gaunt orbit Yeah I can do that

I didn't do it before because the assumption was that you would only close it when switching catalogues, switching locations, or when you're done decorating.

Entirely did not occur to me that you could close it accidentally

valid folio
#

Hi, could you help me? I’ve been trying all day to make a mail chain for a very specific quest. The mail chain itself works, but my idea is to donate a specific item to the museum and have that trigger a mail that should be sent the next day. The problem, or rather the problems, are several:

  1. I can donate the item. I categorized it as an artifact or mineral, but I’m not sure if simply having one of those categories automatically makes it donatable.
  2. Because of the first point, I don’t know whether the item was accepted because of my quest logic or just because those categories make it donatable.
  3. When I donate the item, I should receive a letter the next day, and that’s not happening. What I don’t know is whether it’s simply not possible to trigger receiving a mail through a museum donation.

I didn’t implement it through a quest because I don’t think there’s a way to do it that way. I also didn’t do it through trigger actions, although I did create a quest just so it appears in the quest journal as a reminder for the player, mostly for aesthetic purposes. Supposedly, donating the object would trigger an action that removes the quest, which didn’t work. So I added a removeQuest in a trigger action instead, but since the mail never arrives after the donation, this “ghost” quest doesn’t get removed either.

What can I do? Do you need to see the code? I can send it if necessary.

gaunt orbit
valid folio
#

I copied the code from a friend, although hers uses an item reward instead of actions. She’s not online either, so I can’t ask her about it.

gaunt orbit
valid folio
calm nebula
#

Try putting the context tag in all lowercase iirc

gaunt orbit
#

That's probably what's breaking it

valid folio
# gaunt orbit That's probably what's breaking it

What I put there is the ID, not a context tag. I tried both ways, using the context tag in lowercase and using the ID. But I agree that the problem might be that I’m using Actions instead of RewardActions. However, can it send a mail as a reward?

gaunt orbit
#

Wait it's just [[Modding:Museum]]

valid folio
unique tusk
#

Is there a command in event data preconditions or at least a way to script for an event to not happen if a different event has already happened? 😵‍💫

jaunty shuttle
#

I lean yes because Leah's events do that, but don't take my word for it cause who knows what's randomly hardcoded and what's not

urban patrol
#

you would just negate the precondition for having seen an event using a !

#

i think it's SawEvent?

unique tusk
#

I don't understand what you mean by negate?

urban patrol
#

you would use an exclamation point before it to negate it

#

like !SawEvent (if that's what the precondition is)

unique tusk
#

So I would put in the coding something like "!SawEvent [MOD_ID]" for every event after it? Or I put it in the actual event that can only be seen if the other hasnt happened??? 😵‍💫

urban patrol
#

whichever events you want to NOT play after having seen an event would need that precondition

manic temple
#

is there a mod for Kent coming home Y1 I might make one when I get good at code and I am to lazy to check myself

soft granite
#

I can't find the documentation as to how Content Patcher Animations works... any tips? Github doesn't turn up much useful.

ocean sailBOT
#

@soft granite You leveled up to Farmer. You're now a prettier shade of blue. Thanks for sticking around!

devout otter
#

Content Patcher Animations is deprecated, iirc and its functionality is now in SpaceCore.

valid folio
#

Do you know if there’s any bug with https://stardewvalleywiki.com/Modding:Museum ? I copied it exactly as shown, only replacing what was necessary. I even made the item ID and the context tag identical to avoid mismatches, but it never sends the mail. I’m sharing my code below.
https://smapi.io/json/none/9ad2910466c84d0ab0f1b6b11b165daf
I’ve been trying to make this work for almost 12 hours now. At this point I don’t know if I’m overlooking something, if there’s a bug, or what’s going on.

Stardew Valley Wiki

This page details adding custom museum donations and rewards. This is an advanced guide for mod developers

fickle thicket
valid folio
fickle thicket
#

oh wait so the only problem is the mail isnt being sent to your inbox the next day?

brittle pasture
fickle thicket
#

well there you go SDVpufferthinkblob

iron sky
#

where can i find the for windows.zip?

#

is this the right one? or is this the source code?

#

nvm i found it

river gyro
#

is there a way to go above the usual dimensions for an npc ? Specifically for making a custom one (𓂂ㆆ﹏ㆆ)

#

16x36 as opposed to 16x32

lucid mulch
#

going above is easy, there is a Size field that defines the size of the overworld sprite.

#

There are just downsides of doing so that make it so you need a very good reason to want to do so

river gyro
#

wat kind of downsides specifically ? i didn't think it'd make much of a diference due to how little its upscaled (⁠@⁠_⁠@⁠;⁠)

lucid mulch
#

Note: sizes bigger than 16×32 will cause issues like broken spawning, pathfinding, misalignment in the perfection end-game slide show, etc.

#

it wont upscale it will just be bigger

river gyro
#

i'm not good at wording things sory

#

thank you for responding

fickle thicket
#

You can use PoohCore to make NPCs bigger than 16x32 iirc!

unborn shadow
#

Hello! I'm trying to make a rescue event (playerkilled) for a non-romanceable custom NPC. Is there a way to bypass the default hospital cutscene after the player is knocked out? I only want this specific rescue to happen once.

ornate drift
#

Honestly, I'm thinking of giving my bear a store

#

Maybe a bakery

#

he could sell sweets

#

A bear-kery

inner harbor
#

Theoretically you could trigger it twice in the same day but apart from that, youd be fine.

valid folio
valid folio
brave fable
#

invalid tile gid errors from tsx files should be blown up in a safe location somewhere in deep space

uncut viper
#

has someone been saving maps without the tilesheets again

brave fable
#

who makes a website called "map fixer" that doesn't fix invalid tile gid errors from tsx files

uncut viper
#

just embed them and upload the tmx 😌

#

the real answer is, it'd be impossible to do

#

fixing tile GID errors requires knowledge on what other tilesheets are present in the map and in what order

#

a .tsx on its own does not contain enough information to fix it

#

nor does a .tsx alongside a .tmx

brave fable
#

oh to have the information to fix it

#

the same tileset works fine embedded and breaks when replaced with the tsx

#

the tsx of course being identical

fickle thicket
#

What's a tsx map file for

uncut viper
#

sounds like it's being loaded out of order

#

as for why that may be, beats me!

#

a .tsx file contains information about a tilesheet. Usually, this information is kept inside the .tmx itself, but you can export tilesheet information to a .tsx which can in some situations make it easier to use thta same tilesheet in another map, since the .tsx will also contain information about the animations that tilesheet has set up

brave fable
#

consider you've got one tileset you're working on, and several maps it's used in. if it's embedded in all 3 maps, you have to export and re-embed into each map for every update, or worse, manually update all maps' tilesets for any changes (tile properties, animations, etc)

fickle thicket
#

Ah i see SDVpufferthinkblob

brave fable
#

maps referencing TSX files will use the latest properties and animations, no need to export or embed or update or edit

fickle thicket
#

so if you have a tsx you can just update that and no need to update the rest of the maps?

brave fable
#

precisely

fickle thicket
#

ahh okay good to know SDVpufferthumbsup

brave fable
#

however, every so often luck frowns on you and your map will be completely unusable for ??? reasons

uncut viper
#

You will also of course have to deal with terrible tsx related errors if you get any little thing wrong about them 😌

fickle thicket
#

eugh im guessing its pretty complex? good luck blueberry

uncut viper
#

Also if you're using custom tilesheets it's one more little annoyance having to make sure they're in the right spot too, which unlike the sheets themselves, is firmly next to the .tmx

brave fable
#

more obtuse than complex SDVpufferclueless

#

odd tho. tileset first gid is 5176, tileset contains 2356 tiles, which should only result in tiles up to 7532, but the map has tiles with id 7654 and higher

#

hell, it has tiles with id 2147486268 and higher

uncut viper
#

those super large IDs are actually normal

#

iirc, something to do with flipping and/or rotating? maybe not, but i remember when i was making map fixer that there is something to do with subtracting from int.max

brave fable
#

how normal

uncut viper
#

as in, intended

#

working as designed

brave fable
#

oh, hm. maybe this is it

#

the tileset does not contain 2356 tiles. it is a 996x768 image which should have 2988 tiles

blazing gulch
#

Does anyone know the route for crafting items, I mean things like barrels and casks?

uncut viper
brave fable
#

?? ? ??
SDVdemetriums

uncut viper
#

¯_(ツ)_/¯

brave fable
uncut viper
#

Very byte-saving way of storing whether a specific tile placement is rotated I suppose

#

Rather than having another section of xml somewhere that saves coordinates and rotations

brave fable
#

i suppose so

blazing gulch
#

No, I'm only going to change the appearance of a machine

brave fable
#

oh i see, the route

#

TileSheets/Craftables has all those items

lucid iron
#

You can EditImage those

blazing gulch
#

thank you ❤️‍🩹❤️‍🩹❤️‍🩹

brave fable
#

note to self: this particular invalid tile gid error was caused by me previously extending the tilesheet image downwards, but some combination of undo/redo/reexport PNG caused the tileset width+height+tilecount fields to desync with the actual tilesheet image, so the previous tilecount value was being used and my tiles in the extended area were above the gid+tilecount and considered invalid

#

updating the fields in the tsx solved the issue and the map loads with a non-embedded tsx tileset

uncut viper
#

that is a new and interesting error to me that i will not support in map fixer SDVpufferheart

lucid iron
#

Blueberry this is like 3rd time i witnessed you finding esoteric bug

#

It just keeps happening

brave fable
#

it would be trivial to compare the tilesheet image dimensions with the tilecount if the user also uploaded the tsx file, but probably not many people would have this problem

#

i'm something of an esoteric creature

uncut viper
#

ah, but what if there is another bug that leads to incorrect image dimensions being reported?

calm nebula
#

You can find that uses these very large numbers for flipping

uncut viper
#

atra I think you have lag

calm nebula
#

I thought it might have been bitmasking

brave fable
#

you would also need the tilesheet image 🙂‍↕️

#

at which point they may as well just drop the mod folder in chat and say 'help'

calm nebula
uncut viper
#

(actually, I just double checked map fixer's code. it does actually re-calculate the tilecount and use that for gid calculations. so it would have fixed this if you embedded it 🙂‍↕️)

brave fable
#

tiled does that itself, the issue is fixed on reembedding

#

but i do not want it embedded 🙂‍↕️

uncut viper
#

yeah, but clearly we cant put all our trust in Tiled

#

cant you embed to fix it, then like, pop it back out

lucid iron
#

Can u just embed and unembed

uncut viper
#

like a shoulder

brave fable
#

probably, i was more interested in what the issue even was. i embedded, it was fixed, so i replaced the embedded tileset with the original to look at it again

uncut viper
#

the map fixer wouldve said what the issue was in the log as it applied the fix 🙂‍↕️

brave fable
#

but the issue would already have been fixed SDVdemetriums

uncut viper
iron ridge
#

i love when i have something i need to compile but i cant remember how i actually compiled it

valid folio
brittle pasture
#

i recall museum rewards only gets checked every time you donate

valid folio
valid folio
valid folio
# brittle pasture i recall museum rewards only gets checked every time you donate

No, the thing I thought might be interfering isn’t the issue either.

Alright, let’s try setting it to trigger when donating any mineral in the game. If this still doesn’t work, I’ll have to scrap the idea. I really liked it because it was a very nice story, narratively coherent, it introduced more new characters from my lab, and included characters who aren’t used or appreciated much (all in text form).

I have a draft of the mails in English in case anyone wants to read them. I just can’t think of a coherent way to justify receiving those items without that specific chain of events.

valid folio
brittle pasture
#

post full object code

brittle pasture
#

your item is named {{ModId}}_prehistoric_saplings but you're using id_o_{{ModId}}_Prehistoric.Saplings

#

see the dot vs underscore

valid folio
iron ridge
#

that was shockingly easy to port casey's tbin library to emscripten

#

and it doesn't crash my browser like my js one

brittle pasture
gentle rose
autumn tide
#

helloooo does the ambient light event command work on rainy days?

#

(sadly not working for me rn)

brittle pasture
#

(when you post code you should assume that people will assume that all of your code is recent)

iron ridge
#

i need to convert tbins to tmx files for tmxl2cp

uncut viper
#

i think people should edit maps in browser

iron ridge
#

there are worse things you can put in a browser tbf

valid folio
# brittle pasture ok well that's what I see on my end so

Whether I use an underscore or a dot, it doesn’t work. I thought it might be because the context tag has to match the ID, so I set both of them with an underscore.

The one you corrected for me with id_0_ already had the underscore. If you want, I can try again.

I’ll use the same Objects as Quartz, since that’s the one I donated. Or I could try this instead: copy the Quartz Objects, set it to donate any mineral, and see if it picks up my item that way, right?

Whay do you think?

brittle pasture
#

id_o, not id_0

#

and pls post the absolute latest version of the museum reward data you tried

valid folio
# brittle pasture `id_o`, not `id_0`

I copied and pasted that part directly from the wiki into the JSON file. I messed up there because the “o” is close to the “0” on the keyboard haha, I can’t see very well haha.

valid folio
valid folio
# brittle pasture and pls post the absolute latest version of the museum reward data you tried

Now it finally worked! I guess the wiki might be wrong because it shows it like this:
"Tag": "id_{{ModId}}_ShinyArtifact"

But my friend had it like this:
"Tag": "id_o_107" for the Dinosaur Egg ID.

So I copied it like this:
"Tag": "id_o_{{ModId}}_prehistoric_saplings"
and also like this:
"Tag": "id_o_{{ModId}}_prehistoric.saplings"

Neither of those worked. Then I tried:
"Tag": "id_{{ModId}}_prehistoric_saplings"

which is how it appears on the wiki, and that didn’t work either. I honestly don’t understand why it works now.

Thanks, as always, for your patience, Selph. I was about to give up on the idea, but then you showed up again and didn’t let me.

brittle pasture
#

congrats! yeah that is definitely an error on the wiki
at work now but I can fix it later unless someone beats me to it

iron ridge
#

are there any map properties that need only need the key to exist and the key can be empty?

valid folio
gaunt orbit
#

TreatAsOutdoors and Outdoors are bool properties so I think they works that way

uncut viper
#

The value cant be empty though

#

Pretty sure they need some kind of value

iron ridge
#

looks like those values are just T

sterile crescent
#

omg sent it twice 😭

uncut viper
lucid iron
#

(ghost ping BoyesPeek )

sterile crescent
lucid iron
uncut viper
#

dont have a value* at all

lucid iron
#

I guess one could go check how empty string behaves in tbin

gaunt orbit
#

I think it's distinguished in the file, but I'm not sure if xTile exposes it properly

#

xTile does weird things with properties

merry river
#

does anyone happen to know what is happening with my back tiles here? screenshot on the left is the map in tiled, screenshot on the right is in-game

lucid iron
#

The void...

#

You should use lookup anything to check what tile those black tiles are

#

Turn on tile lookup

#

If they are real tile ids then your tilesheet asset is wrong

iron sky
#

can a one crop harvest yield different items? for example, one cassava crop when harvested gives the player 1 cassava tuber and 1 cassava leaves?

#

can fruit trees do that too? for example, i want to when harvesting a banana tree can i get the banana fruit and banana leaves?

calm nebula
#

(a) yes with spacecore

#

(b) yes in general

iron sky
#

okay, tysm!!

brittle pasture
#

though not on the same date for (b)
it will be like the banana tree has 3 fruits, two are bananas and one is a leaf

iron sky
brittle pasture
#

can be either depending on how you set it up

#

but yeah to clarify: a fruit tree can add at most one fruit per day, this fruit can be either the banana or a leaf

gaunt orbit
#

Which has a less complicated format than spacecore iirc

brittle pasture
gaunt orbit
brittle pasture
#

I should really rename that thing to promote its crop behavior stuff

#

the MTF acronym tho

iron sky
iron sky
gaunt orbit
brittle pasture
tiny zealot
merry river
merry river
uncut viper
gaunt orbit
#

Machines/Trees/Farming

inner harbor
#

Got this Nexus message today. How exactly could they optimize a largely CP mod?

hallow prism
#

depends of the mod and how it patches things, it's not impossible, but i would say it's likely to not be very impactful

tiny zealot
#

depending on how the data is set up, it could be possible to combine patches to hot assets or change specific implementations (e.g. dynamic tokens are not great for perf). gains likely to be minimal (what lumina said)

hallow prism
#

it would be a tiny bit more on SVE because using even more old stuff/larger mod

#

(but imo the risk of creating bugs this way is greater than the gain short term)

tiny zealot
#

in general, i assume anyone saying "can you optimize this better" or "may i optimize this for you" without presenting specific things they would fix doesn't really know what they're talking about and probably won't succeed

blissful panther
#

Personally, I think I'd be saying a hard no way to them on that request unless they give the changes to me to make myself so it can just... be that way going forward.

urban patrol
#

@vernal crest is doing something similar with their mod list, so for example cursors doesn’t get reloaded 36975579 times

blissful panther
#

Because then you've got an "optimised" ES which is probably going to be more out of date, and since other mods depend on it... just sounds like a nightmare, and worse for people playing with it overall.

hallow prism
#

yeah i can't see myself allowing someone to upload a separate VMV and dealing with reports and stuff

jaunty shuttle
#

They could mean removing some features to make a light version of it. I’ve seen people do that before thonk

inner harbor
#

Also, i know mine aint perfect but i do feel like DTZ is the highest contributor to CPU heating.

#

I absolutely do not want anyobe uploading an entire replica of my mod for whatever reason.

#

(I also know nothing about this person).

hallow prism
#

i can't tell which mod would be the most affecting of performance, it's possible they made similar offer to other modders

#

if they have actual, relevant solutions it would be great to know

inner harbor
#

DtZ has the cars and a large amount of custom companions.

#

It would indeed be good to know how this person intends to optimize my mod indeed!

blissful panther
#

If you get an answer, I'd love a ping or DM or whatever, because I'm super curious. SDVkrobusgiggle

dire kestrel
#

i'm (respectfully) wagering that they don't understand what they're talking about. people who approach authors in this manner are usually amateurish

inner harbor
#

After a brush with a scammer yesterday, i am highly suspicious of strangers today.

#

I suspect they intend to use AI.

#

They haven't posted the same thing on SVE or DTZ so now I'm a little offended.

latent mauve
#

Yeah, considering that they are using all three together, I would be skeptical that it's your mod and not the combination or one of the others causing the cpu strain anyway SDVkrobusgiggle

inner harbor
#

Its a cumulative effect, i found when testing. Like every expansion mod added doubled load time.

#

(This was in 1.5 though)

#

ES copped the blame a bunch cos it was usually the third added, and thats the point the lag became super noticeable.

unique tusk
ocean sailBOT
#

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

#

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

merry river
urban patrol
brittle pasture
#

(for future reference when uploading stuff)

unique tusk
urban patrol
#

was i looking at the wrong thing? hold on

#

it’s hard to see on the log site lol

red egret
#

If i write {{ModId}}, that will automatically always reach to my mod?

urban patrol
#

yeah no this is what you sent

#
/// Interactable Map2
        {
            "LogName": "Load Silver Tree Interior",
            "Action": "Load",
            "Target": "Maps/Silver.Tree_Interior",
            "FromFile": "assets/maps/Silver.Tree_Interior.tmx"
        },
#

make sure you’re updating the correct files in your mod folder

unique tusk
#

OH heck okay maybe I updated it quickly and then immediately forgot I did, sry my ADHD has me really scatterbrained 24/7 😭

urban patrol
#

no worries it helps to have a second set of eyes

urban patrol
#

it doesn’t work inside tiled for example

red egret
#

ok ok ty

unique tusk
#

Hmmm even after fixing the mismatch it still says this when I try to warp to the new map?

#

I suspect maybe I messed up making it in Tiled cause a lotta the red says this 😵‍💫

urban patrol
#

check for red earlier in your log

urban patrol
#

but i’d need the full log

ocean sailBOT
urban patrol
#

yeah i think it’s tile data

#

object reference not set to an instance of an object might mean something is null when it shouldn’t be

unique tusk
#

I seee so I do have to fix the map itself :0

#

Tyyy!!!

unique tusk
#

Is there,,, any good guides on how to make a map for SDV in Tiled? cryign

ocean sailBOT
#

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

unique tusk
autumn tide
#

ooh I think there's a command for this?

#

!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

autumn tide
#

YES

#

you're gonna wanna start out by unpacking your game, opening a vanilla map and seing how they do stuff

unique tusk
#

Yee! I'm using the Greenhouse map as a base but for the life of me I cannot figure out how to place a tile data to make the walls impassable realization

#

Also things keep loading in it,,,, weirdly breaksdown

#

And I'm realizing I have no idea how to use Tiled 😭

autumn tide
#

oh shit I cannot help much here- but afaik all solid stuffs need to be on a tile layer called 'Buildings' (i fixed it bc I'm stupid)

urban patrol
autumn tide
#

(nic will correct me if I'm wrong LOL)

urban patrol
#

sadly you are lol

autumn tide
#

BUILDINGS

#

THATS WHAT ITS CALLED

urban patrol
#

the object layers are the pink counterparts to the normal blue layers that have tile data

urban patrol
#

you can continue using the greenhouse map if you want, but idk any detail about how it differs from other interior maps

unique tusk
#

"Oh joys" I said as I finished coding in the map I was then shot 52 times- /jk

red egret
#

I made a crop mod according to a tutorial and it doesnt appear in the game

autumn tide
#

hmm, send over your jsons?

red egret
#

oh wait i forgot to edit manifest

#

nah it shouldnt matter anyway, huh

#

ok i will send them

#

as files or over the io site?

urban patrol
#

the site is usually preferable

red egret
#

ok

urban patrol
#

btw @autumn tide if you want to learn how to help with maps most all information is on the maps wiki page. just bc i know you usually say you can’t help with them

urban patrol
red egret
#

oh

#

okay

#

what did this do then?
"Target": "{{ModId}}/data/objects, {{ModId}}/data/crops, {{ModId}}/data/seeds",

ornate locust
#

I don

#

I don't think it did anything tbh?

red egret
#

why is it in the tutorial then?

ornate locust
#

Sorry, I meant anything about your includes, it just loads textures

red egret
#

i guess i have it all wrong

urban patrol
#

if you were trying to load them then i don’t think target without path is what you want

ornate locust
#

That first file just loads three images named Objects.png, crops.png, and seeds.png

#

It does not actually load your jsons

pale river
ornate locust
#

Also do you HAVE images named objects.png, crops.png, and seeds.png?

red egret
#

i guess the textures should be like
"{{ModId}}/assets/objects
instead of data

urban patrol
#

with the file path, not just the file name

red egret
#

wrong folder

#

ok thanks

ornate locust
#

Okay just checking, so that part should work then

#

and soup has you on how to load the data

red egret
#

thanks, i will try

#

I got a yellow error
[Content Patcher] Error loading patch 'Test-Berry Crops > Crops': file contains fields which aren't allowed for a secondary file (Format)..

brittle pasture
#

Format should only be set in the content.json file

#

every other imported file can exclude it

red egret
#

idk what that means

#

OH

#

the very top line

#

again this was taken from the tutorial T.T

brittle pasture
#

the tutorial presumably assumes you'll put everything in content.json

red egret
#

i had that thought but if i have 4 crops planned, it would get messy maybe so this is probably better

#

HOORAY they are spawnable

#

now to make them not a flower but a fruit

#

found it 🙂

ornate locust
#

The tutorial starts off with "be familiar with content patcher", I think it's making some assumptions

unique tusk
#

When you finally succeed at making the map but....

red egret
#

after so many mods i hoped i was familiar with CP

unique tusk
#

Praying this helps or else I might need to again pick a new map

gaunt orbit
unique tusk
#

What is location data

#

I stare longingly from the void

gaunt orbit
#

How are you making a new location if not with location data edits?

unique tusk
gaunt orbit
#

Yeah that

unique tusk
blissful panther
#

I took that as more "what is life? SDVpufferwaaah" while your microwave refuses to work or something. SDVkrobusgiggle

gaunt orbit
#

[[Modding:location_data]]

unique tusk
gaunt orbit
#

What you want is DefaultArrivalTile

blissful panther
#

My MEEP test pack still doesn't have one of those...

unique tusk
#

Did I write this right? cryign

gaunt orbit
wraith bay
#

heads up from the nexus mod authors discord:

A website bug has been discovered this evening (GMT) which is affecting tags on mod pages. If you save your mod "Details" page, all non-classification tags and tag votes may be lost. This has been flagged to our developers but as it's a Friday evening, it may take a bit of time before it's investigated.

In the meantime, if you can avoid editing your mod description, this should prevent the issue from occuring with your page. Any removed tags can be re-added, but the issue may re-occur each time the description is saved.

unique tusk
#

OKAY ITS WORKING EXCEPT THERE IS ONE ISSUE- somewhere somehow, there is a random place where if you walk there itll teleport you to the farm instead-

#

Im desperately trying to comb through the map to figure out where this warp is set and I deleted all the tile data to no luck 😭

calm nebula
#

Try the map properties

#

Also didnt u copy greenhouse

unique tusk
#

Nah I had to change to a diff map I changed it to the barn instead which may not have been my brightest idea uhmmmm

unique tusk
unique tusk
#

I added another map but for some reason???? The viewport is just stuck here???? And I have no idea why 😭

urban patrol
#

check the map properties for a viewport clamp

unique tusk
#

I jumpz with joyz as I marvel in Shadow Milk Cookies splendor :D

#

Now I must go draw his room so I can code in the final map ao_smilksatisfy

fickle lichen
#

question for smithy users; is there a way to change the name of the mod? like, i know you can do it manually in-game, but the old name still shows up in the files, so i wanted to know if there's a way to change the name of the folder without breaking anything?

#

can i do it manually? or does it break something

lucid iron
#

If you click on the pack, you can edit things like mod name and nexus id

#

The folder name is enforced though, but ofc it doesn't matter what you publish it as

fickle lichen
#

the new name is Shigio's Little Trinkets

#

but it shows up as the old name

lucid iron
#

It would cause issues in the mod Sleepden

fickle lichen
#

awh

#

alright ;_;

lucid iron
#

The mod id is enforced to remain same

#

If you want to change it then you would have to manually edit the folder and manifest

#

(as an aside i don't recommend calling a furniture mod "trinkets", because trinkets is a category of vanilla items)

fickle lichen
fickle lichen
#

sorry, english isn't my first language so i didn't know about that

#

😅

#

i just thought it sounded cute

#

hm, i'll see what i can change it to

lucid iron
#

Yeah trinkets in vanilla is like fairy box, frog egg, parrot egg etc

fickle lichen
#

would 'knicknacks' be a better word instead of trinkets?

lucid iron
#

Sure whatever makes sense Dokkan

fickle lichen
#

alrighty!

ornate locust
#

Knicknack has real "lil thing I put on a shelf" vibes

lucid iron
#

Also if u were still doing separate textures I will recommend again to let smithy merge them yuniShake

#

If u wished to rename mod anyways now is good chance

fickle lichen
lucid iron
#

If u currently have something like this:

editing/input/tex1.png
editing/input/tex2.png
#

You can make folder named tex and do this instead

editing/input/tex/1.png
editing/input/tex/2.png
ornate locust
lucid iron
#

And then smithy will make editing/input/tex.png for u, which can be used for all your furniture

uncut viper
#

everyone loves a good tchotchke or bric-a-brac

fickle lichen
lucid iron
#

This is the folder

fickle lichen
#

ah

lucid iron
#

So as mentioned you can only set the mod id on creation of a pack in smithy

fickle lichen
lucid iron
#

And the mod id is the folder name used for export

fickle lichen
#

hmmm

lucid iron
#

If you wish to change the mod id, then you choose one of 2 approaches

  1. Just make new pack
  2. Manually rename the folder and edit the manifest.json UniqueID field
#

Make sure u do 2 with game not running

fickle lichen
lucid iron
#

Yeah that be the manifest file

#

(you should enable file name extensions btw)

fickle lichen
#

or it would cause issues?

lucid iron
#

Yeah that's exactly what I instructed Dokkan

fickle lichen
#

good!

lucid iron
#

Change the one that says Shigio.modname

fickle lichen
#

thank you very much for helping me and being patient, i think other people would have crashed out with how slow i am with the modding topic 😅

fickle lichen
lucid iron
#

You gotta remember that at worst you mess up this file and then have to undo your changes

#

It's not going to explode your computer lol

#

Be adventurous and experiment first then ask if it explodes MikuBear

fickle lichen
#

hmmmmm apparently it worked but i got this little message, should i just close the game and re-open it?

golden basin
#

@brittle pasture so in animal configs i have a customm feeding plate that is placed like a rug. and when ppl put down multiple the auto feeder feature in the building only fills one f the feeding plates. is there a way to fix this?

lucid iron
fickle lichen
#

also i just did what i mentioned and i get the same message

lucid iron
#

I think you messed up then

fickle lichen
#

damn

lucid iron
#

The folder name absolutely have to be the same as the UniqueID

#

Something else you can do is to make a new pack via smithy, close game, copy everything except for manifest.json from old pack to new pack

fickle lichen
fickle lichen
#

the way to delete the first pack is to delete the folder, right?

brittle pasture
golden basin
#

could that be the reason

brittle pasture
#

no, it should work the same methinks

golden basin
#

hmmmm very weird, i know i had ask if it would be possible to make a sort of feed dispenser? to remedy this issue before but with the auto feed feature it was said to be redundant

lucid iron
#

If u use spacecore u need to do every tile

#

Cus it's by coordinates

golden basin
#

every tile?

#

what do you mean?

lucid iron
#

Oh actually you are windows right

fickle lichen
lucid iron
#

Go delete the folder called StardewModSmithy.Staging

fickle lichen
#

okayy

lucid iron
#

That is special windows specific jank lol

brittle pasture
golden basin
brittle pasture
#

and it uses the vanilla Trough property?

golden basin
#
"Action":"EditData",
"Target":"spacechase0.SpaceCore/FurnitureExtensionData",
"Entries":
{
"{{ModID}}_FeedRug":
{
"TileProperties": {
"0,0": {
"Back": {
"selph.ExtraAnimalConfig.CustomTrough": "(O)684"
}
}
}
}
}
},```
#

looks like this

lucid iron
#

Your rug is 1x1 right

golden basin
#

yes

lucid iron
#

Ok then disregard the all coordinates question

golden basin
#

does cusotm feed not use the auto feed feature normally

#

i didnt even think of that

brittle pasture
#

no, I have at least a couple mods using custom feed and they all work normally (with map tiles, not furniture)

#

maybe you can send your mod over so I can try to reproduce

golden basin
#

yeah i can do that

golden basin
#

so you need to be a level 6 farmer to unlock the animals. the feeding plate is for the movorapators and they eat bug meat

brittle pasture
#

thanks, I'll look

golden basin
#

sorry if my mod is a mess im bad a originizing

#

omg wait would the silo for the bug meat being empty affect it

#

and if i have a custom silo would it pull from it automatcally

fickle lichen
#

also, thank you for helping me!

brittle pasture
#

yes autofeed pulls from silos, and if the silo is empty it doesn't pull anything

brittle pasture
#

yes

golden basin
#

omg

golden basin
brittle pasture
#

yeah once you fill the silo you can pull both bug meat and hay from the hopper on the top left

golden basin
#

but what about the custom hopper is it not needed>

brittle pasture
#

you can use that too, but the custom hopper feature was written before I patched the vanilla hopper to work with custom feed as well

golden basin
#

will the auto feed not work with this the custom hopper cause my barn doesnt have it

brittle pasture
#

no need, autofeeding is a property on the building map

golden basin
#

hmm its still not working for me actually

brittle pasture
#

what's the code on your custom building?

golden basin
#

its just the barn

brittle pasture
#

a deluxe barn right

golden basin
#

yeah im pretty sure let me double check

golden basin
brittle pasture
#

I wonder if it's mod interference, because on my minimal modlist everything works perfectly as far as I'm aware

golden basin
brittle pasture
#

so you

  • built a deluxe barn and put down a few meat troughs
  • built a bug meat silo and filled it with meat
  • went to bed
    and it's not populating when waking up?
golden basin
#

yeep thats what im doing no bug meat is being filled in the troughs

brittle pasture
#

SDVpufferthink can you test with just your mod and the required deps

golden basin
#

sure let me do that

brittle pasture
#

hmm
feel free to send your log from your regular save over; good chance it's the same mod causing problems for your commenter

#

if you can do 50/50 and isolate the exact mod causing it I'd also greatly appreciate it, but I understand if it's a lot of work

golden basin
#

Misc Map Actions Properties

autumn tide
#

HUH

#

how could MMAP SDVpufferwaaah

golden basin
#

i know!!!

autumn tide
#

it's insane-

uncut viper
#

Well... I always knew Selph and Chu would have to fight it out for modding dominance eventually...

autumn tide
brittle pasture
#

alas, I'll go prepare my revolver and we can duel under the high noon

golden basin
#

lmfao XD

#

i hope it gets fixed though

autumn tide
#

I'll get the instruments ready for the suspense music

brittle pasture
#

seriously though, I wonder how this can happen; is MMAP's furniture tile thing overriding SpaceCore's furniture tile thing

golden basin
#

that could be it

#

should i like @ chu or???

#

i dont wanna annoy them actually imma hide

uncut viper
#

@lucid iron terrible crimes

golden basin
#

crawls under a rock

brittle pasture
#

SDVthinking I enabled just MMAP on my test save and it still works

uncut viper
#

(Recompense for all the times chu has tried to scope creep me)

golden basin
#

i slept and everything

brittle pasture
#

wonder does it only happen if there's a MMAP mod that uses the feature

#

what even is one I can pull though I'm unfortunately not a furniture mod installer person

golden basin
#

i actually dont have any mods that use it right now its just in there from a different mod i was testing

brittle pasture
#

nvm I just reproed

golden basin
#

reproed?

brittle pasture
#

short for reproduce

golden basin
#

oooooo i see

#

hell yeah

patent lanceBOT
brittle pasture
#

ok I can't reproduce anymore, but with MMAP installed I get booted back to the farmhouse if I sleep in the barn

golden basin
#

so is it mmap causing the issue?

brittle pasture
lucid iron
#

crimes

#

oh yea i always expected that to blow up one day MikuBear

lucid iron
#

hence the config

golden basin
#

setting it to false fixes the issue

lucid iron
#

but if u disable it ppl's big furniture land struggle™

golden basin
#

is there a way to fix the conflict though?

lucid iron
#

well its prob something i fix NotteThink

#

since i am the one changing how doestilehaveproperty works

#

but i dont actually understand how it is borked rn

brittle pasture
#

and I stopped being able to reproduce the issue at all...

lucid iron
#

oh clown are u on 1.6.16 alpha

golden basin
#

nope

#

should i be

lucid iron
#

well probably not, cus this transpiler is borked on 1.6.16 alpha Dokkan

golden basin
#

transpiler?

lucid iron
#

the intent here is to replace the very slow foreach (Furniture item in furniture) and instead use a point -> furniture cache

#

to not look at every single furniture that ever furnitured

brittle pasture
#

so when I was still reproducing it sleeping in a bed in the barn would kick me back to the farmhouse (possibly the bed's sleep property was gone as well)

lucid iron
#

oh maybe the furniture cache isn't built?

golden basin
#

so for now do i just tell ppl to switch the config to false to fix the auto feeder??

brittle pasture
#

yep
ok I think I got a repro step with just vanilla:

  • put a bed in a barn or any non-instanced locations
  • go to sleep, you should wake up in the barn
  • immediately exit the game and reload
  • you would now wake up in the farmhouse
lucid iron
#

but yea i will look at it tmr to see what is wrong

golden basin
#

i could always just use mmap, can i make my feeding plates using mmap?

lucid iron
#

i suppose so but i dont think it'd make a difference

golden basin
#

ah dang it

lucid iron
golden basin
#

i was trying to spare you the trouble of fixing things

lucid iron
#

at best u could try having a path as a trough?

#

shrug blobcatgooglyblep

golden basin
#

path?

brittle pasture
golden basin
#

hmmm could that actually work though

lucid iron
golden basin
#

can i make a path into a trough cause that would be sort of awesome

brittle pasture
#

(and thanks chu for looking into this)

lucid iron
#

so u could make a trough "path" maybe bolbthinking

golden basin
#

is there written examples?

lucid iron
#

this one is light props, same concept tho

golden basin
#

hmmm now i just....need to learn how to make paths

golden basin
#

thank you !

lucid iron
#

cus if it was "doesTileHaveProperty no work with transpiler on" wouldn't every trough fail?

brittle pasture
#

maybe some of them managed to get on the cache?

#

hand placing still works apparently

lucid iron
#

is furniture tile locations like, wrong until save is loaded...

#

hm ok i think i comprehended something i was missing you were testing with the bed property?

#

not the trough

brittle pasture
#

I tested with a furniture bed yes

lucid iron
#

why is farmer briefly back in Farm...

#

well i think it's prob cus i made assumption that i'd only need to cache for 1 location at a time SMCPufferjail

golden basin
#

it WORKS

#

floor paths are so much cooler then single paltes

#

plates*

#

YESSSSSSSS

lucid iron
#

did u have the option in mmap True for this bolbsun

golden basin
#

what was the issue though

brittle pasture
#

speed

#

(not the answer to your question I should clarify)

lucid iron
#

prev

  • there was 1 perscreen static cache point -> furniture
  • it gets nulled whenever player change location so that it's rebuilt on demand
    new
  • the cache got moved into the location watcher i had for other reasons, so there is now one cache for watched location
unique tusk
#

I revisited an old event I did (and it was working before) but now on this specific part the farmer gets stuck endlessly walking in place??? Idk why either cause I havent rly changed anything besides adding some more maps????

brave fable
#

using advancedMove, i assume?

unique tusk
#

Nope, normal move, this is what the coding looks like for the specific part where the farmer gets stuck walking in place

#

I added the pause in hopes it would fix it but it does not-

#

My only other guess is the place where the farmer is getting stuck is where the new warp is? But Idk how to fix that so Im rly hoping its not that 😭

unique tusk
brave fable
#

happy to be of service 🙂‍↕️

unique tusk
dawn ore
#

When adding a customer character and having them be the person giving a special order, how do i make their little icon appear on the board?
I looked at the code for SVE and I can see they get added to the emojis tilesheet, but how does the game know which one is which? I have a little sprite saved that is 9x9 pixels, which seems to be the dimenstions, i just need to link it into the game somehow

ornate locust
#

I think that requires C#

dawn ore
#

Ah really? bummer

#

I couldn't see anything one way or the other on the wiki

ornate locust
#

the name list they are tied to is hardcoded apparently, so you gotta C# it

dawn ore
#

what's the property/key word i should search in something like SVE's source code to find it?

lucid iron
#

If you don't mind some hacks you could use Baby Dokkan

dawn ore
#

say more?

#

as i am trying to keep this mod fully CP based, no C#

ornate locust
#

I'd love to have that one dehardcoded in one of the next patches

dawn ore
#

ah, I've figured out what you mean by 'Baby', you can overwrite one of these sprites:
are any of them fully unused?

#

If I make it baby as suggested, will that break anything else?

ornate locust
#

A baby probably isn't used, but I don't know if any other mod does the same thing either

#

Just a potential compatibility thing. Other than that, the baby ones are definitely not used for special orders

uncut viper
#

Well none of the characters are fully unused at all. They're used for emojis. Depends how much you care about multiplayer.

ornate locust
#

ohhh emojis

dawn ore
#

I have never actually used emojis in mltiplayer, how are they used their?

uncut viper
#

Chatting.

#

Just in the text box.

dawn ore
#

like you type :baby: or something and it becomes that icon?

uncut viper
#

No, you select them from a menu or type their ID number.

dawn ore
#

oh yeah, i can see that in game. I had never noticed that before huh

broken yew
#

can a villager/NPC arrived in town by a heart event?

#

I look over online by i can't find a mod or anything similar to it

brave fable
#

yep, simple as SDVpufferthumbsup in the Data/Characters entry you can set their UnlockCondition value to a game state query like PLAYER_HAS_MAIL Host {{ModId}}_MyFunnyMailId

#

it's best to set the mail on the host player so all players in multiplayer will resolve the condition with the same value

inner harbor
broken yew
#

i am still a beginner. is mail important?

hard fern
#

(mail can also be used to set flags, so if you want to have a "trigger" for events they can be useful there too)

broken yew
#

really?

hard fern
#

yeah

hard fern
#

!cp

ocean sailBOT
hard fern
#

i recommend looking at the second link, since you say you're a beginner

#

!npc this too

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:

broken yew
#

i actually have a NPC made in the game but i am still working the code since this is my first time coding

#

This is really helpful

#

Thank you

dawn ore
#

hello, id like to add a bunch of dialog to existing NPCs, but not overwrite existing dialog and make sure I don't clash with other mods.

heres what I've got so far:

            "Action": "EditData",
            "Target": "Characters/Dialogue/Harvey",
            "TextOperations": [
                {
                    "Operation": "Append",
                    "Target": ["Entries", "Thu"],
                    "Value": "||The air is so much cleaner now!$h",
                    "Delimiter": "||"
                }
            ],
            "When": {
                "HasFlag": "KlyJuly.RenewableValley_GridUnlocked"
            }
        },

What am i missing?

analog yacht
#

Hi. Im currently thinking about doing a gun mod. It should be possible thanks to the cross bow framework. Right ?

analog yacht
#

Other question. Is it possible to let everything in the game run slower but the character is the same. So slowing time down for example npcs ?

#

If yes a flash mod should be possible right ?

fossil osprey
#

That sounds complicated
Your best bet would be to manually slow down npc/monsters in an area of effect, I think

lucid mulch
#

multiplayer time mods that can pause all npcs dont pause players.
so doing that but constantly pausing and unpausing at whatever slowdown frequency you want would achieve the same outcome

old edge
#

if anyone can help me improve on it. I am making a pocket watch with alarm

versed wyvern
# dawn ore hello, id like to add a bunch of dialog to existing NPCs, but not overwrite exis...

It looks like what you've written here is trying to add | | twice, as delimiters for Append operations add the specified text and you already wrote | | in the value?
Also, rather than turning an existing line into a weekly alternating dialogue reacting to something like the air, perhaps you'd want to set up a conversation topic instead so they can react to the event only after it happens and not for perpetuity?

dawn ore
#

thanks, I did actually figure out through trial and error that removing the first || helped, so it's working now.

TBH i wanted to do conversation topics but got a bit intimidated reading about them so stuck with this for now

pale river
#

how do I add a prioritized dialogue to the dialogue queue using c#? I think it has something to do with dialoguebox but I don't really know how

gentle rose
#

you shouldn't usually be adding dialogue directly to the dialoguebox iirc - I think NPCs actually have a somewhat complicated "queued up dialogue" system you can check though

golden basin
#

can i create a animal cracker type thing for my carnivore animals???

#

is there a mod for that

merry river
#

Does anyone have an example for a quest with the Basictype?

golden basin
#

@brittle pasture hey selphhhhh is there a way to make custom animal treats like the animal cracker?

#

itd be cool you could have like a option for it like if i want a fruit to take the place of the animal cracker maybe i could just list it in the AnimalExtensionData

pale river
lucid iron
rough summit
lucid iron
#

there is npc._PushTemporaryDialogue for ref

pale river
#

thanks so much I was looking at dialogue.cs

lucid iron
#

for the social quest thing i'd just use actual CT

pale river
#

how about the transform/shapeshifting axl thing from like a month ago if you remember?

lucid iron
#

temporary dialogue is same kind of thing as schedule strings

#

if u want to just use particular key, then NPC.setNewDialogue is what i'd use

pale river
#

thanks so much for your thoughtfulness; that's what I was thinking of doing but I couldn't find/figure out the code for the schedule strings and such

lucid iron
#

doing it to all NPC player arrives at location is convenient yes

#

BETAS actually has a action that indeed just set dialogue of npc to a key

manic temple
#

A mod where the arcade games were easier, good or bad idea? (please dont steal)

pale river
#

editing the arcade games doesn't sound like a beginner mod

manic temple
#

someone said he wanted to get Prairie king achievement

manic temple
pale river
ocean sailBOT
#

Making mods can be broadly divided into two categories:

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

uncut viper
#

Being all self contained IMinigames, they actually are not bad to mod, but you'll likely need transpilers

pale river
#

you'd want to look at the c# section

manic temple
#

I looked up arcade and minigames on Nexus and saw nothing so the idea seems new

pale river
#

you'd also want to decompile the game's code to see what to edit in the IMinigame.cs

uncut viper
#

(You also might not though, can probably do a decent bit by changing things in an update postfix as well if necessary)

#

The idea isn't new, but don't take that to mean you shouldn't do it

#

Your specific ideas are (likely) new. Two cakes and all SDVpufferthumbsup

ocean sailBOT
manic temple
#

thanks for the help

merry river
merry river
golden basin
#

are you wanting to end the quest during a event?

uncut viper
#

There is a RemoveQuest trigger action yes

#

And in 1.6.16 there will be a CompleteQuest traction (BETAS also has this one itself if you want it now)

golden basin
#

is there a way to make custom animal treats

lucid iron
#

Not in vanilla

#

You can do animal husbandry integration though

golden basin
#

nah thats not really what i wanna do cause then id need tomake animal meat of my animals and that makes me uncomfortable

lucid iron
#

Can AH drop other things when u use wand bolbthinking

#

I dunno

#

But I guess another approach is to just optionally retexture the golden animal cracker

#

Just 4 fun

abstract moat
#

anyone know why my custom NPC keeps trying to load Portraits from base game instead of mods folder? I've tried to fix this for hours, tried checking against a couple NPC creation guides + working NPC mods and I just can't figure it out

lucid iron
#

All NPCs use Portrait/<npc internal name> by default unless you set texturename and or appearances

#

You should be loading a texture to the path

abstract moat
#

I do have Appearance but not texture, I'll try that next thanks!

red egret
#

does a crop template HAVE to be 8 tiles wide?

#

i cant get my crops show up in game except the first one

unborn shadow
#

Hello! I wonder if it is possible to trigger a follow-up mail a few days (e.g. 5 days later) after the event ends, rather than the very next morning. My NPCs discuss planting flowers with the farmer, so receiving a 'the flowers have bloomed' mail the next day feels too rushed. Is there a way to implement a delayed mail with CP? Or should I use other modder utilities?

royal stump
red egret
#

i have that, each occupies 8x2 tiles but 2 more tiles are extra, so it is easier to write the indexes, like 20, 40, 60

royal stump
#

I don't think that's relevant to a crop texture? the second row is 1, the third is 2, etc, in this case

#

unless you need to reference them in different data, anyway

red egret
#

it says even optional but then idk

royal stump
#

it's hard to tell w/o tracing the whole thing, but the sheets might care about being the right width (either 128px total or per crop index), so I'd stick to the template

red egret
#

okay

royal stump
# unborn shadow Hello! I wonder if it is possible to trigger a follow-up mail a few days (e.g. 5...

it's a bit complicated, but I think you can do something like this for a custom delay timer

"Action": "EditData",
"Target": "Data/TriggerActions",
"Entries": {
    "{{ModId}}_SendDelayedMail": {
        "Id": "{{ModId}}_SendDelayedMail",
        "Trigger": "DayEnding",
        /* if the player saw the event... */
        "Condition": "PLAYER_HAS_SEEN_EVENT Current Your_Event_ID",
        "Actions": [
            /* increase a counter by 1 */
            "IncrementStat {{ModId}}_SendDelayedMailCounter 1",
            /* if the counter is 5 or more, send the delayed mail */
            "If PLAYER_STAT Current {{ModId}}_SendDelayedMailCounter 5 ## AddMail Current Your_Delayed_Flag"
        ],
        /* if the player has the delayed mail, disable this trigger action */
        "SkipPermanentlyCondition": "PLAYER_HAS_MAIL Current Your_Delayed_Flag"
    }
}```
(edit to use seen_event instead of another mail flag)
unborn shadow
opaque field
#

I want to make a farm map with a busted coop that you can fix for half the material cost of buying a new one, is that doable with CP?

royal stump
#

afaik no, that'd take a new framework feature or changes in 1.7
you can add a new non-functional building, and spacecore (+ possibly other frameworks) can spawn buildings on new farms, but building upgrades can only specify one precursor building type

opaque field
#

Hmm. That makes sense since the only other farm that has something like that is SVE

royal stump
#

e.g. Big Coop just has "BuildingToUpgrade": "Coop",

#

fixing up a static map area like SVE is possible, just not the literal building system

somber kernel
royal stump
#

or rather, making it into an existing building type like Big Coop would be the issue

opaque field
#

Hmmmm. Okie, ty!

royal stump
#

(setting an upgrade on "Coop" would also make it unable to place by itself)

brittle pasture
opaque field
#

Omg THANK YOU

brittle pasture
golden basin
#

thats okay i understand

analog yacht
#

If I add new iteams how does it work with the iteam id? How do I know that no other mods use this id

fossil osprey
#

It's a good practice to prefix anything you add with your mod's internal name

lucid iron
#

All mods must have a UniqueID that doesn't conflict with any other mod in the list to load

#

So if you have Hollow.CoolMod_Thing it won't conflict with chu.FancyMod_Thing

#

In content patcher you can use {{ModId}} to get your modid

#

Without having to write it out

analog yacht
fossil osprey
#

It's more like, for example, if you add a "butter" item, internally you'll call it something like "Hollow.MyCoolMod_Butter"

#

And define it's display name as just "butter"

analog yacht
#

Ahhh. Ok thank you both

lucid iron
#

Yeah u just need {{ModId}}_whatever if u r in content parcher

analog yacht
#

Currently working on a majors mask mod. In the game there is a mask which makes you bigger. Is this possible ?

#

The plan would be to increase to char

lucid iron
#

C# PecoWant

#

You can do anything in C# and for this specific thing it's farmerrenderer

analog yacht
#

Thanks

#

Would it make problems with hitboxes and doors ?

#

I think yes

lucid iron
#

That's a question you must answer with how you implement this Dokkan

hallow prism
#

does someone has an example of a target edit of a npc appearance?

#

i hate figuring target field again 😄

hallow prism
#

thanks a lot 🙂

royal stump
dawn ore
#

Hi all!
I’ve built an expansion mod that brings clean energy to Pelican Town.
It adds a new NPC, James the Electrical Engineer, and via a series of special order quests you add an electrical substation behind the community center, rooftop solar panels across town, construct a wind farm in the mountains and make the bus to the desert electric. It also adds an electric furnace that doesn’t need coal, and each energy upgrade makes your electric machines faster based on weather conditions, as well as a few other small quests. I've included an image of the wind farm 🙂
It's nearly ready for release, I’m just doing compatibility testing and finishing touches.

I’m trying to decide on a name and would love your input!
My working title was Renewable Energy Valley, but I’m also considering Renewable Energy Pelican Town, or something else. What do you think would help convey the idea most effectively and help to get people interested? (I'm not good at marketing haha!)

fickle thicket
#

What about something like “Sustainable Valley”? Or does it have to focus on the renewable energy part specifically?

#

And that looks great, by the way

analog yacht
#

Hi. Can anyone please tell me what to do pls. Wanted to build a DLL and that error poped up

0>Pathoschild.Stardew.ModBuildConfig.targets(75,5): Error : The mod build package found a game folder at /Applications/Stardew Valley.app/Contents/MacOS, but it doesn't contain the Stardew Valley file. If this folder is invalid, delete it and the package will autodetect another game install path.

dawn ore
royal stump
analog yacht
#

Got it with adding the gamepath on the csproj now it works.

#

But now there is my name there. So I should fix it with an nother method

analog yacht
royal stump
#

Then either it's missing some game files, or they're in a different folder, so you'll need to find them and set the game path in your project

#

(someone who actually mods on mac might have better advice, though)

analog yacht
#

Hm. Let me just re download the game

#

Wait. Do i need to redownload smapi

royal stump
#

you may as well, but I don't think it's related to the error

analog yacht
#

Jep. No fix

#

Hm

#

But thanks

royal stump
#

SDVpufferthumbsup if the game runs at all, the "Stardew Valley" file should exist somewhere, so you can still try the GamePath thing
unless that is in the folder it mentioned already

analog yacht
pale river
analog yacht
#

Thanks

pale river
#

if it still says it can't find the game then you'll have to make a stardew.targets file

karmic gust
#

Oops I sent that too early by accident. I also like Renewable Energy Valley! It gets the point across quickly

old edge
#

My pocket watch alarm mod seems to be working well enough. Is farming +1 foraging +1 good for when the alarm is off and when the alarm is on it adds those and speed +1 and luck +1 or is that too much?

#

So when it’s on it would have 4 effects

#

It also chimes when the alarm goes off

golden basin
#

Ppl can fudge that easily

#

Do you set your own alarm

old edge
#

Yes I made it so you can set the alarm to go off whenever the farmer wants

#

I wonder if I can add different watch faces with unique time piece features

golden basin
unborn shadow
#

Hi! I'm writing an event for two NPCs visiting the farmhouse. I've defined different initial coordinates for each in the event header, but they keep spawning on top of each other at the default 'farmer front' tile.😅 Is there a way to force-spawn them at specific tiles, or is the Farm map hardcoded to snap NPCs to a specific spot during events?

merry river
#

farm evil

ornate locust
#

(one day Nexus will search descriptions as well by default...)

#

Fun names just don't trip the search engine unfortunately

#

so we get anime-ass titles like "Sustainable Pelican Town - Custom NPC and Clean Energy Solutions"

unborn shadow
golden basin
#

uhoh

#

how do i report

cedar turtle
#

on it

golden basin
#

hell yeah thank you

cedar turtle
#

right click (tap and hold on mobile) > apps > report btw.

#

And thanks y'all for the report CB_salute_trauma

hallow prism
#

sure!

old edge
calm nebula
#

It's very hardcoded

final arch
#

if you warp them as first command nobody will see it probably

old edge
#

need to fix the ui

hard fern
#

farmhouse tiles

#

then maybe try towninteriors?

#

not sure which beans exactly you're talking about but

#

towninteriors

#

and check towninteriors 2 too

still patio
#

hello'

brave fable
#

the prototype 🎋

hard fern
#

is a baby gonna come out of it

brave fable
#

take no ko...

#

actually can i ask why a baby might come out of it

hard fern
#

i dunno... for funsies....

analog yacht
#

Can someone pls help
Smapi says

[Content Patcher] Can't apply data patch "Majoras Valley Assets > EditData Data/Hats > entry #1" to Data/Hats: failed converting entry to the expected type 'System.String': Error reading string. Unexpected token: StartObject. Path ''..
[Content Patcher] Can't apply data patch "Majoras Valley Assets > EditData Data/Hats > entry #2" to Data/Hats: failed converting entry to the expected type 'System.String': Error reading string. Unexpected token: StartObject. Path ''..
[Content Patcher] Can't apply data patch "Majoras Valley Assets > EditData Data/Hats > entry #3" to Data/Hats: failed converting entry to the expected type 'System.String': Error reading string. Unexpected token: StartObject. Path ''..

hallow prism
#

you need to provide context about the mod you're making

fresh tree
#

Hey guys....To make a cutscene work in a custom house, do I need to create some kind of path or something like that?

hallow prism
#

yes kinda

#

you need to load a blank asset of event for the area (if it's yours)

analog yacht
#

Im using C# and Content patcher. The mod gets loaded

hallow prism
#

i prefer no pings

#

!json

ocean sailBOT
#

JSON is a standard format for machine-readable text files that's used by Stardew Valley mods.

If you need help with a JSON file, you can upload it to smapi.io/json to see automatic validation and share the link here.

When making mods, it's recommended to edit your files in a text editor with JSON support, such as VS Code, Notepad++, or Sublime Text. These programs will check for syntax errors.

analog yacht
fresh tree
#

I did it, but when the NPC walks around the house, she simply runs into the void.

analog yacht
#

Is it the json?

hallow prism
#

so someone can see if there's obvious issues

fresh tree
#

Ok

hallow prism
fresh tree
#

I'm just going to grab a bite to eat and turn on the PC.

analog yacht
fresh tree
hallow prism
#

(also my connection is pretty random at the moment so i may not be able to answer)

unborn shadow
#

Hi! I want to lock my NPCs' house entirely every Friday since they'll be out of town (using 0 schedules). Can I achieve this by using EditMap with a when condition to overwrite the LockedDoorWarp property? Or is there a better way to trigger a 'closed' state for the whole day?

hallow prism
#

i think you can try the overwrite approach (or just patch the lockeddoorwarp property on non friday with CP)

#

i don't know of a better approach