#making-mods-general

1 messages · Page 270 of 1

lucid iron
#

give me more than 2 mins to look at this lol

fathom hound
#

thank you!

#

also dont stress, im more than happy to SDVpufferheart

lucid iron
#

yea but its pretty inefficient to go back and forth

fathom hound
#

changing it from armored bug to Bug worked

#

now it's just Royal Serpent not working

#

okay @lucid iron figured it out, DangerousSharedExtraDrops worked with Royal Serpent, but SharedExtraDrops doesn't

#

so everything is working, thank you! SDVpufferheart

lucid iron
#

doesnt bug not work

fathom hound
lucid iron
#

or did u just put it on Bug

fathom hound
#

its just Bug ya

lucid iron
#

but then it wouldnt cover assassin bugs would it

fathom hound
#

hm i only see Bug in Data/Monsters

lucid iron
#

its not about your data

#

its about distinguishing stuff

#

and the actual name doesnt always exist in Data/Monsters bc monsters are like that

fathom hound
#

oh i see. where would assassin bugs be? in dangerous mines?

lucid iron
#

desert festival

#

anyhow the intention was always to use Armored Bug so i'll do a fix

fathom hound
#

ah gotcha

#

ill add that too in anyway hehe

urban patrol
#

for warps in tiled, both in map properties and for tiledata, can you use tokens, or do you have to type out your mod id?

uncut viper
#

tokens are a CP only thing. they cannot work in anything other than a CP json

urban patrol
#

okay

fathom hound
#

did i put the right name?

#

one says dust spirit, the other is dust sprite

lucid iron
#

Dust Spirit

fathom hound
#

thank you SDVpufferheart

lucid iron
#

if you read the docs you may notice

If you aren't sure about the name, look for "Try ApplyMonsterVariety on <monster name>" in the trace logs.

fathom hound
#

silly question but what are trace logs?

lucid iron
#

its logs that arent in smapi console normally

#

!log

ocean sailBOT
#

Important note: Your computer username may appear in the log. If your username is your full name, please be aware of this before uploading it.

Please share your SMAPI log file. To do so:

  1. Open this page: smapi.io/log.
  2. Follow the instructions at the top of the page to upload the log file. (Don't copy & paste from the console window!)
  3. After uploading, it will show a green box with a URL to share. Post that URL here.

Please do it even if you don't see any errors. This has useful info like what mods and versions you have, what the mods are doing, etc. If the issue didn’t occur in your last session, please load the game to the point where the issue occurs, then upload the log.

lucid iron
#

anyways i put up 0.4.2 for the armored bug thing

#

i eep now

fathom hound
#

thank you!

#

nini SDVpufferheart

ocean sailBOT
#

Log Info: SMAPI 4.2.1 with SDV 1.6.15 build 24356 on Microsoft Windows 10 Pro, with 7 C# mods and 1 content packs.

lucid iron
#

its not for me

#

turn this on

#

once you encounter a monster, Monster Variety will log Try ApplyMonsterVariety on

fathom hound
#

im encountering an error but didnt wanna ping you SDVpufferheart

lucid iron
#

the error in that log is invalid cp

fathom hound
#

O.o

lucid iron
#

System.InvalidOperationException: Error parsing '' as a tokenizable string
---> ContentPatcher.Framework.Lexing.LexTokens.LexFormatException: Reached end of input, expected end of token ('}}').

#

u have mismatched {{ }} somewhere

fathom hound
#

ah sorry

lucid iron
#

{{ModId}_Dust Spirit

fathom hound
vernal crest
#

All of them after big slime actually

fathom hound
#

this is actually great because my next mod will use this framework a lot hehe tysm chu for making it !

brave fable
urban patrol
ornate locust
#

I mean, I appreciate it, something in 4.2 made my game lag its ass off on time ticks

#

That .1 made all the difference

ember gale
#

definetly totally did not forget that there are winter portraits for the characters

#

and definetly totally did not get excited about almost being finished with one set of portraits lmao

lethal wadi
#

im considering making a new years festival mod despite not knowing how to lol. i decided to see how it feels to write some "test" dialogue but idk if theyre in character,,

#

(also i know there is one, but its not updated and i want to make one that doesnt make use of the summit lol...)

ember gale
lethal wadi
#

i feel the same! i really want a new years event,,

#

i would love to include sve/rsv and etc but i dont know the characters well enough to write dialogue for them so... if i do make this mod it'd have to be added later lol

#

ive barely played those mods yet LOL

#

the thing is that i think it should have something more to it? in that, if it were a vanilla festival, im unsure itd just be a new years party kinda thing
like, would it be under a different name? like the feast of the winter star? hmm,,,

#

i want to add smth to it but im not sure what,, ill do some brainstorming

ember gale
#

maybe it could be something like the flower dance? sometimes lighting sparklers with someone else could be seen as romantic

lethal wadi
#

ooooh good idea

#

i want to involve a tree somehow,, maybe um. the festival revolves around writing down wishes and putting them on the tree branches? 🤷‍♂️

#

i plan for it to be on the beach, too

ember gale
#

OOH that reminds me of something i do every newyears where i write down 12 wishes, burn all but one and the last one is something i have to make come true

lethal wadi
#

or wait, maybe attaching wishes to fireworks and setting them off as the finale...

#

ooo i havent heard of that before 👀

#

maybe there could be fortune cookies but instead of the fortune being in a cookie, its in a smore XD idk LOL

#

i want there to be a finale kind of thing where you have to speak to lewis to start the event, i think fireworks would be good for this,, plus, new years lol

ember gale
#

the number of layers i have right now for all sebastians portraits is so overwhelming

#

when drawing i never go over maybe 10 layers max

vernal crest
# urban patrol does anyone know why my mail wouldn't display properly when clicking on the mail...

You're missing a letter name for it (as well as the one above it). I think that's what's stopping you from seeing it in the mailbox (you should also have an error in your log, I think). For the item and quest, you need both the initial % and the ending %% for both but you don't have the %% for the quest.

item object is deprecated, which shouldn't be affecting whether your mail works but is probably worth changing away from in case it stops being usable in future. Use item id instead. The mail page hasn't been updated for 1.6 yet so that info is on the migration page.

candid stratus
#

Here are the 2 animations, every column is one tile with 256 frames

craggy cape
#

ok, i converted a png to CP mod for the floorings.
question is, the base game has the floors.xnb in tilesheets, i created a floors.png and now im wondering if i need to add that to the content.json file for it to register properly.

theres like 3 floor related files, i only gotten 2 which were flooring.png and flooring_winter.png, i have em coded, they just wont show up in my game lol

#

(i just updated the code since i was using the wrong target trigger lol)

#

tbf it was pre 1.6 i think for the pngs i got, so? im unsure though..

gray bear
#

you don't need xnb. whats your code look like?

craggy cape
#

its not xnb files im replacing, its the png file of the xnb file

#

i already unpacked the assets lolll

#

but heres the code so far

#

{ "Format": "2.6.0", "Changes": [ { "Action": "Load", "Target": "terrainfeatures/flooring", "FromFile": "assets/Flooring.png" }, { "Action": "Load", "Target": "terrainfeatures/flooring_winter", "FromFile": "assets/Flooring_winter.png" } ] }

gray bear
#

you can just use EditImage. I don't have the files right now, are you sure that's where the flooring files are?

#

other than that is looks fine. any errors in the log?

craggy cape
#

im using the unpacked files to find the location

vernal crest
#

It's always best to assume things are case sensitive

craggy cape
#

ah yea okay fair, i'll edit the names a little when i put this thru the json validator before i boot my game up

craggy cape
vernal crest
#

(I am not actually sure if asset names are case sensitive, but it's a good practice to always act like they are.)

#

Any warnings or errors in the log?

gray bear
#

replacing all flooring would still be editimage

craggy cape
#

booting up the game rn but the content.json is perfectly fine!

vernal crest
#

Load should be fine - but you need to make sure that you don't have any other mods also trying to load over those textures or you'll cancel each other out.

craggy cape
#

although if i did have two CP mods effecting flooring, smapi would yell at me for it

#

so far, no red text errors atleast

vernal crest
#

Yeah should be okay then. Bea, I am saying this because the performance modmakers have made me aware that load is usually better for performance and in a situation like this where someone can't have two mods completely replacing the flooring texture without stuff breaking anyway (even if both used EditImage) there's not really any downside to Load instead.

#

Make sure you also check yellow text, since if it's something like CP not being able to find your files that's the colour it will tell you in.

craggy cape
#

well, so far so good. only yellow text is those "potential error" messages related to harvest with scythe, the tractor mod, and content patcher skipping over ripleys dialogue

#

and ofc the spacecore thing abt the save file

brave fable
#

instead of simply ` { ... } `

craggy cape
#

ooh note taken

#

i am curious as to what the floors.xnb file changes though, since its not all the flooring in game like the flooring.xnb files..
anyways , its still basegame flooring, so maybe i should add the floors.png replacement in the code.

#

no errors though

#

i wonder if theyre different when placed

#

ok theyre not lol

vernal crest
#

Those are the objects which you would've needed to edit Maps/springobjects to change (I think). But if they're still vanilla when placed then something is wrong.

#

Are they vanilla when placed?

craggy cape
#

yes

#

i just closed my game but thats to add stuff to the code

#

oh got a ss nvm

#

anyways the only error i got was from pinkstations recolor, which is unrelated to the flooring

vernal crest
#

Why did you close your game again?

craggy cape
#

i close it everytime i make an edit to a mod file

vernal crest
#

Also are you using reshade or something? Because that doesn't look vanilla to me and I just want to make sure of why.

craggy cape
#

yea im using reshade

vernal crest
#

Oh, it's way easier to keep it open and just edit that way.

craggy cape
#

the color for wood is meant to be this

#

or basically a cream-color, not brown

vernal crest
#

Can you grab me a link to your log, please?

crude plank
#

If i knew i could ask here about personal edits and conversions like 6 months ago, my life would've been so much easier lol

#

Thought this channel was for help making your own mods

craggy cape
ocean sailBOT
#

Log Info: SMAPI 4.2.1 with SDV 1.6.15 build 24356 on Microsoft Windows 10 Home, with 111 C# mods and 366 content packs.

vernal crest
#

Lol yes I can tell from your game that there's other mods xD

craggy cape
#

hm, seems like its not even listed by content patcher

#

cantfind it with the ctrl f trick atleast

vernal crest
#

That's probably the issue then. What's your manifest look like?

craggy cape
#

oh its the xnb conversion format, so it looks wonky. i very much forgot to rename the name + author and desc

#

{ "Name": "An XNB Mod", "Author": "UnconcernedApe", "Version": "1.0.0", "Description": "An XNB Mod converted to Content Patcher by XNB2CP-Web", "UniqueID": "UnconcernedApe.An_XNB_Mod", "UpdateKeys": [], "ContentPackFor": { "UniqueID": "Pathoschild.ContentPatcher" } }

thats not gonna help at ALL lmaoo

#

yea let me change that manifest stuff and see if it would work this time

vernal crest
#

Well that's what your mod is called then

#

And that is in there

craggy cape
#

ah oke

vernal crest
#

"An XNB Mod"

craggy cape
#

still gonna update the manifest tho xd

#

anyways

vernal crest
#

However there is nothing editing TerrainFeatures/Flooring in your log so something isn't right.

#

Can you show me screenshots of your Mods folder showing me the folder of your mod, then inside your mod's folder, then inside the assets folder too?

craggy cape
#

indeed, i have the mod under my retextures folder. if i misunderstoond that question though lmk lol

#

and the files of the zip file are these

vernal crest
#

Nope that was perfect, thank you.

craggy cape
#

yipeee

#

but anyways, maybe im just using the wrong file path name for the content.json .ᐣ

vernal crest
#

If by file path name you mean in the FromFile lines, they look correct to me.

craggy cape
#

ah

#

oh no i mean the target file

vernal crest
#

Did you change those to be TerrainFeatures/Flooring after I said to match the case?

craggy cape
#

oh i didnt capitalize terrainfeatures

#

hm, okay i changed that so lets try again

#

updated plopping this here for reference

#

i forgot the captialize the F in flooring lmao

vernal crest
#

Not Floors

#

Flooring. There is no TerrainFeatures/Floors

craggy cape
#

oh

#

ops

#

ok changed that NOW lets boot up and see

vernal crest
#

(And I don't actually know what TileSheets/Floors does)

craggy cape
#

(yea neither do i lol)

vernal crest
#

If when you check it still hasn't changed, DON'T get out of the game

#

There's some stuff I will get you to do to check more things and you need to be in game for it

craggy cape
#

oke dokie 🫡

#

random thought, if you tailor a shoe to a different design, but all the shoes have a retexture on em, would the base game texture show or would the new texture show? i should test that out.

vernal crest
#

I would expect the new one would show

craggy cape
#

yeah im gonna test that before i test the paths, im just curious LOL

#

oh damn my shoes are still base game D:

#

ok guess i shall test the floors

#

ok they appear as basegame but when placed theyre the modded

#

hm, so maybe thats what the tilesheets/floor does then .. .ᐣ

#

wait no, its missing some of the other floors so yea idk what the tilesheets/floor does

#

gonna unpack the xnb version of the files to see if i can find the object icons

#

the, modded files i mean.

vernal crest
#

At this point you might as well just unpack the whole game contents lol

craggy cape
#

i did, actually SDVkrobusgiggle

#

all basegame xnb files are png files

#

in another folder

vernal crest
#

No, plenty of xnb files are json files or tmx files

craggy cape
#

oh

vernal crest
#

But you've only really been looking at images because that's your focus, which makes sense

#

You're going to need to do several EditImage patches to change the inventory object appearance of the floors

craggy cape
#

yeah i kinda doubt some simple craftable flooring textures are really hardcoded into the game xD

unreal spoke
#

It’s CA. You never know. But yeah, what Aba said. I’d also recommend testing them in a… well, testing environment with few other mods to make sure that no other mod might be overwriting your changes without you noticing.

craggy cape
#

okay the flooring xnb from the modded flooring files are the exact same as the png files, which, makes sense but sucks theres no specific object icon for it

vernal crest
#

I told you, it's Maps/springobjects that you need to edit for that

craggy cape
#

well least i got this to work half way LOL

vernal crest
#

You can get it to work the rest of the way too

craggy cape
#

yeh, all i need is the icons which im gonna edit rn

vernal crest
unreal spoke
#

Oh. Well, that explains that. SDVpuffersquee

vernal crest
#

I hope and pray that festival facing can be words instead of numbers now

#

Yesssss

#

Bit sad that festival positions can't be updated mid-festival but I knew that was a looooooong shot

#

User-configurable festival positions :D

crude plank
#

whoa SDVpufferwow

#

that's amazing

vernal crest
#

Going to result in a truly massive config screen to make them all configurable but that might be worth it to avoid festival compatibility nightmares, I think.

lucid comet
#

definitely worth it imo

vernal crest
#

The way to achieve it:

{   // LOCATION: SET UP (VANILLA)
        "Operation": "Append",
        "Target": ["Entries", "Set-Up_additionalCharacters"],
        "Value": "{{ModID}}_Hiria {{EggFestX}} {{EggFestY}} {{EggFestFacing}}",
        "Delimiter": "/"
},
lucid comet
#

now to find my stardew modding notes and stick it there for future plans, ty for sharing SDVpufferheart

crude plank
#

Honestly anything that makes compat easier and user configurable is worth it, you don't have to think about all the possible options the user does it based on wtv they have installed. It's amazing

craggy cape
#

alriight edited the spring objects file

#

it was kinda confusing since the modded sprites were off by a few pixels lol

vernal crest
brave fable
lucid comet
#

with all the acronyms for mods i also stumbled over that for a moment until my brain caught up SDVpuffersquee

calm nebula
#

Mtv?

lucid comet
#

(not sure i'm reading the tone right atm, so just to make sure - you're joking around? not wondering what mod wtv/whatever could be? right? o.o)

crude plank
craggy cape
#

content.json is lookin good !!!!

#

i have no idea why its wanting to be a message.txt file but ok discord

#

actually might bc i formatted it lol

vernal crest
craggy cape
#

idk

vernal crest
#

Got a typo on line 38

craggy cape
#

oh oops

vernal crest
#

And also line 32 I think

#

But looking good otherwise! Did you mean to get rid of the Flooring_winter load though?

craggy cape
#

ah no i didnt

stark spindle
#

Hey so I was looking to use the Governor in an event and have him walk around. Since his sprite doesn't have a walking animation I made one. How would I go about using this in the event because the walking slots are taken up by him drinking soup? I don't really mind if its CP or C#.

#

I was thinking of just using the OnAssetRequested and just try replace the sprite when i think the event is happening

craggy cape
#

hmm, i feel like i mightve formatted this weirdly

#

it just looks weird

vernal crest
#

What looks weird?

#

The images in game?

craggy cape
#

ah no the code

#

the amount of { } and }, used confuses me LOL

vernal crest
#

Don't assume it's wrong without testing it

#

(Though you have a typo on line 12 now)

brave fable
#

it's only confusing if there's an odd amount ✨

craggy cape
#

heheh inter

#

i havent slept yet so like, my brain is muggy

#

anyways, now i have one more mod to fix. the mary jane shoes, but i believe its the same issue as this ( missing the object icon )

vernal crest
#

Are you not going to test it?

craggy cape
#

im testing it rn LOL

#

my game is booting up

calm nebula
#

Consider sleep?

craggy cape
#

im afraid i cant since my bf is comng over today

lucid comet
#

how about a nap then? naps are amazing

craggy cape
#

ok it worked kinda

#

messed uip the plank floor and i think stone walkway

vernal crest
#

Looks like you just need to do some tweaking

#

You can use patch reload UnconcernedApe.An_XNB_Mod in the SMAPI console to reload the changes to the mod without having to close and reopen the game. (If that's still the unique ID of it.)

craggy cape
#

ahh oke

#

im gonna lay down for abit

#

but yea note taken

versed wyvern
#

Anyone happen to know offhand if there are any Sam content mods that add more sprites to his sheet? I wanna make sure I don't occupy the same pixel coordinates for compatibility's sake

brave fable
#

hi can someone explain to me what in the goddamn hell these sprites are in the farmerbase sheet (near the bottom above the panning sprites)

#

more exactly the context they're used

lucid iron
#

You smack a junimo (idk ive never seen those in game)

lucid comet
#

looking how this is set up my guess would be the two left ones are milking cows, the right one the jump up surprise thing (used in the cc intro scene)

brave fable
#

see i was going to guess something to do with sebastians 14 heart froggy scene but milking cows is as good a guess as any

calm nebula
#

Horse reins is my incorrect guess

lucid comet
#

pretty sure about the cc intro jump, the other one is also since i dont see any other sprite that looks like milking

brave fable
#

pretty sure these ones are for milking, just above drinking sprites

lucid comet
#

horse reins is one above, so close SDVkrobusgiggle

brave fable
#

hmm actually no those are probably the tummy rub sprites

lucid comet
#

yeah i was also looking at the left side where it matches the body sprite

#

(and i always wonder why farmer has that expression while milking cows ...)

#

now that i look at it, thats probably not the cc intro

#

nvm, it's the back

#

derp

gentle rose
#

correct as in all guesses are correct SBVPensiveButt

#

but I'm almost definitely sure these are the horse reins - first two are the side animation, last one is the down-facing sprite

#

blue thing is the farmer arm raising and lowering them

brave fable
#

but he's holding a jar :/

#

surely

gentle rose
#

I think that might be the shirt pffft but I could also be entirely wrong and these are actually parts of monster 75 on floor 93.2 when it's attacking you

brave fable
#

i was really hoping i wouldn't have to look in farmerrenderer lol

#

and i need to transpile object draw because smoke puffs are only allowed if your item is SmokedFish..

gentle rose
#

your mistake was opening farmer sprites in the first place

lucid comet
#

i'm more surprised there isnt a resource for that which sprite in there is for (yet)

gentle rose
#

oh, there's a good reason for that

#

farmer sprites are deeply cursed

crude plank
#

4 hearts?

gentle rose
#

there actually is a resource showing some of them, but it's partial

brave fable
#

i can't believe it and there's also no way

lucid comet
#

oh that makes sense

gentle rose
ornate trellis
#

jar one was the first coming to my mind too tbh

#

i edited the horse reign arms before so I can say its not them

gentle rose
#

my main concern about the horse arm and shirt theory was the shirt being blue and not white, jar does explain that but doesn't explain what the big red half-circles are SBVLmaoDog

lucid comet
#

my vote for those is still part of the cc intro where there farmer jumps up shocked (from behind)

brave fable
#

unbelievable

#

legendary

#

scarlett 🏆 award for having played the game

gentle rose
#

...I still don't know what the red half-circle is KEK is the farmer wearing a necklace?

crude plank
#

I'll take it, thanks

gentle rose
calm nebula
#

So, stardew, right?

gentle rose
#

yeah, what are YOUR opinions about the 1.6 gameplay changes, atra?

crude plank
#

I've been trying to play the game...SDVpufferwaaah

lucid iron
#

What is this power

calm nebula
#

What is 1.6 again?

#

Is that the latest version?

lucid iron
#

this whole time i thought the haley event just used milking sprites

brave fable
#

don't say that ever again

gentle rose
#

it can't, those don't put a necklace on you

calm nebula
#

I don't think I've seen the Haley event in my life

gentle rose
#

no seriously can someone explain to me what's going on there SBVLmaoDog

#

or wait

ohhh

crude plank
#

I can't tell what the semi circles are either

brave fable
#

those are the arms going up and into something. maybe that is actually a milking animation from below

gentle rose
#

the red is the default colour of the arms I think, the red in blueberry's screenshot is unrelated

crude plank
#

I can tell they're arms but that's about it

gentle rose
#

I assume red in the sprite means "replace with shirt colour"

#

and the slightly lighter tone is "replace with skin colour"

crude plank
#

Yeah

calm nebula
#

Yup

#

Farmerrender is fun

crude plank
#

They might be from milking but why are they going up

calm nebula
#

There are actually three shades of shirt sleeve color

crude plank
#

Really tall cows confirmed?

calm nebula
#

And I think a number for skin color

brave fable
#

remember how you said horse reins as a joke

#

sprite 113 (jar +1) is horse reins upwards

gentle rose
#

I said from the beginning it wasn't one SBVLmaoDog

crude plank
#

Oh my god

ornate trellis
#

theres always an ounce of truth in everything, huh

gentle rose
#

there's also an overlap between the riding sprites for the farmer's seat area and the sitting sprites

brave fable
#

so anyway i completely forgot that the arms align with the sprites about 64px to the left

gentle rose
#

that makes it so sometimes if you use a sitting animation in an event, it shows the reins pffft

ornate trellis
#

and thats exactly why you will never see me make farmer pants

calm nebula
#

Seat area?

gentle rose
#

saying either crotch, rear, butt, or other term felt like it would derail the conversation SDVpuffersquee

lucid iron
candid stratus
lucid iron
#

It needs to be 1 image

candid stratus
#

under eachother or next to eachother?

lucid iron
#

I think i need the rising anim as one image (frames left to right) and the standing loop as another image

candid stratus
#

It'll take a bit more time to stack the shaker's and the room's animation on top of eachother cause I'll have to rewrite the script a bit but I'm at work currently :p

#

I'll have it in a few hours when I get off work

native vector
#

Is this error just a weird SMAPI hiccup I can ignore? I believe it happened while quitting to title screen, doing a Patch Reload and then changing a toggle in my mod. It's not concerning enough to send a log, but it's still the first time I've seen it. My mod was just fine both before and after.An error occurred while propagating asset changes. Error details: NullReferenceException: Object reference not set to an instance of an object. at StardewValley.NPC.routeEndAnimationFinished(Farmer who) in D:\GitlabRunner\builds\Gq5qA5P4\0\ConcernedApe\stardewvalley\Farmer\Farmer\NPC.cs:line 4786 at StardewValley.NPC.finishEndOfRouteAnimation() in D:\GitlabRunner\builds\Gq5qA5P4\0\ConcernedApe\stardewvalley\Farmer\Farmer\NPC.cs:line 4713 at StardewValley.NPC.prepareToDisembarkOnNewSchedulePath() in D:\GitlabRunner\builds\Gq5qA5P4\0\ConcernedApe\stardewvalley\Farmer\Farmer\NPC.cs:line 4719 at StardewValley.NPC.checkSchedule(Int32 timeOfDay) in D:\GitlabRunner\builds\Gq5qA5P4\0\ConcernedApe\stardewvalley\Farmer\Farmer\NPC.cs:line 4604 at StardewModdingAPI.Metadata.CoreAssetPropagator.UpdateNpcSchedules(IAssetName assetName) in SMAPI\Metadata\CoreAssetPropagator.cs:line 646 at StardewModdingAPI.Metadata.CoreAssetPropagator.PropagateOther(IAssetName assetName, Type type, Boolean ignoreWorld, Boolean& changedWarpRoutes) in SMAPI\Metadata\CoreAssetPropagator.cs:line 489 at StardewModdingAPI.Metadata.CoreAssetPropagator.Propagate(IList`1 contentManagers, IDictionary`2 assets, Boolean ignoreWorld, IDictionary`2& propagatedAssets, Boolean& changedWarpRoutes) in SMAPI\Metadata\CoreAssetPropagator.cs:line 117

lucid iron
#

Are u in C#

calm nebula
#

Ignore issues caused by patch reloads yes

native vector
#

No, CP

calm nebula
#

Oh, never mind

#

On the title screen

#

Yeah that is worrying

#

What is your animation

native vector
#

Unless this involves NPC schedule animations (my mod's NPC was in the middle of one when I quit), I believe that has no relation

calm nebula
#

It is absolutely a schedule animation

native vector
#

Well, I can probably write that off as a SMAPI hiccup then since this update to my NPC doesn't add or modify schedule animations whatsoever. Thank you.

hot gale
#

I added a condition to unlock a machine in my mod, but I added it through the development cycle of my mod, so people who had it originally downloaded missed an unlock event..

If you ship an 'aged mead', you unlock the ability to purchase a Carbonator from one of my NPCs. A player had shipped mead prior to the condition being added and now that it exists and they have already shipped 'aged mead' they arent unlocking the machine to purchase. Anyone know how I would go about solving this? :p

#

Is there a way to check for retroactive sales?

odd ginkgo
#

does anyone here have a pet turtle? When turtles swim do they... swim? Or do they like float along on the surface? I'm trying to envision it but can only imagine turtles sunning on a log

calm nebula
hot gale
#

Sorry, gsq?

fathom hound
#

They like, doggy paddle

odd ginkgo
#

that's so cute SDVpuffersob

#

I can work with that... when you google swimming turtles, it's all sea turtles, which are super cool but not what I'm after

hot gale
#

Regular turtles like doggypaddle lol

#

Its adorable

odd ginkgo
#

I'm currently trying to convert the pet turtle into a coop animal that will swim, like ducks do

#

it's going to fun testing a paddle animation!

lucid iron
#

They just put em in the pool

odd ginkgo
#

omg look at those wiggly legs

#

incredible, chefs kiss

lucid iron
#

You can find more if you search swimming tortoise

hot gale
#

Oh game state query? :p

fathom hound
#

OMFG I thought I muted it -_-

hot gale
#

So adorable

odd ginkgo
fathom hound
#

She’s really cute. Has a fun personality

odd ginkgo
#

genuinely helpful for the animation as well

#

magical mod community

craggy cape
#

does anyone know why the mary jane shoes retexture arent appearing in my game?
am i missing files by any chance? in the assets folder i only have "shoeColors.png" and "springobjects.png", the content.json is perfectly fine according to the validator.
they should look like the next image.

fathom hound
ocean sailBOT
#

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

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

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

craggy cape
fathom hound
#

I’m confused why it’s pulling from 2 different files

craggy cape
#

one is for the shoecolors.png, though i do think thats optional?

#

the asssets folder has two png files, shoeColors.png and then springobjects.png

#

im not too sure what the shoecolors png does though, really.

#

this is the other file, for context

hot gale
#

So if this

{
                            // When the player ships their first aged honey mead, sell carbonator
                            "Condition": "PLAYER_SHIPPED_BASIC_ITEM any bonghits.Cp_AgedBearHoneyMead 1 1",
                            "ItemId": "(BC){{ModId}}_Carbonator",
                            "IsRecipe": true,
                            "Price": 25000
                        }

Doesn't work retroactively, I have to add a TriggerAction for it to be retroactive?

I'm not sure how to structure the TriggerAction this is what I have so far;

        {
            "Action": "EditData",
            "Target": "Data/TriggerActions",
            "Entries": {
                "AgedMead_Sold": {
                    "Id": "AgedMead_Sold",
                    "Trigger": "DayStarted",
                    "Condition": "PLAYER_SHIPPED_BASIC_ITEM any bonghits.Cp_AgedBearHoneyMead 1 1",
                    "Action": "MarkCraftingRecipeKnown Current (BC){{ModId}}_Carbonator true",
                    "MarkActionApplied": true
                }
            }
        },

On paper this will just simply add the recipe if the player has shipped an aged mead, but I'm wondering if there is a way to make it more seamless in that it just enables the purchase of the recipe from the NPC as originally intended

#

(The first snippet is inside a shop's data)

brittle pasture
hot gale
#

oh. 🤣

#

Ohh I see

#

So omitting the second 1 would be any amount, but at least 1

craggy cape
#

i was gonna say would a 1:0 work but that doesnt. make sense..

#

like "ship one mead once, ship however many times later" and if the first mead was shipped then you'll get the recipe after

hot gale
#

Would that then work retroactively in the shop data, or would that still require a TriggerAction?

brittle pasture
#

shop should work yes

hot gale
#

Thanks!

true olive
#

hi, for some mods i need to make a manifest.json file myself and i am stuggling a bit, like do i need to filll in updatekeys and what do i put in "UniqueID": "Pathoschild.ContentPatcher"

lucid iron
#

What's the mod you need to make manifest for? Normal mods should come with one already

hot gale
#

UniqueID will be anything you want, its the internal name for your mod

lucid iron
#

Here is page on manifest

light bramble
#

what's the command to locate an NPC again?

tiny zealot
#

debug where Abigail

light bramble
#

ok I was doing debug locate

sour sleet
#

how do I make a minecart in my custom location function?

lucid iron
#

Need tile data and minecart data

lucid iron
#

This one adds cart to the vanilla system so it uses TargetField, if you want new cart system you need to do new entry

sour sleet
#

Thanks!

vagrant mountain
#

so i keep stuttering (yes i ahve alotta mods installed but) the stutter happened cause of contentpatcher

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

hot gale
#

Making a cutscene similar to traveling to ginger island would require C# right?

hot gale
#

Time to learn then I guess 😁

lucid iron
#

I think you can fake it

#

A real big and terrible animated map that is loaded as temp location lol

sour sleet
lucid iron
#

The example i have is linked with vanilla

#

It targets Default Destinations

sour sleet
#

Ahh ok I thought it was for a custom map

lucid iron
#

It is for a custom map (farm cave replace)

#

But that doesn't really matter for minecart

#

The 2 edits in that json is

#
  1. Add the cart tiles and tile action to the map
#
  1. Add the location to the minecart data
sour sleet
#

Alright, I think I get it now SDVpufferthumbsup

sour sleet
#

"DisplayName": "[LocationName Lilybrook]" is showing as an error even though the cart is functioning. It says there's no location named Lilybrook SDVpufferflat

rigid musk
#

is the internal name of your location that exactly/

#

?*

sour sleet
#

Oh so it would be my ModId at the front?

rigid musk
#

if your location has that yeah

sour sleet
#

is the LocationName part necessary?

lucid iron
#

Yep need qualified id

sour sleet
#

Ahh ok

uncut viper
#

the LocationName part is the token name

#

things in brackets like that are the games version of CP tokens, kinda sorta

lucid iron
#

Well i needed it bc I wanted the farm's name that player set

#

You can just toss in your i18n if you want

#

Still it should work if you have the actual location id set

stable grotto
#

anyone know where that solid blue is coming from just before and after the grandpa scene in the intro?

spice inlet
#

hm, I just dehardcoded a ton of code and only got shouted at like three times SDVpufferowo

covert river
#

is there a way i can disable the "porch" so i cant run into my house LOL
ive used another asset and the cords dont really match up i guess

spice inlet
#

the compiler is merciful today

lucid iron
covert river
#

but i have no idea how to get rid of the designated porch area

lucid iron
#

Well you need to get into your house lol

#

Are you aware of how to make a content patcher mod in general?

covert river
#

not really no

lucid iron
#

!startmodding

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.

covert river
#

i guess i want the house to function like a shed or any other building

lucid iron
#

Take a look at the guide first then come back and read what im about to say

covert river
#

i do get the codes but i struggle with finding what code to use

#

so i know whats going on once i see it if that makes sense (hope im not jinxing it lol)

lucid iron
#

The data you need to do EditData on is Data/Buildings
https://stardewvalleywiki.com/Modding:Buildings
You need to do 2 things on the Farmhouse entry

  1. Change CollisionMap to not have the O corresponding to porch (note that this will break the casino quest
  2. Change the tile of HumanDoor so that you can still get into your house
covert river
#

so i basically wanna make a new mod where i just change the data

#

i will finish the casino quest rq and then try it 😭 thanks a lot!

rigid musk
#

Man I accidentally overwrote the forest map while using it as a base ... now i have to unpack all the damn files again WAHsnapped

#

i thought i had saved it as a different version... shows me to not do modding stuff at 3AM with no sleep

odd ginkgo
#

in one folder, the forest is the forest, in the other, all of the maps open to entirely different maps

#

currently playtesting but im thrilled to announce I've got coop turtles swimming

#

they seem to be effected by "Like a Duck to Water" as well so thats cool

rigid musk
#

🥹 oh ... oh my god

sour sleet
#

Is it possible to make a custom geode?

calm nebula
#

Sure

#

See vmv for an example

sour sleet
#

Thanks:)

uncut viper
#

is there like... any guidance/example mods i could look at if i wanted to make a custom quest type/class in C#? like with custom DescriptionElements or w/e and stuff and proper objective tracking? im trying to kinda piece it together based on the existing quest types but not making the best progress SDVpufferpensive

lucid iron
#

Quest types get serialized so you will need spacecore

uncut viper
#

that was not the part i was worried about, i was planning on removing them at the end of the day and reconstructing them the next

lucid iron
#

Granting them will be a pain too not as nice as special orders

#

You definitely want Quest?

uncut viper
#

i just dont know how to even begin making the subclass in the first place

lucid iron
#

Hmm

uncut viper
#

they would be for museum quests for donating things so yes

lucid iron
#

I think junimatic has some of this

#

It's bespoke quests for that mod not general framework

uncut viper
#

i didnt know it even had quests in the first place

#

i will take a look

lucid iron
#

Questable tractor probably have some too

#

But button what if u become 6th thing to implement untimed special orders

uncut viper
#

i wasnt planning on doing special orders tho

lucid iron
#

From a player's point of view a quest and a special order are both "journal quests" of some sort hence why expansions just wanted untimed special orders

uncut viper
#

but special orders require a quest giver dont they

lucid iron
#

I thought that's just for the board icon

#

Vanilla gunter gives the bone fragments special order and he's not particularly real

uncut viper
#

he is still a real NPC though, he has a Data/Characters entry and everything

lucid iron
#

I dunno if making a custom special order objective is any easier than a custom quest tho

uncut viper
#

i was just about to say i still dont know how id do it anyway lol

lucid iron
#

While i vaguely remember it being a thing game gets by reflection i suspect they r format a specific namespace too, can't just grab from wherever

fathom hound
#

Oh wait nevermind I just saw coop

latent mauve
#

Wasn't there talk about the special board icon coming from the emotes at some point?

#

Not sure if that was determined to be true or not

calm nebula
#

You can set that to empty string

#

Quests are weird tbh

uncut viper
#

so i can still do that then, but i dont think it brings me any closer still to the proper objective tracking bc id still be limited to the vanilla objective types

calm nebula
#

I wanted custom special order objectives tbh

uncut viper
#

i dont think junimatic or questable tractor will help either since it seems like (unless i missed something, admittedly very possible) they just reuse Basic quest types and dont actually show like, objective tracking, they just change the description as needed

#

i wanted it to say like
"Donate 10 [whatever] to the [museum].
2/10 items donated."
with the lil progress bar

calm nebula
#

Is there a vanilla normal quest with a bar

#

(Honest question)

#

I don't know

uncut viper
#

the introduction quest

#

maybe not a bar actually but the x/y counter for sure

#

which would also be good enough for me

uncut viper
#

yeah thats the ones i want

fathom hound
#

If you meant normal like the help wanted board ones then there won’t be

calm nebula
#

(Normal quest)

uncut viper
#

resource gathering quests might also? im not sure

calm nebula
#

(Explicitly: not special order objective)

crisp heath
#

Are there any frameworks with support for trimming modded object display names before/during machine output rules?

E.g. input modded object "[Gem] Pieces" that's defined individually for jade/ruby/etc.; with CP I use a predefined string + drop-in PreserveID to output "[Gem] Pieces Dust" but ideally I just want "[Gem] Dust"

calm nebula
#

I'm not sure either lol

fathom hound
fathom hound
uncut viper
#

ResourceCollectionQuest isnt a SpecialOrder class though

fathom hound
#

That’s from help wanted right? That won’t have a bar

uncut viper
#

do ItemHarvest ones have it?

fathom hound
#

None of the help wanted or mail quests do, just the special orders

latent mauve
#

Do Clint's ore collection and the Wizard's "slay x monsters" just tick the number up in the log?

uncut viper
#

i would accept just a simple "2/10 items donated" without a bar if i could just figure out how to customize the text and tracking there

calm nebula
#

...have fun!

#

Enjoy!

#

I expect a quest framework out of you

lucid iron
#

And null out the previous rules

uncut viper
#

ive thought about a quest framework before but decided there's little use for one as it is and even less use if you have hope for a 1.7 data model quest asset

#

bc you'd need to rewrite it

lucid iron
#

I have much hope

#

Pathos plz

uncut viper
#

also, i dont technically need custom quests for this museum framework. if i cant figure it out ill just have people use Basic quests with just a title and a description

lucid iron
#

The reason why i have any hope is cus there actually were changes to quest finish events in 1.6.9

crisp heath
odd ginkgo
lucid iron
lucid iron
#

Like I don't mind having whole army of em

#

But pet i gotta make bowls for

fathom hound
#

True don’t have auto petter for pets

lucid iron
#

Perhaps u can make a truffle hunting dog that swims

crisp heath
lucid iron
#

you need preserve id

reef kiln
#

The museum track donation already doesn't it? Some rewards are based on how many you donate. You can't use that method?

lucid iron
crisp heath
# lucid iron https://stardewvalleywiki.com/Modding:Machines

I have it set up using PreserveID; ideally I want to use DROP_IN_PRESERVE instead of DROP_IN to have the display name based off the flavor, but I'm unsure where or how I can assign that to the object itself. I apologize if I'm missing something obvious

lucid iron
#

what does cg.gempetals say

crisp heath
#

It goes through strings/objects to the i18n line "gempetals": "{0} Petals"

lucid iron
#

so if im understanding this correctly, there is an intermediate item of Gem Flower right

#

and you are going Gem -> Gem Flower -> Gem Flower Petal

rare orbit
#

lil bit of a dumb question? how do i target the chest and big chest? i wanna edit the storage size

lucid iron
#

you need expanded storage

lucid iron
rare orbit
crisp heath
lucid iron
#

if the gem flower is not flavored there's not much you can do here

rare orbit
#

dang. sooo what do i input for the chest size?? i wanna add at least one more row to both chests

#

mainly cause the regular chest feels very small

lucid iron
#

i do have a mod that should be able to allow gifting flavored items

rare orbit
#

especially if ya got alot of mods that add items

lucid iron
reef kiln
lucid iron
#

basically you can use item queries in a trigger action that adds item

#

or in mail

rare orbit
#

wait there's a beta??

reef kiln
#

Yup on his discord.

uncut viper
rare orbit
reef kiln
uncut viper
#

other discords cannot be linked in here

rare orbit
#

ok then a dm of the discord is cool then

uncut viper
#

they can be DM'd though just dont want Frog to get automod bonked

reef kiln
lucid iron
#

hm actually i was use GenericSpawnItemDataWithCondition only yggy

rare orbit
#

what's their mod page called? are they on nexus?

lucid iron
#

gonna have to change it to MachineItemOutput lol, but i dont mind supporting this if you want it

crisp heath
#

Thank you! Can you link me to your mod? I'd love to try to make the flower thing work as I have it, but if I do need to rework the base item to be flavored then I will to make it easier on me later

lucid iron
#

but yea i think i'd need a bit more change to make this work for modded flavor items Dokkan

#

give me a bit

reef kiln
reef kiln
rare orbit
#

kk

uncut viper
#

that also works off a different system anyway in Data/MuseumRewards

#

the only actual Quest for the vanilla museum is just a hardcoded Basic one for donating a single item

calm nebula
#

It's also like

#

Recalculated anew every time

reef kiln
rare orbit
#

thank you!!

reef kiln
# rare orbit kk

Once there each of his mods has its own thread. Unlimited Storage has a beta zip in the thread. You can just edit the config to be any size you want per chest. GMCM also works but it is limited in size. You can do any size you want if you edit the config directly.

rare orbit
#

coolio!! thank you!

rose rune
#

Hi new people. Yall a probably get this a lot but I just really don’t know how to go about this. I wanna make a dialogue overhaul mod for bachelors and bachelorettes. One that can be downloaded individually but then made to work and coincide with each other if those modes are downloaded together. I’ve looked through the mod guides for beginners but still have no idea where to start as I have 0 coding experience (plenty in the dialogue writing department though). I follow guides really well and have a ton of free time on my hands now so would like to do something with it. Thanks a ton and sorry if this is the wrong place to ask.

reef kiln
uncut viper
#

what mod guides have you looked through? it might also be a good idea to find a mod that also adds dialogue to characters to learn from what they do, too

uncut viper
#

the vanilla museum quest doesnt count how many things you donate

#

it just asks you to donate A Thing

#

any one thng

#

the rewards do their own calculations every time you donate something new but im not talking about museum rewards here

rose rune
reef kiln
#

But some of the reward are based on the number donated. But if it doesn't help, it doesn't help

uncut viper
#

i already know how many things are donated. the problem is creating a custom Quest type. museum rewards are not quests

#

like instead of an ItemHarvest quest or an ItemDeliveryQuest, i want to make a CustomMuseum quest

#

but making custom types like that in C# is, apparently, the way of pain

reef kiln
uncut viper
#

You can probably use Nexus's categories to narrow down to things that just affect dialogue. I think there's a dialogue category? maybe

rose rune
uncut viper
#

open it in a text editor

rose rune
#

Okay, gotcha

uncut viper
#

any text editor will do, but we recommend either Notepad++ or Visual Studio Code here

reef kiln
#

The easiest way is notepad. But I recommend notepad++

uncut viper
#

(really just anything other than the very basic one that comes with your OS)

rose rune
#

Thanks for the beginning help!

reef kiln
#

The nice thing about visual studio code is that it can tell you when you do something wrong. But that requires setting it up to do that and is more work upfront. So I use notepad++ less upfront setup.

uncut viper
#

does it? VSC should do syntax highlighting on its own automatically

#

N++ also wont tell you what you've done wrong without an additional plugin and manual plugin activation

reef kiln
#

When I installed VSC it did not seem to do it for me. I may have done something wrong setting it up though. It was also a long time ago. I just got use to notepad++ at this point.

reef kiln
#

I really should figure it out. Would make CP a lot easier if I set up the plugins.

lucid iron
#

in vsc you need to make sure it picked jsonc as the language

uncut viper
#

well you dont need to if you're not using comments

#

you dont need to even if you are, if you dont mind ignoring red squigglies that you know are actually fine

#

but regular json validation happens automatically without any plugins

lucid iron
#

yea just make sure its not on plain text

reef kiln
#

Doing CP in plain text would be a nightmare I think.

gaunt orbit
#

I mean json's not that hard to do by hand as long as you indent it correctly

tidal stone
#

since im making a candy inspired recolor i wanna make other things edible for funsies is that possible with cp like if i want the base wood to be edible?

#

because i wanna change the basewood to be like candycane or something or other

lucid iron
#

hm yes

hard fern
#

hm

#

inch resting

#

i didnt know "a whole moss, smoked to perfection" was an artifact

mystic skiff
#

Mail Framework Mod 1.20.0 released.

  • Adds a new custom asset to the game. (DIGUS.MailFrameworkMod/MailData) That means MFM letters can now be loaded with Content Patcher and take use of all its features like tokens. It supports the same properties.
  • Content Pack letters are also loaded into the new custom asset and therefore can be edited with Content Patcher.
  • Text and Title properties now supports Tokenizable string even on Content Packs.
  • Texture assets can now be a game asset, not just an asset in the mod folder even on Content Packs.
  • New GameStateQuery property as condition a condition to deliver a letter.

This means you can integrate your letters directly with Generic Mod Config Menu.
When using CP, you should use {{i18n:}} instead of writing the keys as the value of the properties, since MFM can only find the keys in content packs, not on CP folder.

For examples on how to patch the new data check Subscription Boxes Mod.

Link:
https://www.nexusmods.com/stardewvalley/mods/1536

lucid iron
crisp heath
lucid iron
#

the gist is that u add a (list of) item query to mushymato.PeliQ/ItemQueries

#

then u can use it as trigger action, map action, or mail

craggy cape
#

how do i add a new item + new cooking recipe with CP? im struggling to understand the wiki 😭
like, would i add the item name to the corresponding data file, like the recipe for toast will go in data/cookingrecipes as "toast:" followed by the appropriate numbers? like
"{{ModID}}_Toast:(CR)216 1 /Home/Toast/false/default/"

#

if im understanding it correctly, the IDs say that to create Toast, you need 1 bread

hard fern
#

SDVpuffersweats alright im being beaten up by the machines demon. If i want to produce an item that can take a variety of inputs and have the price be affected by the item you put in, how would i do that?
im looking at the quantity modifiers section on the wiki, but im not sure how it would work in this case

#

very bad explanation: I put in one of 3 things with different prices into the machine along with what i want to dye, and i want my output to be the price of that thing combined with the price of the thing im dying

rigid musk
# craggy cape how do i add a new item + new cooking recipe with CP? im struggling to understan...

you would have the object data and then the cooking recipe data -

            "Name": "{{ModId}}_RiceBowl",
            "DisplayName": "{{i18n:Aos.Qiricebowl.name}}",
            "Description": "{{i18n:Aos.Qiricebowl.desc}}",
            "Type": "Cooking",
            "Category": -7,
            "Price": 580,
            "Texture": "Mods/{{ModId}}/QiObjects",
            "SpriteIndex": 5,
            "Edibility": 85,
            "IsDrink": false,
            "Buffs": [
            {
                "Duration": 360,
                "CustomAttributes": {
                "FarmingLevel": 0,
                "FishingLevel": 0,
                "MiningLevel": 0,
                "LuckLevel": 2,
                "ForagingLevel": 0,
                "MaxStamina": 100,
                "MagneticRadius": 15,
                "Speed": 1,
                "Defense": 0,
                "Attack": 0 },
                                },
                            ],
            "ContextTags": [
                        "color_sea_green",
                            ],
                        },

"{{ModId}}_RiceBowl": "423 1 {{ModId}}_Celery 1 248 1 247 1 270 1 -5 1 Carrot 1/25 5/{{ModId}}_RiceBowl",```
#

ignore how terribly formatted this is its the copy paste

#

the recipe targets Data/CookingRecipes and the item is Data/Objects

craggy cape
#

ooh

#

ye im recoding a JA mod to CP, thankfully though basically all the code is done for me, i just gotta reformat it x)

#

but with that knowledge id be able to make my own recipe mods

wet iris
dusk mulch
#

jeez it's been like 4 days since i have worked on my mod

#

and im ok with that

hard fern
urban patrol
#

for SVE compatibility, i'm editing their blue moon vineyard map to redirect it to map instead of the beach. do i have to have a "When: HasMod" for editing their map?

#

i have a when condition for editing my own map obviously

#

(i'm also not entirely sure i did it right; i used AddWarps, but their map had TileData that loaded the beach? i'e never seen that before and i'm not sure if AddWarps would override that or if i have to actually patch the map and get rid of their TileData and the Paths they had there)

#

it looks like this

craggy cape
#

ok so the recipe im converting is a eggs on toast, but i dont know how id add the eggs since theres variants of it. how would i make it so it will show as "egg (any)" with the ingame cooking menu?

wet iris
craggy cape
#

ah

wet iris
#

im gonna guess like -5

craggy cape
#

thats what the fried egg starts with

rigid musk
#

-5 is, in fact, 'egg category'

craggy cape
#

so using -5 will make the game say "eggs (any)" in the menu?

#

bet\

rigid musk
#

Yes

craggy cape
#

okay i think i did it right!!! json validator had no errors!

#

but before i add in the rest of the items/recipies im gonna test rq

unkempt zephyr
#

Anyone know how to remove certain GMCM menu options from a single mod?

gentle rose
#

is this your own mod?

unkempt zephyr
#

an open perm mod, just tinkering and learning

gentle rose
#

oh, fair enough. Is it a content patcher or a c# mod?

unkempt zephyr
#

C#

lucid iron
#

You unregister the whole thing

unkempt zephyr
#

Ah I was trying to be lazy and hoping I could just do it from the content file lol

#

No worries

calm nebula
#

Content file?

lucid iron
#

C# mods don't have content files

unkempt zephyr
#

sorry, json file

lucid iron
#

?

calm nebula
#

Are you sure it is a c# mod

lucid iron
#

If you mean config.json that's simply the current values

unkempt zephyr
#

not the config, the 'default.json'

rigid musk
#

that's for translations pondering

uncut viper
#

thats not a standard file for anything other than i18n

lucid iron
#

That mod is perhaps setup to load it's default configs from json?

unkempt zephyr
#

yeah

lucid iron
#

Either way the actual gmcm setup happens in C# code (cs)

unkempt zephyr
#

I figured, again, just seeing if there was a dummy simple way is all

lucid iron
#

So unless the mod author specifically made it obey default.json, it's not gonna work

calm nebula
#

What mod is this

unkempt zephyr
#

tractor mod

lucid iron
#

Pathos does like his dehardcoding to json Dokkan

calm nebula
#

But I'm quite sure Pathos handles his gmcm not in a json file

lucid iron
#

Yeah i also can't find this one on github

unkempt zephyr
#

I tried editing the json files and removing different things and whatever I show in the GMCM shows up, but as an error. It's not entirely removed

lucid iron
#

Here's where tractor mod does gmcm stuff

calm nebula
#

Jinx I owe you a soda

unkempt zephyr
#

so in theory just pull .addcheckbox out and that's it, no?

lucid iron
#

Er you need to comment out the entire call

unkempt zephyr
#

Well yeah

#

then make sure the json reflects the changes

lucid iron
#

And depending on the reason, force a default value on the config

unkempt zephyr
#

right

lucid iron
#

There's no involvement from any jsons here

calm nebula
#

Exactly what are you trying to do

unkempt zephyr
#

I can't stop myself from using Tractor Mod to chop down trees so I'm trying to remove that entire option in the GMCM lmao

ember gale
#

i finally finished all the seperate emotions for a portrait but im not sure how im supposed to make them into those portrait sheets lol

unkempt zephyr
#

Further, I resprited and changed the SFX and buff icons to a bike, so I'd like to remove all non-bike-possible options so it makes sense

rigid musk
uncut viper
#

if you're removing them completely then you need to alter the code everywhere it checks for the config values too

rigid musk
#

and then they extend down as far as you need them to for the amount of portraits you need (each one being 64x64 of course )

lucid iron
#

Eh i think forcing false on the config should be sufficient

#

But yeah to do this you must be able to compile the mod

#

Do you have normal C# things setup?

ember gale
uncut viper
#

hence "if you're removing them completely"

lucid iron
#

As for the sprite and the sfx

rigid musk
unkempt zephyr
lucid iron
#

I think you can just content patcher edit those

rigid musk
#

the portrait sheet that is

rigid musk
lucid iron
#

Or replace the asset files if it's just personal use

craggy cape
#

hmm, smapi gives me a yellow error. it cant convert the farming buff properly

lucid iron
#

Clone pathos repo and build it etc

rigid musk
#

with the validator

unkempt zephyr
lucid iron
#

Yep then just do the changes then have fun

craggy cape
#

also is the uniqueID case sensitive, cus i noticed i spelt pathos id as pathoschild.contentpatcher and not Pathoschild lol

rigid musk
craggy cape
#

ahh

rigid musk
#

i tried to clarify that you need two separate target ..entry... things for it but i dont think i was clear my apologies

craggy cape
#

its oke :3

unkempt zephyr
#

Thanks for the help, yall. Just wanted to make sure there wasn't a super obvious thing I missed being a newb and all

rigid musk
#

they have other things in there but you can look for the two entries that match eachother to see how it's done :)

#

I used separate jsons to keep things organized

hasty spruce
#

Hi everyone!

#

I want to make a mod to add an NPC to the game. Based on what I've learned, I can use either SMAPI or Content Patcher

#

But which would you recommend?

lucid iron
#

!npc

ocean sailBOT
#
Creating a Custom NPC

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

lucid iron
#

Content patcher can do entire NPC yep

uncut viper
#

everything uses SMAPI

lucid iron
#

C# just for extra spice

hasty spruce
#

Thank you both for responding :3

magic light
#

Hiya! I'm working on a custom livestock mod (that part all works) but I want to add a config to be able to toggle off certain skins with a true/false option (there's 34 in game, and I figure some people might like control of that - plus I'm trying to learn configs). Any examples or explanations in setting up (assuming I can)? Also for reference my content.json is set to include an animal.json as opposed to everything being in the content.json

lucid iron
#

Yeah elle's animals let you do that

#

Mizu's turkey and mizu's quail for a smaller example

#

For the most part you just control this by config tokens

craggy cape
#

hm maybe i forgot the change thing

rigid oriole
#

what actually is the yellow warning error?

craggy cape
#

"Can't apply data patch "Toast > EditData Data/Objects > entry #1" to Data/Objects: failed converting entry to the expected type 'StardewValley.GameData.Objects.ObjectData': Error converting value "Farming" to type 'StardewValley.GameData.Objects.ObjectBuffData'. Path 'Buffs[0]'.."

rigid oriole
craggy cape
#

yes

magic light
rigid oriole
# craggy cape yes

the Id field isn't optional for a buff. if you add an Id field to the buff with a unique string id for the buff, (insert it on like line 21), does it work?

#

for example, here's the buffs for trout soup in vanilla:

"Buffs": [
  {
    "Id": "Food",
    "BuffId": null,
    "IconTexture": null,
    "IconSpriteIndex": 0,
    "Duration": 400,
    "IsDebuff": false,
    "GlowColor": null,
    "CustomAttributes": {
      "FarmingLevel": 0.0,
      "FishingLevel": 1.0,
      "MiningLevel": 0.0,
      "LuckLevel": 0.0,
      "ForagingLevel": 0.0,
      "MaxStamina": 0.0,
      "MagneticRadius": 0.0,
      "Speed": 0.0,
      "Defense": 0.0,
      "Attack": 0.0
    },
    "CustomFields": null
  }
  ]
rigid musk
#

the way they have it set up should work.. if you dont want the recipe to have buffs you can also just get rid of them

rigid oriole
#

Id isn't an optional field per the wiki tho...

#

if it's a parse error it might at least be related

rigid musk
#

for example this works just fine for my foods

ornate trellis
#

huh, since when is ID mandatory? i dont have those with my buffed foods...

rigid oriole
#

if it's not mandatory someone should update the wiki lol

rigid musk
#

I never noticed it being required on the wiki

rigid oriole
#

it's not listed optional

#

i believe that the wiki can be wrong i'm just saying that's where i got the info

rigid musk
#

you know... ill be honest I think I've always just completely ignored that part of it lmao

lucid iron
craggy cape
#

same exact error

lucid iron
#

You can't just stick it in the middle of an edit like this

#

However what you can to is use the token as the Condition

#

This is bc the token happens to resolve to FALSE and that's a valid GSQ

ornate trellis
#

hm...I jsut checked ingame for my food and they indeed have no ID and also work including buffs

craggy cape
ocean sailBOT
#

Log Info: SMAPI 4.2.1 with SDV 1.6.15 build 24356 on Microsoft Windows 10 Home, with 111 C# mods and 366 content packs.

lucid iron
#

[[modding:animal_data]]

craggy cape
#

lemme grab the json validator\

rigid musk
#

oh you're using a lot of mods while testing this lmao

#

also you can just get rid of all of the buffs

craggy cape
#

yea i might try that instead then

rigid musk
#

unless you want your egg toast to give you +2 luck and all that

rigid oriole
#

i'm weirded out by the error being "Error converting value 'farming'" because "farming" isn't a value anywhere in the json you uploaded

#

you have a "farminglevel" key but that's.. not what the error seems to say

rigid musk
#

oh i cant believe i missed this you dont have the object data at teh end of your recipe

#

the*

craggy cape
#

the original mod, which is JA formatted does have buffs, but i just messed around with the buffs levels

#

"EdibleBuffs": { "Farming": 2, "Fishing": 0, "Mining": 0, "Luck": 0, "Foraging": 0, "MaxStamina": 0, "MagnetRadius": 0, "Speed": 0, "Defense": 0, "Attack": 0, "Duration": 100 },

#

so thats the buffs from the og mod

#

ofc its outdated

rigid oriole
#

are you loading the OG mod in the log you sent?

rigid musk
#

they're loading a lot of mods in there

craggy cape
#

no, the updated mod is the loading one

little anvil
#

My friend just finished drawing one of the portraits for the mod I’m making and I’m actually shocked at how beautiful it is SDVpufferwow (I think I’m allowed to say that in this channel ?, I’m not gonna show the art in here so)

rigid musk
#

im pretty sure the issue is actually with the recipe though

hallow prism
little anvil
#

Well, Im not shocked because of how beautiful it is, I know she was a good artist, I’m just shocked at how fitting it is

rigid oriole
little anvil
hallow prism
#

(we just tend to keep long art related discussions in the art channel, but some art as a treat is nice)

rigid musk
#

"{{ModID}}_eggtoast": "216 1 -5 1 /Home/Toast/false/default/" isn't how cooking recipes are formatted

#

it looks more like a crafting recipe

craggy cape
#

ah

#

well i did get rid of the indicator when i formatted it at first

#

the like, (BC) thing since i used the big craftable format as a guide

rigid musk
#

"{{ModID}}_eggtoast": "216 1 -5 1 /25 5/{{ModId}}_eggtoast"

craggy cape
#

ok so this layout should work now?
{ "Format": "2.6.0", "Changes": [ { "Action": "EditData", "Target": "Data/Objects", "Entries": { "{{ModID}}_eggtoast": { "Name": "{{ModId}}_eggtoast", "DisplayName": "Egg Toast", "Description": "a nice, sunny-side-up egg slapped onto a piece of toast.", "Type": "Cooking", "Category": -7, "Price": 580, "Texture": "Mods/{{ModId}}/eggtoast", "SpriteIndex": 1, "Edibility": 85, "IsDrink": false, "ContextTags": [ "color_yellow" ] } } }, { "Action": "EditData", "Target": "Data/CookingRecipes", "Entries": { "{{ModID}}_eggtoast": "216 1 -5 1 /25 5/{{ModId}}_eggtoast" } } ] }
i got rid of the buffs thinking it was that but if it works this time i'll add em back

rigid musk
#

for future reference itll be Internal Name/Ingredients/25 5/Internal Name (There are some other categories that you can see on the recipe data section of the modding wiki but this is standard if you're learning the recipe from somewhere else, or have trigger actions and what not to do it)

craggy cape
#

can i ask wha tthe 25 5 means?

rigid musk
#

theoretically yes it should

#

its an unused field im not actually sure what it means

#

maybe someone who knows more about the game code can let me know but ive always included it cause it breaks my recipes if i dont xD

rigid oriole
#

it doesn't need to have any content

#

the 25 5 is not needed

#

"308 1 246 1 245 1 305 1//BarleyZP.EnemyOfTheValley.AvoidMeCake/none/" is a valid recipe i have (note the double slash)

uncut viper
#

as long as you have the // there

craggy cape
#

pft the mod name

rigid musk
#

WAHsnapped why does it break my recipes if i dont have i- thanks button

rigid oriole
#

shhhh it's a wip

uncut viper
#

its a slash delimited field, so the string is broken up into 7 or whatever groups based on the slashes

#

so if you remove it completely, theres one less field than it expects, and it fucks things up

reef kiln
#

Better question is what is it. Not why does it break.

uncut viper
#

so you still need it there, just empty

#

it doesnt do anything

craggy cape
#

so either version should work, correct?

rigid musk
#

as long as you have the // there still... I will still use the 25 5 cause it just makes sure i dont forget to put that field in there lmao

rigid oriole
#

it goes straight from 0 to 2

reef kiln
#

If it does nothing..... Why..... Never mind CA code

rigid oriole
#

legacy reasons i'm sure

craggy cape
#

prob lmfao

uncut viper
#

becausr it probably did somrthing at some point

craggy cape
#

1.6 changed alot of code from what i understand

uncut viper
#

and its easier to just stop using it than to rewrite 100 different crafting recipes

#

dont think it was used even pre-1.6

rigid musk
uncut viper
#

but i could be wrong

rigid musk
#

i cant see anything wrong with it

#

afaik it was not used in 1.5

craggy cape
#

maybe during early development of the game then

#

anyways, smapi isnt throwing a yellow error related to the toast

rigid musk
#

is there a way to have the green rain trees spawn on a map

craggy cape
#

although quick question, about the assets. would it be easier to put them on a single tile sheet, or to have them as their own seperate png files?

ornate trellis
#

man, thanks to checking my buffs i am noticing that my color context tags arent applying right for stuff like jelly and wine, hmmm

magic light
rigid musk
craggy cape
#

ahh fair

reef kiln
rigid musk
#

You will have a lot of pngs though

rigid musk
craggy cape
#

i do plan on converting the korea blossom mod one day, but its 29 files i have to look at. its why im practicing with the toast mod since its only 6 files

rigid musk
#

also are you sure the index for your item is 1? just to check - cause they start at 0 (you might have other stuff on the image)

lucid iron
#

hm i thought skins had condtions, but guess not

reef kiln
#

You need to use a tile property I think. Kind of how SVE spawns in custom its trees. Only you would use the green rain tree ID

craggy cape
#

put it as a placeholder

rigid musk
#

for example the celery in this is on index 0 (and it increases each 16x16 tile)

craggy cape
#

all the files are seperate .png files, but they can fit on the tilesheets perfectly fine

rigid musk
#

celery seeds are index 1

ornate trellis
#

Qi rice?

rigid musk
#

rice bowl :3

ornate trellis
#

yum

reef kiln
#

Have not done green rain trees but did a map with SVE and PC trees on it. So should work the same I think.

rigid musk
#

i made a qi soda

#

i dont know if i shared the qi soda

#

i did its in my thread

craggy cape
#

yippee! it works, i'll just have to update the sprite index

ornate trellis
#

man i need to find the list of context tags on the wiki again to find all aloowed colors I swear ichecked it last time when I did the tags tho

craggy cape
rigid musk
#

oh god the white discord

ornate trellis
#

wait you have a thread

rigid musk
#

i do :D

lucid iron
#

what this does is conditionally append the skin entry

magic light
#

Oooh, okay, and would I plug that into the uh, content.json under changes?

lucid iron
#

yea

#

or includes doesnt matter

magic light
#

Thank you!

reef kiln
reef kiln
#

Do you want a picture, I can go boot up tiled and get one if you want it

rigid musk
#

and mushroom trees actually

#

its tree 6? that looks like a palm tree lmao

reef kiln
#

sorry the "C" tree

#

Here is an example of getting an SVE tree to spawn

#

not 100% sure what the 5 1 at the end is..... I think the 5 is the growth stage not sure what the 1 is

reef kiln
#

to spawn in greenrain tree 1.

reef kiln
ornate trellis
#

mushroom I can safely say cuz ive spawned those onto my map already

reef kiln
ruby rapids
#

Urg. I have a quick question. For some reason when I create a CP for a portrait replacement {{seasons}} works, but {{TargetWithoutPath}} doesn't. And I need to do {{TargetWithoutPath}} because some of the portraits I need to replace have a indoor and outdoor version for winter. So I am not sure what I am doing wrong. Do I need to "Load" instead of "EditImage"?

ornate trellis
#

I used C for custom and for the shroom to spawn, yeah sorry forgor to mention

sour sleet
#

Um, is there a way of changing the dig spot data for a custom location so I can change what gets dug up by the player?

#

Can't see anything on the wiki

fierce vault
#

Hi, quick question. If you flip a tilesheet in tiled, and then flip it back after placing the mirrored version of object, does the game read and display that flipped tile properly? Is there any other set up needed?

ornate trellis
sour sleet
#

Oh I was looking at Maps lmao

#

Got it now

ornate trellis
#

theres a big part on the table named ArtifactSpots cant miss it

ember gale
#

this was tedious lol

reef kiln
#

Nice.

ember gale
#

part of me thinks there was an easier way to lay these out and just didnt know

fierce vault
#

Could someone please direct me to the part of the wiki that covers how to add warps to maps for the player?

hot gale
#

You can do it two ways, do you want a click-to-warp or a stand on to warp?

fierce vault
#

a stand to warp

#

I couldn't find it on the vanilla tmx map's custom properties when looking through the file

#

So I'm wondering if it is specified in the content json instead

hot gale
#

You can add one like so;

#
{
            "Action": "EditMap",
            "Target": "Maps/Meadery_Trailer",
            "AddWarps": [
                "12 10 Meadery 36 8"
            ]
        },
fierce vault
#

Thank you!

torpid ermine
#

Hey all, one question about the LookupAnything mod for splitscreen multiplayer.
Has anyone configured it to work for both players? Assuming host plays with keyboard+mouse and farmhand1 plays with a gamepad. Here's a quick glance at the config.json:

"Controls": {
    "ToggleLookup": "LeftStick",
    "ToggleSearch": "LeftShift + F1",
...
  },

I tried setting "ToggleLookup" to a keyboard key, then when pressing it, it reads the object right in front of host and displays the info on the host side. Or, if I set it to a gamepad button like "LeftStick", then it only shows up for the farmhand (and reads the object right in front of the farmhand).

lucid iron
#

so i think you can do it like "F1, LeftStick"

torpid ermine
#

Good call, let me try

lucid iron
#

if that doesn't work then time to PR LookupAnything for splitscreen support i guess

#

mod authors like me like to pretend it doesn't exist kyuuchan_run

torpid ermine
#

I'm thinking about taking that up lol

ornate trellis
#

random question, can i stop things from getting pickled. its a bit weird to have wood bark and mermaid scales pickled..

lucid iron
#

yep then just go fork pathos' mod repo, u can ping him here to give a headsup

lucid iron
ornate trellis
#

oh so i gotta go into the pickle rules, hm

#

they are forage

#

...

lucid iron
#

well i supose you can make them trash instead

#

they dont have to be category forage to spawn and get picked up

crude plank
#

aren't they like the beach forage? those can't be pickled

ornate trellis
#

type: basic; Category: -81

#

is there a category besides trash, i feel wrong to use it for those items

crude plank
#
    "Category": -23,```
#

this is sea urchin

ornate trellis
#

hmm

#

huh whats cat -23 it wont show it ingame

#

but this works

#

no pickled wood bark

crude plank
#

category_sell_at_fish_shop

ornate trellis
#

oh i can live with that

crude plank
#

yeah i guess you can just sell them to willy

ornate trellis
#

i can live with that more than with this

reef kiln
ornate locust
#

D:

ornate trellis
#

ask the game, its supposed to be just a furball

torpid ermine
fierce vault
#

When adding any new maps, should I use a mod id with the name?

uncut viper
#

when adding just about anything you should use a mod id

fierce vault
#

Ok, thanks.

brittle ledge
#

{{ModId}} makes it easy, that will pop in your mod ID for you

fierce vault
#

That would be right in the tmx name, correct?

uncut viper
#

(but not inside Tiled or in the tmx filename itself)

fierce vault
#

Ohh

brittle ledge
#

It also allows Lookup Anything to see what mod an item is from kyuuchan_nod2

sour sleet
#

Is there not an artifacts category? What do the vanilla artifacts have as their category

#

Sorry for all the random q's today, I have lots of inspo hehe

ornate trellis
#

Arch

sour sleet
#

That's the type