#making-mods-general

1 messages Β· Page 54 of 1

teal bridge
#

Unless you want to implement Notepad++ in the chat box... ha

lucid iron
#

terror

calm nebula
#

is getting very close to removing Harmony from Aquarium entirely

#

...you know, with the smol expection of having to patch a tiny thing for a tiny feature, sigh

lucid iron
#

remove harmony introduce chaos

teal bridge
#

It's alright though, the setting Selph mentioned is enough - can just say to disable that option if you want hot reload to not require an alt-tab.

outer panther
#

IT WORKEDD

i cant believe that such a small thing completely ruined the mod LMAO

#

now i gotta figure out how to mod the clothes to fit the body, just looking at the pants sprites is horrifying

astral prism
#

how are you supposed to add clickable components to a menu after it's been made? i tried this

var menuForReference = (GameMenu)Game1.activeClickableMenu;
Game1.activeClickableMenu.allClickableComponents.Add(new ClickableTextureComponent(/* etc */));```

inside 'OnMenuChanged' but it cries and says allClickableComponents is null
calm nebula
#

(recommendation: call menuForReference.populateClickableComponentList)

astral prism
#

before doing the .Add() ?

#

thank ya !

#

remind me in 15 hours to try this

patent lanceBOT
#

freakin' xxharvzbackxx, always needin' stuff. FINE. (#6285500) (15h | <t:1728315907>)

teal bridge
#

Hot reload's now done. Funny, reloading the views turned out to be dead easy but reloading dependent sprites/textures was a minefield of threading and caching issues.

#

This is pretty much beta-ready now, there's one little ergonomic issue that'll get fixed when it gets fixed. Though I guess it's not really done until the long slog through docs and examples.

lucid iron
#

say how would content mods go about triggering menus?

teal bridge
lucid iron
#

do you have a trigger action for ppl to use

teal bridge
#

Which I believe also answers the question you just asked - I guess there's nothing stopping you from doing it from a trigger action but it can be done from normal C# without any binary dependencies, just the API reference. It creates an IClickableMenu for you.

lucid iron
#

oh content mod as in non C# mods

#

spacecore has spacechase0.SpaceCore_ShowHudMessage which does what it says

teal bridge
#

It's hard for me to imagine creating an entire menu that would do anything useful from a pure content mod; there has to be some sort of behavior associated with it, otherwise why do you need a menu?

#

But if there's some scenario I'm overlooking then these would be the kinds of examples I was asking about earlier in the day. (Specifics!)

lucid iron
#

a while back Katu was making a recipe mod (culinary delights, now released)

#

one desired feature was extra ways to inform the player that they've obtained a recipe, some were via mail while others via the spacecore show hud message

#

if you could 1) make a mostly static view 2) open that in desired location on trigger raised, then that would make telling ppl about things beyond just mail possible

teal bridge
#

It would also have to close automatically, have some degree of stacking behavior, etc. in order to behave like the regular HUD. Possibly also a way of avoiding real estate conflicts with the actual HUD. (The HUD itself can't really be changed much afaict)

lucid iron
#

yea hm, maybe i am actually describing a "stardewui triggers" mod on top of stardew ui blobcatgooglyblep

teal bridge
#

This feels like the type of thing to go in an add-on mod; StardewUI provides the templating system, you can use it to actually build the HUD's content, but in terms of wiring it all up to trigger actions, deciding what data goes in it, etc., that seems more suited to the "content framework" mods like the ones Button does.

#

(More or less what you just said, yes, we had the same thought there)

lucid iron
#

i will rotate the idea DokkanStare

teal bridge
#

At the moment, the API only builds menus, however I've been anticipating the HUD use case and will probably add a very simple interface like IDrawable to the API that has just the two essential methods, Measure and Draw, that can pass through Pintail easily.

#

The way it's designed, the "menu" is just a trivial wrapper over a certain view type, so there's not much difference; I just started with the menu because IClickableMenu is an interface that already exists. (Or, well, not actually an interface but a shared type so it's still OK)

lucid iron
#

Do you consider ui anchored to world (like afs bubbles display) hud

#

Or is that whole other thing

teal bridge
#

Anchoring to the viewport is in scope already (it's just a viewport-sized panel/frame with some alignment and margin... 1 line of markup) but associating with game world locations again seems to be outside the domain of what a UI framework would do. The UI framework builds the UI - the speech bubble with content, or whatever else you might want - but it's up to the individual mod to decide where to display it. Maybe this is another case for an up-level framework mod, to associate UI with tiles or objects or buildings or whatever else.

#

Main reason I say that is it seems like arbitrary scope and complexity - the "anchor" is whatever the mod wants it to be. Is it anchored to a tile? An NPC? A building? Terrain feature? Is it supposed to move with the entity, or stay in its initial location? And so on. Those are all non-UI decisions.

iron stream
#

When adding in i18n support via the config. Would you do it like this {{}} or like this? (image attached)

teal bridge
#

(A canonical example of this would be something like health bars; it's not uncommon to use a UI framework to show the bar with border, coloring, numbers, etc., but the UI framework is not going to handle the positioning, billboarding and all that.)

next plaza
#

There actually is UI in game that is anchored to something in world

#

bobberBar, to the player

#

And the emote wheel (also to the player)

lucid iron
calm nebula
#

!1.6

ocean sailBOT
#

Stardew Valley 1.6 is the recent major game update, which added lots of content and modding changes. See...

It released for PC on March 19th; console and mobile are coming soon.

lucid iron
teal bridge
#

The question is, what precisely do you gain from feeding this anchoring logic into the UI API? It saves maybe 2-3 lines of code in an update loop?

iron stream
lucid iron
#

I was under impression that stardewui controls the whole drawing process but I feel I am imagine this wrong

teal bridge
#

SpriteBatch controls the drawing process. SDUI participates in the drawing/update loop. Menus are kind of a special case because of all the interactivity and events that need to be handled.

velvet narwhal
lucid iron
#

That key is used for gmcm without you doing anything else

#

You can't put tokens in ConfigSchema afaik

teal bridge
#

If you wanted to draw custom UI using a (hypothetical) IDrawable it would go like:

var view = viewEngine.CreateViewFromAsset("Mods/MyMod/Views/MyView", data);
view.Measure(viewportWidth, viewportHeight); // Or whatever the constraints should be

// Other stuff happens

void OnRenderHud(SpriteBatch batch)
{
  view.Draw(batch);
}
velvet narwhal
#

they kinda create themselves as tokens immediately ish? SDVdemetriums

lucid iron
#

Ah yeah I have been imagining this all wrong kyuuchan_run

teal bridge
#

What it's abstracting away is all of the painful stuff you normally have to do in OnRenderHud (or in IClickableMenu.Draw or etc.)

lucid iron
#

Did not realize consumer mod would just have the view object

teal bridge
#

I can't pass the whole IView over Pintail, but a simplified version with Measure and Draw will work, and that's enough for - I believe - 99% of use cases.

iron stream
#

Thank you for the explanations they both helped! I understand it now SDVpufferheart

calm nebula
#

@chrome mountain sooooo it's now possible to make any fish wear hats.

teal bridge
#

So a hypothetical trigger-action add-on mod only really needs to do the 3 lines (create view, measure, draw) and then the logic of how to trigger it, where to position it, etc. could be up to that mod.

calm nebula
#

pufferchick, hat? maybe?

lucid iron
#

Is there some kind of token support? Like at least the vanilla text parser

teal bridge
#

Are there cases where a token would do something that a normal data binding couldn't?

lucid iron
#

I kinda assume there is, since u r call it template system

#

Just wondering how one would go about reusing same view with different text basically

teal bridge
#

Like:

var data = new() { Text = I18n.Whatever(); }
var menu = viewEngine.CreateMenuFromAsset("asset", data);

That's the most basic use case.

lucid iron
teal bridge
#

This all needs to get expanded on in docs obviously, but there are 3 types of attributes: literal attr="value", binding attr={{Property}} and asset attr={{@Mod/Asset}}.

#

Any property of any view can be assigned that way and will update when the data updates.

#

...which reminds me, I was going to change the double brace to a single brace.

lucid iron
#

Something I recall from making that machine mod is, I wasn't too sure whether a given property I was setting would update when I change it while menu was open

teal bridge
#

It definitely will. The model needs to implement INotifyPropertyChanged, same as WPF, and I highly recommend a source generator to eliminate all the boilerplate around it.

lucid iron
#

For example it seems like the Border sprite on Frame didn't have dirty tracking

teal bridge
#

Don't confuse dirty tracking with update-ability; dirty tracking is for properties that affect layout.

lucid iron
#

Yeah I did realize this but I also did not get swapping the bg sprite to work and went with changing Tint instead

#

Was it something to do 9 slice think

teal bridge
#

I don't think so. If changing any property at all is not immediately visible on the next frame then that's a bug. Looks to me like Frame does what it's supposed to, it checks if the sprite has changed and updates the nine-slice if so.

#

There was at one point a bug where it didn't update according to horizontal/vertical alignments, but that was resolved 3 weeks ago.

lucid iron
#

Ah that's probably it

#

At any rate I hope u r not annoyed with all my questions, I am look forward to the template update DokkanStare

teal bridge
#

Not annoyed at the questions, only annoyed at the mountain of documentation I know I'm going to have to write for general use.

#

I do guard against scope creep but that shouldn't be taken as annoyance. Those who've never used a framework like Angular, React or WPF may not "get it" right away and I expect that too (hopefully having a dozen examples will address that).

lucid iron
#

I'd be down to test + help write some examples

teal bridge
#

Cool. I think it is in the state now where those are going to make the biggest difference, essentially code-complete for beta. I was going to start the docs marathon tomorrow.

#

Every external contribution no matter how trivial is going to help with understanding what people want to do with it, and smoothing out any rough edges.

lucid iron
#

do i build the dev branch + the test mod and then put whatever examples in text mod?

teal bridge
#

If you're wanting to try something out, then sure. I had planned to put examples on GitHub wiki pages rather than directly in source.

#

They can go in source too, of course - just add more .sml files - but I want to have wiki pages where they can be annotated and explained.

#

(I'll make the wiki, of course - I'll be happy just to get an example in a ping or gist or whatever, any form is OK)

#

Alright, just checked in the single-brace update which is the last for the night. If you haven't already, check out the unit tests here: https://github.com/focustense/StardewUI/blob/dev/FrameworkTests/BindingTests.cs

It covers every valid binding syntax including quite a few that did not exist when I first brought this up around a week ago: repeaters, conditional nodes (if or switch/case), context redirects, and even event handlers (those were insanely hard to do).

dusty scarab
#

hm.... I think it might be a problem because the planters came from the spring_outdoors tilesheet, buuuuut... I kinda thought that they'd keep showing up, no matter the season. once Spring is over the planters at the top of my spouse patio vanish, but the invisible space remains impassible. anyone got any ideas for fixing it?

ivory plume
brave fable
#

They'll be grouped with the main mod into a parent folder automatically
HO HO HO

uncut viper
#

it'll validate that the version numbers match for the content pack and the C# manifest too.... god bless

velvet narwhal
#

wait a parent fo-TIME TO GO CHECK

brave fable
#

all my dearest prayers answered πŸ‘Ό

velvet narwhal
tender bloom
#

it's all i've ever wanted

vernal crest
dusty scarab
calm nebula
#

That's fucking hilarious

#

Do me a favor

#

Take maps/springobjects, copy that as a png, turn the whole thing bright pink, and then load to Maps/summerobjects

#

I will laugh so hard if this is the answer

vernal crest
calm nebula
#

Are those are on summer_outdoor

dusty scarab
dusty scarab
vernal crest
#

You could make your own by doing an edit image of the other seasons with the spring tiles.

brave fable
#

yeah the seasonal tilesheets often just make some tiles transparent between seasons, it gives a variety in map layout and it's usually fine since the tiles are out of bounds

vernal crest
#

But if the grass is part of the tile it will look real weird

brave fable
#

you'll notice the same with some flowers and small rocks

dusty scarab
calm nebula
vernal crest
#

I ended up with a bush inside a cliff because it was only on the summer tilesheet

vernal crest
dusty scarab
#

darn

vernal crest
#

You see it with furniture in mods like sve or mine (if you could see mine lol). They have loaded the vanilla furniture.png into Maps in order to use it in their maps.

ivory plume
calm nebula
#

It's a great match for Khloemagic because that one generates the entire file

#

Manifesting manifest and all

dusty scarab
#

that stinks, lol. I don't want to need to have extra pngs in there, so I guess I gotta remove the offending tiles. aw well, them's just the breaks sometimes. thanks again for the help, it cleared up an idea that didn't work like I thought it did

calm nebula
#

it only works without it due to a quirk of the parsing logic that's fixed in 1.6.9

#

0.O

ivory plume
#

That looks familiar, but I'm not sure what you're referring to?

calm nebula
ivory plume
#

Oh, no wonder that looks familiar; it's from a change in tonight's 1.6.9 beta patch.

calm nebula
#

ngl, add missed level up recipes is definitely a ?????? function

dusty scarab
#

there doesn't happen to be a changelog or patch notes for everything that's been changed/added so far, is there? if there is, I'd love to be able to read it

ivory plume
#

(That method has been rewritten in tonight's patch too.)

calm nebula
ivory plume
dusty scarab
#

thank you very much!

velvet narwhal
#

oh i didn't know the heart + location got fixed SDVpufferheart

fiery cobalt
#

Starting to think that the ability to add custom animals so easily is a little to much power for me

#

11 Barn Animals

#

and haven't started adding to the coop

dusty scarab
#

I wonder, is there ever a chance we could get a new Wizard building in vanilla, like the Golden Clock, except it's a scarecrow that covers the entire farm map? that might be cool

brave fable
#

a scarecrow as big as the clock would be jokes

dusty scarab
#

I would happily pay 10m for a scarecrow that covered my whole farm map, those birds are evil

tender bloom
#

It would need to be so tall

#

Like the Home Depot skeleton

dusty scarab
velvet narwhal
#

no don't do it, i already got scope creeped for this expansion don't open the damn decompile

dusty scarab
#

would it be possible to add such a building via CP, or would making an enormous scarecrow that functioned as a farm-wide scarecrow be entering C# territory? (I imagine it would likely involve setting the spawn rate for crows to 0 or something)

velvet narwhal
#

i think that's harmony crimes

calm nebula
#

@chrome mountain - 1.6 has a new attribute - "exclude from fishing collection". It...makes that fish not required for perfection. What behavior would you like?

dusty scarab
calm nebula
#

basically - do you want those excluded from aquarium entirely, excluded from the achievement

#

oh come on it's one fucking function in harmony it's not that bad

velvet narwhal
#

a postfix? i can probably do that

#
{
    foreach (string contextTag in base.GetContextTags())
    {
        if (contextTag.StartsWithIgnoreCase("crow_scare_radius_") && int.TryParse(contextTag.Substring("crow_scare_radius_".Length), out var radius))
        {
            return radius;
        }
    }
    if (this.Name.StartsWith("Deluxe"))
    {
        return 17;
    }
    return 9;
}```
dusty scarab
uncut viper
#

it seems like it can just be set by a context tag?

calm nebula
#

[HarmonyPatch(typeof(Farm), nameof(Farm.addCrows))]
private static bool Prefix(Farm __instance)
{
  return !__instance.buildings.Any(static building => building.buildingType.Value == "MyFancyBigScarecrow");
}
#

done

#

it's set by a context tag for objects

ivory plume
#

(If you made it a regular object like other scarecrows, you could do it entirely in a Content Patcher pack.)

tender bloom
#

in particular you CAN set scarecrow radius with CP

#

and if you set it to some massive number it should cover the whole farm

dusty scarab
calm nebula
#

fun fact - this is how I learned java

#

friend of mine: "so, can you, like, teach AP java tomorrow morning?"

#

me: knows no java. "Sure!"

#

14 hours later...

dusty scarab
#

that was a heck of a cram session, lol

vernal crest
#

Oooh that solves my issue with not having space for scarecrows in my custom map. Map-wide scarecrow here we come.

vernal crest
velvet narwhal
#

. <- my brain size SDVdemetriums

dusty scarab
#

no, you clearly have, as my German friend would say, a beeg, beeg brain

#

very creviced, lots of wrinkles, unlike us smoothbrains

velvet narwhal
#

builds this to see how it goes

dusty scarab
#

see, I'm one of those useless people that has ideas, but very little skill with which to implement them. you've got the skill to see the answers that I can't, which makes you awesome

velvet narwhal
#

SMCKekLmaoDog aba has weaponized the newspaper

dusty scarab
#

(and now I need to go rewatch that, since I got it stuck into my head...)

vernal crest
#

Baps for putting yourself down!!!!

#

You can say you are lacking in skill. You can say something is a struggle for you. But I will not accept demeaning yourself!!! πŸ—žοΈ πŸ—žοΈ πŸ—žοΈ

brave fable
#

haha small brain

dusty scarab
#

well, now I need to go make my mapwide scarecrow, though it will probably be via an item in Content Patcher instead of a Wizard Building, simply because I'm used to Content Patcher. not that I don't appreciate Atra writing the C# code for me, I absolutely do. I just have no idea what to actually do with it x.x

velvet narwhal
#

i still don't understand annotating and patchall but yknow, no red/green squigglies

dusty scarab
#

(even if Aba likely beats me to finishing it, haha)

rancid temple
#

Don't scarecrows have a scare distance on them?

dusty scarab
#

yeah but if that scare distance is 500 tiles...

velvet narwhal
#

atra made a building that literally says, "BEGONE"

rancid temple
#

I was gonna say 1000 SDVkrobusgiggle

velvet narwhal
#

so now i threw it into my harmony crimes mod

rancid temple
#

Even though you definitely shouldn't have a farm that big

vernal crest
velvet narwhal
rancid temple
#

Uh, pretty sure you aren't supposed to call PatchAll

velvet narwhal
#

oh ok

rancid temple
#

I believe that's used specifically for the annotation patching [] but that's also not technically the suggested way to do it because SMAPI can't fix your code if you do that

vernal crest
velvet narwhal
rancid temple
#

I didn't go up to see atra's anti-crow building but yeah prefixing adding crows is probably waaay better than making the scarecrow cover 500+ tiles lol

vernal crest
#

Nope I will have a many tile CP scarecrow and you can't stop me Roku!!

rancid temple
#

I'm sure it'll be fine :P 500 tiles is basically nothing

vernal crest
rancid temple
#

We're talking like millisecond differences

velvet narwhal
#

do i understand how this works? no, not really, but now i've been derailed to reading the decompile of buildingtype so i guess it's going into my chaos c# mod

vernal crest
#

When I feel brave enough I'm going to write my invisible NPC fix for UI Info Suite 2. That's as much C# as I can handle so far.

dusty scarab
ivory plume
#

Setting the scarecrow radius will be faster than a Harmony patch (no matter how large you set the radius). All the game does is check if Vector2.Distance(scarecrowTile, crowTile) < radius.

rancid temple
#

Oh nice lmao

#

I assumed the worse and that it was iterating every tile

dusty scarab
#

and, just to make sure I'm gonna be looking at the right modding help guide, I want the one on the wiki that covers Big Craftables, right?

haughty charm
#

(not me imagining Aba's many-tiled Scarecrow as a

#

Totoro holding a giant umbrella over the farm)

#

Just don't block out the sun, ok?

velvet narwhal
#

it just creates an entire shadow over the farm in the shape of an umbrella

vernal crest
haughty charm
#

Or...better yet, um, shade-loving plants?

vernal crest
#

Maybe just search modding::scarecrow

#

Mine's going to be a little angry goose statue

haughty charm
vernal crest
#

I have the power to steal other people's shitpost ideas (soz Avi πŸ˜‰)

velvet narwhal
#

selph already stole my idea SDVpufferpensive
and made it better

vernal crest
#

We're a cutthroat, backstabbing sort of a place

dusty scarab
haughty charm
#

Scarecrows don't fly in general, though, yeah?

velvet narwhal
#

me still trying to figure out how to make this cp-able

#

oh it's already cp-able

rancid temple
#

crow_scare_radius_<radius> is a context tag added in 1.5.5, took a minute to find

vernal crest
#

Ugh Roku beat me

#

Using the wiki is so slow on mobile!!!!

rancid temple
#

You need a bed laptop

vernal crest
#

I do have a bed laptop actually

#

But I wasn't anticipating a wiki search fight so I'm not using it right now

#

Race

rancid temple
#

Lol

vernal crest
#

Race is a better word for that

#

πŸ₯ŠπŸ₯Š

velvet narwhal
rancid temple
#

Those look more like Santa's gloves than boxing gloves lmao

vernal crest
velvet narwhal
#

I do want to see sekun make a building size scarecrow which is why I'm still adding atras harmony

dusty scarab
# vernal crest Race

you'll likely win, I'm terrible at pixel art, I will spend days to make this look halfway decent XD

vernal crest
lucid iron
#

what is the behavior if you build a gold clock on somewhere besides your farm

vernal crest
dusty scarab
vernal crest
#

I mean even if I was going to release mine you should go for it anyway

#

But you won't have competition is what I'm saying

velvet narwhal
dusty scarab
rancid temple
#

I'm just gonna make a personal edit for all the scare/rarecrows lol

#

Not about that art life

vernal crest
#

I am torn between making myself get more art practice and not giving myself another project to avoid Hiria with

dusty scarab
#

that was a dumb question, I can because the blessing statue requires 4

velvet narwhal
#

That's probably something in the overflow of the ui, which, I am not even remotely close to touching that

lucid iron
#

well it'll prob work despite the overflow

dusty scarab
#

yeah, it worked despite the overflow, but it made it so you couldn't see the name of the item and had to rely off its icon to see what it was, the name got hidden by the build/move/destroy/paint/etc options area

lucid iron
#

then u can do it like normal scarecrow

rancid temple
#

Hey uh, if you have a mod that shows the scarecrow radius, don't make it 1000

velvet narwhal
#

Did it scream?

rancid temple
#

I'm getting 1 frame per minutes right now

#

Can't switch off the stupid thing

#

Can't believe it hasn't crashed

vernal crest
#

Oooh good to know

velvet narwhal
#

Maybe atra's harmony building is the play then

vernal crest
#

I hope you can turn scarecrow radius off in UI Info Suite

velvet narwhal
#

It's already built but I'm at the gym now SMCKekLmaoDog

rancid temple
#

I use Range Highlight and was able to disable it, but I wonder how Data Layers will handle it lol

dusty scarab
velvet narwhal
#

We have learned a valuable lesson

rancid temple
#

It comes as a slight surprise to me actually that Data Layers also has a fit

#

500 is slightly better but still like unplayable freeze level of slow

velvet narwhal
#

Tbh that mod is too important so I don't think the object crow will be correct

vernal crest
#

I have lived thus far without Data Layers but now I've heard of it I want to use it

#

But I also want scarecrow

rancid temple
#

Yeah this is cursed lmao, even 50 is too much

brave fable
#

i rather thought it'd just have the mods show all tiles as protected rather than making them crash and burn lol

vernal crest
#

Let's all just make puppy dog eyes at Pathos

brave fable
#

here was me thinking this'd be a nice way to disable crows and have it reflected in whatever helper mods you had

velvet narwhal
#

I used up my monkey paw wish for modbuildconfig someone else has to

rancid temple
#

You know what, I think reloading this isn't working actually

#

I just dropped it to the default and it's still consuming the whole screen

brittle pasture
#

it may be because context tags are cached

rancid temple
#

Yeah, I think that's probably it

#

A title reload worked fine, so not the end of the world

#

For the safety sake, I'm gonna say 200 is pushing it

#

There's a considerable frame drop but it doesn't keep me from being able to get out of the situation

#

So if I haven't disabled showing the range I can switch off it lol

#

Without the range displayed, it's just fine

#

TBF, most farms shouldn't be bigger than 200

#

Especially not wide, since that's the broken direction

velvet narwhal
#

Four corners is 80x80

#

Just make it big red text "not optimal to see how far it works, Just Trust That It Does"

rancid temple
#

The building is still seeming like a superior choice since you don't need to see it's functioning zone to make sure you got your whole farm in it

vernal crest
#

For people who don't have extremely small crop areas, sure.

rancid temple
#

I've definitely made some bad choices and had an entire farm of crops before

velvet narwhal
#

Well they can just add the buildingtype and make it any size building

vernal crest
#

My crop space is 15x15

rancid temple
#

What's not to love about spending every single second of an entire day planting

vernal crest
#

I pause time on planting day

rancid temple
#

That's smart, this was before I was into modding lmao

#

Now I have sensible small plots and cheat whenever I feel like it

velvet narwhal
#

I can't play the game without cheating now that I've started creating mods

#

SDVpufferweary I've ruined myself

rancid temple
#

I was cheating before then, but I only have so much patience for video game fluff anymore

#

I love when VS decides it's going to use half of my available ram

vernal crest
#

The fact that there's stuff in migrate pages that isn't anywhere else in the wiki is sad

#

I hereby commit-ish to a campaign of moving migration info into other pages

#

(Disclaimer: I may abandon this campaign at any time up to and including before I have started. No results guaranteed.)

rancid temple
#

Yeah, I still haven't read the guide for moving stuff or the guide for the right way to format stuff, so larger changes I'm still avoiding

vernal crest
#

It is scary and intimidating.

dusty scarab
#

in my excitement to get this done, have I missed anything, or is everything filled out right and I'm ready to move on to my data/craftingrecipes section?

rancid temple
#

Drop the <> around the radius number

#

That's usually just an indicator that you replace everything there with your own thing

vernal crest
#

Don't forget to load your texture (or use InternalAssetKey if that's what we're doing now)

#

Bleh I hate using TargetField. I never remember how to do it.

dusty scarab
# rancid temple The building is still seeming like a superior choice since you don't need to see...

and that's faaaair, honestly I didn't even know that you could see the effective range with your scarecrows. I have a mod that just nukes them from my game, but always felt that it was a bit cheaty, thus why I wanted to do a mod that made a single scarecrow that would cover my whole farm (because scarecrows mess with the way I like to do my farms, so I prefer one that I can put somewhere and call it a day)

velvet narwhal
#

I am for my npcs and I'm gonna be a menace by annotating it in my faq if people wanna do portraits SDVkrobusgiggle

rancid temple
#

Cruel but fair

velvet narwhal
#

"Shrimply use appearances"

rancid temple
#

TargetField is like a list of steps to get down to where you want to edit

dusty scarab
vernal crest
dusty scarab
#

ah, okay

vernal crest
rancid temple
#

Oh yeah, I always check even if I think I remember lmao

vernal crest
#

All right time to see what I got wrong

tender bloom
#

maybe the radius triggers something quadratic

velvet narwhal
#

Circumference rationalizing? So then it has to iterate and panic?

vernal crest
#

Bother I have lost my phone

tender bloom
#

just call it πŸ˜›

#

(unhelpful)

vernal crest
#

I normally do! Well, kind of. I use my watch. But it doesn't work when it's on DND.

tender bloom
#

i've had to ring my own phone via find my a couple times in the past

#

I like to think I've gotten better but I'm probably deluding myself

vernal crest
#

I might have to ring my wife on discord to get her to ring my phone lol

tender bloom
#

I do perma-silence my phone which makes the phone calls hard mode

#

it still faintly buzzes but it's inaudible unless it's quiet

vernal crest
#

Waaa it wasn't even on DND

#

My watch thing just didn't work

#

My game crashed last time I played, SMAPI warns me. But I can't remember what made it crash so I can't stop it happening again.

#

Ohh that's right I tried loading my heavily modded save in my vanilla-ish setup

tender bloom
#

it should crash less in 1.6 trying that πŸ€”

#

idk what exactly would crash offhand

#

like pathos put in all this neat turn-missing-stuff-into-error-items code

vernal crest
#

Almost everything was an error item lol

#

I didn't bother actually looking at the errors because I knew I was courting disaster

#

But I can try it again if you want to know what the errors were

ivory plume
tender bloom
#

If you do it by accident it would definitely be interesting to see

#

But this is pretty much just curiosity on my part

#

Most crashes I’ve triggered are draw loop unrecoverable errors or AVEs

obtuse ivy
#

helloooo! Im trying to make my NPC to show up to Flower Dance in her flower dance sprites but she only appears in her default spring sprite.. she wears the dress during the actual dance but i want it to appear during the set up too

vernal crest
#

I think it was a draw loop error

obtuse ivy
#

does anyone know how to ;w;

velvet narwhal
#

Gotta make the whole sheet have the flower dance sprite (or at least the face forward left and right and backwards)

rancid temple
#

...I want the anti crow building to be like a feeding place for them, so they don't have to eat your crops

tender bloom
vernal crest
#

That's cute

brave fable
vernal crest
#

Darn it I can't see how far my scarecrow range goes because I can only see the range if I am holding another scarecrow

#

Time to get Data Layers

tender bloom
#

You trapped them and they live there now

dusty scarab
#

I think this is right? 500 Fiber, 200 Refined Quartz, 200 Hardwood, 25 Oak Resin (might change it to Pine Tar, don't know which would be more repellant), can be made at Home (not sure what this means, exactly, but the other two vanilla crafted scarecrows had it as their entry for this field, so I set the same), makes one Scariest-Crow, is true for being a Big Craftable, and currently has no unlock conditions (will be changing that later once my playtesting is done)

vernal crest
#

I don't know how to make an NPC only wear their festival outfit for the festival. Hiria currently wears hers the entire day.

rancid temple
#

Could you not use the appearance system for this?

dusty scarab
velvet narwhal
#

Appearance system only yes

obtuse ivy
#

how do i do that?

velvet narwhal
#

Loading will make it be for the whole day

vernal crest
#

And it is the whole day with my appearance setup

rancid temple
#

Do appearances use GSQ's?

velvet narwhal
#

SDVpufferthink shouldn't be

#

Yes

#

1 sec gotta dig for my git on mobile

obtuse ivy
#

does anyone have a sample ;w;

rancid temple
#

You should be able to set up conditions for it to only use it when they're in that location

vernal crest
#

I haven't checked how other people do it because I haven't decided which way I want it yet

obtuse ivy
#

i did look at the wiki- thought of using conditions but i had no clue how to actually type them in the codes lol

vernal crest
#

Right now mine is just checking the event rather than location

rancid temple
#

Honestly, people wearing their clothes all day makes more sense for the lore of "nobody is available today"

velvet narwhal
#

Mine specifically checks for event and it only shows during the festival so that's weird

rancid temple
#

(even though I hate not being able to access the town on an event day)

vernal crest
#

I figured I'd wait until I see/decide what her festival schedule is because if she's just hanging out at home, going to the festival, and then going to bed she'd be wearing it most of the day anyway.

obtuse ivy
#

ahhh okayy thank you so much guys 😭 😭 😭 😭 ill go and suffer to see if itll work!! πŸ’ͺ

velvet narwhal
#

I think lore wise edelweiss is just like "uh oh I've forgotten something important huh"

vernal crest
rancid temple
#

Saturday

vernal crest
#

Oh that's it then haha

rancid temple
#

So yeah probably that

ocean sailBOT
#

Log Info: SMAPI 4.0.8 with SDV 1.6.8 build 24119 on Microsoft Windows 10 Home, with 6 C# mods and 0 content packs.
Suggested fixes: One or more mods are out of date, consider updating them

rancid temple
#

Damn, it's not Halloween day yet, this is too scary

dusty scarab
#

the big craftables spritesheet isn't the same as spring_objects, is it? or am I just blind?

rancid temple
#

Nope, it's TileSheets/Craftables

dusty scarab
#

thank you

vernal crest
#

Erm is it just me or has Pathos made the main file of Data Layers the 1.6.9 beta one now in addition to having an existing optional file for the beta?

blissful panther
#

Uh oh. Looks like it!

vernal crest
#

Is 1.17.2 the latest non-beta version?

rancid temple
#

I believe so

vernal crest
#

Ooh I just went to a new page to be shown the required mods rather than having a popup. Is that new or just weird?

rancid temple
#

That's odd, I don't have that

blissful panther
#

Like that kind of situation?

vernal crest
#

Yeah but without the fancy premium bit πŸ˜‚

blissful panther
#

So you can do that by opening the download link in a new tab with a middle click. I assume maybe for some reason the JavaScript temporarily broke and it fell back to just going to it as a new page!

vernal crest
#

Huh. Must have because I definitely didn't middle click. Thanks for the explanation!

blissful panther
#

It is also a setting you can just turn on so it always goes to a new page.

vernal crest
#

Is that something the mod author does or that a user does in their own settings?

blissful panther
#

As far as I know a mod author can't make it do that...

vernal crest
#

I've never had it happen before and I haven't edited my settings.

#

Oh yeah it's in user settings and mine is turned on

dusty scarab
#

...stupid pixel art program won't open the big craftables because the file is too big, grumble grumble

rancid temple
#

Which program is that?

dusty scarab
#

Pixel Studio

#

wants me to upgrade to a paid version before it'll open anything larger than 1024x1024, and the Big Craftables is 128x1472

rancid temple
#

Ew

dusty scarab
#

agreed

vernal crest
#

Good thing there are plenty of free alternatives

dusty scarab
#

darn it, I tried opening my Big Craftables from 1.5, thinking it might be smaller, but it's 128x1152 XD

blissful panther
#

At this point, just grab LibreSprite!

rancid temple
#

Probably for the best to not use old files anyways

dusty scarab
#

yeah, but I figured I could grab a scarecrow off it to start using as a model for the art part

rancid temple
#

Wow this looks exactly like Aseprite lmao

#

Ah, I see, it's a fork

vernal crest
#

Ohh you didn't know that

rancid temple
#

Nope lmao

vernal crest
#

I was wondering what you were expecting it to look like haha

rancid temple
#

I hadn't heard of it before now

#

I'm always looking at the new suggested pixel art programs for suggesting to people when they ask

#

So far I'm not really a fan of anything outside of Aseprite, but this seems like a good contender :P

vernal crest
#

All right 30 does well and Data Layers has no issue with it

#

Piskel served me well when I was just starting with pixel art

velvet narwhal
#

I will always shill clip studio only because ease of access for me

vernal crest
#

I try not to recommend incredibly expensive software for people who are just starting out and don't know if they want to continue lol

velvet narwhal
#

Yeah valid, if someone wanted something highly specific (a paint tool sai successor) and they're deep in already is the only reason why I'd shill it

#

It lets me overlay whole folders

rancid temple
#

Oh yeah, I'm generally looking for things that are free and relatively intuitive to use

vernal crest
#

Whee that scarecrow adjustment was so easy

#

I love being able to make my own QOL mod

uncut viper
#

paint.net has never served me wrong for the few times ive needed to do pixely things. except for the time the other day where it crashed so hard it perma-locked a mutex or something and would not be able to startup again without rebooting my pc. but besides thatβ€”

lucid iron
#

I wonder if there's a way to coerce game into letting me build in instanced locations LilyDerp

vernal crest
#

I'd definitely recommend paint.net to other people too

#

I wish I could remember why I don't want to use it though haha

lucid iron
#

I was turn cave into pif room and rip ability to put a barn inside that

uncut viper
#

(i only use it bc i have the momentum of using it for like... 16 years now)

rancid temple
#

I tried paint.net for a little bit but it didn't feel like it was going to be good specifically for SDV pixel art

#

At least not without some plugins

uncut viper
#

i mean pixels is pixels at the end of the day innit

vernal crest
#

Layer groups is one thing, it appears

velvet narwhal
#

I did contemplate asprite for the animating but uh idk how it'd handle stardew movement

lucid iron
#

Well it just organize things by layer x frame

#

You can export as spritesheet in the end

vernal crest
#

Actually speaking of which does Aseprite do layer groups? Because if not I have wasted money

lucid iron
#

It does yes

rancid temple
#

I see it as an option in the Layers menu, though I have no idea what that is lol

lucid iron
#

I rmbr it being lil jank to use tho because moving layers require you to hold the border

#

Which is uh, not big area :u

dusty scarab
vernal crest
#

That is cute

rancid temple
#

Very cute

uncut viper
dusty scarab
#

I know, I won't ._. just seemed easier to ping him here off of his message

vernal crest
#

Is there a monster counter somewhere on the screen when you do the AG initiation quest?

rancid temple
#

Isn't it a quest?

vernal crest
#

Yes that is why I used the word quest?

rancid temple
#

I don't think there's counters on screen for quests in vanilla

#

The journal I think flashes or something whenever you make progress on a quest though

lucid iron
#

1.6 do those quest notifs

#

aSDVslime 5/10

rancid temple
#

Oh, hm, trying to remember if I ever noticed that lmao

lucid iron
#

Assuming it's a normal slay monster quest

rancid temple
#

It's a story quest

lucid iron
#

Yeah then maybe not

#

Hm right I remembered now

#

It's only for help wanted quests

#

and special orders if you install me mod

vernal crest
#

Okay so my user's problem might be that they are expecting something to happen that is not actually meant to happen

rancid temple
#

Sounds right

uncut viper
#

thats a classic one

vernal crest
#

I'm going to double check just in case

velvet narwhal
#

The urge to add a customfield to have crows sit on the "anti crow" building

rancid temple
#

Make crows sit on it and have it drop random shinies sometimes

#

Is this something you're planning on releasing?

velvet narwhal
#

Oh I'm putting the building thing atra made out already

lucid iron
#

What if ornithologist guild integration

velvet narwhal
#

The other parts are for me to play with

rancid temple
#

So random birds?

velvet narwhal
#

i would just take bird critter

lucid iron
#

Make building have effects of bird feeder

#

I think u might be able to steal the outputmethod from OG to do such a thing

velvet narwhal
#

oh

#

and sorry, this is only gonna work in 1.6.9 because i'm too lazy to fix my postfix

#

LMAO

vernal crest
#

No monster counter

rancid temple
#

Good to know I'm only slightly insane

vernal crest
#

And also it is so hard to control the sword in combat without the mouse direction mod!!

velvet narwhal
#

my own embed gets me every damn time

vernal crest
#

I never have any idea how people manage to play this game in vanilla

velvet narwhal
#

i still can't tell if i need the annotation and the entry for my harmony stuff but i just await until i get yelled at for it

lucid iron
#

You do need PatchAll for annotations

uncut viper
#

you call PatchAll if you use annotations, you use the Patch methods if you dont use annotations

velvet narwhal
#

SDVpufferthink i might've been doing my annotations wrong cause patchall without the patch methods weren't going through

lucid iron
#

I am do manual Patch gang

velvet narwhal
#

yeets the annotations then

lucid iron
#

Mostly bc I want related patches to all live on 1 class,

#

And bc I find the syntax more explicit about what it do blobcatgooglyblep

uncut viper
#

manual patching is also needed if you plan on creating patches with a dynamic method factory for patches that you dont know the signature of beforehand

#

thats something people do often probably

lucid iron
#

I don't think the functionality reason to avoid annotation is a thing atm, since all pc platform use the same dll name now

#

Maybe if mobile modding alive again yggy

velvet narwhal
#

i just kinda wish vs22 didn't hate the whitespace of harmony.patch

#

NO DON'T USE THE MONKEY PAW FOR THAT

uncut viper
#

i thought smapi rewriters couldnt properly detect the annotations or something

#

or couldnt change them or w/e

vernal crest
#

Avi the point of a monkey paw is that nobody should use it at all. ever.

lucid iron
#

Well that one is not issue if u just update your mod as needed blobcatgooglyblep

uncut viper
#

moving the goalposts smh /lh

lucid iron
#

Harmony fragile by nature after all

uncut viper
#

if you really wanted to future proof your patches you could just scan the entire stardew assembly and check the IL of every method you find until you find one that has the specific subset of instructions you wanna change

#

then as long as the function isnt COMPLETELY gutted you've got a chance!

velvet narwhal
#

nope, i looked at il once and my brain got set on fire

lucid iron
#

Are you do something like this with the args

#

Does VS22 not like it

velvet narwhal
#

it hates it

uncut viper
#

you didnt capitalize the H in Harmony

lucid iron
#

Why did u put the indent all the way back

#

And yea I happened to use lower case

uncut viper
#

its also missing a )

lucid iron
#

You are do what I imagine tho

velvet narwhal
#

i manually whitespace it SDVpufferclueless

lucid iron
#

VS just telling u to fold lines that are too long probably

rancid temple
#

Aside from the rewriting issue, because honestly if I can avoid updating a mod for a bit I will, I also just couldn't get annotations to work for me

iron ridge
#

You also probably need BuildingEntry before the prefix name - assuming that method is in there

rancid temple
#

It seems to have an issue with the type BuildingEntry

uncut viper
lucid iron
#

I was just giving example of formatting

rancid temple
#

I was literally copying someone else's annotation patches to try to get mine to work, but I couldn't figure out what I was doing wrong

lucid iron
#

Not actually giving code for aviroen to put in mod

velvet narwhal
#

yeah chu just wanted to see my hell of whitespace SDVpufferclueless

#

oh in their own class, huh, maybe

rancid temple
#

I was also not that invested in actually making it work since I think I prefer the manual patching as is

#

Just one of those "I would like to know how to make it work" kind of things

uncut viper
#

they just need to be in A class that has the [HarmonyPatch] annotation and im just assuming that cant be your modentry, but you dont need to put every function in a different class

velvet narwhal
#

i'll test that out since mine are all separated by what they are

#
[HarmonyPatch(typeof(Farm), nameof(Farm.addCrows))]
public class Prefixes
{
    public static Harmony PrefixesHarmony { get; set; } = null!;
    public static bool IsInitialized;

    public static void Initialize(IManifest manifest)
    {
        IsInitialized = true;
        PrefixesHarmony = new Harmony($"{manifest.UniqueID}_Prefixes");
    }
    internal static bool Scarecrow(Farm __instance)
    {
        return !__instance.buildings.Any(static building => building.buildingType.Value == "Aviroen.AtraAntiCrow");
    }
}```
#

didn't do it for me, and yeah i added the Harmony.PatchAll(); to my modentry

uncut viper
#

well first i wanna ask why you're creating an e ntirely new harmony instance f or just prefixes

#

second you're telling it that this class is for patching Farm.addCrows but it doesnt know how/which of your methods to patch with

#

you can either use other annotations to say that e.g. Scarecrow is a postfix with the [HarmonyPostfix] annotation above it, or you can just rename the Scarecrow method to Postfix and it'll figure it out

#

i also dont know if them being internal is a problem or not. the harmony docs say public or private but idk if internal counts

velvet narwhal
#

oh internal was because of the modentry method

#

atra set it to private but it was screaming at me about access SDVpufferthinkblob

uncut viper
#

you should just entirely remove your initialize method and the two fields and just rename Scarecrow to Prefix

velvet narwhal
#

but what happens if i wanna add more chaos to this SDVpufferthinkblob

velvet narwhal
#

also i kinda assumed smapi won't rewrite harmony patches cause it's just "you're on your own champ" so i did really want to get annotations to work cause the whitespace was killing the man

uncut viper
#

as far as i know smapi will rewrite manual patches if it can

#

and needs to

rancid temple
#

I'm still not sure I understand what issue with whitespace you're referring to

velvet narwhal
#

oh every time i do the method harmony patching it wants to go to the left edge

rancid temple
#

Oh like it's not doing your indents

velvet narwhal
#

yeah SDVpufferweary

rancid temple
#

I've messed with the defaults for most of my indenting and format, so I'm not sure if that's normal behavior

velvet narwhal
#

annotation reading is for a me that isn't exhausted from picking rock up (weakly) and putting rock back down SDVpufferclueless

rancid temple
#

Hm, this building type thing needs serializing according to the wiki anyways

velvet narwhal
#

SDVpufferthinkblob does it?

#

ig i can just make a tester building real quick

velvet narwhal
#

it didn't scream at me about serializing

rancid temple
#

It won't until you try to save the game

#

Everything reliant on serialization is fine until the moment of serialization lol

velvet narwhal
#

If you need custom behavior, consider handling it in C# based on the building type instead of creating a custom subclass; otherwise you'll need a framework mod like SpaceCore to handle serialization and multiplayer sync.
so i'd have to build the building then save, yeah?

rancid temple
#

Yeah probably, doubt it bothers saving if something isn't present

velvet narwhal
#

it's just a prefix SDVpufferthinkblob not a... custom subclass? idk

#

time to throw together a building rq

rancid temple
#

It's a prefix looking for a specific building type

#

You could always set the type to something vanilla in the prefix and repurpose a vanilla building

velvet narwhal
#

yeah that's what i planned to do

#

i just had to steal one of my cp mods real quick

#

oh vanilla in the prefix

#

nvm lemme do that

rancid temple
#

If you set and use a vanilla type, you don't have to mess with serialization

#

Otherwise, I guess you would have to make your own building type in order to make use of it in building data

velvet narwhal
#

i think that was the original plan of it? atra left it as a string to which i assumed i just assign it using cp SDVpufferthinkblob

uncut viper
#

the field BuildingType takes a string but that string is used to determine what C# class is used for that building

rancid temple
#

buildingType is a netstring

uncut viper
#

you can assign it that string just fine. just wont do anything if theres not a class it corresponds to

#

except break

dusty scarab
#

speaking of strings, it's not liking a string here... or do I need to have my EditData for Crafting Recipes in a seperate .json all on its own?

uncut viper
#

craftingrecipes is just a string to string dictionary

#

not string to object dictionaries

#

so it would just be the line with MapwideScarecrow

vernal crest
#

Like this (example pulled from VMV but I cut out the other lines so it's easier to see what just one looks like)

    {
      "LogName": "CraftingRecipes",
      "Action": "EditData",
      "Target": "Data/CraftingRecipes",
      "Entries": {
        "Lumisteria.MtVapius_CandyMaker": "Lumisteria.MtVapius_Treasures_BrokenWatch 1 334 2 82 1/Home/Lumisteria.MtVapius_CandyMaker/true/null/{{i18n: MtVapiusCandyMaker_Translated}}",
      }
    },
dusty scarab
#

so I don't need the RiftstalkerSekun.MapwideScarecrow_MapwideScarecrow, I just need RiftstalkerSekun.MapwideScarecrowMapwideScarecrow?

unique sigil
#

i havent been in this channel for a while and did i just see sekundes making a scarecrow with an atrociously huge effect radius

vernal crest
#

And me, and Rokugin, and Avi lol

rancid temple
#

Yeah, it's been the subject for a minute now lol

vernal crest
#

Though Roku and I both went the lazy route

rancid temple
#

If you have Range Highlight, I suggest don't

unique sigil
#

i await for this monstrosity to be released

velvet narwhal
#

i am now convinced atra's "quick prefix" would've imploded my game

rancid temple
#

I mean, it would have cried, but otherwise been fine-ish

velvet narwhal
#

it is technically sekun's fault for wanting an all-encompassing scarecrow SDVkrobusgiggle

vernal crest
rancid temple
#

Your Name on your scarecrow should be the same as the entry key

velvet narwhal
#

SDVpufferthinkblob back to the drawing board for this scarecrow building then

unique sigil
#

anyways - tilesheet update - the recolors are all done, but the code hates me. i think ill redo it,, again,,

rancid temple
#

And the key you use in the CraftingRecipes should be that same Name

unique sigil
vernal crest
#

By "name" I mean the entry key, not the display name. The stuff Roku is saying better than me.

rancid temple
#

Avi is making a building that just blocks crow spawns entirely

velvet narwhal
#

i'm making a building type hopefully, that just blocks them all out, so you can just make it in cp and set the type and go

rancid temple
#

Honestly, I might try this just to do some SpaceCore serialization, I haven't done any yet

velvet narwhal
#

cause uh, data layers screamed at the 500 tile

rancid temple
#

Pathos said he'll fix that in the next update, so that won't be an issue

vernal crest
#

I can't see any reason you'd need to have 500 tile anyway

rancid temple
#

But uh, anything else that shows range is going to freak out

vernal crest
#

Who's making a map that big?

dusty scarab
#

I was originally going to go with a building, but decided to try an actual scarecrow object first because buildings can only have 3 building ingredients and I wanted, like 4 or 5 items to craft my Corncrow since I intend it to be along the lines of the blessing statue to make

velvet narwhal
#

isn't there another tile-viewer mod?

rancid temple
vernal crest
#

Okay who's making a real map that big? :P

rancid temple
#

Range Highlight is the other one I use

vernal crest
#

I used 30 and it covered most of the standard farm

rancid temple
#

Even if someone wanted a farm that was 200x200 I would suggest not doing that because it would take an eternity to cross every time lmao

velvet narwhal
#

clearly i'm trying to distract myself from thinking about this because i'm trying to see if i can finagle this into the customfields of buildings

vernal crest
#

35 would cover all of it, I am pretty sure

#

Oh, maybe not vertically

rancid temple
#

You could put it into a custom field or a mod data, just gotta check for it in the prefix

vernal crest
#

Oh it's shorter than it is wide

rancid temple
#

Specifically I guess you need to iterate every building in the farm map and check for whatever you're using

vernal crest
#

So yes 35 would be enough I think

velvet narwhal
#

i gotta remove the buildingtype-yeah

#

that or, set the string to then activate the crow-scarer

#

would building.GetData().CustomFields.TryGetValue("MyBS, out string? customString)) work again? i test this

dusty scarab
#

I like how we're all coming together over our combined hatred of these thieving, feathered assholes. they're worse than seagulls! (unless you have that one mod installed that makes seagulls steal your food out of your inventory at the beach, then the seagulls are just as bad as the crows)

velvet narwhal
#

i love crows so this is just a slow step for me to have a crow feeder tbh

dusty scarab
#

fair enough. and it will count how many crows its fed over its lifetime!

rancid temple
#

Oh lol, yeah I like crows just not this mechanic

dusty scarab
#

in real life, I too like crows, just not Stardew crows XD

velvet narwhal
rancid temple
#

?

#

CustomFields also aren't multiplayer synced

velvet narwhal
#

i think customfields is also seri- oh ok

rancid temple
#

They're saved but not synced

#

Mod data is both

#

Though not available on all things from CP

velvet narwhal
#

well i named my mod customfield chaos so it's going into customfields

dusty scarab
#

hm... it's still saying it doesn't like the strings in here. everything has the same Name, so this should be working, right?

rancid temple
#

You're still doing crafting recipes wrong

vernal crest
#

No, you're still writing it wrong. See how in the example I gave, there's only one key and there's no curly braces after it? #making-mods-general message

#

The way you have

"SekunslongnameI'mnotcopying": {
"SekungslongnameI'mnotcopying": "Bla bla bla"
}

should be

"SekunslongnameI'mnotcopying": "Bla bla bla"
#

By having the second key inside the curly braces after the first key, you're trying to make it an object when the game is expecting a string.

dusty scarab
#

ooooooooh

#

so like this, then. because I was trying to nest a key inside of a key, and the game doesn't like that

rancid temple
#

You were trying to enter a model into a dictionary of string, string

vernal crest
#

Yes that's better. It's not that the game doesn't like your original approach ever, it's just that's not how this asset is structured.

dusty scarab
#

that would explain why, then. I was using my crop mod as a model, and that was nothing but adding objects. so what I was using as my guide was fundamentally just not gonna work for this

vernal crest
#

Yes it's always a good idea when you're doing something new that you try to find an example of a mod doing the same thing (if you're like us and need the example - not everyone does).

rancid temple
#

There are a few of these string, string dictionaries left, always gotta verify what you're working on

uncut viper
#

always keep the unpack handy

velvet narwhal
#

you can tell when you open up their original unpacked states if you need to use object format vs string format, if there's only one set of { } and it's all keys, that's string-> string
if you see things broken up by "ID": { information + keys } that's an object

#

does that make sense to me in c# land? no, not one bit

vernal crest
#

I personally didn't find the unpack alone useful enough for showing me how to write the CP part for it, but now that I understand better about the different formats (dictionaries? structures?) it's easier for me to tell just based on the unpacked data.

velvet narwhal
#

yeah the model vs string thing i didn't even understand until like, a few weeks ago SDVpufferclueless

rancid temple
#

And then there's the fun of FishPondData, which I think is a list of models?

dusty scarab
#

well it loads without angry errors now, but won't load my asset for the corncrow. but, it loads without SMAPI or CP being mad at me, so that's one step in the right direction!

rancid temple
#

But lists and dictionaries are edited the same way

velvet narwhal
#

yeah this customfield is for a me that can parse these red squigglies

#

aka tomorrow's me, probably

uncut viper
#

AdditionalLanguages is also a list of models. probably matters a lot less to most people tho

velvet narwhal
#

... SDVpufferthinkblob

#

additionallanguages is empty for me

chrome mountain
velvet narwhal
#

i await this 1.6 release if it got elizabeth's gold stamp and atra to actually work on a mod eyeshake

chrome mountain
dusty scarab
#

is there a special load action I need to do in order to have the icon load in the crafting menu? my scarecrow loads on the map itself, but I still see the error item when I go to my crafting menu

rancid temple
#

Crafting recipes work by tying themselves to the items their key links to, usually there's an issue with the names not quite matching if you get error items showing up in places

dusty scarab
#

hmm

rancid temple
#

What's Corncrow?

vernal crest
#

There's a mismatch between your recipe yield and your item

unique sigil
#

right guys i need help. seasonals for my tilesheet isnt working, despite me following the format of other tilesheets
i'm using dynamic tokens here to adjust automatically according to the recolors

vernal crest
#

It should be your big long name, not just "Corncrow"

dusty scarab
vernal crest
#

You've used the display name instead of the item id

#

So the game doesn't know what you're making with your recipe

dusty scarab
#

ohhhh

vernal crest
rancid temple
#

Yeah it does

unique sigil
#

oh damn that matters?? i have no idea about that

vernal crest
#

So changing to "spring_CR_outdoor" etc should hopefully work

rancid temple
#

Also seasonal switching only happens in outdoor locations

unique sigil
#

the funny thing is that it worked when i used load only on the spring variant then use EditImage to change it according to the season tokens, but that makes me unable to apply any changes to the tilesheet itself mid-save

#

didnt know the problem was the filename

#

right i'll try that out

vernal crest
#

Yeah it would work that first way because that's relying on the CP season token rather than the game's in-built code for seasonal tilesheets.

#

You also could use the CP way by loading your tilesheet with the season token in the first place

#
"Action": "Load",
"Target": "Maps/CR_outdoor",
"FromFile": "assets/{{recolor}}/CR_{{season}}_outdoor.png"
unique sigil
#

..right i'll try the name change way because im concerned of breaking more stuff

#

at least the better water tokens are working

dusty scarab
#

....I realized that I am an idiot. when testing a scarecrow mod, take your mod that already removes crows out of your modpack first, you maroon

#

'let's see how many crows my scarecrow's chased away over these last 10 days!'
"I haven't encountered any crows yet!"
'...wait a minute...'

#

is there a flag that needs to be set in order to pick up a Big Craftable when you've used a tool to remove it from being placed?

#

because I hit my scarecrow with an axe to move it and it just poofed away

rancid temple
#

Set Fragility to 0

#

Setting it to 1 makes it destroyed on tool use

#

Or at least, on axe, hoe, or pickaxe use, other tools can pick it up so I guess... scythe?

dusty scarab
#

ahhh, I thought that 1 meant it needed to be axed/pickaxed/whatever in order to pick it up. okay, I understood that flag wrong, thank you!

unique sigil
#

right, this method works. but what does this mean?

i havent done this myself so i wouldn't know, but is it a custom tilesheet thing where it's not possible to change recolors mid-save?

finite ginkgo
#

I'm not sure what exactly that means, but it's not timesheet specific, I've also seen that pop up for portraits but I haven't noticed anything special about assets that say that

vernal crest
#

Did you test your changed content in the same save as before?

finite ginkgo
#

(current theory I made up on the spot, are you using the season token and leaving your save? Could be that because there's obviously no season in the main menu, the patch becomes invalid and the asset unloads)

unique sigil
vernal crest
#

Because it usually means that you've made a change so that something that got loaded before still exists in its old name.

#

You will need to quit the game and hop back in and that warning should go away.

unique sigil
#

bc if you cant i need to mention that you need to set up the tilesheet config from the main menu before loading the save in the release page

vernal crest
#

Did the warning pop up after you did a patch reload?

unique sigil
#

after i changed the config and before going to sleep

#

i was wondering that bc i can apply the better water colors instantly haha

#

currently the content.json looks like this

vernal crest
#

Hmm. I usually get it after I load something called "imageA" and then I change what it's called so I change the code to load "imageB" instead and patch reload. SMAPI goes to reload "imageA" but it's not there anymore so it just goes "oh well" and then there are two copies of the asset, one for each name. But when I restart the game it goes back to only having one copy of the asset called "imageB".

unique sigil
#

i quit to the main menu, changed the config, and tried to load the save (which is currently in fall 2 as i was testing the seasonals) and now the map won't load at all

vernal crest
#

Is your "recolor" token a config token or a dynamic token?

unique sigil
#

the betterwater tokens are also dynamic tokens

dusty scarab
#

hooray, I got the 'I scared off crows!' message on my Corncrow! (okay, CornCrow should be feeding crows, not scaring them, but I can't change that message so I'll take what I can get!)

unique sigil
#

wait hold on lemme take another look

vernal crest
dusty scarab
#

...I now have an overwhelming desire to undo my previous scarecrow and instead make it look like the Corn Servant

unique sigil
#

alright ignore the part where my map isnt loading. i did a stupid and forgot there was a HasMod condition for the earthy option lol

dusty scarab
uncut viper
uncut viper
#

but in general yes you can edit most strings in the game

vernal crest
#

Yeah like Button said it would do it for all of them unfortunately.

vernal crest
unique sigil
#

errrr actually, nevermind my question. i am sleep deprived and not in any condition to do modding work /lh

#

problem's solved lol

vernal crest
#

Oh haha what was the issue?

unique sigil
#

i was trying to change the recolor option to earthy when the dynamic recolor token for earthy has the "HasMod" condition for daisyniko's earthy recolor. which i do not have.

#

changed it back and forth to vanilla and VPR orange and VPR green + all 4 better water options, theyre good

#

the tilesheets are ready for upload (at last) but i have to make some graphics for the media tab first SDVpufferthumbsup

#

damn i fr got sidetracked. that PIF extra floor is never getting finished at this rate

timber plover
#

hi folks
..has someone done music with content patcher yet?
..i need to do something so people can play halloween feeling music again 🫠 .
.an examble code would be great so i can just start recoding it ^^

brave fable
#

[Modding:Audio] comes with detailed info on adding to the AudioChanges asset, including music overrides

#

or [[Modding:Audio]]

timber plover
#

yeah i know ^^
was just wondering if someone has a code ready for like "replacing maintheme" or something
so i can just straight get to work without thinking ^^ would just be faster for me
but thank you^^

frozen field
#

hi friends! I wanted to ask (or maybe there's a resource elsewhere):

If there was an extension for VS Code that would be a helper for making Stardew mods, what sort of stuff would you like to see in it?

calm nebula
#

I actually did fix the multiplayer thing for pufferchick

#

And yeah, let's have pufferchick wear hats

#

That would be cute

spice inlet
rancid temple
#

Isn't that already what schema does?

chrome mountain
calm nebula
#

There is a new flag that allowed excluding fish from perfection

#

I figured it would also make sense for those fish to be excluded from aquarium's achievement

frozen field
solemn roost
#

Just passing by, big thanks to Atra and whoever else is helping us out with resuscitating Stardew Aquarium's code! (I myself cannot code, so you're doing god's work)
I love this community and am glad that the mod will eventually come back to the public pufferheart

frozen elm
#

@woeful lintel Sorry to bother you again but I have run into a problem using variants. So when using layers I need to use "Icon Rect" to get the furniture displayed correctly in shops etc. But when I add several variants (using the "source rect offset" method the offset isn't applied to the "Icon rect", meaning that I have a bunch of furniture items which all look the same in shop and inventory, and only when I place them I can see which ones they actually are. The documentation says "Icon rect" is affected by variants so I figured it would work automatically (like it does in layers), but maybe I need to specify something to get it to work?

woeful lintel
timber plover
#

got it my music replacing working Q-Q...
now of to the houndred of tracks that needs to be replaced πŸ˜„

calm nebula
timber plover
#

🫠

woeful lintel
frozen elm
woeful lintel
#

is there any ETA on 1.6.9?

vernal crest
#

Oh that was in reply to me lol

#

I didn't even look at my log to see what the error was xD

tiny zealot
#

finally seeing my favorite food Smoked Error Item getting the rep it deserves in SDV

vernal crest
#

Good to know if it ever does pop up for me as a problem though, thanks Atra :)

woeful lintel
#

Another question: is it possible to escape the token marker when patching data with CP? I also have some "tokens" in FF, should I replace {{}} with something else to avoid CP trying to find a token that only exists in FF?

calm nebula
woeful lintel
frozen field
#

if I do make a helper extension for modding, anyone want to try it?

lucid iron
#

there's a vsc extension stardew syntax Bolb

#

for cp mod syntax highlighting

frozen field
#

ooh there is??

#

I just looked it up and found it's targeted for dialogues and events. I was hoping to make one for things like adding new items, etc

#

translation files too

fossil osprey
#

You mean an extension adding some boilerplates and templates? That could be cool

frozen field
#

I've only done enterprise/corporate projects before but I really want to try my hand at something open source and public

fossil osprey
#

From my experience boilerplates are what's most useful for beginners, and most convenient for advanced users, so that + completions would be absolutely awesome

frozen field
#

good to note! I don't remember the exact name for this feature, but essentially, checking that you have matching tokens between files. For example, if you used "animal_fur" in one file, but in your i18n you put "animal_down", it would flag that, since then the translation string won't show correctly ingame

#

(time to learn JavaScript I guess lol)

fossil osprey
#

Oh yeah, I don't know the exact name but there are a bunch of extensions like that where it recognises your CSS classes and auto complete on your HTLM, super useful

frozen field
#

I've only ever been a desktop/.NET developer, so this would be a fun learning project

#

but...I guess that means I could help others with their C# stuff in their mods?

fossil osprey
#

Most certainly yes

frozen field
#

is there a way I can "advertise" myself to help out?

vernal crest
#

!comms

ocean sailBOT
vernal crest
#

You can also lurk in here a bunch and jump on stuff when people start talking about features the content modders want but can't implement alone lol

frozen field
#

gotcha, would I edit the wiki and add myself?

vernal crest
#

Yup

frozen field
#

I won't do it just yet till I read up on the frameworks

lost hull
#

beginner modder here, i really like the idea of having a mod-ideas page on github
i usually struggle with even thinking of something to mod so that really helps

frozen field
#

does that wiki also have the resources about the c# coding aspect?

frozen field
lost hull
#

the page already exists, just wanted to say thanks

#

it's in this channel's pins

lucid iron
#

!startmodding

ocean sailBOT
#

Making mods can be broadly divided into two categories:

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

lucid iron
#

there's also a harmony guide somewhere on modding wiki

#
Stardew Modding Wiki

The world of Harmony is a bit of a lawless land, but it's incredibly powerful. You can pretty much implement anything you want, but you can also break anything you want. With that in mind, you should begin by reading the main wiki's intro to Harmony to get you set up. This tutorial will focus on the actual patching and assumes you already unders...

frozen field
#

awesome, thanks!! doubtful I'll make my own mods (I am a terrible artist and I tried Tiled and failed miserably), but I'll definitely learn the c# side to help out! and learn js/ts to make an extension

calm nebula
#

Another fun thing to do is to take a broken mod and fix it πŸ˜›

#

!compat has a list

ocean sailBOT
#

See https://smapi.io/mods for a searchable list of mods updated for the latest versions of SMAPI and Stardew Valley, with links to download them. :)

lucid iron
#

i nominate growable giant crops

calm nebula
#

Please don't toss the newbies at my insanity

patent lanceBOT
brisk kraken
#

Hello, im trying to understand how to properly add custom music to stardew valley for a mod. I know how to use vanilla music anywhere, but I think that the act of adding new music is a bit more complicated?

woeful lintel
#

It was sexynes on Nexus asking me to help updating DMT (Dynamic Map Tiles)

vernal crest
woeful lintel
#

Hop, seems like it was taken care of then

vernal crest
#

I'm confused because sexynes has commented on this one so I would assume they're aware it exists lol. Were they asking you ages ago?

woeful lintel
#

Yup, it was in early summer

vernal crest
#

That's...still after April I think so maybe DMT Continued doesn't work.

brittle pasture
vernal crest
#

Drat, I just downloaded it

frigid hollow
#

where the heck are the incubator and feed hopper sprites at

calm nebula
#

Tilesheets/craftables

woeful lintel
#

Is there any tool that works as a map painter? That takes tile connections into account (grass/dirt/water connexions)?

brisk kraken
tender bloom
#

I think Tiled has the capability to do this but the setup is finicky

brittle pasture
tender bloom
#

I saw blueberry demo some magic once

lucid iron
#

theres terrain set u can make in tiled but its very complicated

tender bloom
#

yeah that must be the thing

#

I think you have to manually specify a whole bunch of the connections info

#

and I don't know the format

brisk kraken
woeful lintel
lucid iron
#

why did they message unrelated mod author about updating completely different mod

tiny zealot
vernal crest
woeful lintel
woeful lintel
vernal crest
#

I see Datamancer is in here too but hasn't been active since April

tiny zealot
#

haha hell yeah same person! they also asked me to update it. probably just a spray-and-pray to every active C# modder they could find

woeful lintel
#

Honestly, I kinda get it, it's infuriating to be an active user of something that's not maintained

frozen field
#

Leroy, what do you mean specifically about an in-game map editor? Like, edit the base map while the game is running?

#

also if it's easier just dm me

devout otter
lucid iron
#

extremely prolific but now retired modder aedenthorn had this mod https://www.nexusmods.com/stardewvalley/mods/18387

Nexus Mods :: Stardew Valley

In-game map editor that lets you easily make reversible edits to maps by either copying and pasting any tile to another location on the map or using a tile picker menu. Also supports adding new tilesh

woeful lintel
brittle pasture
#

I didn't get messaged, should I be relieved or offended

vernal crest
#

DMT and the map editor are different mods with different purposes

lucid iron
#

the edits are sort of like content patcher EditMaps in that its json format rather than tmx, though im not clear on the details

woeful lintel
#

I remember a while ago someone was asking for help to make a mod where the player would be able to change the terrain semi-freely to add a kind of minecraft-like sandboxy style to the game

#

I can imagine a framework to do stuff like this

vernal crest
#

DMT is not done in-game, I am pretty sure. It's more of a modder's resource, if I understand correctly.

tiny zealot
#

when i see a request like that, i usually say to myself "just play the other game"

frozen field
#

I feel like you would need to be in a "sandbox" setting to do that though?

woeful lintel
#

Would require a shit-ton of features tho

frozen field
vernal crest
#

IDK I have been kind of intrigued by the mods where you have to buy more game one tile at a time

lucid iron
#

there was a terraform mod too, though i have no idea if it was ever released for real

frozen field
#

first things first, I gotta make an honest attempt at making a c# gui program to at least read and display some of the game and mod files first

brittle pasture
#

tbf I also think it's an intriguing idea, but it is a massive pain to implement

lucid iron
#

i did have thoughts about mod that let you add more water on a map, but the actually make tile change version would be so doomed for multiplayer KasumiDerp

frozen field
#

esp since I'm mostly on Linux now and VS isn't on Linux, and Rider doesn't have the best Windows forms editor last I checked

frozen field
#

see I'm imagining acnh-style terraforming? is that what they want?

lucid iron
#

the simpler way to do it would be to make flooring that looks like water trenches

frozen field
# woeful lintel VSCode ftw!

oh I love vs code but it doesn't have a Windows forms editor. might be a good opportunity to do something not winforms lol

brittle pasture
woeful lintel
#

Oh wait, windows forms? No, I think you're cooked on Linux

lucid iron
#

and have some way to apply it that feels fancier than "i bought 999 water trench flooring from robins"

frozen field
#

using Linux is a good excuse to learn something other winforms lol

lucid iron
#

then lastly make paddy crops work if close to this special water flooring

#

plus water source ig

#

no fishing though

#

this approach is trivial for multiplayer cus u r just making terrainfeatures

#

and those are already netsync

frozen field
#

was about to say like the town fountain but forgot you can fish in it

woeful lintel
#

Alr, I'll let you make this mod in here, I'll go to sleep

lucid iron
#

ill prob make this mod in like 2025 feel free to do it b4 me so i can slacc

brittle pasture
#

The most painful part is probably the drawing to make it look good

lucid iron
#

yea what is art

#

that reminds me i cant get + of hoe dirt to look good

#

its got sharp edges

#

limitations of 16 tiles i assume

tiny zealot
brittle pasture
#

that one waterpool mod I saw a while ago only had preset water connectors probably because there isn't enough vanilla tiles for all possible variations lmao

#

I know there is no 1x1 water spot in the vanilla game

#

or 1xanything

lucid iron
#

Yeah the map version, if no custom tiles, would have to operate on minimum 3x3

#

When u "dig" you actually change 1 tile to water & 8 tile to water edge, if they weren't either kinds b4

lost hull
#

what ides do the c# modders here prefer?

tiny zealot
#

vi/m (not joking)

lucid iron
#

just use your favorite text editor

lost hull
#

i usually use powerpoint but i want to move to something else

velvet narwhal
#

Ichor said the word, selph is gonna prostheletize

brittle pasture
#

DID SOMEONE MENTION VIM?????

lucid iron
#

i mean if power point let you write plain text sln/csproj/cs files then go for it yggy

#

just dotnet build in the end ez

lost hull
#

but seriously, what do people here generally use

#

i usually use visual studio but i know someone that works in the notepad

brittle pasture
#

For C#? Visual Studio is basically the only viable choice

#

(unless you're on Linux, in which case Rider?)

tiny zealot
lucid iron
#

i use vscode on linux but mainly cus i use vscode for everything

velvet narwhal
#

and vs22 doesn't work on anything but windows because microsoft thinks of linux as 3rd rate citizens oop-

lost hull
lucid iron
#

as long as whatever you use has some language server u can make it work blobcatgooglyblep

#

rider is nice if you enjoy the jetbrains suite of ides

brittle pasture
#

yeah the lang server is basically ide agnostic

tiny zealot
lucid iron
#

the vsc C# lang server randomly dies on me though

brittle pasture
#

(same, I also use vim, and I'm not joking. vim users are indeed a tiny minority though)

lucid iron
#

i am staying on older version until that gets fixed

calm nebula
#

If you are new I strongly recommend using visual studio

#

Microsoft does an excellent job of holding your hand

vernal crest
#

I use Visual Studio because there are more walkthroughs for it

calm nebula
#

And being the shoulder you can cry on

vernal crest
#

No Atra that is your job

#

You can mop up our tears with socks and sweaters

calm nebula
#

I'm not going to lie. I used to use vim exclusively as well

#

I now use vscode

#

I'm a fucking scrub

#

No longer hardcore

velvet narwhal
#

oh your building crow-scarer, roku brought up serialization for it and i went "oh...."

brittle pasture
#

smh im taking away your cheeto badge

calm nebula
#

I mean, do I deserve the cheeto badge anyways

#

Probably not tbu

velvet narwhal
#

(half a million) SDVpuffersquint

tiny zealot
#

i don't use vim as a badge of honor. i did not fight alongside your father in the editor wars. i'm just middle-aged and i like my modes and muscle memory and i have no interest in switching away

#

(please do not tell me that other editors have "vim modes". i do not care)

calm nebula
#

Please, ichor

#

My father tells me about going uphill both ways in the snow in the dead of night to switch out floppies

#

The ones that actually flopp

vernal crest
#

My father used to have to post his punch cards across the country to the local computer

velvet narwhal
#

is that before or after swapping out the cable to a fully analog data-system

vernal crest
#

Now he takes his laptop on holiday without fail

calm nebula
#

(I know vim has autocomplete too.)

tiny zealot
#

"the robot", we called it. when you had to pull a tape from it, you'd punch in the number or the coordinates or whatever and a big robotic arm would extract it from whichever shelf it lived on to feed it into the digitizer

vernal crest
#

That sounds fun

tiny zealot
#

truthfully: very cool

velvet narwhal
#

"getting your rocks off is nice but have you ever watched a giant robot arm get something off the shelf just for you?"

#

i am now awake, coffee in hand, staring at this building customfield, slackjawed

quasi echo
#

For some reason Elliot is still shirtless whenever he’s on the beach so I just gave up and made a seperate beach folder, no clue how to fix that

fossil osprey
#

I keep seeing mods that add more weather/more realistic weather, but I don't remember seeing a mod that add changing weather, weather that isn't fixed per day, like IRL
Is it just not possible, or has no one tried to do it?

tiny zealot
#

the game is not set up to allow weather to change during a single day

calm nebula
#

It's one of those things that is technically possible but also hard to fit into the gameplay flow

#

Or what ichor said

tiny zealot
#

anything is possible with enough effort, but that effort may be exceedingly high

calm nebula
#

For example, yes, you can toggle rain on. But you would also have to update a bunch of state for that

#

Does half a day of rain water the crops?

fossil osprey
#

alright, understandable

lucid iron
#

npcs have schedules dependent on the weather too

#

maybe if you do shenanigans to make it seem like not raining but still having it be rain day internally

fossil osprey
#

Yeah, maybe a mostly rainy day can be considered rainy, and mostly sunny is sunny, but it leaves the in between undecided...

#

Yeaaaah, I think I'll leave this idea a few years in the bottom drawer

lucid iron
#

Cloudy skies might let you define these Inbetween states as whole new weathers

calm nebula
#

Again, flipping the rain bool is trivial

#

Deciding what that should do and updating everything for that is...

lucid iron
#

I think bigger problem is player confusion monS

calm nebula
#

Exactly

fossil osprey
#

I feel like the hardest part is indeed the rain management bit ._.