#making-mods-general

1 messages · Page 608 of 1

midnight sand
#

I assume there is one of two things. The item id in the XNB should not have the (O) or the code should have the (O)

uncut viper
#

Okay, I see now, and I do sincerely apologize then because of the misunderstanding about ItemId

#

It's not actually looking at an Item there

#

If it were actually looking at an Item instance then it wouldnt matter but the snippet wasnt enough to show that it was actually looking at the WildTreeChopItemData

#

and both an Item and a WildTreeChopItemData have an ItemId property that means two completely different things :v

royal stump
#

yeah, at a glance, drop.ItemId was probably meant to be item.ItemId there

uncut viper
#

That's what I'd suspect

#

It doesn't make sense to check the drop at all there

#

If it was checking item instead then item.ItemId == "709" would work

midnight sand
#

That actually make more sense

#

It's something really little that maybe no one will use again, but I wanted to change the amount of hardwood dropped and was bashing my head against a wall until I noticed that

uncut viper
#

(thats part of why I assumed it had to be checking an Item instance because otherwise the ItemId of a generic spawn condition could be an entire item query like "ALL ITEMS bla bla")

royal stump
#

yeah, ItemId on Item and ItemId in the various spawn data classes are entirely different

uncut viper
#

(still no ETA on 1.6.16 though so don't delay your mod for it)

royal stump
#

yeah, transpile or w/e in the mean time

uncut viper
#

(also why are you using console.writeline out of curiosity)

midnight sand
#

The easier way to debug a transpiler I thought of

uncut viper
#

Mostly just curious why that instead of using your Monitor

midnight sand
#

I will actually use a method to check some things to add some extra hardwood there

uncut viper
#

I also subscribe to the "put a debug log somewhere" method of debugging so

midnight sand
#

And have a fried mind

uncut viper
#

mostly bc I never learned how to use a proper debugger

#

(definitely do report it in the alpha thread though and sorry again for making an incorrect assumption and running with it)

midnight sand
#

No problem, I should had put the method in the beginning but I am falling sleep now and didn't thought about it

#

Will make the patch and report in the morning

#

Thanks for the help!

proud wyvern
#

i've done that once

#

i mean using Console.WriteLine directly from IL

severe cairn
calm nebula
gray bear
#

how do uh, specific item gift taste dialogue works? if is the AcceptGift_<id> bit?
if im not explaining property, i mean i want a special dialogue to play when giving an npc certain items

orchid glade
#

Yeah that’s the one

orchid glade
obtuse hazel
#

while we're at it, does anyone know how to change gift responses based on relationship if that's possible? (like, a different npc response to a gift when the player is married to them)

gray bear
#

got it, thank you!

orchid glade
#

Maybe just with conditional patches

obtuse hazel
#

alright, so no quick fix, but thank you!

verbal glacier
#

and i'd personally just put the item name somewhere in the default.json something like AcceptGift.Abigail.DemetriusSalad.False and you match that in the entry

obtuse hazel
#

ok, thank you so much! :)

orchid glade
#

Ooh that's better. I forget about using i18n that way.

strong kite
#

You know what, making the Traveling Merchant sell Lansat berry seeds with a RANDOM 0.1 condition sounds like a significantly better way to make them rare than by having her sell them on rainy days between 4 and 8 PM

grand gale
#

can you specify time of day?

wanton pine
severe cairn
#

Adding aquarium fish to my map!

#

that way they can swim around without needing to be hand-animated (which looked... interesting when I did it)

wanton pine
#

For Arumi? | Animation is hard, I'm impressed by your attempt!

severe cairn
#

and i didnt want to think about animating the fish in her fish tank, and I want her to have a bunch of fish

strong kite
#

Me when I forget a comma when editing my manifest mario_facepalm

barren tapir
#

Are there any guides on how to draw items that inherit their color? My objects have been coming out far too dark and unsaturated

barren tapir
barren tapir
nova gale
#

I color all my jewelry and potion reagents with that feature

barren tapir
#

Gonna test these later today after work!

strong kite
#

Can I make smelting an item at a furnace give more than 1 of an item? I have an item that's literally just a giant ball of iron, I wanted to make it smelt into 10 iron bars but clearly I haven't done it correctly

brittle pasture
#

MinStack, not Amount

strong kite
#

Ahhhh ty

brittle pasture
#

[[Modding:Item_queries]]

severe cairn
valid folio
#

Hi, how are you guys?

I almost completely rebuilt the mod for a girl. The mod belongs to her and she had removed it because she couldn’t solve an issue. At first I thought it was just that she didn’t know how to make machine rules, but it seems like the cause is something else, because I do know how to make them and I still can’t get the items from her mod to be accepted by one of my machines from my mod.

I tried all of this:

  • Creating the rules in her mod to inject into my machine, didn’t work, the item gets rejected
  • Gave the rules very low load priority in case it was a load order issue, same result
  • Tried using context tags as input and also item ID, same result
  • Moved the rules to my mod and tried injecting them like I did with other mod items, didn’t work
  • Tried putting the rules directly into my machine’s data/machines, still the same issue
  • Tried using the item ID directly in my machine, nothing
  • Tried replacing the ID of an item in a rule that was already working, didn’t work
  • Tried replacing the context tag of a working rule with one of her mod’s item tags, negative

The only thing I can think of is that there might be something in the objects data of the items causing problems. What’s strange is that I can spawn the items from her mod using CJB Item Spawner, so the items do exist.

I’m not sure what to do. Maybe an outside perspective can see something I’m missing.

Machines rules.json
https://smapi.io/json/none/c54c97687a7b40c0859f83cb0a2f5a7f

Objects.json
https://smapi.io/json/none/11d401db589d42c48aa4968fc50ef055

#

The items

brittle pasture
#

did you include the file
what does Lookup Anything on the machine show

gray bear
#

i recognize those milks

barren tapir
#

I'm also very curious how many monsters will have spawned by the time I finish the rock mod (still need to add the logic that removes them at the end of the day)

#

Yall ever feel like you can't decide what mod to work on at times?

autumn tide
#

yes

valid folio
#

I’m going to try adding the compatibility JSON back into my mod’s content.json, the target field one.

brittle pasture
#

I'm quite confused, apologies
you can confirm that the patches are being loaded by running patch summary YourModId and see what your mod is doing

#

and patch export Data/Machines to check that your thing is actually being written into game data

nova gale
#

/me lives in fear of debugging multiplayer

valid folio
nova gale
#

Also: a rock mod you say? Will it have new gems and or minerals?

valid folio
brittle pasture
#

yes

valid folio
# brittle pasture yes

Yes, it loads the rules. I found them in the file I exported with the command you gave me, but it still doesn’t process the item. I’m going to try regenerating the items again.

brittle pasture
#

post both Data/Machines and Data/Objects?

valid folio
brittle pasture
#

if it's too big the raw file is fine

valid folio
valid folio
#

They’re simple rules, I put an item in, and an item comes out hahaha.

brittle pasture
#

sorry, I mean the exported file via patch export

valid folio
#

Do you want me to do that? I can back up the Mods folder and then leave only my mod, her mod, and the required dependencies.

brittle pasture
#

hmm yeah the file is indeed too big for my phone to handle
can you post the file directly

valid folio
#

I’m going to empty the Mods folder so it’s easier and everything loads faster.

brittle pasture
#

that works
the issue is that you already have a rule that takes generic "flavored_milk_item" inputs above the rule you're trying to add

#

so the machine is triggering that rule, discovers that you don't have the required fuels in your inventory, and then exits

#

you need MoveEntries to move your custom rules to the top

valid folio
valid folio
valid folio
brittle pasture
#

probably, I havent comb through the files 100%

#

Lookup Anything is your friend here

#

look up your modded milk items, if it shows multiple rules it's probably wrong

valid folio
valid folio
# brittle pasture Lookup Anything is your friend here

Selph, did you cross your fingers? Because… IT WORKED!!! Thanks for teaching me so many things, now I know one more thing I need to keep in mind! Seriously, thank you so much.

You have no idea how happy she’s going to be!

torpid sparrow
#

congrats yay!!

valid folio
# torpid sparrow congrats yay!!

Him Wem!! Ty but the credit goes to Selph, without their knowledge I’d still be struggling with that issue hahaha. Well, I’m going to keep working on the mod, I want to add more things to it.

strong kite
#

okay great uhhhh one of Darkrai's hated gift tastes is coming up as neutral and I have no idea why, especially when the item itself is meant to be universally disliked

#

waiittt I might've figured it out?

#

There was a space between the last entry of the disliked list and the start of the hated entry

torpid sparrow
#

nod nod

strong kite
#

OH WAIT- NEUTRAL COMES AT THE END OF THE LIST

#

I forgot it goes Loved, Liked, Disliked, Hated, Neutral

torpid sparrow
#

oh yeah i hate that

#

i go loved liked neutral disliked hated DUH

strong kite
#

Alright it works now :3

torpid sparrow
#

WAAAA

#

cowers in fear

strong kite
#

That's for giving a hated gift on his birthday before you've befriended him enough

nova gale
#

/me hides his 2 NPCs with 7 total lines of dialogue from the guy who has special dialogue for a specific gift on a specific day

strong kite
#

Okay I wasn't THAT thorough with the dialogue heehee

#

Well shoot. No matter how rare it'll be, the fact this cutscene really doesn't look right with the mushroom cave is very problematic

#

It's a good thing I picked the mushroom cave this save specifically to test for this cutscene

brittle pasture
#

moonlight jellies and crab pots: first time?

strong kite
#

This part look a little weird still but I'm okay with this. He's kinda incorporeal so like.. it works

calm nebula
#

U didn't patch that out?

strong kite
#

But this is definitely a sight heehee

strong kite
#

believe it or not this is one of the most common spelling mistakes I make 😭

#

I type too fast pichusad

#

wait the M is also capitalized heehee

#

Anyway, now the question is do I want to fix that properly.. ORRR be okay with how it looks?
I think I'll be okay with how it looks :)

#

1000 gold for an ancient seed is.. too cheap isn't it

hoary tartan
#

Very cheap

strong kite
#

yeahhh... this shop is meant to have cheaper prices but like the ancient seed doesn't normally have a price so.. yeah-
How expensive should it be then?

#

I've just bumped it up to 6000 but I could also do 10000

#

10000 sounds right without making it so expensive it's just not worth it

versed wyvern
golden spire
#

problem there would be custom caves

#

but custom caves would be a problem in general

strong kite
#

I didn't consider an NPC other than the Wizard being down here during the Luau. Thankfully, it's Sebastian of all characters who I feel like would actually enjoy Darkrai's presence

severe cairn
#

what happened to the tree 😭

fossil osprey
#

someone was hungry

severe cairn
#

was it sebastian, ruining darkrais hiding spot

fossil osprey
#

maybe

#

who knows

strong kite
#

$4#$b#Just... to commemorate our friendship.[(F)TntDove.PBB_DarkraiArt]$1#$b#
Alright, this failed to give the item and also messed up the dialogue. What have I done wrong?

strong kite
#

Im gonna guess it can't be a qualified ID?

royal stump
#

SDVpufferthink looks like the vanilla dialogue never does

verbal glacier
#

can you try $action AddItem (F)TntDove.PBB_DarkraiArt (might need a # before it i'm not sure)

strong kite
#

I'll try that then

#

Cuz this looks better but still doesn't work LUL

severe cairn
#

damn thats somehow lowk scary

#

the friendship being split up like that 😭

verbal glacier
#

-# i was like darkrai looks cute here wdym

severe cairn
#

haha yeah, cute portrait lowk ominous text layout

fossil osprey
#

frie ndship

#

fries'n'ship

#

a nice boat restaurant serving fries 🙂‍↕️

strong kite
#

Ok I think I found my issue. I'm guessing that's not the name for the item 😭

#

When did I change its ID Azusob

verbal glacier
#

darkrai wanted to prank you

strong kite
#

Noooo he's supposed to be sharing his appreciation in a very heartfelt way SDVpufferwaaah

verbal glacier
#

well he'll share it with the farmer just not you :P /j

strong kite
#

It's so crazy how close I am to having tested enough to be comfortable with releasing this update. And then letting the masses discover any other issues heehee HehSweatCloseup

verbal glacier
#

have fun with that :P

strong kite
#

It's working now :3c

#

Which means I have only one step left for testing

#

Custom gift taste dialog for all of the vanilla NPCs

old edge
#

I’m trying to mod my android device but it appears it uses 32 bit apps and the android smapi launcher is x64 or something? Anyone got any bright ideas

brittle pasture
#

!smapiandroid

ocean sailBOT
#
Android SMAPI

We are not able to provide support if you run into trouble or compatibility issues with Android SMAPI; please use the discord linked on the Android SMAPI github.

IMPORTANT: This is a highly experimental build and may be prone to glitches, bugs, or incompatibilities. Please see the wiki instructions for more information regarding installing the unofficial Android port of SMAPI for Stardew Valley 1.6.

Do not harass mod authors to make Android specific compatibility patches.

uncut viper
#

(it also sounds like you might just be out of luck anyway but idk much about that stuff)

brittle pasture
#

but no, from what little i know 64 bit only

gaunt orbit
#

32bit? In 2026?

brittle pasture
#

some ultra cheap low power android devices are 32 bit

gaunt orbit
#

I didn't know anyone was still making 32bit chips

brittle pasture
#

android is beginning to phase out support already but i guess there are still holdovers

next ivy
#

Is it possible to customize the prizes for the trout derby?

I found this mod for Lewis's prize machine and was hoping to have similar functionality for the trout derby (even if it doesn't have the user interface of the prize machine)

https://www.nexusmods.com/stardewvalley/mods/43027

Nexus Mods :: Stardew Valley

Customize the rewards available at Lewis' Prize Ticket Machine.

brittle pasture
#

dont think theres any that I know of SDVpufferthink

next ivy
#

Hmm, glad I didn't miss something at least

Is the code there particularly difficult to mess with or is it one of those things people just haven't gone in to

uncut viper
#

It's not the worst hardcoded thing there is

#

It's handled in GameLocation.answerDialogueAction() if you CTRL F for TroutDerbyBooth_Rewards

#

literally just a list of hardcoded rewards

signal nova
#

Can somebody explain to me how the Aquarium Fish code is supposed to work? I've made a spritesheet and now I'm trying to make these fish show up in the aquarium (with the correct textures), but I am kind of struggling. I've never used spritesheets before.

brittle pasture
#

in assets that use slashes as field separators you need to use double backslashes \\ inside the texture name

#

though that asset name also does not look like one you Loaded?

#

if you need to use a texture you need to first Load the png into an asset name

signal nova
#

I've loaded it.

brittle pasture
#

ok yeah then it's just the backslash thing

uncut viper
#

(though I would highly recommend loading it to a more usual kind of target)

signal nova
#

I'm confused about how it detects and applies the textures to these specific fish from the spritesheet

uncut viper
#

Your forward slashes are currently very much breaking the format of the aquarium data

#

If the data is a slash-separated string like aquarium data is, that means the game will take out a new chunk of data every time it sees a / as it goes from left to right
So if you have a / in your texture name, it will be taking chunks incorrectly

brittle pasture
#

yeah it doesn't think you have a texture named Mods/Something, it thinks you have a texture named Mods, plus some other field named Something afterwards

signal nova
#

Like this?

brittle pasture
#

yeah that looks good (assuming no other issues in other fields)

signal nova
#

No issues for now

#

Okay, now it works, but the textures are weird and merged

#

Is there a way to fix it or do I need to redo the spritesheet?

brittle pasture
#

I recall aquarium sheets have a bigger tile size

uncut viper
#

(am I incorrectly remembering that Aquarium sprites are two sprites tall for reasons)

#

The weird extra brown pixels beneath that squid are often (always?) caused by the game trying to look further down on the texture but finding nothing bc it doesnt exist further down, so it just repeats the last layer of pixels it found

signal nova
#

Ohh

#

What about the tail that it stole from an another fish?

uncut viper
#

Also looking at your texture again I'm not sure if the game can handle double wide fish?

#

Fish are very much not my territory though admittedly

brittle pasture
#

aquarium sprites are 24x24

signal nova
#

Eels and stingrays are bigger than 16x16

#

That's why I was confused

#

Ohh

uncut viper
#

Is that 24x24 th ough?

signal nova
#

No these are 16x16 grids

uncut viper
#

I assumed each of those background tiles are, yeah, 16x16

signal nova
#

It makes sense now

uncut viper
#

That means your worm and possibly the shark are too long, though

#

(which is what I meant by "is that 24x24 though?" i meant the sprites themselves, like i didnt think they would fit in that space and I just counted the worm and it wont)

#

The shark is 1 pixel too wide

severe cairn
#

So... It seems like I unintentionally made my changes stick O_O whoopsie

#

(I don't have my mod loaded rn)

#

I basically just added furniture to the map, which doesn't really hurt anything, but well, it's best I make sure it's removed SDVIridiumKek

unreal edge
#

Hi there,
I’m not sure if this is the right place to ask this question, so sorry if not.
I’ve been trying to learn more about modding and to help learn I decided to create some Perfection documentation for myself about several mods I am getting ready to use. To do this I have been looking through a lot of the files, to try and get all the info I need. One thing I am getting confused about is the comments on the JSON files.
I know from some lower level coding classes I took that there are a few languages that recognize // as an inline comment, which is what I see a lot in the files I’ve looked at. From my understanding, though, JSON doesn’t support commenting. These mods work just fine so it obviously isn’t an issue. Is there something that SMAPI or Content Patcher is doing to allow the comments?
Sorry if this answered somewhere in the modding Wiki, and I just missed it

uncut viper
#

Newtonsoft.Json, which is what SMAPI uses, handles comments just fine.

#

It uses its own flavour of JSON that roughly matches up with JSON5

#

(SMAPI uses it but does not control it though, it has no impact on the development of Newtonsoft.Json. It's a very large and popular third party library)

unreal edge
#

Oooh that makes sense! Thank you!!

severe cairn
#

fixed it :D
Removed them every night before you save, that way it'll never be permanent data :3c

signal nova
#

Why can both the octopus and cottonmouth (brown spaghetti) able to be put into an aquarium, but not the shark?

royal stump
#

double-check the item ID and texture target for that one

signal nova
#

Shoot lol

#

It's case-sensitive

#

Makes sense

strong kite
#

Yknow the fact I found as many issues as I did from testing today makes me REALLY glad I didn't go through with pure laziness like I was feeling yesterday

signal nova
#

What is the name of the location for the Night Market Deepsea fishing area for adding fish into it?

strong kite
strong kite
#

Here's just hoping any new downloaders don't immediately come across any sudden and critical issues heehee

verbal glacier
#

bug report coming in 3... 2... 1...

strong kite
#

I should probably get that orange role and get added to that Modding Community wiki page now but I don't wanna ping and bother anyone to get it done 😔

#

-# and also get the mod on mod showcase heehee

urban patrol
#

start by making an account on the wiki

#

@outer glacier we have a cheetoing to be performed

ember lily
autumn tide
#

YES we shall expand our ranks

autumn tide
#

oooh yay new sticker!

gentle rose
#

(Do you want to be cheetoed?)

gentle rose
strong kite
autumn tide
#

WOOO we're one cheeto closer to taking over the world SDVpufferwoke

strong kite
gentle rose
strong kite
gentle rose
#

(those are not the instructions in question, but thank you claude!)

autumn tide
#

oh- whoops

strong kite
#

Should I include GitHub and Reddit stuff if those are unrelated to my Stardew Mods?

gentle rose
#

only if you want!

strong kite
#

I think I will purely because it tackles all of my different usernames for various places

jovial blade
#

Hey guys

proven spindle
jovial blade
#

Is there a mod to romance Evelyn

autumn tide
jovial blade
#

Ok

autumn tide
#

omg how did it take me THIS long to see this-

gentle rose
#

you have two of them!

autumn tide
#

I've always wondered why those sub-roles existed and never realized SDVpufferwaaah

gentle rose
#

(to be honest, there are very few pixelsmiths nowadays who don't also deserve contentsmith)

ornate locust
#

you do gotta do some contentsmith to get the pixels ingame

autumn tide
#

true, the scope creep will consume us all, it's kinda part of the cheeto-ing

gentle rose
#

I mean, you could always xnb-- kbf_run

strong kite
#

Hm... how original do the artworks have to be to be considered for Pixelsmith heehee

autumn tide
#

it's like that hidden terms and conditions

ornate locust
#

Or a replacer if it's a mod for a mod

gentle rose
strong kite
#

I'm sure out of 390 object sprites, 2-ish NPCs, 40 bundle icons, a furniture, and an asset sheet, there's SOMETHING I drew completely originally
Actually come to think of it, there IS something I know I drew originally (not considering picture references)

#

This lil thing heehee

wanton pine
#

...Which- Should I remove contentsmith on the grounds that I have yet to upload any non-reskins to Nexus?

gentle rose
#

(ping me when you've added yourself to the wiki, tntdove!)

strong kite
gentle rose
proven spindle
#

hmm i made a bunch of books, leaves, raccoons, monster portraits, and a hot air balloon, maybe i should grab pixelsmith lol

wanton pine
gentle rose
gentle rose
strong kite
autumn tide
#

YAYYY

verbal glacier
#

congrats SDVpufferparty

autumn tide
#

OUR RANKS ARE GROWING

gentle rose
#

welcome to cheetohood!

autumn tide
strong kite
#

Technically 2 years overdue but I feel like I've earned it at this point heehee

gentle rose
#

better late than never!

gentle rose
#

now you can showcase your own mod SDVkrobusgiggle

strong kite
#

I don't know how the mod-showcase works heehee

autumn tide
#

AND make a thread to show off mod stuffs

gentle rose
autumn tide
gentle rose
strong kite
wanton pine
#

On the topic of my one WIP mod that actually adds something, what's the proper way for a modder to get code troubleshooting support for a little-used framework mod, socially?

gentle rose
#

ask here and see if anyone knows, really

autumn tide
#

-# I just beg everyone in my thread

proven spindle
gentle rose
#

I took over a year to even release my mod after making it SDVkrobusgiggle

autumn tide
#

mod pages are hard

gentle rose
#

I just didn't even consider publishing it to be honest

#

I tend to make things for myself SDVkrobusgiggle

strong kite
#

I wanna make funny little mods until I get 30,000 unique Downloads and get Lifetime Premium on Nexus :)
I kinda doubt I'll get there from just this one silly Pokemon mod. If anything I'm worried about it gaining too much traction heehee

#

But also for now I should probably take a break and actually play the damn game LUL

autumn tide
#

you can do that

#

-# play the game that is LOL

verbal glacier
#

or make more mods

calm nebula
#

You have no choice

#

Once you've checked in, you may never leave

strong kite
#

I was gonna say I've got no ideas for other mods, but... looks over at list of other mod ideas

autumn tide
#

the cheeto dust will infect your brain with the scope creep disease. it's too late now. there's no going back. /silly

strong kite
#

Funnily enough I do have ideas for more things related to the mod I made, but I feel like they'll be addon mods rather than updates to the main mod. Like an artisan machine for making Poffins where I can learn how to make flavored things. And also cuz adding artisan machines requires a framework(?)

autumn tide
#

-# on that ominous note I shall retreat to my lair farewell

proven spindle
strong kite
#

Oh, sweet. I'll probably still make it an addon mod but good to know heehee

nova gale
#

Oh, I just realized I never added dwarven expansion to the wiki, I think it's still just Dwarvish

ornate locust
#

I don't think my mod list has changed since I got cheetoed

calm nebula
#

It's Friday!

ornate locust
#

that would require me to think of doing it

calm nebula
#

What's a mod you would make if you have infinite skill and time and ability to concentrate

proven spindle
#

I really want to make a stargazing mod

#

I've got a whole design doc and I've started learning how to make smapi mods

ornate locust
#

I'd just finish my WIP list

proven spindle
#

But it's probably still a long ways off

ornate locust
#

well, potential mod list, haven't started any of it, so it's less WIP

royal stump
ornate locust
#

Oh, or I'd do a mod to add in all the Dredge fish

royal stump
#

iirc a few other people also did that, but idk how it went

rich seal
ornate locust
#

but after that one Dredge fish I did, I was like "no I don't think I can do all these guys this small"

uncut viper
#

well now we have that big fish framework...

ornate locust
#

Yeah but that's for like... bigger fish

#

One of these things is an anchovy

royal stump
#

making them into multi-inventory-slot tetris like Dredge inventory, now there's an infinite timesink mod

strong kite
ornate locust
#

that anchovy is not a bigger fish, it's just more detailed

uncut viper
#

theres already an anchovy in the game and its drawn fine at a bigger scale, its not like you have to make the sprite super tiny to get the point across that its an anchovy

ornate locust
#

The fish I was considering are the aberrated versions

#

So it's a fucked up anchovy

devout otter
ornate locust
#

They're weird in ways I was utterly failing to get across in small size for the few I tried, and honestly for fish that are not actually bigger, I'm not sure I like how having extra detail looks in the same amount of space as other fish

royal stump
#

it seems like a hard art style to translate into stardew, short of an inventory upscaler (which would also kinda clash instead), so a lot of work, yeah

#

squishing horror-themed art into 16px is rough

ornate locust
#

I managed it for One Fish

severe cairn
#

anyone can guide me to creating jsons with C#? feel like it should be simple but I've always struggled with json stuff in C# for some reason
Like i know it can read .jsons but isn't there a simple way to export like... a template? (like a list of structs) or do I have to make the json manually (the export would just be to visually see how the layout is supposed to be)
I can figure it out on my own of course, but i feel like I'd overcomplicate it (as always with me and exporting .json files lol)

strong kite
#

ohh yeah I also wanted to add some fan Pokemon stuff. Not like other people's fan content, but like.. I think I could have SO much fun coming up with my own custom Berries in Pokemon's style

ornate locust
#

but it's just a really tall order and I didn't really want to upscale it because it clashed to my eye

strong kite
#

For my main mod I specifically chose to not include anything that isn't actually in the Pokemon series, outside of the cooking recipes. But for an expansion mod? Dear god I would LOVE to

uncut viper
brittle pasture
royal stump
severe cairn
#

whee

#

also i knew what was coming when i saw this SDVIridiumKek

royal stump
#

but yeah, several routes to see what a class will look like in json form

uncut viper
#

there are so few opportunities in here for a sharpie to answer a C# question

severe cairn
#

thankiee .jsons and me don't get along when it comes to coding, content patcher is nice 2 me tho

strong kite
rich seal
#

But can they see why kids love Cinnamon Toast Crunch?

severe cairn
#

I'm sooo close to "finishing" this mod :333
The fish tank spawns, the fish spawns and acts like regular fishtank fish, they're semi transparent in case you use a transparent fish tank like I do, now I just gotta make it load multiple things from a json SDVpuffersquee

uncut viper
#

Question

strong kite
#

It's actually so crazy how I finished the work for my mod and IMMEDIATELY am thinking "Oh man I should start doing 'this' for another mod!" like man I wanna finally take a break 😭

uncut viper
#

Why are you making it load things from a json file directly /gen

lucid iron
#

Did u framework it ™

severe cairn
#

What I'm doing lowk

uncut viper
#

A modern framework does not load jsons directly, generally speaking

ornate locust
#

there, better sample mods for my entry on the page

severe cairn
proven spindle
severe cairn
#

Oh waut

#

If you meant exporting a json

uncut viper
#

I did not

severe cairn
#

Awa

uncut viper
#

You can of course make a framework however you please, but the expectation nowadays is that a framework can be used with Content Patcher

#

Which means someone makes a Content Patcher mods and just Targets your assets

#

You do not load their jsons

severe cairn
#

Oh yeah that's the plan

proven spindle
uncut viper
#

(and in fact if it's a content patcher mod then your framework cannot load their jsons unless you reflect to find their folder, or tell them to point you to the folder, neither of which are good plans here)

brittle pasture
#

(and even if you do go the custom content pack route, SMAPI has APIs that handle that, no need for manual fiddling with Newtonsoft)

uncut viper
#

(but please do not go the custom content pack route)

severe cairn
#

All I want basically is to get the width and height of the place they want fishes at, the coordinates, optionally the texture, and then I need to create a fish tank w those somehow SDVpufferthinkblob

uncut viper
#

Again you should not be loading jsons directly to get that information

severe cairn
#

I'm not sure what loading jsons mean in this case, can you elaborate on that /gen

uncut viper
#

now I just gotta make it load multiple things from a json

Can you elaborate on what you meant by this to make sure we're on the same page?

severe cairn
#

I tend to not be the best at describing stuff so I wanna make sure there's no misunderstandings :3

patent lanceBOT
#

@autumn tide: do something idk (200d ago)

severe cairn
# uncut viper > now I just gotta make it load multiple things from a json Can you elaborate o...

Oh what I meant was basically get information i need (width, height, and coordinates, or straight up a fish tank furniture id) somehow

I just assumed it would be written in a content patcher file which uses json

Wait i guess most mods have a "valid patch target" thing

Was planning to peek at other mods for that part, I think what I'm struggling with now is creating the fish tank SDVpufferthinkblob I could make it require an existing fish tank but since I'm using c# anyway I wondered if it was possible just to get the bare necessities.

uncut viper
#

Okay, that makes more sense then, it sounded like you were planning on directly loading the .json files yourself from within your C#

#

Though I'm not sure what you mean by the "Valid patch target" part

severe cairn
#

Yeah I was peeking there actually :D

uncut viper
#

The "Custom Assets" part specifically on there is what you'll want to pay attention to

wide river
#

hi I wanna change the bars and ores sprites with content patcher, unpacked the asset with starboundxnbhack, I cant seems to find the files for the ores/bars, is it in a tilesheet ?? theres no tech issues, Im just not familiar with what is where once the assets have been unpacked

royal stump
#

Maps/springobjects iirc (with .png in the unpack)

#

all most basic objects are in there, including inventory items, forage/ore on the ground, etc

ornate locust
#

springobjects in Maps gets another one

#

Confusingly located

severe cairn
#

When I doubt, it's probably in springobjects fr

royal stump
#

and loosesprites/cursors for anything that's not an inventory item SDVpuffermlem

uncut viper
#

(TileSheets/Objects_2 for 1.6 items)

wide river
#

hmm, Id have to unpack it and repack it with like imagemagick ? Can I use 32x32 in content patcher and like replace only a specific thing in it ? sems annoying to use a whole spritesheet

#

also Im confused with it has languages it's a picture...

uncut viper
#

do not repack things

#

You must match the same sprite size as vanilla, 16x16

calm nebula
#

(The languages are because the milks, btw)

uncut viper
#

Unless you use one of those hd scaling frameworks like Scale Up 2 or whatever it is nowadays

ornate locust
#

There are words on some of the pictures

uncut viper
#

but Content Patcher works with pngs directly

calm nebula
#

If you look carefully the other languages have different letters

uncut viper
#

dont repack them into xnb

wide river
#

by repack I meant if I replace a bar dont I have to provide a full springobjects.png to it ? like I cant tell it to replace the spritr with coordinates X, Y can i ?

uncut viper
#

You can and should

calm nebula
#

You can tell it coordinates

wide river
#

ah ok, thanks a lot 🙂 makes sense now 🙂

warm field
#

I found that a nice way to figure out how ContentPatcher works is to download a small mod that is using it and to analyse what it does, using the above linked documentation. Learning on an example, basically

wide river
#

so Im guessing theres some sort of utility to browse the tiles in a tilesheet and find the coordinates for a specific tile or its done manually?

#

also just noticed this, that seems to be 2x 16x16 tiles then a 32x32 ore deposit ?

calm nebula
#

Every art program minus one will tell you the coordinates

#

Usually in one of the corners

#

Turning on the grid to 16x16 also helps

uncut viper
#

The game has many hardcoded exceptions to things in its code.

#

You yourself cannot tell an item to be 32x32

#

also thats the meteor

calm nebula
wide river
#

unless I had an hardcoded exception I guess in a code mod, but I suppose lanczos from 32x32 to 16x16 wont be that bad

warm field
#

As far as I recall, I don't think you need the coordinates of the game's image files, only in your own image (even MS Paint can tell you). You tell CP which item you wanna patch by using its item name or ID, I think? Unless I'm mixing up things

uncut viper
#

No, you do need the coordinates for both

#

You cannot tell it to patch an image by the item ID

warm field
#

I see I see. So far I only ever added my own items

uncut viper
#

That is, if you want to patch springobjects (which can be better for compatibility in some cases)

#

You can edit the Data/Objects entry for a specific item ID to tell it to use a different texture sheet and spriteindex entirely if you want

wide river
#

thanks a lot for starting me up for what I wanna do, sorry if my really newbie questions were aggravating I just needed an initial push to understand how it works at the very basic level

uncut viper
#

And then just Load your texture separately

#

It'll work but it's less compatible, which may or may not ever matter

wide river
#

in my case I want to have my own pics for bars and ores no matter what other mods also modify it so I was planning to use the loadimage action not editimage cuz the mod is only for my personal use to set up sprites preferences for myself

uncut viper
#

You should use EditImage.

brittle pasture
#

(if anything load makes it a certainty your edits will be overwritten; EditImage changes are applied after Load is finished)

uncut viper
#

There's no reason to re-Load the entire springobjects.png and only runs the risk of another mod you have installed conflicting and causing neither mod to work, and also what Selph says

#

You want to use EditImage to replace the specific sprite on the springobjects sheet

wide river
#

but its unclear what priority control we have ? like no matter if 10 mods modify those same coordinates I want it to load mine for certaion ? Shoulde I use like ZZZZ_ before the mod name so its loaded last for sure ?

brittle pasture
#

(I edited my post for more info)

uncut viper
#

The Priority you can set is listed on the documentation for every action Content Patcher can do

#

The name of your mod is irrelevant when other mods start using the actual priority system

#

Generally, a Late priority is good enough. If not, Late + 100, if not that then Late + 1000, etc

barren tapir
#

How do you use an input item in the output item's name in a machine rule? I currently have the following

brittle pasture
#

neither of those (internal name and display name) works

#

per the machine page, {0} can be used in internal names, and it will turn into the input object's internal name

barren tapir
brittle pasture
#

as for display names, it's documented on the Item queries page since it's not unique to machines, but you use some macros that turn into the display name of the item used as the "flavor"

barren tapir
#

Is this an EMC exclusive thing?

brittle pasture
#

no

wide river
#

I ended up doing this ```set IM_CONVERT="C:\Program Files\ImageMagick-7.1.1-Q16-HDRI\magick.exe"
set INPUT_FILE=springobjects.png
set OUTPUT_FILE=spring_tile_%%[filename:loc].png

%IM_CONVERT% %INPUT_FILE% -crop 16x16 -set filename:loc "%%[fx:page.x]_%%[fx:page.y]" +repage %OUTPUT_FILE%``` so that in the sprites when browsing them I see their coordinates in the filename 🙂

brittle pasture
#

-# lil overkill but i love it

brittle pasture
#

-# i really need to write that guide some day

barren tapir
#

Okay, I feel like an idiot here. WTF am I doing wrong 😅

"ObjectInternalName": "FLAVORED_ITEM Smooth DROP_IN_PRESERVE Stone Boosted",
                                    "ObjectDisplayName": "FLAVORED_ITEM {{i18n:Smooth.Name |mineral=DROP_IN_PRESERVE}}",
                                    "PreserveId": "rock",
brittle pasture
#

FLAVORED_ITEM doesn't work for non-vanilla items

barren tapir
brittle pasture
#

you want to use just the item ID, and rely on other machine fields to fill in stuff like flavor inherit/copy color/input price boost

calm nebula
#

Great examples in cornucopia

brittle pasture
#

and also read through the machine page for more explanation

barren tapir
#

And how would I pass the flavor name into my i18n file? Cornucopia does the following [LocalizedText Strings/Objects:Cornucopia_WaxMelts %PRESERVED_DISPLAY_NAME]

ornate locust
#

You don't need to "pass it in" if you use strings

#

That is an advantage of strings

brittle pasture
#

Cornucopia is using i18n in the code where it loads the string into Strings/Objects

sour sapphire
#

Content Patcher modding question for loading textures: I'm adding animals. I have a content.json and three templates I'm referencing. One template for the animal data, one for loading the shop Icon, and one for loading the texture. The shop Icon loads just fine, but when I do the texture load the same way, the game isn't finding the asset. When I don't use a template and hardcode the texture load with the file path in content.json, it works just fine.

I'm getting an error of failed to load texture path '': asset doesn't exist. Defaulting to error texture.. Anyone have any idea what could be the issue?

image loading templates:
ShopI Icon template

{
    "Changes": [
            {
            "LogName": "Load shopIcon for ({{Animal}})",
            "Action": "Load",
            "Target": "Animals/{{ModId}}_{{Animal}}_Icon",
            "FromFile": "assets/{{Animal}}_Icon.png"
        }
    ]
}

texture template

{
    "Changes": [
            {
            "LogName": "Load adultSprite for ({{Animal}}{{SkinExt}})",
            "Action": "Load",
            "Target": "Animals/{{ModId}}_{{Animal}}{{SkinExt}}_Texture",
            "FromFile": "assets/{{Animal}}{{SkinExt}}.png"
        }
    ]
}

How they're being referenced in my animal template:

"ShopTexture": "Animals/{{ModId}}_{{Animal}}_Icon",
"Texture": "Animals/{{ModId}}_{{Animal}}{{SkinExt}}_Texture",

An example of them being called from content.json

{
            "Action": "Include",
            "FromFile": "templates/ShopIcon.json",
            "LocalTokens": {
                "Animal": "ChickenFrog",
                "SkinExt": ""
            }
        },
        {
            "Action": "Include",
            "FromFile": "templates/Texture.json",
            "LocalTokens": {
                "Animal": "ChickenFrog",
                "SkinExt": "_White"
            }
        },
{
            "Action": "Include",
            "FromFile": "templates/Frog.json",
            "LocalTokens": {
                "Animal": "ChickenFrog",
                "SkinExt": "_White",
                "PurchasePrice": "800",
                "SellPrice": "800",
                "RequiredBuilding": "Coop",
                "ProduceItemId": "176",
                "DeluxeItemId": "174",
                "DaysToProduce": "1",
                "DeluxeProduceCareDivisor": 1200,
                "DeluxeProduceLuckMultiplier": 0,
                "HarvestType": "DropOvernight",
                "HarvestTool": "",
                "HarvestedTexture": "",
                "UnlockCondition": "",
            }
        },

I used to have the texture load in the animal template but broke it out on its own while trying to debug this issue.

brittle pasture
#

but yeah that's the localized text token that says "pull this string from this location, while passing %PRESERVED_DISPLAY_NAME as the argument"

barren tapir
ornate locust
#

oh that'd do it

brittle pasture
sour sapphire
#

Yeah one sec

brittle pasture
#

(also it's recommended to upload to smapi.io/json if able, makes it easier to view)

sour sapphire
#

ah

#

I am new to stardew modding. Thanks for the tip.

brittle pasture
#

I see you're missing BabyTexture, but not sure that causes the shop issue

#

is the error during the shop or after purchase

#

oh wait the actual issue is probably that you set HarvestedTexture to an empty string

sour sapphire
#

I haven't implemented babies yet, so it should be the default none there

brittle pasture
#

it has to be null if it should not be used

sour sapphire
#

The issue happens after the shop. The shop shows the icon fine, but the actual animal has no tecture running around.

brittle pasture
#

so you need to either not set HarvestedTexture at all, or set it the same as the regular texture if it's not different

cyan marsh
#

XP i have to recreate my Unique Response Core's error checking

#

I cannot remember how to check the dialog for my keys and values

barren tapir
#

Success! Now I only have the following left to do:

  • Crafting Recipes
  • A bunch of output rules for the stone crusher
#

I also did the most important thing for any of my mods - figuring out an appropriate outfit for the mod page.

calm nebula
#

You dont just hit random three times and hope for smth?

barren tapir
#

TBH, this was meant to be a temporary save, and I just kept using it 😅

ornate locust
#

You don't just go Captain Default?

calm nebula
#

Captain Default is boring

ornate locust
#

True but it's like a mannequin

#

they're there to show off the mod, it's incidental

#

So they don't need to grab attention from the mod

barren tapir
#

TBF, it was originally meant to be "Debug", but that save ended up not panning out

#

Besides, I can't say bye to t Copy - look at how many dinos they've raised bc I keep putting off work on my book mod until I finish this rock mod

rich seal
#

Surprised you didn't name your character Fred with all your rock-related work

barren tapir
#

This is my first rock mod

sour sapphire
#

I did break something else terriblly with ShopIcon while debugging this, so I get to fix that now, but man I've been stuck on that one issue all day and now there's a path forward

brittle pasture
#

(yeah unfortunately you can only use tokens in strings, and "null" will become the string and not the null value)

barren tapir
#

-# Though a small part of me thinks it'd be funny to see someone get to the island after having ~10 new dinosaur spawns each day.

coral nexus
#

hey im new to map designing and was wondering how i go about adding foraging spots, as ive expanded the backwoods and want the area up the top to be forageable (heavily wip so dont mind the ugly design currently for map layout)

cyan marsh
#

blargh.. what do we use instead of IAssetEditor now?

sleek flint
ornate locust
#

Expanding up and left is not a good idea on maps

#

if I'm reading that right

#

It can mess up a lot, like the vanilla scene with Abigail on this map

ornate locust
cyan marsh
#

now i just need to rewrite my checking code

sleek flint
#

gl

ornate locust
#

other than that, I THINK by default foragables spawn just anywhere there's grass, but don't quote me on that

#

If a map has forage enabled on it

coral nexus
ornate locust
coral nexus
#

And if I do adjust the map size out how would I go about modifying the event , plus is there a way to change where the monster obelisk gets placed down too alongside it?

sour sapphire
#

On my way closer to replacing every livestock with a frog so I don't have to deal with the rest of the animals any more.

#

Got an issue now where I copied the alternate purchase type code from the vanilla chickens, but instead of behaving like the chickens, I end up with two chicken shop entries. One returns brown, one returns blue, and white never spawns.

rich seal
#

Do both of them have a sell price? Only one should (the one you're buying, aka the one with alternatepurchasetypes in its data)

sour sapphire
#

ahhhhhhh I'll try that fix

rich seal
signal nova
#

Everytime I create a fish, it also always automatically creates a smoked fish. Is there any ways to remove certain smoked fish in Content Patcher?

tender bloom
#

Not that I know of — you can essentially forbid its creation though

#

by editing the smoker rules

#

Note that idk if this causes issues if any quests ask for a smoked XYZ

barren tapir
#

4/11 rules done thus far

brittle pasture
#

CJB cheats just use a heurestic that goes "if fish, create smoked fish item"

hard fern
#

like pickles or jelly

#

or roe

brittle pasture
#

so yeah as elizabeth said you can just forbid smoking it in regular gameplay

brittle pasture
barren tapir
#

And by 4/11, I actually mean 4/15

scenic ferry
barren tapir
#

Yes!

barren tapir
scenic ferry
#

YIPPEEEE

barren tapir
#

May the cheese be ever in your favor

signal nova
#

Also, I'd like to know: what is the difference between the seasons/weather in the first and second screenshot?

calm nebula
#

First one is that fish in particular

#

Second one is that locations entry for that fish

#

(Also it's unnecessary on the second one lol)

barren tapir
#

And your Macs be always cheesy

brittle pasture
calm nebula
#

No it's used

#

If you dont ignore in the location data

brittle pasture
#

I think only weather is used? but I remember investigating the season issue and it is ignored

#

the wiki says it's unused

signal nova
#

It's so confusing, because I'm trying to get the alligator snapping turtle fish to spawn in fall **AND **during rain, but it's not showing as spawning during rain using LookupAnything, but in the code I have it as both rain, so I don't know if I'm crazy or what

calm nebula
#

Iirc lookup anything doesnt habdle the condition field right sometimes

barren tapir
#

Only 7 more rules left to go I believe. Though, with that said, I'm probably going to call it a night

signal nova
barren tapir
#

Lookup anything is a mod

#

Oh, I see what you mean

#

Curse you brain for trying to work near midnight

signal nova
#

I guess everything has its limitations...

calm nebula
#

it actually does not use the season in fish data, that's...interesting

#

but it does use the weather

#

the heck?

#

Selph, you take over, I'm running back to blue popcorn

#

jk :P

#

why is github so damn slow today smh

brittle pasture
#

the Condition correctly uses rain

#

-# I know it took me a moment too

signal nova
#

I see thank you

calm nebula
#

(does rainy not log an error if you try to fish for it?)

#

I guess not

urban patrol
#

iro answered right after you sent that and said to just ask and see if anyone had an answer

fading meadow
#

So like kind of a request?
I was wondering if anyone would be interested in making an Icelandic translation mod for stardew cause the only one I’ve found is outdated and I’d love to see what the game would be like in Icelandic as I’m Icelandic myself
If anyone is willing, I’d be happy to help with translating! :)

ocean pagoda
#

I can update it to work with 1.6 if that's your problem or there are sentences to be translated

ocean pagoda
#

shoot - this is ancient for 1.3.36 🙂

#

yeah will make it and will dm you - however you'll need to translate the lefovers

fading meadow
#

Ofc :D

ocean sailBOT
#

@fading meadow You leveled up to Cowpoke. You can now share images in all channels!

ocean pagoda
#

probably the images might be missing and a lot of text will be in English ... or if you preffer any other language to translate from let me know

#

so the images has to be updated to the 1.6.15 version - as well

fading meadow
#

O

ocean pagoda
#

yeah 🙂 not my cup of tea as well 😄

fading meadow
#

I mean I have no idea how making mods works lol I was just thinking of being the translator if that makes sense

#

But like feel free to dm me and we can work sth out :)

ocean pagoda
#

oh, checked the data in the mod ... this mod is missing ... everything

fading meadow
#

I’d love to make this game accessible to Icelanders who don’t speak much English like especially younger players

ocean pagoda
#

it has only partial characters dialogues - from back then 1.3

fading meadow
#

Oof

#

That really sucks :(

ocean pagoda
#

I mean ... i'll give you everything - you'll just need to ... translate it

#

the problem are the images

ocean pagoda
#

if you're not artist or know how to use paint ...

#

🙂

fading meadow
#

I wonder if someone else can do the images?

#

We can be like the ultimate Icelandic mod trio or sth

ocean pagoda
#

here is ask and you might recieve 🙂 so ... i'll not comment anymore - hopefully some good soul see your messages

#

will DM now - and when I'm ready will send you the mod with explanations and all

#

you'll at least will need to know how to type in notepad/notepad++/vscode or anything that can open *.json files - they'll contain all the translations

fading meadow
#

Got it

coral nexus
#

Pretty happy with the progress on my backwoods modifications so far

spark halo
#

Me when I'm coming up for an idea for my mod that is "cool" and "original" then I fond out Ridgeside Village already did it smh 🤦‍♂️

fossil osprey
#

!twocakes :)

ocean sailBOT
#

If you discover that someone has made or is making a mod with a similar concept to yours, don't stress! Our community promotes the idea of "two cakes", where two versions of the same idea can peacefully co-exist. Your mod will have your own unique stamp on it that makes it special.

spark halo
#

Lmao true

round dock
#

!twoca- what they said

golden shadow
#

I can't find the event answer IDs for the Sebastian frog event, specifically the "It's our new son", I am going crazy trying to find this number. Does it just not exist or am I looking in the wrong place?

mellow laurel
#

is that his 14 heart?
9333219 - pt 1
9333220 - pt 2

golden shadow
#

But I need specifically the dialogue answer ID for the son thing, I can't find it though. I try searching "$r" in the thing for the event but that event doesn't even have that

mellow laurel
#

it's in Data/Events/Farmhouse.json

vernal crest
#

You can't because it's a quickQuestion, not a dialogue question. There's no id associated with it.

golden shadow
#

Okay thank you, I just needed to know if it had one or not

sterile crescent
#

is it possible to move a door warp by half tiles? im reattempting to make a bus sprite replacement and the warp is like half a tile to the right but i cant move the door sprite at all

vernal crest
#

No, they have to take up a full tile. If you attempt to move it partway across a tile, it will just snap into whichever tile it is closest to.

sterile crescent
#

devastating

vernal crest
#

I would recommend making the warp two tiles wide so that the whole door is covered and see if it feels too obvious that it's wider than the actual door. It might not be very noticeable.

sterile crescent
#

seems good!

wanton pine
#

(since it's so infrequently used that the regular, very appreciated cheeto-fingered pufferchick volunteers are near-certainly unfamiliar with Custom Mounts)

#

(will check board in morning, must go to bed)

latent mauve
#

Could always try to ask here anyway, since there's a chance one of us will know or be able to figure out enough from the documentation and source code, since the source code is linked on Github.

vernal crest
sleek flint
#

@vernal crest What happened to your green?

vernal crest
sleek flint
#

Oh that's a shame, but your health comes first heart_emote

blissful panther
#

(Aba's just being too kind to us. We accidentally left the cupboard containing the green removal spray open, and... well... /j)

#

(I hope things are looking better now though at least?)

sleek flint
blissful panther
#

(We have one for applying and removing all of the role colours!)

vernal crest
blissful panther
torpid sparrow
#

Is the Cheeto spray filled with Cheeto dust

latent mauve
#

How else would they get this particular orange?

blissful panther
#

The Cheeto spray is specifically like one of those dry air fresheners, because it's powder instead.

deep cypress
gray bear
#

do i need to have 2 values here or will typing YEAR 2 make it so the condition applies from year 2 onwards

torpid sparrow
#

The [] = optional to put

vernal crest
#

The latter. The square brackets indicate that it's an optional argument and it explains that the default is unlimited.

gray bear
#

ooh, i see. thank you 🩷

vital star
#

the tool slowly gets some functionality...

fossil osprey
#

oh you're generating event for C# mods?

vital star
#

it officially built a cutscene for me 😂 next up add some basic timeline editing for speech, pauses, characters walking, playing sounds.. fix some bugs, add some maps/npcs/music IDs, ship it to prod baby

#

yeah, rightly or wrongly (im guessing wrongly) thats how I want to do things for my first attempt at a real mod so just thought i'd throw this together so that it's a bit less cumbersome for me to make cutscenes

fossil osprey
#

I was mostly curious about the "for C# mods" part ^^

blissful panther
#

It looks like it's something of an internal tool with the whole EventBuilder part?

Unless that's from a framework that was released I haven't seen yet!

vital star
#

yeah only because I am making a C# mod but no reason the output couldnt be for content patcher

vital star
fossil osprey
#

yeah maybe i am misunderstanding the preview, as I haven't seen what event looks outside of CP x) I assumed that was what is show

blissful panther
#

In "vanilla" Stardew C#, it's really just... an event string like usual.

vital star
blissful panther
#

Though granted I suppose you should be able to tweak the commands having given it a blank event string.

#

I just don't think I've seen that be done!

blissful panther
vital star
#

thanks! to be honest it is probably not for me to create such a tool given I don't know what is best practice with respect to building events, but if it helps me create a few cutscenes without too much effort for my first mod I will be stoked

#

if it can be improved and produce a generic output to help others with their events at some point that would be even better but I am a terrible cowboy developer soooo I make no promises 🤠

inland rain
#

Fence Repair: repair fences at any time using raw materials, check fence health with a hotkey.

uneven pollen
wanton pine
wanton pine
vernal crest
wanton pine
#

This is my first time hearing about patch exports, but I'm willing to try. Do you have a link to a good guide/tut on how to do it?

vernal crest
#

You don't need a guide, it's extremely straightforward. Copy patch export aedenthorn.CustomMounts/dict into your console and then go find the file it exports and have a read of it.

strong kite
#

Broooo why did I have to spot a minor grammatical mistake after releasing the update 😭
Whyyyy is that comma there sobs

wanton pine
vernal crest
strong kite
wanton pine
strong kite
#

Aw shoot this'll also be an issue-
I mean... okay I had a feeling that these could be an issue but I wasn't 100% certain but.. yep now I know 😭

vernal crest
strong kite
#

I guess so heehee

#

Anyone know how I'd go about making it so those don't appear in the cutscene? outside of it being a separate, new version of the location from my files?

vernal crest
strong kite
vernal crest
wanton pine
vernal crest
strong kite
clever monolith
#

those are some sus ingredients for a fish dumpling gus

jaunty trench
#

do sv modders ever need music for their mods or do yall just stick with the default music and sfx?

fossil osprey
#

depends on people

#

some make custom music, other use vanilla ones

wanton pine
jaunty trench
vernal crest
daring skiff
wanton pine
vernal crest
#

I make a new test save for pretty much everything

#

You're using debug commands to build it, right, so it's not like it'll change much to have a new save

blissful panther
barren tapir
#

Finally done with all the stone/clay/sand outputs of my rock crusher... Now all that's left is the metal bar inputs

autumn tide
wanton pine
#

@jaunty trench a good example of an awareness builder would be to made a new track for the lagoon from Polymary Sweet, build a CP for it, and upload it to Nexus. I honestly would probably download your work if you did that - there is already a mod that does this and its music track is not to my taste.

strong kite
daring skiff
wanton pine
daring skiff
#

The community is very collaborative. You have to make stuff if you want people to recognize you. I would not be thinking of commissions without having made or participated in making a few mods yourself.

barren tapir
#

All that's left is the crafting recipes!

vernal crest
wanton pine
#

Thank you, Aba. You help is much appreciated.

vernal crest
#

I'm glad we could get it working for you!

jaunty trench
autumn tide
#

collabs are a thing!

jaunty trench
jaunty trench
daring skiff
#

Don't be scared of coding. So much time and effort has been put into creating tools and frameworks that allow you to make mods without ever needing to learn how to code.

nova gale
#

Content patcher doesn't require code, just config, especially if you don't try conditional changes

jaunty trench
nova gale
#

(CP is content patcher, a tool to let you modify game files without code)

jaunty trench
#

oh okay thank you

daring skiff
#

Yeah, Content Patcher is hardly the kind of coding you're thinking about.

blissful panther
nova gale
#

Someone else (pathoschild) did the code so you can just provide a config file and their code will incorporate your configured changes

jaunty trench
#

@daring skiff can i listen to the music from your mod somewhere without downloading the mod?

strong kite
#

hm... if I spawn in multiple copies of the same NPC as temporaryActors for an event, is there a way to make them ALL react to a command like shake?

daring skiff
#

Bottom of the page.

jaunty trench
wanton pine
#

should "BuildMenuDrawOffset": { "X": 0, "Y": -96 } work?

jaunty trench
daring skiff
#

No. You have a content blocker that is blocking the embedded Soundcloud player from loading.

vernal crest
nova gale
#

Does the new mod file requirement on nexus not make the mod appear under "mods requiring your mod"?

wanton pine
jaunty trench
#

anyways where would i find modders who need music?

daring skiff
#

But don't stress, you should look at the manifest.json when you get the chance. We probably shouldn't clog up chat, so feel free to bug me if you have questions. I would also recommend looking at MissCoriel's mods. Good luck.

Nexus Mods

View MissCoriel's Mods, Collections and Media

wanton pine
vernal crest
nova gale
autumn tide
#

!comms

ocean sailBOT
autumn tide
#

YES

nova gale
#

There is also "making mods art" that focuses more in drawn art but folks on the music side might be there as well I suppose

#

I don't hang out in there since I can't art my way out of a paper bag

jaunty trench
nova gale
#

Ya. That's why folks are suggesting you make and post some mods

#

Folks are more likely to seek you out if they recognize your name

#

I don't even do commissions and I get PM requests to do them occasionally on nexus

#

(I decline, I have no interest in turning a hobby into a job)

jaunty trench
#

a hobby job is the best job

jaunty trench
#

i wish there was some collaboration channel in the mods category here

nova gale
#

Disagree but to each their own 😉

blissful panther
#

@jaunty trench, as a quick example just to illustrate how little you need to do to change music in the game:

manifest.json

{
    "Name": "My Fancy Music Mod",
    "Author": "new.page",
    "Version": "1.0.0",
    "Description": "Changes the title screen music!",
    "UniqueID": "new.page.new_title_music",
    "UpdateKeys": [],
    "ContentPackFor": {
        "UniqueID": "Pathoschild.ContentPatcher"
    }
}

content.json

{
    "Format": "2.9.0",
    "Changes": [
        {
            "Action": "EditData",
            "Target": "Data/AudioChanges",
            "Entries": {
                "MainTheme": {
                    "ID": "MainTheme",
                    "Category": "Music",
                    "FilePaths": [ "{{AbsoluteFilePath: assets/new_title_music.ogg}}" ],
                    "StreamedVorbis": true,
                    "Looped": true
                }
            }
        }
    ]
}
#

All in a folder exactly like that, and you have a mod that changes the title screen music.

barren tapir
#

It's finished! Time to get screenshots and make the mod page!

severe cairn
#

Wee okay hats work without having to do anything, great

jaunty trench
#

is there perchance a place where people list their projects and look for artists like there is one where artists are looking for work?

nova gale
#

There was a page once upon a time where people posted mod ideas and occasionally commission requests, but for the life of me I can't recall if it was for SDV or Skyrim/Fallout, been a long time since I looked

The majority would require more than just music though, they frequently want graphic art or dialogue or new gameplay features.

fossil osprey
#

!modideas you're thinking about this

ocean sailBOT
#

If you have a mod idea that you aren't planning to make yourself, you can put it in the mod ideas github: https://github.com/StardewModders/mod-ideas

However, this does not mean anyone is guaranteed to work on your idea—modders who are looking for ideas sometimes go through and work on what they find interesting off this list. If you want to pay someone to make your mod idea, there are a few people who do commissions (mostly art, sometimes code); you can ask around, search usernames for the word comms, or see !commissions.

fossil osprey
#

and this page is for all kind of mod ideas, not just mod you want to do
so if you have an idea but don't want to bother doing it, you put it here and maybe someone will do it

strong kite
#

WELP- I figured this was coming I just wasn't expecting it so soon

jaunty trench
nova gale
#

One option of course is to have a few variations of the map change and control which one to use via config option, so they can pick the most compatible

torpid sparrow
nova gale
#

I did alter floor 120 of the mines in my WIP mod, I fully expect that to cause a conflict even though it's 2 tiles 😛

strong kite
#

How do I pull textures from another mod's assets in Tiled?

barren tapir
#

https://www.nexusmods.com/stardewvalley/mods/46288

And its finished! Adds more uses for minerals alongside ways to get stone and clay! Ignore the wonky text size in the description, Nexus isn't letting me fix it.

Nexus Mods :: Stardew Valley

Adds more uses to gems and minerals, adding two new artisan goods and several means of getting stone and clay!

strong kite
devout otter
#

If they load their asset, you can just put the file in the same folder like the vanilla asset when editing.

strong kite
#

Will errors like this be fine in game?

devout otter
#

Definitely not.

strong kite
#

shoot

#

hm... I technically don't have to patch that part

devout otter
#

Just don't save your map when there's error like that. It would not load in-game.

strong kite
#

Well I just need this for a map patch

#

So it's not its own map, just parts of this map to patch in

rich seal
#

I'm learning how to clean up code, and I ended up adding Bonzi Buddy to my main mod. God help us all.

barren tapir
#

Now I can finally fix this mess!

rich seal
viral gazelle
rich seal
#

Don't worry. A) I can't code for squat, and B) the only personal data you can milk is just a funny little item

#

Quite literally called "Personal Data" lmao

blissful panther
rich seal
#

Oh god

marsh reef
#

I don’t recognize this but I also do, why do I feel a dread but idk why

rich seal
#

You may be too young to remember it. Bonzi Buddy was a notorious adware program from the early internet.

#

It was a charismatic purple gorilla that would play on your desktop, change your browser's homepage, make ads pop up, and more.

#

Consider yourself blessed for never experiencing it

blissful panther
#

Farm animals make sound, you know... https://www.tetyys.com/SAPI4/.

Good thing there's no way to produce Bonzi Buddy's voice at all to include in the game.

#

I definitely wouldn't use "Adult Male #2, American English (TruVoice)" with a pitch of 140 and a speed of 157 or anything.

rich seal
#

I am not adding a voice to that cursed gorilla lol. If someone else wants to do that as a compat patch, then more power to them. I'll just keep it silent for my own sanity lol

strong kite
#

Okay my map patch is mostly working, but I don't know why these are still appearing...

round timber
#

youd have to reset terrain features

#

!rtf

ocean sailBOT
#

Reset Terrain Features (https://smapi.io/mods/#Reset_Terrain_Features) is a mod that lets you reset, clear, or generate everything that spawns on a map using an in-game menu. That's especially useful when changing maps mid-save, as the debris will otherwise use the old layout (causing things like trees in the water or bushes blocking exits).

round timber
#

they wont appear at all if you are using a new save

strong kite
#

Ohhh because I added SVE to an existing save? Alrighty!

round timber
#

yah

strong kite
#

riiiight I forgot bushes are... stubborn heehee

#

There is a reason I needed this triggeraction heehee

blissful panther
#

Well, the ID is certainly descriptive. SDVkrobusgiggle

round timber
#

lmao

strong kite
#

I'm also gonna have to look at the other map patches I made and hope to god SVE doesn't mess with them either.. Tiredkip

#

Farm cave seemed fine

#

It's not so Hidden anymore, but I definitely think this works!

#

It's in the exact same coordinates as it is for vanilla so I didn't even need to change any warp code

blissful panther
#

Good to know BETAS has that trigger action though, actually. I was considering putting the same in MEEP.

strong kite
#

ohhh shoot right there's... a lot more to test than just this spot... I have 4 other map patches plus a warp hub I'm gonna have to make sure doesn't put you in a softlock

#

OH NO.

#

OH GOD THE WIZARD'S INTERIOR IS ALMOST COMPLETELY CHANGED OH NO

rancid gate
#

prettyyy

strong kite
#

I'm gonna have to completely remake some of these events for SVE

ornate locust
#

SVE's wizard interior is fairly compatible, in that while the door location has moved, the main room coords are all the same

#

Since it expanded down

strong kite
#

The stairs leading upstairs being only 1 wide now will probably be an issue tbh

#

Like UP upstairs

#

But yea it seems like the actual location of the rift is still compatible

round timber
#

(i had to change my wizard tower event A Lot to accomodate for SVE lmao)

ornate locust
#

It depends on the event, of course

#

I didn't have to change mine at all

strong kite
#

oh........ oh no nevermind.....

#

This is.. really bad-

#

there are no bookshelves

rancid gate
#

wdym this looks so pretty

strong kite
rancid gate
#

you can just add some bookshelves with the wizards catalog

round timber
#

thats not what the problem is

#

if an event uses the bookshelves from the vanilla map, youd have to rewrite the event to accomodate for the complete lack of them in the sve version

#

(this is also the problem that i ran into, my event also utilized the bookshelves)

strong kite
#

I will have to remake a lot of the event specifically for SVE. But WORSE is that I'll have to change warps and what not

calm nebula
#

(Can you use the bookshelves in his basement?)

strong kite
#

Becuase it's not just the event, it's ALSO a permanent addition to the location

ornate locust
#

I do find it odd that they removed so many bookshelves and added so many plants. I guess they did add the basement, but it still confused me

strong kite
#

I'm very worried about one of the other locations, which is in the Mountains. But I'm feeling somewhat good about the 4th map patch being fine

#

I have to check, though

ornate locust
#

Just brace yourself

#

Because I felt good about some map stuff too

strong kite
#

Uhhhh...??? This is fine?

blissful panther
#

And very much don't feel like you have to rush through getting compatibility added!

strong kite
#

I think this is fine

#

oh wait the tree is missing texture

ornate locust
#

And it did not turn out that way, SVE changes many small things

calm nebula
#

(You can also just open permissions and let someone else do SVE compat)

#

Lol

ornate locust
#

Definitely an option

strong kite
#

Wait I'm willing to bet this only works ish because I map patch like a 3x3 area...

#

PHEW the Ginger Island stuff is untouched...

round timber
#

basically the only vanilla thing that SVE barely touched

ornate locust
#

SVE doubled my map patches, I just go into SVE compatibility with that expectation and then all future surprises are pleasant "oh this works already" ones

strong kite
#

Alright, these fixes don't seem like they'll be that hard to implement or even that time consuming, just man this was startling lmao

#

-# will probably still take a day, or two cuz I'ma be leaving the house today

uneven pollen
strong kite
#

The cutscene will take a hot minute and a workaround but I have ideas for it

brittle pasture
strong kite
#

Tbh this also probably would've been better if I was even remotely familiar with SVE like.. at all LUL

#

It looks like something I'd use! It just seems to make my game almost crash every time I load my save-

round timber
#

loading a new modded save, especially with something big like SVE can take a while, it might not actually be crashing per se

strong kite
#

Well I say crashing because it briefly does the "Program does not appear to be responding" thing with the blue circle mouse cursor thing while I'm loading the save but it resolves pretty quickly

barren tapir
#

That's normal

strong kite
#

It hasn't been for me until I installed SVE heehee

barren tapir
#

I know. It's normal with SVE

strong kite
#

I do understand it's just from having a lot of mods (or big mods), I know it's not like SVE is unoptimized or something

#

Just wanna make that clear lol

#

oh god SVE also probably messes with my 8 heart event for Darkrai Waaa

barren tapir
#

Though I do suspect there may be a memory leak going on somewhere, as I've noticed restarting everything tends to greatly improve loading times

#

After SV has been running for a while

strong kite
#

Wait where's the TMX for the wizard's house in SVE 😭
Oh no am I gonna have to get REALLY creative with my solution here

#

Oh wait is it because it's a .tbin

#

I don't know what to do with those

autumn temple
#

Tmx is a better version of tbin if i understand it correctly

brittle pasture
#

you can open it in tiled

strong kite
blissful panther
#

Just have to enable the tbin plugin, which I believe is installed but disabled by default?

brittle pasture
#

SVE uses tbin since it's an old old mod, long before the ability to load tmxes

wanton pine
barren tapir
#

I no longer have 400+ dinosaurs on my ginger island 😔

strong kite
#

I either get super creative with my implementation and have to change up a lot more things code-wise, ORRRR I try really, REALLY hard to make this work in its usual position

strong kite
#

Alright I have a solution for the rift itself, although the TileData isn't working and I'm not sure exactly how to fix that

gaunt orbit
# strong kite

b- b drive? yall got stardew mods on floppy drives now?

strong kite
#

I just.. picked a letter for my drive when I got it-

barren tapir
ornate locust
#

Any drive can be a B drive

#

fellow old person :V

strong kite
#

godddd okay I don't know why the tile data isn't included in the overlay patch

barren tapir
ornate locust
strong kite
#

Im kinda wondering if it's because it's overlay and not replace by layer?

ornate locust
#

example, I use it here to make the ground make wood sounds

            "LogName": "Map Patch - Gus's Door",
            "Action": "EditMap",
            "Target": "Maps/Town,Maps/Town-EggFestival,Maps/Town-EggFestival2,Maps/Town-Fair,Maps/Town-Fair2,Maps/Town-Halloween,Maps/Town-Halloween2,Maps/Town-Christmas,Maps/Town-Christmas2",
            "FromFile": "Assets/Maps/DoorRamp1.tmx",
            "PatchMode": "Overlay",
            "ToArea": {
                "X": 44,
                "Y": 70,
                "Width": 3,
                "Height": 2
            },
            "MapTiles": [
                {
                    "Position": {
                        "X": 45,
                        "Y": 71
                    },
                    "Layer": "Back",
                    "SetProperties": {
                        "Type": "Wood"
                    }
                }
            ],
            "When": {
                "HasMod |contains=Latteholn.RuralsOfItaly": false,
                "Ramp1Active": true
            },
            "Priority": "Late"
        },```
#

Also apply a small map patch, but you can see the "MapTiles" bit

strong kite
#

is SetProperties basically the same as CustomProperties in Tiled?

ornate locust
#

Yeah, it's the same as if I put this on a tile

strong kite
#

Awesome! Ty!

#

Once I have this working all I'll need to do is make the cutscenes. And then.. i should also check out the other cutscenes that aren't in custom locations...

#

huh.. it didn't work... is it because it's a wall?

ornate locust
#

Is it on the building layer?

strong kite
#

Yes

ornate locust
#

The property, I mean

strong kite
#

The property is there using Lookup Anything but I can't actually click it in game

ornate locust
#

If the property's on the building layer and there is a tile on the building layer, that should work...

strong kite
#
        {
            "Action": "EditMap",
            "Target": "Maps/WizardHouse",
            "When": {
                "HasSeenEvent": "{{ModId}}_BadDreamsWizard",
                "HasMod |contains=FlashShifter.StardewValleyExpandedCP": true
            },
            "FromFile": "assets/Maps/WizardHouse_RiftSVE.tmx",
            "FromArea": {
                "X": 5,
                "Y": 6,
                "Width": 1,
                "Height": 3
            },
            "ToArea": {
                "X": 6,
                "Y": 1,
                "Width": 1,
                "Height": 3
            },
            "PatchMode": "Overlay",
            "MapTiles": [
                {
                    "Position": {
                        "X": 6,
                        "Y": 3
                    },
                    "Layer": "Buildings",
                    "SetProperties": {
                        "Type": "spacechase0.SpaceCore_TriggerAction TntDove.PBB_EnterRift"
                    }
                }
            ],
        },```
ornate locust
#

Is that supposed to be a Type and not an Action?

strong kite
#

-# you're so right

ornate locust
#

That'd do it

strong kite
#

my other cutscenes seem to be fine enough. The grass that SVE adds is annoying but it's fine heehee

#

Alright it's working now WOOOO!

barren tapir
#

How would one add a global save variable to the game? I have a shrine that, when activated, should be applied to all players

azure aspen
#

How would I go about editing a mod that already exists to be playable with my other mods?

ornate locust
#

That depends on the mod and the other mods

azure aspen
#

would a smapi log be good enough for someone to view all my mods?

strong kite
#

Am I allowed to have 2 events with the same ID if they're never gonna be loaded at the same time?

royal stump
round timber
royal stump
blissful panther
#

@ivory plume, would you be interested in a PR for the decompile repo to allow it to build and be debugged on Linux/Mac? I had to make a couple of changes to get it building on Linux for <secret project>, and there would be similar difficulties on Mac. The Mac part might have to wait a little bit over a month until I can actually get my hands on one again to both check the required files and confirm the changes also work there, though.

It wouldn't change the decompile process or instructions. Just common.targets so it only tries to copy the appropriate files per platform, and some additional files that Windows doesn't seem to require.

Right now, it's very Windows hard coded.

ivory plume
#

I'd certainly be interested in a PR to see what's involved; Linux/macOS support would be nice to add, if it's maintainable as part of the decompile (e.g. it won't just break next time we have a new game version).

signal nova
#

Anybody knows why none of the fish spawn in the Beach location (I don't see them with LookupAnything) either?

blissful panther
#

Yup! It should only break if the distribution of the game changes any and needs different files.

patent lanceBOT
#

@gaunt orbit: add furniture re-layering for wall and floor furniture (2d ago)

strong kite
#

AUGHHH THIS SOLUTION ALMOST WORKED

#

Maybe I'll move him up a tile and He's just under Rasmodius's covers heehee

warped vessel
#

First mod ever published!
Thanks so much Airyn for letting me expand Jojapop. I've had a blast!
https://www.nexusmods.com/stardewvalley/mods/46191

Nexus Mods :: Stardew Valley

An expansion for AirynS's Jojapop - Labubu Furniture mod. Adds Pokemon plush blind boxes (balls) to the Jojapop shop (found in Jojamart or the movie theater), which can be opened on the unboxing table

strong kite
#

all tucked in :3

strong kite
#

If this was more than just a compatibility patch I'd find a better solution but for the SVE users Darkrai canonically has been in the Wizard's bed

ornate locust
#

Maybe a silly question

#

but why don't you face the other way and have him on that side?

strong kite
#

one sec

ornate locust
#

or scooch right instead of up

strong kite
ornate locust
#

oh hm

strong kite
#

This is a SUPREMELY limited space Tiredkip

ornate locust
#

okay: What if you scooch right by two and have Darkrai stand where you are

#

so you are like talking across that wall corner

strong kite
#

I could do one tile down? But also like.. this is silly in a way I like :3c

round timber
#

eepy time

strong kite
#

Well the wizard also has to be here

ornate locust
#

mm yeah. Cramped space

strong kite
#

this was SO much easier with the vanilla layout heehee

uncut viper
golden shadow
#

In marriagedialogue.json who/what is the boxes in red for?

strong kite
#

They don't know heehee

uncut viper
#

Generic spouse dialogue.

warped vessel
uncut viper
#

Do you want the message to say anything else for it, or is what you've got already fine?

warped vessel
#

I think what's there is fine. it's certainly earnest

strong kite
uncut viper
#

Published SDVpufferparty

strong kite
#

and also I need to make custom artisan good icons to go with them because that's what I did for the first 10 😭

golden shadow
#

I asked a question similar to this before, but that was before I was using i18n format

can i put $query in these random dialogues?

strong kite
#

that would be 23 more berries with 46 more artisan goods dear lord... I wanna do it Waaa

lucid iron
golden shadow
#

cool! yay :D

strong kite
#

Admittedly it's not a whole lot of work, it is LITERALLY just inverting the colors of berries, like basically the flip of a switch. But it would still take probably the rest of today at least

golden shadow
#

i know the feeling exactly, it feels like something that sounds like it would be so simple actually takes forever haha-

signal nova
whole prism