#making-mods-general

1 messages Β· Page 195 of 1

gentle rose
#

most fonts intended to be used for code will have a slightly different 0 with a line or a dot through it, but I'm not sure how many are careful about the i s and l s, so this makes sense SDVpufferheart

teal bridge
#

And the off-site Tutorial isn't a perfect first-read either because of how informally it's written, though it's great for after someone understands the very basics.

gentle rose
#

we could always edit the modding guide too tbh

uncut viper
#

the harmony docs are the first thing linked though, i thihnk thats probably fine

lucid iron
#

i think asking "do you actually need harmony for this?" is a valid point though

gentle rose
#

it should still have some warnings because some people jump in very quick and don't stop to think, but if it's putting sensible people off then it should be edited (the wiki page, not the command)

teal bridge
#

I think I can merge a bit of the second paragraph and shorten the rest. A moment...

lucid iron
#

its the same kind of Q as "do you actually need C# for this"

shut edge
#

any marine biologists in the house? how do these sound "piranhared.DisplayName": "Saltwater Piranha Plant", "piranhared.Description": "A bulb for a carnivorous plant that produces bivalves.", "piranhacyan.DisplayName": "Freshwater Piranha Plant", "piranhacyan.Description": "A bulb for a carnivorous plant that produces gastropods and crayfish.", "piranhagreen.DisplayName": "Amphibious Piranha Plant", "piranhagreen.Description": "A bulb for a carnivorous plant that produces crustaceans.",

teal bridge
gentle rose
lucid iron
tiny zealot
gentle rose
lucid iron
#

perhaps a more balanced take thats like

#

some use case where yep harmony go brr

#

vs some use case where maybe better to just use smapi event

shut edge
#

you can do a lot with just content patcher, break out the C# or harmony if you wanna get nuts

#

i've been seeing how far i can push ideas with just CP and other frameworks lol

lucid iron
#

i dont really have a solid thought on how u would draw the line though (it's very subjective)

uncut viper
#

if there is one thing i think deserves changing the most on the official wiki harmony page:
"SMAPI will show a warning when your mod is loaded saying it may affect game stability."
this is not a "significant disadvantage" lol

lucid iron
#

maybe when theres only like 12 harmony mods in existence

gentle pebble
ocean sailBOT
#

Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Home, with 3 C# mods and 1 content packs.
Suggested fixes: One or more mods are out of date, consider updating them

lucid iron
#

Error loading patch 'SarahNPC > Include Assets/Map/Maps.json': file contains fields which aren't allowed for a secondary file (Format)..

#

includes cannot have Format

#

remove it from Assets/Map/Maps.json

tiny zealot
gentle rose
#

I think generally if something can be done directly with smapi events and game code, it should be done like that rather than with harmony. But if you need to do significant copy-pasting of original game code or take on a much larger scope to make something work without harmony, then harmony is right. Also when you literally can't not use it of course.

gentle pebble
#

Im sorry what do you mean

#

change it into my content>

#

?

lucid iron
#

u know the "Format": "2.5.0", in ur Assets/Map/Maps.json right

#

that is only allowed in content.json

gentle pebble
#

oh okay

lucid iron
#

simply remove it

teal bridge
#

Shortened a bit and put a little more emphasis on the "last resort" aspect without overdoing it IMO.

Harmony is a framework for patching .NET code, allowing you to take any portion of the game's logic and insert or substitute your own. This gives you more flexibility and control than SMAPI helpers and events, at the cost of being typically more complex and difficult to use safely and correctly, and more likely to break with a future update of the game and/or SMAPI.

If you are trying to do something that isn't possible or practical with SMAPI's public APIs, then Harmony is usually the solution.

For more information, refer to the following:

gentle pebble
#

thank you πŸ™

gentle rose
tiny zealot
uncut viper
#

yeah in my mind "last resort" is a bit too dramatic, or at the very least shouldnt be bolded like a scary warning. to me its like. "can i do this with CP? no? okay... can i do it with C#? not really? i need harmony then? okay, sure"

#

like, less "last resort" and more "third choice and it just happens to be the last"

lucid iron
#

hm

#

do u think it's relevant to mention game api

#

or whatever u might call stuff like GSQ trigger action etc

teal bridge
#

What game API?

gentle rose
lucid iron
#

it does kind of live, slightly documented

#

i dont really know what is better word than game api (which is clearly not right)

uncut viper
#

i dont think its relevant personally

teal bridge
#

If you just mean the big bag o' links on the Modding Index page, some of which happens to provide some information on specific public classes and methods, then I'm gonna say nah - it's not organized for that use case and asking prospective Harmony-ers to read the entire modding wiki is just not gonna happen.

lucid iron
#

yea fair blobcatgooglyblep

uncut viper
#

im kind of with focustense when they said that the main usecase of this command and really this page in general is usually when harmony is already noted as the solution

lucid iron
#

u should try doing the command and see if the format looks good DokkanStare

teal bridge
#

Yeah, I'll do that. First I have to look up how to actually edit commands.

uncut viper
#

so the harmony page should explain how to use harmony, not do its best to not have to explain

tiny zealot
gentle rose
#

maybe a bit shorter like this? (a lot of the specifics about what harmony is independent of stardew are in the links anyway, but that's just personal opinion tbh, I leave this up to you focus)

Harmony is a framework that allows you you to take any portion of the game's logic and insert or substitute your own. This gives you more flexibility and control, at the cost of being typically more complex and difficult to use safely and correctly, and more likely to break with a future update of the game and/or SMAPI.

If you are trying to do something that isn't possible or practical with SMAPI's public APIs, then Harmony is usually the solution.

For more information, refer to the following:

teal bridge
gentle rose
#

I just worry that when people see a paragraph more than two sentences they stop reading πŸ’€

uncut viper
#

if someone stops reading after two sentences, they should not be using harmony

teal bridge
#

Saying "more flexibility and control" without the "...than what?" part seems counterproductive to me.

vernal crest
#

If they're doing that for a command about Harmony, they deserve to be as lost and confused as their behaviour will lead them to be

gentle rose
#

-# the only thing scarier than sending a message and seeing "several people are typing" is sending a message and suddenly nobody is typing pffft

#

very fair points

uncut viper
#

(i was busy comparing you and focus's versions!)

gentle rose
uncut viper
#

tbh if i am allowed a very nitpicky suggestion it would be to change the link from "SMAPI's public APIs" to "SMAPI's helpers and events" (or maybe rename the latter to "SMAPI's API" in focus's version)

vernal crest
uncut viper
#

like, dont c hange the text, just move the link to the first mention of SMAPI's api

#

maybe remove the linebreak between "Harmony is usually the solution" and "For more information" if you wanted to save more space. i think they kinda work together as two connected sentences anyway

gentle rose
#

honestly if we're at the point that we're comparing exact phrasing that means that the original version you wrote is solid, so you could absolutely just deploy that

teal bridge
#

Is there actually a way to preview a bot command or do we measure once, cut twice?

uncut viper
#

so, cut twice

#

but im not a mod author

#

so dont look at me

gentle rose
#

ig you can create a different command instead of editing the original one if you don't want to change it until it's too late? then remove the test command once you're done? but idk I've never made commands

uncut viper
#

can always just search discord for msgs fropm the governor about harmony if you need to recover it

lucid iron
#

a junimo can prob revert it right, if need be

uncut viper
#

its like one sentence and an image

tiny zealot
#

i don't think i'll miss the current harmony command if they can't /hj

gentle pebble
#

After removing the format and having to fix some extra stuff I was now left with this error and it was big and red and scary

ocean sailBOT
#

Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Home, with 3 C# mods and 1 content packs.
Suggested fixes: One or more mods are out of date, consider updating them

uncut viper
#

!tilesheetclimbing

ocean sailBOT
#

When creating or editing maps in Tiled, one common error is tilesheet climbing, marked by red text containing "invalid tilesheet path '../../..'. This is caused by SMAPI not being able to find the tilesheets needed by the map file. To prevent this error, make sure that you have a copy of all necessary tilesheets in the folder containing your WIP tmx file. Copies of vanilla tilesheets can later be deleted, but must be present while working on your map.

If you get this error with a completed map, an easy way to fix it is to open your tmx file in VS Code or a similar text editor, find all of the places with <image source=, and remove the filepaths to so that only the tilesheet names remain. For example, if the code says <image source="Content (unpacked)/Maps/townInterior_2" width="512" height="64"/>, change it to just <image source="townInterior_2" width="512" height="64"/>.

uncut viper
#

you need to do this with your SarahExterior.tmx file

teal bridge
#

Looks good to me now, it's not excessively long.

#

!harmony

ocean sailBOT
#

Harmony is a framework for patching .NET code, allowing you to take any portion of the game's logic and insert or substitute your own. This gives you more flexibility and control than SMAPI helpers and events, at the cost of being typically more complex and difficult to use safely and correctly, and more likely to break with a future update of the game and/or SMAPI.

If you are trying to do something that isn't possible or practical with SMAPI alone, then Harmony is usually the solution.

For more information, refer to the following:

gentle pebble
#

Ok I understand

teal bridge
#

(About the same length as that tilesheet climbing one, in fact)

lucid iron
#

seems good

uncut viper
#

yeah that looks pretty good to me

lucid iron
#

smaller than the big ol image

gentle rose
lucid iron
#

i wonder what the context of that was...

uncut viper
#

i tried finding the first instance of governor using it in a command but the oldest message i can find from governor is a listing of all the commands that already has the harmony one in it

lucid iron
#

was harmony known to be buggy back then

uncut viper
#

so... dunno when it was added

#

that was back in 2020 though

teal bridge
#

I admit I wasn't here, but I honestly think the context was... someone trying to turn their personal confusion and frustration into a meme.

uncut viper
#

its possible that harmony v1 was much worse. i am not familiar with it

teal bridge
#

(and I guess other people also found Harmony frustrating and/or confusing and so the macro got at least somewhat popular... maybe)

lucid iron
#

The only major bug i know of is the mystery harmony AVE problem

#

Everything else has been entirely user (mod author) error

gentle rose
#

it's also possible that when the game was a lot more spaghetti-shaped than it is now and there were fewer modders using harmony that it just had more risk

lucid iron
#

Fewer mods using harmony is actually better

#

Less arms war

uncut viper
#

i wonder what it'd take to get SMAPI to update to harmony 2.3.x

gentle rose
#

I mean in terms of ability to debug etc, but I wasn't modding back then so I have no idea

teal bridge
#

I don't think I've ever actually run into a Harmony conflict, but it's probably because I patch things that no one else would dare touch, like the GetFish methods and SMAPI itself.

uncut viper
#

yeah who would ever touch getfish

lucid iron
#

What r some shiny new things in harmony 2.3.x

#

Infix?

uncut viper
#

patch categories

gentle rose
#

I think my first harmony code is my light one and it was a mistake lights are annoying this is not harmony's fault I just do not like dealing with graphical stuff

-# despite the fact that my two more useful mods are literally just that

tiny zealot
#

in other news, one day i may remember in advance that the float math namespace is MathF and not Mathf

gentle rose
#

I think they have some shiny new utilities? in things like the codeannotation class etc

uncut viper
#

yeah a bunch of smaller things mainly

gentle rose
#

sometimes you guys make me wish I could react to a reaction

uncut viper
#

some bug fixes that probably have never mattered for people here

lucid iron
#

New furniture mod

uncut viper
#

yeah we;'re moving to wood stoves in 1.7

teal bridge
#

Wow, that's pretty expensive for open source.

gentle rose
#

I do sometimes see a helper method/class/annotation somewhere that would work PERFECTLY for me then realise it's not in the version of harmony we have (I should probably start using the correct version's docs, huh)

lucid iron
#

I have never ran into this maybe i should do more crimes

gentle rose
#

maybe it's just my intense need to use whatever is the newest, shiniest, most efficient crime

winter dust
#

How do you guys find people to translate your mod further into other languages, all the ones I have now were people approaching me, but I'm missing a few languages that I want the mod translated into.

uncut viper
#

i dont

teal bridge
#

There is a changelog, FYI. https://github.com/pardeike/Harmony/releases/tag/v2.3.0.0

It's all QOL stuff, there's really very little you can't do in the current version with a few extra lines of code. Categories are nice, and better async support is great for assemblies that actually use it, which is... rare to nonexistent in Stardew.

uncut viper
#

2.3.0 fixes TargetMethods always being called twice tho. this is an outrage that i must deal with this incredibly incredibly minor unoptimization

normal trout
#

Welp. The making-mods-art channel is dead rn. Gonna post here instead, since there are at least a few of you puttering around here semi-actively lmao. I have two use cases for this new WIP map; one, shameless polyamory. Two, monogamy - in which case the extra patio space is used by warp obelisks instead of multiple spouse patios (there's a mod for that ℒ️ ). I have the multiple spouse patios version of the screenshot posted over in the art channel, but I'm gonna post the obelisk version here just to shake things up.

Things I'm specifically looking for feedback on: the stone path, the garden itself, the fence around the garden (should I get rid of it or keep it?) Is it too claustrophobic? Is it too busy?

Things I'm not looking for feedback on: The pathways or grass/dirt borders - I'll add variation after I finish the backyard, I just put in the outline for now to hold space.

lucid iron
#

this is a farm map right

normal trout
#

yup

lucid iron
#

many mods add their own obelisks, i would leave more space there

normal trout
#

Well, see, technically it was meant to just be room for multiple spouse patios πŸ˜‚ I just figured out by accident that enough space for four patios equals enough space for one default patio plus four obelisks πŸ˜‰

#

So that I'm not really gonna change, tbh.

lucid iron
#

as for garden yay/nay, when in doubt just make things config option

winter dust
normal trout
#

Here, if this helps visualize:

lucid iron
#

then me, the monogamous user with every expansion, can put all me obelisks there if i want

winter dust
#

I think the totems/warp columns need more space like they do in Vanilla SDV.

#

Not like majorly more space, just enough so they're not neck to neck or anything.

normal trout
#

Their building footprints are 2x3 and can go side by side, iirc

unique sigil
#

my suggestion would be to remove the stepping stone pathing. i believe decorating is one of the things you need to give players a lot of freedom. if i were to use this map, i would like to be able to decorate and place paths to my specific tastes (fences don't count, because i know there's plenty who appreciate pre-placed fences)

winter dust
#

Also maybe putting the spouse house back a bit so the stone path is infront of the patio instead might work.

lucid iron
#

the garden is cute but im unsure how im expected to sprinkler that area bolbthinking

winter dust
#

Or as Kisaa said, let the players decorate it.

#

Make it dirt or grass or something.

unique sigil
#

(this is very subjective, but i'm not big on pre-placed decor anyways.)

#

And maybe more bushes! more foliage = more lively map

normal trout
gentle rose
unique sigil
#

true! that was my input as a user, not as a mod author SDVpuffersquee

teal bridge
#

My exterior decoration consists of Starfruit and more Starfruit.

normal trout
#

Yeah, that's why I was going for more decoration in this map than I'd usually do. And to be fair, I can absolutely throw in a "decor/no decor" config option.

lucid iron
#

oh r u not doing special starter gift stuff

uncut viper
unique sigil
#

If all else fails, map patch with optional decor

normal trout
uncut viper
#

its easier to make something look somewhat acceptable if it starts nicer

gentle rose
#

maybe I'm just in the extreme side of don't care then? SBVLmaoDog

#

the problem with designing farm maps for early game imo is that not using parts of a big map because you're too early in the game isn't a problem, but growing out of your map and running out of space kind of is

unique sigil
#

also,,, about the tree, perhaps you could shift it one or two tiles to the right (and the rest accordingly?)

because the roots being perfectly flat, while also placed aligned to a slope tile makes perspective look a bit odd

teal bridge
normal trout
#

I love that all of you brought up things I wasn't even thinking about πŸ˜‚ I was like "Hmm... is the spacing on these stones awkward? Is this gap too narrow? Is it too busy?" πŸ˜‚

gentle rose
#

but also I use vanilla maps and have made one single map mod that kisaa said she would make as a prank so... KEK

normal trout
gentle rose
normal trout
#

Yeah. I was going to do a progression gated map - you have access with very few debris blockages beyond weeds and one or two sticks in this garden so you can plant right away on day one. Then you have to clear actual trees and crap out of the top area of the crop fields. Further down, stumps. Then logs, and then big rocks. So the map will grow with your tool skills. But this area is meant to be clear and unlocked and available with no barriers on day one as a starting planting zone.

unique sigil
#

you know, if you want to do more funky progression stuff, you can try out unlockable bundles!

normal trout
#

There's a ways to go πŸ˜‚

#

YES! That was also the plan πŸ˜„

#

I'm super excited about trying out that mod.

unique sigil
#

i see my attempt at scope creep fails,, because the scope has already been crept

gentle rose
unique sigil
#

also i admire all of you map makers who draw maps from Back to AlwaysFront on one corner before moving on to the next corner and doing that all over again

gentle pebble
unique sigil
#

my ADHD ass would 100% forget everything and mess up the layers

normal trout
gentle pebble
normal trout
#

This is my first effort. And it's the reason why my ADHD ass 100% is working in a WEIRD order, where I detail individual sections at a time before jumping to a new spot lol

brave fable
#

i wasn't aware anyone did complete every detail in one part of the map before even starting on another

normal trout
#

I'm incapable of loosely sketching things, I have to go all the way.

#

I'm a weirdo πŸ™ƒ

#

AuDHD for the win?

unique sigil
#

okay, we are on opposite ends of the scale then (i finish one layer for the entire map before moving on to the next layer)

normal trout
#

That sounds... so incredibly painful, omg πŸ˜‚

gentle pebble
#

thats crazy

unique sigil
#

that's what is easy for me!

normal trout
#

But also, I can see the appeal - I do, in fact, mess up my layering often. I think my issue is I have some trouble visualizing things, so I need to actually do it and only having partial things in place by layer would destroy my brain.

gentle pebble
#

maybe its because I also have ADHD but that actually sounds so confusing and pain stakeing

normal trout
#

The thing I've realized about ADHD is that it impacts everyone in completely different ways. Neurospicy brains are beautiful and so unique πŸ’œ

brave fable
#

i think most of my time spent mapping has been trying to get things positioned in a pleasing layout, so i end up with single layers containing a few layers' of stuff that i move around until it can be broken up and flattened out

unique sigil
#

my WIPs look like this (sketch vs buildings layer)

#

i fill in terrain last SDVkrobusgiggle

normal trout
#

I WISH I could sketch a map out 😭 I genuinely started this map with the intention of doing that ^

#

I'm incapable πŸ™ƒ

brave fable
#

become capable πŸ™

normal trout
# brave fable become capable πŸ™

If I've learned anything in my life, it's that I can't force my brain to work in ways it doesn't want to. I did that for years, being an incredibly high masking autistic person. Aaaaand I burnt out so badly that I'm now officially disabled. I just go with the flow now πŸ˜… Like, I'll try a thing. But if it's not working, I just go with what my brain wants to naturally do, or else it's not worth it. Capability of a Thing in a Specific Way is not always a choice.

teal bridge
#

something anyone something cook

normal trout
#

Like... You see my progress above. And yet this area? Finished, down to making sure the proper buildings fit and doing the paths layer βœ… πŸ˜‚ I just have to do map properties, which I do wait until I'm completely finished to put in.

fresh lintel
#

When are mods added to the list at https://smapi.io/mods ? My mods Treasury Farm is not listed. Should ask to someone?

winter dust
#

Afaik it's an automated process, it just takes a day or two.

#

Actually wait no.

fresh lintel
#

Thanks!

patent lanceBOT
#

@calm nebula: remove Less Mini's unnecessary AtraCore dependency, to look into tilesheet disposal more, and to cry into a sandwich (4d ago)

dreamy cedar
#

I've been using this constructor of PathFindController to scoot Junimos around:

public PathFindController(Character c, GameLocation location, Point endPoint, int finalFacingDirection, endBehavior endBehaviorFunction)

The Junimos dodge furniture, even dynamic things like cows, but they're happy to ignore map features - e.g in the farmhouse they walk through walls. Outside they walk over water. Ideas?

deep cypress
#

Remind me in 21 hours to fix utility.pickpersonalfarmevent

patent lanceBOT
#

Sure thing, apryllforever (#6506163) (21h | <t:1738465187>)

gentle rose
gentle rose
uncut viper
#

i just checked and theirs is a C# mod

gentle rose
#

It is?

#

uhhh

uncut viper
#

it is yes

gentle rose
#

it's a c# farm type. Interesting.

brave fable
#

(in a temp event map)

gentle rose
#

ngl I have never seen anyone do custom farm maps without content patcher until now

lucid iron
#

i see it on the list, did it already get added

uncut viper
#

i also see it on the list. theres been no merged PRs to that repo since that discord message

lucid iron
#

cachingℒ️

uncut viper
#

the mod was uploaded in august so

gentle rose
#

it does auto-update, right?

lucid iron
#

yea

#

so hm

gentle rose
#

well yeah because my mods are on there and I've never done a PR pffft I am extra brainless today

lucid iron
#

i feel like they may have made this a C# farm bc its based on pathos' small beach farm

#

which is ancient and C#

gentle rose
#

isn't small beach farm c# and content patcher mixed? or am I making that up

#

I am making that up

#

this is my sign to stop messaging for now pffft

dreamy cedar
lucid iron
#

dont they just slenderman teleport around

brave fable
#

you probably want to search for spouseSleepEndFunction

#

spoiler: it uses the same overload

dreamy cedar
brave fable
#

i'm convinced the system is rigged against us

#

makes me wonder what the difference is between our npcs and functional colliding npcs. do they need a schedule? should we have slept with them in the world already? who knows

#

that wouldn't explain the community centre junimos though

#

maybe you could look into MovieTheater.PathCharacterToLocation

dreamy cedar
#

I'm thinking we're just not holding PathFindingController right. I'll keep staring at it, but I'm thinking this isn't gonna get resolved tonight.

lucid iron
#

never too late to write your own

dreamy cedar
#

Not that I really want to do that, but you could use this constructor overload:

PathFindController(Stack<Point> pathToEndPoint, Character c, GameLocation l)

and then all you'd have to do would be to construct the path and let the game take care of the dynamic collisions &c.

winter dust
uncut viper
#

they know that, they thought the farm mod WAS a CP mod

winter dust
#

Ahh.

#

Well it might have a CP mod in it, I mean WTDR is still a CP mod with only one C# override.

uncut viper
#

it does not

winter dust
#

Which mod is it?

#

I don't see many pure Harmony mods that much.

uncut viper
#

the one you responded to, Treasury Farm

#

its not harmony

#

its just C#

gentle rose
#

opinion question: if someone writes something and then realise it's fundamentally wrong, do you guys prefer that they completely delete the message or edit it to say they were wrong? I always just edit a strikethrough with a note to ignore the original message because it gets confusing when messages are randomly missing imo but maybe that's just me

uncut viper
#

depends on the severity of the incorrectness and the time before the correction and whether the original person saw the correction etc

lucid iron
#

im wrong all the time its ok to say "jk im wrong"

gentle rose
#

assuming someone corrected them so there are followup messages

uncut viper
#

in this case i would expect the person who sees your message to also see me immediately correcting it and thus i dont think its necessary to edit it at all

gentle rose
#

I like editing/deleting them because otherwise I end up getting pings being corrected again pffft

uncut viper
#

but if i had not replied until like an hour later, and then the person you were replying to replied again hours later still, they might not see me correcting it

gentle rose
#

from when people backread lmao

uncut viper
#

i would blame the people backreading tbh

#

bold to correct things you're backreading before you know if they were already corrected

lucid iron
#

this is a peanut gallery

gentle rose
#

true, I just try to preempt the extra ping haha

#

I feel like I never thought to really find out what a peanut gallery is

uncut viper
#

ultimately its up to you and i dont think anyone actually has any strong or even like, mildly strengthy opinions on it

#

unrelated question: does TranslationHelper.Get(key) return null if the key isnt present in the i18n, or does it return an empty string?

#

in case anyone knows off the top of their head

lucid iron
#

i think it gives u the (no translation blah blah blah)

gentle rose
#

I'm hoping null/what chu said? empty string seems like an inaccurate implementation

winter dust
#

It should present null.

uncut viper
#

oh, even in C# land?

winter dust
#

I mean, there's no string to pass through, so it should just return/escape the function.

gentle rose
#

does c# do returns with no return value in non-void functions SDVpufferthinkblob

winter dust
#

Unless that function was made to always return a result, then it would result in an empty string sure.

lucid iron
gentle rose
#

also I never remember/fully understand if string is nullable or not... gonna go look some stuff up

winter dust
lucid iron
#

i commented out most of my i18n for quick test

#

this makes sense cus translators need to know for c# mods too

winter dust
#

Yeah, so it returns null and prints out no translation found, I presume.

#

Or it could just print without null being accounted for.

uncut viper
#

the answer is none of us are right

lucid iron
#

oh but hm, what if it's mod translation class builder

uncut viper
#

i didnt realize it returns a Translation

#

not a string or null or anything

winter dust
#

The answer is, it prints out ConcernedApe's address so we can order him a Pizza.

lucid iron
#

oh neat

uncut viper
#

and Translation overrides ToString()

lucid iron
uncut viper
#

which is what handles the null check

gentle rose
uncut viper
#

so, it never returns null and does not return the placeholder text either

#

ive never actually bothered to notice that my Gets werent giving me strings

lucid iron
#

hm

#

what about the case in other lang where the default key exists

gentle rose
#

does it translate empty i18n strings to the no translation placeholder, or does it have a special case for strings that don't exist? interesting regardless

uncut viper
#

its fine though theres useful info on Translation objects, i.e. HasValue()

uncut viper
gentle rose
#

I actually remember seeing things return a Translation, seeing that it wasn't breaking my code that expects strings and immediately deciding not to care SBVLmaoDog

uncut viper
#

in which i presume you get a list of Translation objects

lucid iron
#

no i mean, when u r playing in other lang

gentle rose
#

wouldn't Get automatically return the current lang's version?

uncut viper
#

im not sure 3what you're asking then

uncut viper
lucid iron
#

ok it does fall back to whatever's in default.json

uncut viper
#

however if Translation.ShouldUsePlaceholder is false then i guess it might show an empty string?

#

according to ToString

gentle rose
#

it doesn't seem like a theoretically correct implementation of i18n to me if that's true but maybe I'm missing something SDVpufferthinkblob

uncut viper
#

why not?

gentle rose
#

I assume if someone sets a key to "" it's because they wanted that key to be an empty string. Since json does have a separate null type, it seems weird to fold the two together like that?

#

Like not a big deal, I just don't understand why it's like that

uncut viper
#

i cant see any case where you would specifically want to use a string.Empty where checking for null is not equivalent

gentle rose
#

as in, I assume if someone set an i18n key to "" it's because they want it to display as nothing, not as the placeholder

uncut viper
#

if they want it to display as nothing, then check for null and display nothing

lucid iron
#

I don't know how to say "" in chinese

uncut viper
#

theres no reason to print ""

lucid iron
#

Just don't i18n it?

uncut viper
#

you can already change the placeholder

gentle rose
#

that is also very true chu

#

it's not a problem by any means in literally any context like I said haha, just made me raise an eyebrow

teal bridge
uncut viper
#

nothings trying to be accomplished though, just talking about the Translation class

faint ingot
#

Got my event setup starting OK, now I just have to plan for every possible combination of rando NPCs the game puts in this location each day SDVpufferwaaah

winter dust
scarlet saddle
#

Question, on a scale of semi difficult to impossible, how easy would it be to make a pool minigame so the pool tables are useful?

brave fable
#

pretty sure someone made one, unsure if it was ever released - mightve been the same guy behind waterbot?

uncut viper
#

how much C# do you know

royal stump
#

8/10 difficult, I'd guess? SDVpufferthinkblob
Bringing up a custom minigame window when the player uses something isn't complicated, but you'd need figure out the logic used by Stardew's menus and MonoGame's drawing system, plus the logic for operating your minigame. And there aren't a lot of people around who've already done it, though not 0.

brave fable
#

anyway it wouldn't be incredibly hard since you're just making a self-contained minigame, you just need a working knowledge of using spritebatches and keeping a game state going. a little maths and trig for the physics?

uncut viper
#

tbh as far as UI stuff goes, minigames are probably much easier

#

you dont really need to follow the rules of how stardews menus and stuff works, you can move things around manually

#

itd basically be just making a tiny little monogame.. game

brave fable
#

honestly i've thought of making a pool game before but i cant be assed hahah

scarlet saddle
#

hmm okay, well good to know it's at least possible.

uncut viper
#

anything is possible with enough C#

scarlet saddle
#

and uhh.. I've been wanting to learn C# buuut... yeah not there yet.

royal stump
#

there are a lot of easier tasks to start with, but it is a thing you can do in C#, and not directly obstructed by the existing game

#

just kind of "here's a window, run your own little game here and output the result eventually" SDVkrobusgiggle

scarlet saddle
#

I just need to get my ADHD to hyperfocus on C# then I'll be good xD

frozen elm
#

It was indeed caused by using the older Smapi version and resolved by updating

brave fable
#

impeccable memory

scarlet saddle
#

haha nice

royal stump
#

looks like that was never completed, or at least it isn't on their nexus, fwiw

brave fable
#

maybe if we wait another 4 years

scarlet saddle
#

welp, now that I know it's possible, I have a goal. Unless someone else does it, in which I'll find another goal jhgkhj

slender badger
#

An alternate way to do it without C# could be to have a tile action that brings up a question message box and if you select yes, it triggers an event with a temp map and the balls & cues as temp actors. Have branching questions for which ball to aim for, then random outcomes for whether it hits or not and a random outcome of what Sebastian does in response

#

It'd take a lot of planning, but it'd be doable with only CP and maybe BETAS

#

Hm, although you wouldn't be able to make the balls move diagonally SDVpufferthinkblob Might just need to be a roleplay-style event then

scarlet saddle
#

I like how you assume it would be Sebastian the farmer plays against (I mean not wrong lmfao)

slender badger
#

Who else is it gonna be?

scarlet saddle
#

... Dusty

gentle rose
#

doesn't sam also play pool?

slender badger
#

He does, but I always figured it was more about having fun with his friends rather than really playing for the sake of it

gentle rose
#

they absolutely give the vibe of sam just playing because he's already there and sebastian going for the kill every single time SBVLmaoDog

scarlet saddle
#

It would be cool if there could be difficult levels, like abby for beginner, sam for intermediate, and sebastian. but.. that's a bit out of scope I think.

gentle rose
#

I'd swap abby and sam personally but that sounds cool!

#

and I'd imagine that part is relatively easy but yeah, don't scope creep run before you can reasonable mod walk

scarlet saddle
#

I gotta get my hello world done xD

#

I figured Sam as intermediate, cause he's the one always playing, but maybe Abby doesn't want to show off her skills (lies, she totally would if she did)

gentle rose
#

I just think abby is more willing to cheat put up a fight SBVLmaoDog and sam does not seem to care

scarlet saddle
#

yeah that's true.

#

She probably goes there in secret to practice xD

slender badger
#

Abby's like "I don't really care about playing, but if you challenge me, I will do my best to smoke you" SBVLmaoDog

scarlet saddle
#

ahah yeah

gentle rose
#

abby will "accidentally" hit you in the ribs with the cue like three different times if you start winning, I'm sure of it

scarlet saddle
#

πŸ˜‚

#

that's why Sebastian is by the wall, guarded position

latent mauve
#

I finally get a Hot Mod and it's the Dried Red Mushrooms request from the ideas repo SDVpufferwaaah

pine elbow
#

Where to suggest things

slender badger
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.

latent mauve
#

In other news, I have officially finished all the Strings text edits for the Legend of Zelda NPC mod! SDVpufferparty

molten owl
#

how do i add my mod into smapi compatibility list? i'm dumb

uncut viper
#

is it a C# mod?

molten owl
#

yea it is

gentle rose
#

it will auto-update after being up on nexus for a bit

#

you shouldn't need to do anything to add it

molten owl
#

i see! thanks for info!

pastel sonnet
pastel sonnet
twin moss
#

I managed to get everything working EXCEPT for adding the child to the crib. Not sure why I felt the need to tell everyone but eh wtv

#

(The literal main part of the mod no big deal lmao)

#

Pretty sure I tried to use an outdated method, gonna need to verify how children are added ugh

cyan marsh
#

aetherdorn has retired right?

hallow prism
#

if you mean aedenthorn, yes

cyan marsh
#

he left open permissions to his stuff right?

hallow prism
#

with permission for people to make updated version of the mods

#

i think it's them, but yes

cyan marsh
#

thanks...

latent mauve
#

As a note, someone did point out in here earlier that Aedenthorn's mods were GPL, so if you pick them up to update, then your mod may also be expected be GPL

hallow prism
#

ideally, but the message here about people being free to update was a bit more vague, i think it was pointed?

#

but the license must indeed have precedence when possible

slender badger
#

Aedenthorn uses she/they pronouns, yep

cyan marsh
#

Also, while there hasn't been an issue in the SDV mods category, be careful.. someone has been uploading malware as a mod in various games. Be especially careful and check the contents of a mod before downloading x3

latent mauve
#

Lovely

#

Hopefully that person has been reported

brave fable
cyan marsh
#

be safe, mostly you'd find him in Marvel Rivals trying to push it there. So if you play that game, just make sure what you download is real. Click the preview File contents.. it's actually obvious

#

lol speaking of which...

hallow prism
#

yeah i agree that reports shouldn't matter in term of suspicious content, things like that can't be solved only by report

#

i hope nexus team plan to recruit a few more moderators, i know for SDV it's obvious you're overwhelmed Coriel, help would be quite welcome here

cyan marsh
#

im not so overwhelmed anymore

#

I get few reports these days x3 lately ive been watching other games too

hallow prism
#

it's good to know, but if still you can let them know that we do feel the need of more activity toward reports in SDV community it would be appreciated

cyan marsh
#

I'll pass the word along

hallow prism
#

thanks πŸ™‚

cyan marsh
#

i wish i didn't have a job though xD

#

i'd rather stay home all day and be the housewife

#

i'd like to work more on my music mod.. I am pretty happy people were excited to see it again

brave fable
#

i'm surprised the reports have gone down when we're up to like, 30,000 mods total now. feels like the wild west days were when it was youngest

normal trout
#

God, I've been mapping for hours how did that happen? When did the sun start to come up? 😭 πŸ˜‚ BUT! Significant progress has been made.

brittle pasture
twin moss
#

Does anybody know how to check to see if my child was even added to the game via the console?

#

I keep forgetting its morning and not everybody wakes up at the asscrackofdawn like I do

slender badger
#

It's evening here, actually, and midday in Europe πŸ™‚ Not everyone's in the same timezone as you

hallow prism
#

i am not really around to answer questions but if i was i would want to have more context than that

gentle rose
#

I'm not sure what you mean by "via the console" tbh

#

like using console commands? because I think that would be difficult

hallow prism
#

i'm not sure if it's a classic child or something else like an npc

gentle rose
#

usually the best way to check these things is via the game itself

twin moss
#

Ohhh ok I apologize for the lack of context, I'm testing my mod and the baby won't spawn in the crib and before I continue I need to make sure a baby "exists" like at all I guess because there's a chance the sprite is misplaced but also a chance there is no baby XD

Edit: It was suggested to use SMAPI's console commands to check for the existence of the child NPC

gentle rose
#

why not check the social menu? I'm pretty sure babies show up there

twin moss
hallow prism
#

what is your mod doing?

#

because it's usually not possible to miss if a baby exists

#

as there's a whole event and all

gentle rose
twin moss
#

An event? Like a cutscene or that message that used to pop up in the night saying your spouse gave birth

#

(shows what I've been up to ingame since 1.6 came out lol)

#

Oh hey look a baby exists in my relationships

#

You have no idea how stupid I feel right now topeek

hallow prism
#

the message yes

gentle rose
#

don't feel stupid! just try to think how you can check things in game next time πŸ˜…

hallow prism
#

(and give context!)

twin moss
#

I shall return to my code now thank you guys so so much

gentle rose
#

you know, there's stardew in balatro, but there's no balatro in stardew... mod idea maybe? SDVpufferthinkblob

brittle pasture
#

walk into qi's casino
pulls out a Banana (silver quality)
plays a flush five ace of spades
gets your ass beat by mr qi like that hidden cutscene

slender badger
#

Have fun with the C# you'd need for that πŸ˜›

hallow prism
#

a balatro mode : there's a new arcade machine in the saloon. When you interact with it, it jumps time to 6 hours later

gentle rose
#

I'm not too worried about the c# KEK

patent lanceBOT
#

@hallow prism: look at the publication of VMV repro uber pls (20h ago)

median dune
#

I have a bit silly yet genuine question, how do I learn to optimize code? I'm perfectly aware that the longer I do it the better I do it but how do I learn which things can be replaced with something more efficient? I wouldn't want to end up with some yandere-dev type mess code

calm nebula
#

I strongly recommend mit ocw 6.006

median dune
#

am I supposed to download this course whatever it actually is?

calm nebula
#

The lectures are also on YouTube

#
MIT OpenCourseWare

This course is an introduction to mathematical modeling of computational problems, as well as common algorithms, algorithmic paradigms, and data structures used to solve these problems. It emphasizes the relationship between algorithms and programming and introduces basic performance measures and analysis techniques for these problems.

median dune
#

oh

median dune
#

there is an intimidating download course button

calm nebula
median dune
#

oh nvm

#

I see now

#

thanks, I will do my best to learn from this while trying to survive school SDVpufferflat

pine wedge
#

If I wanted to add a portrait png and, during an event, have the portraits switch between which png is used, how would I do that?
For example: the event uses a default Abigail portrait png. I add a new portrait png (let's call it Abigail1) to the portraits folder. During an event, I want some dialogue boxes to use a portrait from the default Abigail portrait png, and some dialogue boxes to use a portrait from the Abigail1 png.

wanton pebble
#

I don't think that's.... possible the way you want it

lucid iron
#

I don't think u can do that can u?

#

Need to patch it onto the original Abigail portrait

wanton pebble
#

What you can do though I think is append your portraits to-

#

chu got it

lucid iron
#

And then $n

calm nebula
#

In an event?

lucid iron
#

Compat succ ofc

wanton pebble
#

appearance data

calm nebula
#

There is a switch portrait command lol

wanton pebble
#

well yes, Atra

pine wedge
#

Ok, so just combine the two png into 1 larger one?

wanton pebble
#

But I'm assuming they want to switch back later

calm nebula
#

Call it with no argument

wanton pebble
#

although I suppose Pathos did put in that one thing to default it back if I reca-

#

yep

calm nebula
#

Just switchportrait abigail

lucid iron
#

Is that event exclusive

wanton pebble
#

yes

calm nebula
#

But correct caps and not with frozen fingers

lucid iron
#

Naruhodo

calm nebula
#

Yes event exclusive

pine wedge
#

If the easy way to do it is just combine the two into one, I'll do that.

calm nebula
#

Chue will make it a dialog command to

wanton pebble
#

nah

#

Atra's got the right of it

calm nebula
#

Or a trigger action

wanton pebble
#

switchPortrait will work in an event

#

making it one PNG might actually screw over others adding portraits too

calm nebula
#

Atra will eat a croissant in the park

wanton pebble
#

That sounds delicious

pine wedge
#

I'm not making a mod, just editing a currently existing one. So this is for personal use/learning

wanton pebble
#

Anyway, in sum:

  • Patch in Portraits/Abigail_<Identifier for the portraits>
  • During event, add the command /changePortrait Abigail <Identifier> before you start using the new portraits
  • Also during event, when you want to swap back to normal, use /changePortrait Abigail
#

So if I called the portrait Abigail_Breakfast for her eating a croissant, then you'd do /changePortrait Abigail Breakfast

pine wedge
#

Thank you very much. I appreciate the help.

wanton pebble
#

As long as Abigail_Breakfast is loaded into the data, of course

#

No problem

vernal crest
#

Is this a secret new command? I did not find it on the wiki. And by secret I just mean not on the wiki lol

wanton pebble
#

Nah switch portraits been in for ages

#

I learnt about it when writing dates for Flor, Maddie, and Daia so they could use their 14 heart, Lab, and .... 14 heart again outfits XD

#

that said, the default back to normal? That's 1.6.

#

It used to be if you swapped the portrait to anything during the event, you could never go back to the original. It suuuuuuucked

vernal crest
#

I'm aware of a changePortrait command. Are they different?

wanton pebble
#

blinks

#

Atra and I.... may have messed up what the command is called SweatSmileIan To be fair, right now I'm looking at a C# course different from the one work offers and going off of what's said in here

#

I'll edit the above.

calm nebula
#

Sorry

#

I'm eating a croissant in tve park

#

Far away from my computer

wanton pebble
#

No worries Atra

#

Keep eating the croissant

vernal crest
#

Lol all good! I was curious because I remembered that I use changePortrait in an event for Hiria to change her portrait and back again and it sounded so familiar to what you were saying...xD

wanton pebble
#

Also to be fair normally when I think of portraits in events nowadays I think Appearance first.

#

changePortrait's useful if you're changing them during the event, but if you need it for the entire time? Appearance is your friend

vernal crest
#

Yeah I use it in combination with changeName during the event to pretend Hiria is her family on Skype lol

#

But Appearance for her seasonal, indoor/outdoor, festival etc changes

light shore
#

can someone help me with npc schedules? Im using Misscoriels npc creator for my custom npc, and im stuck at schedules section.

for now i only did the spring one, i want him in his house but in game he's just standing on the bus stop even his disposition has his house. and when its fall he stands in his house? he doesn't move.

and i have a question: do i have to write a schedule for every day of every season? like spring_monday, spring_tuesday stuff.. i looked at the wiki but i have no idea what to do. he just doesn't follow the schedules.

rancid temple
#

I suggest not using the NPC Creator as it's not updated and nobody here can really provide support for it

#

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

gaunt heath
#

Has Coriel's NPC maker even been updated to 1.6 (or 1.5 for that matter?)

#

It's been around a long time

ivory plume
#

Monthly mod stats time!

Mod compatibility

74.2% of SMAPI (C#) mods are compatible or have a workaround, up from 73.1% last month.

Unique mods by type

Alternative Textures surpassed Json Assets as the second-most popular content pack framework this month, with 1207 vs 1196 content packs. That's a big deal, since Json Assets easily held on to second place for the four years I've been tracking mod type stats. Congrats to its author @polar escarp!

We have 413 more mods this month. That includes:

  • +278 Content Patcher;
  • +65 SMAPI;
  • +31 Alternative Textures;
  • +12 Fashion Sense;
  • +10 Farm Type Manager;
  • +3 Mail Framework Mod;
  • 0 Custom Music;
  • 0 Shop Tile Framework;
  • -1 Better Artisan Good Icons;
  • -1 Custom Furniture;
  • -1 Producer Framework Mod;
  • -2 Json Assets;
  • -2 TMXL;
  • -3 Dynamic Game Assets;
  • -11 XNB;
  • and +35 for frameworks with <100 content packs.

Content Patcher packs

We have 10,351 Content Patcher packs.

Some stats changes this month:

  • Format 2.4 appeared on the chart.
  • Formats which drop back below the min content packs are no longer shown. This affects 1.23 (which dropped from a high of 499 to 358 this month), 1.28 (578 to 377), and 1.29 (606 to 370).

The top five Format versions are...

  • 2.0 (3,288 β†˜ 3,270), 2.3 (727 β†— 746), and 2.4 (297 β†— 514) for Stardew Valley 1.6;
  • 1.19 (573 β†˜ 572) for Stardew Valley 1.4;
  • 1.3 (474 β†— 475) in old unofficial guides.

Open source

The apparent drop in open-source mods in recent months (from 68% to 59%) was actually an issue with the mod data provided by Nexus. Since the mod description isn't included in their new export API, my tools to collect mod info couldn't detect source code links in mod descriptions. Nexus tentatively expects to fix the export API in February, then I'll review all mods to add any missing source links.

In the meantime:

  • We have 3,189 tracked C# mods, of which
  • 1,896 mods (59%) have a source code repo, with
  • 1,059 (56%) in a multi-mod repo and 837 (44%) in a single-mod repo.

Web costs

And finally, web hosting costs for the SMAPI.io site, update-check server, and API dropped to US$192/month after the post-1.6.9 spike of US$300. (The graph is always a bit behind due to billing cycles.)

See also

And that's it for this month!

calm nebula
#

Long live format version 1.23 XP

lucid iron
#

-11 xnb πŸ™

calm nebula
#

Appeared for mysterious reasons, disappeared for mysterious reasons

timid plover
#

is there a smapi command to check if a specific special order has been completed?

lucid iron
#

You get a mailflag i believe

calm nebula
#

You don't always get a majlflag

ivory plume
#

You can check a game state query through console commands: debug gameQuery PLAYER_SPECIAL_ORDER_COMPLETE Current <order id>.

teal bridge
#

Stardew UI 0.6.0 is out!

Since there was no announcement for 0.5.0, here are the most important changes since 0.4.2:

  • Animate anything using transforms and behaviors including CSS-style transition
  • New widgets: Segments and Color Picker
  • Floating Elements can now be used from markup
  • Cursor controls, e.g. for grabbing and reordering items
  • Dozens of bug fixes, performance improvements, and new customization options

More details in the changelog. For a demo of the latest and greatest features, check out the new tempering example.

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

Nexus Mods :: Stardew Valley

The definitiveβ„’ framework for building UI in Stardew Valley mods.

timid plover
lucid iron
#

Did you set the mail

timid plover
#

it's not my mod, I'm just trying to work out why it's bugged

grave scarab
#

not quite just Stardew-related: is there a way to get email notifications about posts on your mod page? I have had people asking about updates (not yet finished) weeks ago and had no idea because the site keeps logging me out after a few days

#

I can choose prefs for on-site notifications but no options for anything else

#

plz @ me if you know, back to work

ivory plume
latent mauve
#

If the change lines up, the 1.23 format was probably from that one video tutorial where I left a comment (with a recommendation to use 2.4.0 in it) after the person came in here to ask for help with their mod and told us about the video they followed.

gentle rose
# latent mauve If the change lines up, the 1.23 format was probably from that one video tutoria...

We've been editing a few 1.23 tutorials recently - I also updated one in the modding wiki to not use that version at all any more. There are still a few left (the one you commented on, and a few from blogs) and one mystery (which is that it shows up a lot in mod descriptions on curseforge specifically?) but it continuing down is reassuring! I don't know if either of us can take credit though haha since these are the TOTAL number of packs using it, not the number of new packs using it, which means the change is from packs being updated or edited

ivory plume
gaunt heath
#

Rip 1.23, lived for Mysterious Reasons and died for Mysterious Reasons

brittle ledge
ivory plume
# brittle ledge Does this work inside code blocks? I think I've seen where wiki code doesn't wo...

Yep. You need to use {{#tag:syntaxhighlight|...}} instead of the normal <syntaxhighlight> syntax though. Here's an example from the main wiki:

{{#tag:syntaxhighlight|
{
    "Format": "{{Content Patcher version}}",
    "Changes": [
        {
            "Action": "EditData",
            "Target": "Data/animationDescriptions",
            "Entries": {
                "pufferbob_sleep": "50/50/50" // note: make name lowercase
            }
        }
    ]
}
|lang=json}}

We could probably create a template to simplify Content Patcher examples though (so you'd just pass the actual Changes to the template instead of needing the {{#tag stuff).

brittle ledge
#

Interesting! I've not really worked with templates much, I'll have to look into this skaiNotes

flat sluice
#

Hi,
I'd like to ask - is it possible to use Dynamic Token set with CP to i18n dialogue?
I was looking at the integration of gender neutrality into my NPC dialogues (https://stardewmodding.wiki.gg/wiki/Tutorial:_Adding_Gender_Neutrality_Mod_Tokens_(GNMT)_Compatibility#i18n_Integration) and I had thought if that or similar type of code could also be used to trigger Dynamic Tokens.

Stardew Modding Wiki

This tutorial is aimed at mod authors who would like to add compatibility with Gender Neutrality and Gender Neutrality Mod Tokens to their mod or adapt another mod so that it offers gender neutral or nonbinary dialogue.

calm nebula
#

Sure!

#

It's not the clearest example but

#

"Vincent_y3": "{{i18n:vincent-y2-fishing|title={{Title}} }}$s"

#

I18n : "vincent-y2-fishing": "{{title}} @, what happens if I fall in?",

#

You just have to explicitly pass the token onto the i18n

flat sluice
#

And Title is a name of your Dynamic Token, right?

calm nebula
#

Yeah!

#

It's mrs/miss/Mr, then gets overriden by gnmt, then gets an optional player config override

flat sluice
molten charm
#

Hi, newbie question. There is a tutorial for adding custom crops on the Stardew Modding Wiki. The tutorial is a few years old and uses JSON Assets, so there's a note at the top that says that JSON Assets is outdated and to just use Content Patcher... is there a similar step-by-step tutorial for making a custom crop using Content Patcher?

ivory plume
molten charm
#

Thank you!

gaunt heath
#

I'd like to make a note to update it, or at least or mark it outdated so that folks aren't confused. There's a few people taking care of the modding wiki but regularly reviewing each article isn't practical

#

Ah I slightly misread your question, it's already marked outdated lol

rigid musk
#

And no you dont have to make a schedule for every day - if you don't have a schedule for a day it defaults to the 'spring' schedule

light shore
#

thanks for everything!!

rigid musk
#

No problem! all you really need to do for schedules is add the spring one, and also add in any deviations from that (i.e if you really want them to go somewhere on the 4th of summer youll add that in)

#

:3

old edge
#

yes

brittle ledge
old edge
rigid musk
#

If you need help with any part of making it (other than the crop sprites themselves because I still honestly don't know how the stages work and usually just wing it until it looks right in game...) I can help

mighty quest
#

Is it possible to edit JA object data/textures using an AssetRequested event?

old edge
#

need to come up with interesting names

molten charm
blissful panther
# molten charm Thank you!

(Sorry, that message got caught in AutoMod! Markdown URLs are locked behind higher levels just for the record Only caught the timeout with 55 seconds left. SDVkrobusgiggle )

rigid musk
molten charm
rigid musk
#

technically doesnt matte really you just have to make sure you have all of the components :3

gaunt heath
#

The great thing about crops, and content patcher modding in general, is that once you get one down making more is easy

#

So don't be deterred if the first one takes a while!

#

You'll need to reference the sprite in the object data, so you should have one prepared before you make the data (or use a placeholder sprite)

rigid musk
#

this isnt actually a full json FYI

#

i just copy pasted parts of my code for this

#

but this shows the three main components for a crop :)

#

oh oops i copy pasted the same thing twice one second

#

there this one is better xD

#

You can do a lot more than just this but this is for a simpler crop really

molten charm
#

y'all are the best ;-; So this all goes in the content json*?

rigid musk
#

you can put it in just the content json or you could split it into multiple jsons for readability

#

(if you do split it into multiple json files you have to make sure to load them in your primary content json though!)

#

for example - with my NPC mod these are all the jsons I split stuff into

#

and my content file just has a bunch of these in it to make sure they load

molten charm
#

ooooh I see!!

rigid musk
#

again you dont have to do that

#

its just for organization :3

ivory plume
#

(You can load multiple files in one patch if you want.)

{
    "Action": "Include",
    "FromFile": "data/NewItemGiftTastes.json, data.QiNPC.json, data/CJBWarps.json"
}
rigid musk
#

So for you, you could have a Crops, Objects, and Shops json for the three main components of your crop and then you just load those in your content json :] or you could- oh my God

#

Wizard 🫡

#

or you could just put all of the code in the content json itself

#

is what i was going to say

gaunt heath
#

...is your IDE in comic sans?

rigid musk
gaunt heath
#

Nice

brittle ledge
#

hey, sans serif files have better readability! SDVpuffersquee

gaunt heath
#

Fun fact, comic sans is more dyslexia friendly than most fonts!

#

But that doesn't make it not hilarious to have your IDE in comic sans SDVpuffersquee

molten charm
# rigid musk its just for organization :3

Ok, so for the content json I could have this?
{
"Format": "2.5.0",
"Changes": [
{
"Action": "Include",
"FromFile": "data/BoboberryItem.json, data/BoboberrySeeds.json, data/BoboberryCrop.json"
}
]
}
And then I could work on each json individually? (organization makes it easier for me too :) )

ivory plume
#

Yep.

rigid musk
#

exactly!

rigid musk
#

and ive gotten many many comments about it here XD

#

i cant tell the difference between O0 and Ili with literally any other font when im coding so... comic sans it is

#

also make sure you have a data folder @molten charm !

#

the data part of that is specifically referencing the folder that the jsons are in :3

#

theoretically you could name the folder anything you want really xD

molten charm
ornate trellis
#

the missing commas and brackets do that on their own well enough /j

#

the dilemma of every mod maker...

rigid musk
#

brackets and commas.. its always brackets and commas

ornate trellis
#

and if its not then its capitalization or the missing of it because mah case sensitivity

rigid musk
#

queue the one time I dared to forget a single capitalization in the name of my npc and broke my entire mod

#

i suppose not the WHOLE thing but a lot of it

ornate trellis
#

cuz its fun searching for the mistake for four hours and you come in here to ask because youre at your wits end and someone goes that should be capitalized

rigid musk
#

"Are you sure there is currently an npc with the internal name "TheMrQi""

#

it haunts me

#

it always haunts me

ornate trellis
#

srsly tho if i didnt have this place id have given up on mod making long ago...shinji

gentle rose
rigid musk
#

i dont think i would have given up but I sure as heck wouldn't have gotten as far as I have now

#

im glad so many people can get joy out of my comic sans font

#

I know I would have exploded trying to figure out how to fix the issue with item extensions and Qi's shop at least without this channel...

#

Literally several hours of testing from multiple people only to figure out that you just had to do things the 'legit' way to get to the walnut room...

#

While very on brand for Mr.Qi I was NOT amused

gentle rose
rigid musk
#

twelve hours

ornate trellis
#

MrQi just wants everyone to be in his nut room

rigid musk
#

😭

gentle rose
#

I remember SBVLmaoDog I was one of the people helping you figure it out

rigid musk
#

If I never have to read, type, or hear the words 'Nut Room' again itll still be too soon

#

I know you were kekw

#

Such a random issue and for what

gentle rose
#

I’m still not sure which flag etc was causing it (might have to look through cjb’s code to see how it does cc unlock etc)

rigid musk
#

I really dont even know, it had something to do with whether Joja or the CC was complete though

gentle rose
rigid musk
#

I have a terrible memory but i remember that

#

by the way @molten charm in your other files/ the files that you're including, you wont have a 'format' line (thatll break your json lol)

#

format only goes in content json :)

gentle rose
#

it was me and selph? maybe? iirc? I remember things that happen but I can never remember who was involved in them SBVLmaoDog

lucid mulch
#

Not sure if ligatures even do much for content packs, but monospace is important

rigid musk
#

it was definitely a whole team experience

#

(a few other people also popped in at some point)

molten charm
#

Ok, I have an item json, a seeds json, and a crop json. What do I put in the item json to actually add a new item? (I do have a sprite made for it)

lucid mulch
#

Editdata on data/objects

rigid musk
#

^

#

Youll be doing EditData on data/crops data/objects and likely data/shops to add your seeds to a shop

lucid iron
#

is there comic sans mod for game too

rigid musk
#

oh god

ornate trellis
#

i mean, just use font awesome and you can make the game font as unholy as you want

rigid musk
#

wingdings

ornate trellis
#

font settings

#

not awesome lmao thats for something different

rigid musk
#

you guys ever see code in wingdings - its awful just fyi

ornate trellis
#

i was thinking of website coding for a second

rigid musk
#

(when i was trying to figure out which font i wanted, my program offered WINGDINGS for some reason and i clicked it and regretted it instantly)

#

very readable

gaunt heath
rigid musk
ornate trellis
#

beware of the man who talks in hands

gaunt heath
rigid musk
#

theres also this font which is... i fear whoever would chose this

gaunt heath
#

I'd set my friends' IDEs to that as a prank

ornate trellis
#

Papyrus is the way to go

gaunt heath
#

It's for extra fancy code!

drowsy pewter
gaunt heath
#

@ boncher illegal font alert!!!1!!!!!!1!!1!

rigid musk
#

Papyrus.. is interesting

#

all of these fonts feel like a crime

ornate trellis
#

have you tried Mayonice

fossil osprey
#

Mayonnaise

ornate trellis
rigid musk
ornate trellis
#

its free

rigid musk
#

if i couldnt read things before ...

#

i guess im not reading ANY lines of code now

astral prism
#

i'm making this little tool to export all the data on a certain item but for some reason the gift tastes aren't working:

private Dictionary<string, List<string>> GetGiftTastes(string itemId)
{
    var tastes = new Dictionary<string, List<string>>()
    {
        ["Love"] = new(),
        ["Like"] = new(),
        ["Dislike"] = new(),
        ["Hate"] = new(),
        ["Neutral"] = new()
    };

    if (itemId == "(O)74")
    {
        tastes["Love"] = Utility.getAllVillagers()
            .Where(n => n.Name != "Haley")
            .Select(n => n.Name).ToList();
        tastes["Hate"] = new List<string> { "Haley" };
        return tastes;
    }
    if (itemId == "(O)446")
    {
        tastes["Love"] = Utility.getAllVillagers()
            .Where(n => n.Name != "Penny")
            .Select(n => n.Name).ToList();
        tastes["Hate"] = new List<string> { "Penny" };
        return tastes;
    }

    foreach (NPC npc in Utility.getAllCharacters().Where(n => n.IsVillager || n.Name == "Krobus"))
    {
        if (!npc.CanSocialize) continue;

        var tasteLevel = npc.getGiftTasteForThisItem(ItemRegistry.Create(itemId));
        var category = tasteLevel switch
        {
            NPC.gift_taste_love => "Love",       
            NPC.gift_taste_like => "Like",       
            NPC.gift_taste_neutral => "Neutral", 
            NPC.gift_taste_dislike => "Dislike", 
            NPC.gift_taste_hate => "Hate",       
            _ => "Neutral"
        };

        tastes[category].Add(npc.Name);
    }
    return tastes;
}```
#

anybody see anything that's making me look like a buffoon?

#

don't tell me there's a built-in method for this or somethin

rigid musk
#

one day I will know about C# ... today is not that day

hallow prism
#

i think someone recently mentioned a way to reset terrain feature with a trigger action from a mod

#

does this ring a bell?

lucid iron
#

BETAS

#

Spiderbuttons.BETAS_ClearTerrainFeatures

hallow prism
#

thanks

lucid iron
#

hm i cant figure out how2 anchor link to things on here

hallow prism
#

i appreciate the link!

#

anchor?

silver sand
lucid iron
#

like those #whatever links

#

to the middle of a page

silver sand
#

.gay

lucid iron
#

since this is button site idk if its setup

hallow prism
#

oh ok!

#

so this one is for clear only, right? i hoped for a reset/respawn (i added trees to an existing location)

#

(i will tell people to use whatever rtf mod they have to make them spawn, i hoped to have a way to do that on my hand)

#

there's a lot of cool actions i didn't know about

winter dust
# old edge yes

Are there any roads you want connected to Walk to the Desert Redux by chance, giving people another way to get to the Cape?

uncut viper
# lucid iron since this is button site idk if its setup

an HTML tag would need an ID to have anchor links work and i just never set it up on the actions page originally bc every page but trigger used to fit within like one screens worth of space... i have been meaning to add IDs since ive been doin it for my newer docs i just havent gone back and added to older pages yet

uncut viper
hallow prism
#

thanks πŸ™‚

uncut viper
#

if there was specific desire for more RTF-like functionality in an action i could try addin it at some point but i figured doing more than just clearing would just be. less useful RTF

#

but my figures have been wrong in the past

hallow prism
#

so my current use case would have been a one time trigger to spawn the trees that are on the map if the player already has the mod installed, basically doing the rtf for them. It may be pretty minor.

rotund elm
#

Hey quick question, why did lookup anything stop showing the mods an items from?

#

Is there a keybinding or console command to make that show again

hallow prism
#

it still does, if the mod follow the proper format

#

which is to have the items names using the mod id as a prefacing

gaunt heath
#

stardew.button.gay remains an absolutely superb url

rotund elm
#

Ok thank you lumina SDVpufferheart

hallow prism
#

sure

iron ridge
uncut viper
hallow prism
#

sure, feel free to ping me if you add it, no pressure and thanks for considering it πŸ™‚

rigid musk
#

Is there a reason why the camera keeps centering itself over here? i'm testing my cutscenes with different zoom levels just to make sure things can be seen (and adjusting where the camera centers at the start accordingly) but it seems that no matter where I put the coordinates with this one it just... stays over here
for context the camera should be centered over where the calico jack table is right now :L

winter dust
rigid musk
#

yeah its over here

#

er sorry left

#

mixing up my lefts n rights lmao

mellow karma
#

hey guys, are there any more in deth documentations for the C# modding, i setup a simpel mod but for example i search for how can i check if the current tool is not only an axe but also used

#

or how whould i set up a check that only should happen if the player uses a tool on tile 15 15?

light shore
#

hey now.. for now I did some disposition and others, when I checked, the NPC didnt spawn in the game. I don't think I did anything wrong in the disposition file, the validator doesn't find my mistakes either, I think the portrait files are correct too..

rigid musk
#

can you send either a log or the json that the npc data is stored in

hallow prism
#

both preferably

#

we can't really help unless you want to play a weird 20q game

old edge
#

I'm actually in the process of making it bigger for larger screens

ocean sailBOT
#

Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Home Single Language, with 11 C# mods and 8 content packs.
Suggested fixes: One or more mods are out of date, consider updating them

rigid musk
#

you should be targeting Data/Characters

rigid oriole
ocean sailBOT
rigid musk
#

oh wait

light shore
rigid musk
#

wait yeah no im right

#

your editdata

#

EditData -> Data/Characters

#

i dont even think npcdispositions is even a thing you can target or edit pondering

rigid oriole
rigid musk
#
"Target": "data/NPCDispositions",```
#

this part

light shore
#

so im gonna target characters i assume?

rigid musk
#

data/characters yep

brave fable
#

Data/NPCDispositions hasn't existed for about a year, you'll notice there's no file with that name in your Content/unpacked folder

#

makes me twitch when people here still talk about editing a chara's disposition when they're talking about character data lol

winter dust
brave fable
#

it's a bit late to wait, it was deleted in 1.6 lol

winter dust
#

Am I supposed to migrate it?

brave fable
#

are you thinking of Data/NPCGiftTastes? that one still exists

#

all other chara info is in Data/Characters

#

i suppose it's possible that CP retargets to NPCDispositions for old formats, but i'm just spitballing that

winter dust
brave fable
#

if CP/SMAPI is rewriting your patch to keep it going you're probably fine, but you won't be able to use any new fields and features from Data/Characters, such as different npc sizes, breathing states, breather sprites, builtin exclusions, ..

#

best to update and use the latest format and game models anyway

uncut viper
#

im surprised CP rewrites it at all if you're using modern format numbers

brave fable
#

very brave 'if'

uncut viper
#

2.0.0 is modern enough for me to think that

ocean sailBOT
#

Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Home Single Language, with 11 C# mods and 8 content packs.
Suggested fixes: One or more mods are out of date, consider updating them

light shore
lucid iron
#

i was also under impression that cp rewrites only for 1.x

light shore
#

i just tried to follow what wiki says lol

lucid iron
#

and u merely just cant expect to use format 2.5 if u installed cp 2.4

light shore
rigid musk
#

your portrait files aren't correct..

#

also that wouldnt really help you unless you're loading it specifically from that area

light shore
#

but how 😦 they were working fr

rigid musk
#

it says the filepath is incorrect

#

you also apparently dont have a json for your dialogue or schedule

#

or one named 'disposition'

light shore
ocean sailBOT
#

Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Home Single Language, with 11 C# mods and 8 content packs.
Suggested fixes: One or more mods are out of date, consider updating them

light shore
#

πŸ₯Ή

#

I've been here for days and I feel like I'm giving you a hard time because I don't know... sorry for that

rigid musk
#

lord knows I've personally asked more than enough questions...

#

literally most of my talking is IN this channel

light shore
#

thanks again

rigid musk
#

can you send your NPC's json again?

lucid iron
#

when did custom assets become a thing think

#

like it definitely wasn't always a thing right, given prevailance of content pack for in pre 1.6

rigid musk
#

you're missing the first part of the NPC data which is like, the entry for the NPC

#

The little "{{ModId}}_TheMrQi" - in your case it would be "NPCAtsushi"

light shore
#

so am i gonna add ModId then write NPCAtsushi?

rigid musk
#

I don't know if anyone would have the same internal npc name

#

thats just to make sure it remains 'unique'

#

Though i also dont know if anyone would have ever named their NPC "TheMrQi"

hallow prism
#

it is best if possible to have the format be following the convention to prevent conflicts, it also helps troubleshooting if people know what to expect

rotund elm
#

So if a mod author is making a recolor for a mod and it was done poorly and a some of the assets/sprites are missing, and it was done after the most recent update of the mod being recolored, approximately about a month ago is it appropriate for me to upload a better alternative?

#

just need some feedback I don't want to come off as rude or ignorant if I post this I also feel like asking the person who made the recolor to update it after they did already is also rude.

#

idek

lucid iron
#

you can always do 2 cakes, assuming im understanding this correctly at least:

  • Original Mod: Exists, author has no issue with recolors
  • Other Recolor Mod: Exists, outdated
  • Your Recolor Mod: Well go ahead and make this :)
rotund elm
#

Ok, that helps. I'll reach out the the original mod author then and double check its cool for me to post an updated recolor to be safe. Thanks Chu

molten charm
#

I'm trying to load a texture for an item i added but i can't figure out the file path stuff 😭 Can someone help me?

hallow prism
#

are you loading the texture?

iron ridge
#

you have to load the texture in

molten charm
#

Oh 😳

#

how do i do that

finite ginkgo
molten charm
#

so i got stuck earlier with the Target function

#

because that means that im replacing something right?

rotund elm
#

If I am replacing an asset from another mod it should be formatted like so right? I did something wrong and I am assuming it's with my target

        {
            "Action": "EditImage",
            "Target": "mods/ModID/assets/TargetImage.png",
            "FromFile": "assets/ReplacementImage.png"
        }
rigid oriole
#

Did you add a false dependency on the mod you're editing so it loads first?

final arch
#

if it doenst exist you dont overwrite anything

rotund elm
#

I did add a dependency

hallow prism
#

which vary from mod to mod

rotund elm
#

ok so I need to find the load section where that asset is loaded and copy it essentially

hallow prism
#

        /* add item  images*/
        {
            "LogName": "Load images",
            "Action": "Load",
            "Target": "Mods/Lumisteria.MtVapius/Gems, Mods/Lumisteria.MtVapius/Plants",
            "FromFile": "assets/images/items/{{TargetWithoutPath}}.png"
        },```
Example, here, the target would be Mods/Lumisteria.MtVapius/Gems
#

yes

rotund elm
#

Thank you : )

molten charm
final arch
light shore
final arch
# molten charm what folder should i load my texture into?

here an example, the first thing loads the texture from our mod folder (Assets/Objects/Objects.png) into the games Content folder at Mods/Rafseazz.RSVCP/Objects
at the second arrow we tell the item where this texture is in their texture field

rotund elm
#

https://github.com/MolsonCAD/DeluxeJournal/blob/master/src/DeluxeJournalMod.cs
https://smapi.io/json/content-patcher/dc5d9096d9c34aa7b6df60adf7a1caa9

Ok above is their .cs file where they load the textures, and below is my content.json. It still isn't working and I am unsure what part is incorrect, do I need to load my assets as well in the content.json?

GitHub

Upgrades the journal in Stardew Valley with new features. - MolsonCAD/DeluxeJournal

rigid musk
#

log name is not what you needed to add

final arch
rotund elm
#

So it will have to be manually changed then? X|

#

NoOoO

final arch
#

yes, or ask the author to load it into Content first, then you can patch it with CP

rigid musk
#

you needed to actually add the entry for your npc (which is to say the "NPCNAME": { before the rest of your NPC entry

rotund elm
#

Ok cool ty!!

rigid musk
#

it should look like this

#

or something similar

#

(i think i put the closing bracket for the start of the NPC stuff in the right place)

light shore
#

my bad

light shore
winter dust
final arch
#

okay

rigid musk
#

good rule of thumb: if you have an error send the log instead of just saying it :3

#

Anyone who wants to help will have to see anyways heehoo

light shore
ocean sailBOT
#

Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Home Single Language, with 11 C# mods and 8 content packs.
Suggested fixes: One or more mods are out of date, consider updating them

rigid musk
#

looks like you're missing a bracket or something can you send the json again :3

rigid musk
#

well your bracket is facing the wrong way first of all

#

the one right after the NPC name

winter dust
#

Sometimes errors are just forgetting brackets, commas or spelling errors.

rigid musk
#

"NPCAtsushi": }
should be "NPCAtsushi": {

#

the amount of times I've accidentally typed {{Mod_Id}} instead of {{ModId}}_ is a lot

winter dust
#

At least in most cases it's easier than typing the mods full name

light shore
#

i have no idea how to close that the spaces irritates me

pine elbow
#

Why don't there be a fighting system for mobs and be servers for players when they are bored

rigid musk
light shore
rigid musk
#

it can just be NPCAtsushi (the mod id, again, is just in case someone else somehow makes An npc ALSO called Atsushi and somehow names them internally ALSO NPCAtsushi) -

#

Oh okay :D

calm nebula
light shore
#

I have too many tabs, I got confused

rigid musk
#

One of the things I intend to implement in the future for my Qi mod is the Qi Arena thing... that's future though because that will take a bit of development and I refuse to continue to get scope creeped before I release 1.0.0 of this damn mod

rotund elm
#

LOL I didn't know he had a discord so I messaged him on Nexus toooo XD

rigid musk
#

for every { or [ you add you're gonna need another one to close it

light shore
ocean sailBOT
#

Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Home Single Language, with 11 C# mods and 8 content packs.
Suggested fixes: One or more mods are out of date, consider updating them

light shore
#

am i gonna put his portraits to portraits file?

winter dust
reef kiln
#

Is there a way to override the dog panting sound for just one breed of dog? I see the barkoverride but not one for the panting sound.

reef kiln
winter dust
#

Oh yeah?

final arch
valid moth
stable flame
#

Hello everybody. Where can I find the log output for stardew mods? Whenever I run STV, the stuff that runs in the beginning goes by too fast and I can't tell which mods need to be updated

brazen arch
#

The site has a set of instructions to follow

meager loom
#

I started working on a mod several years ago but had many life events get in the way and I haven’t touched it since. I’m trying to pick it back up and get a release out, but it seems like the landscape for modding has changed a bit since then. In my mod directory, I have folders starting with [CM], [CON], [CP], [HCE], [JA], [PFM], and [STF]. I remember these being various modding frameworks but it seems like many of these haven’t been updated in some time and also many functions seem to have been merged into Content Patcher. My question is, how do I start migrating this to the new stuff so I can continue working on it? I have quite a lot of JSON so the least tedious solution is preferable. Thanks everyone!

winter dust
ornate trellis
#

thats what we got afaik, so at least its a start

winter dust
#

I remember when SAAT was released, and when I came back it was defunct.

ornate trellis
#

it do be like that

#

for me it was "oh, i should finally try DGA oh wait its dead"

winter dust
#

Content Patcher is just the king of modding nowadays.

meager loom
#

Okay thanks for the info guys! I'm assuming once they're converted I need to merge them somehow with my existing content patcher stuff? (which I would assume would also be out of date)

winter dust
ornate trellis
meager loom
ornate trellis
winter dust
#

WTDR went from having seven or more dependencies to two.

meager loom
#

Is Custom Ore Nodes still necessary or can that be converted too?

ornate trellis
#

Item Extensions is the way to go now

rigid musk
ornate trellis
rigid musk
meager loom
rotund elm
#

I am probably gonna do a config and do recolors for more than just DaisyNiko. So this will be perfect for me to just add a config option or have it automatically switch between the recolors for people who aren't as tech savy

light shore
ornate trellis
#

not sure about that one, seems to work fine but idk if theres a new framework doing that kinda stuff

rigid musk
stable flame
light shore
meager loom
rigid musk
rigid musk
#

Characters/NPCAtsushi and Portraits/NPCAtsushi

meager loom
#

Are there converters for my 1.23.0 Content Patcher to the newer versions or do I just need to change the format version?

light shore
rigid musk
ornate trellis
meager loom
ornate trellis
#

oh yeah the way locations are added changed and npc stuff did too

#
Stardew Modding Wiki

Hello! Aviroen here.
Below I have constructed a ROMANCEABLE NPC template which are all standalone.json(s)
This is assumed that you understand Content Patcher to some degree.
If you want to see how all of these files interact with each other, you're free to look at my
"What does standalone mean?"
It means...

#

errr, template i mean, i am looking for the tut lol

#

tho the format is 2.5.0 now not 2.4.0

dusk mulch
#

@blissful panther I found a possible bug with PEEM. I can't interact with the tile unless I use terrain features to remove the bush. The priority doesn't affect it either.

latent mauve
#

In the future, there's a !npc command you can use for that instead, Funtime Void πŸ™‚

tiny zealot
light shore
#

thx for everything again!!

rigid musk
#

Really happy to help!

#

It must feel satisfying to be able to see him lol

#

I know how that feels

tropic walrus
#

I just had an event end abruptly because I used #$action AddSpecialOrder at the end of a character's dialogue. Is this known behavior?

#

No errors and the special order was added successfully

dusk mulch
#

bruh.

tiny zealot
#

unsure if the powers that be know it, but there is some odd behavior around parsing dialogue actions since the dialogue parsing code is pretty gnarly

dusk mulch
#

my mod worked yesterday, i went to bed and today it doesnt work 😭

lucid iron
#

you need to give it some encouragement

tiny zealot
dusk mulch
rotund elm
#

A supportive and nurturing environment is always best for young mods

slender badger
#

Did the list of deprecated event pre-conditions get deleted or just moved somewhere else on the main wiki? If it did get deleted, could it be brought back as a reference? The vanilla events still use them but half of them aren't listed anymore and now there's no reference to what each one means for anyone trying to interpret conditions from vanilla code

slender badger
#

Ahh, must've missed seeing that! Thanks SDVpufferheart

winter dust
dusk mulch
lucid iron
#

hm i ran into weird C#

#

i have a subclass of ItemGrabMenu and i was gonna do more draw stuff by overriding draw

#

This one doesn't work, from base.draw I get MenuWithInventory.draw instead of ItemGrabMenu.draw

public sealed class SpecialItemGrabMenu : ItemGrabMenu
{
    public override void draw(SpriteBatch b)
    {
        // this gives me MenuWithInventory.draw(SpriteBatch b, bool drawUpperPortion = true, bool drawDescriptionArea = true, int red = -1, int green = -1, int blue = -1)
        base.draw(b)
    }
}
#

This one does work, I get ItemGrabMenu.draw like I wanted

public sealed class SpecialItemGrabMenu : ItemGrabMenu
{
    public override void draw(SpriteBatch b)
    {
        // this gives me ItemGrabMenu.draw(SpriteBatch b)
        Action<SpriteBatch> drawMethod = base.draw;
        drawMethod(b);
    }
}
#

why...

reef kiln
#

Is it possible to use CP to make a machine that opens an interface to craft... like the sewing machine? Or is that getting into c# modding.

uncut viper
#

C#

lucid iron
#

better crafting

uncut viper
#

depends how super custom you want the UI

reef kiln
#

I want to remake the doll maker mod as the author has left modding and said that there mods are open to be remade or updated. Hoping to make it not need JA. But I don't know c#. So the doll machine is what I need to figure out. I will look at better crafting and see if it is something I can do, or if it is beyond me.

lucid iron
#

Looks like they use this framework

tiny zealot
#

i am seeing now that pathos rewrote that section and his version more strongly tells authors not to use the short aliases

dusk mulch
#

How can I define the priority that a map edit needs to be loaded?

lucid iron
#

If you want to take the sprites (author had modification perms set to open) and remake the mod in some combo of better crafting, extra machine configs, and regular game content stuff

#

You probably can

patent lanceBOT