#making-mods-general
1 messages Β· Page 54 of 1
terror
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
remove harmony introduce chaos
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.
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
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
(recommendation: call menuForReference.populateClickableComponentList)
freakin' xxharvzbackxx, always needin' stuff. FINE. (#6285500) (15h | <t:1728315907>)
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.
say how would content mods go about triggering menus?
It's not exactly in tutorial form but if anyone wants to check out a working example, there's one here: https://github.com/focustense/StardewUI/tree/dev/TestMod
(Ignore the TestMenu and TestView, those are legacy; the only files that matter are ModEntry and the assets directory)
do you have a trigger action for ppl to use
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.
oh content mod as in non C# mods
spacecore has spacechase0.SpaceCore_ShowHudMessage which does what it says
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!)
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
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)
yea hm, maybe i am actually describing a "stardewui triggers" mod on top of stardew ui 
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)
i will rotate the idea 
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)
Do you consider ui anchored to world (like afs bubbles display) hud
Or is that whole other thing
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.
When adding in i18n support via the config. Would you do it like this {{}} or like this? (image attached)
(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.)
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)
Naw you just put in matching i18n keys, it's implicit
!1.6
Stardew Valley 1.6 is the recent major game update, which added lots of content and modding changes. See...
- 1.6 release notes (scroll up for patches);
- changes for mod authors.
It released for PC on March 19th; console and mobile are coming soon.
I was thinking more along lines of accepting a delegate to obtain the anchor point, from the mod using stardewui to do stuff
Of course. I'm just seeing the anchoring logic as being separate from the UI logic; the latter is "give me thing to draw/interact with" while the former (to me) is "how does this fit into the game world exactly".
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?
Sorry, just to clarify by implicit you mean don't add the curly brackets?
I was under impression that stardewui controls the whole drawing process but I feel I am imagine this wrong
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.
it does it for you if you follow it in the default.json
So if you have some config named StickyCoolConfig and i18n key StickyCoolConfig.name: Cool Config
That key is used for gmcm without you doing anything else
You can't put tokens in ConfigSchema afaik
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);
}
they kinda create themselves as tokens immediately ish? 
Ah yeah I have been imagining this all wrong 
What it's abstracting away is all of the painful stuff you normally have to do in OnRenderHud (or in IClickableMenu.Draw or etc.)
Did not realize consumer mod would just have the view object
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.
Thank you for the explanations they both helped! I understand it now 
hey where did the aquarium data go
@chrome mountain sooooo it's now possible to make any fish wear hats.
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.
pufferchick, hat? maybe?
Is there some kind of token support? Like at least the vanilla text parser
Are there cases where a token would do something that a normal data binding couldn't?
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
Like:
var data = new() { Text = I18n.Whatever(); }
var menu = viewEngine.CreateMenuFromAsset("asset", data);
That's the most basic use case.

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.
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
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.
For example it seems like the Border sprite on Frame didn't have dirty tracking
Don't confuse dirty tracking with update-ability; dirty tracking is for properties that affect layout.
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 
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.
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 
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).
I'd be down to test + help write some examples
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.
do i build the dev branch + the test mod and then put whatever examples in text mod?
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).
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?
(Two beta updates:
- SMAPI 4.1.0-beta.4 updates for the latest beta changes, and adds parameter docs to event interfaces (so you can fully document your event handlers like
/// <inheritdoc cref="IGameLoopEvents.SaveLoaded" />). - Mod build package 4.3.0 lets you bundle content packs with your C# mod.
)
They'll be grouped with the main mod into a parent folder automatically
HO HO HO
it'll validate that the version numbers match for the content pack and the C# manifest too.... god bless
wait a parent fo-TIME TO GO CHECK
all my dearest prayers answered πΌ

it's all i've ever wanted
Have you confirmed that all the seasons actually have those tiles? There are some extremely irritating bits where only one season has anything and the rest are invisible or where all the seasons except winter have something there.
they do not, sadly. which is why I thought the ones in the Spring tileset would carry over, because there was no other 'data' present to overwrite them
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
I think the seasonal stuff works by replacing the tilesheet entirely, not overlaying like you can do with EditImage.
Oh wait yeah
Are those are on summer_outdoor
awww bugger, I was afraid of that
the second image is summer_outdoor, yes
You could make your own by doing an edit image of the other seasons with the spring tiles.
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
But if the grass is part of the tile it will look real weird
you'll notice the same with some flowers and small rocks
is it possible to place Big Craftables (BC) outdoors on a map? I could put seasonal plants in the planter's place, which might look nice
Why validate the version instead of writing it in?
I ended up with a bush inside a cliff because it was only on the summer tilesheet
Only by loading the tilesheet for it into maps or keeping it in your mod folder. There's no way to use vanilla tilesheets that are outside maps.
darn
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.
(I just didn't get around to implementing that for the initial version. I'll probably add that in later versions though, if someone doesn't submit a PR for it first.)
It's a great match for Khloemagic because that one generates the entire file
Manifesting manifest and all
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
YES! YES! YES!
it only works without it due to a quirk of the parsing logic that's fixed in 1.6.9
0.O
That looks familiar, but I'm not sure what you're referring to?
Oh, no wonder that looks familiar; it's from a change in tonight's 1.6.9 beta patch.
ngl, add missed level up recipes is definitely a ?????? function
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
(That method has been rewritten in tonight's patch too.)
Yep, the draft 1.6.9 release notes + 1.6.9 mod author migration guide. The release notes are about a week behind, but they should be comprehensive otherwise.
thank you very much!
oh i didn't know the heart + location got fixed 
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
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
a scarecrow as big as the clock would be jokes
I would happily pay 10m for a scarecrow that covered my whole farm map, those birds are evil
as tall as an obelisk, you say? XD
no don't do it, i already got scope creeped for this expansion don't open the damn decompile
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)
i think that's harmony crimes
@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?
bugger
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
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;
}```
I've never even looked at Harmony before, and C# may as well be COBOL for how much of it I understand, lol XD
it seems like it can just be set by a context tag?
[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
(If you made it a regular object like other scarecrows, you could do it entirely in a Content Patcher pack.)
in particular you CAN set scarecrow radius with CP
and if you set it to some massive number it should cover the whole farm
oh. hm. and that just goes into the .dll? again, I've never written code before outside of, like, 1 semester of Java in college, and to be honest I did not learn anything from that professor (he was baaaaaad).
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...
that was a heck of a cram session, lol
Oooh that solves my issue with not having space for scarecrows in my custom map. Map-wide scarecrow here we come.
See Atra things like this are why you overestimate how easily the rest of us can do this stuff 
. <- my brain size 
no, you clearly have, as my German friend would say, a beeg, beeg brain
very creviced, lots of wrinkles, unlike us smoothbrains
builds this to see how it goes
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
aba has weaponized the newspaper
at least it's not a boot to the head?
(and now I need to go rewatch that, since I got it stuck into my head...)
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!!! ποΈ ποΈ ποΈ
haha small brain
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
i still don't understand annotating and patchall but yknow, no red/green squigglies
(even if Aba likely beats me to finishing it, haha)
Don't scarecrows have a scare distance on them?
yeah but if that scare distance is 500 tiles...
atra made a building that literally says, "BEGONE"
I was gonna say 1000 
so now i threw it into my harmony crimes mod
Even though you definitely shouldn't have a farm that big
Yeah me too I wouldn't know how to actually put that code in anything lol
Uh, pretty sure you aren't supposed to call PatchAll
oh ok
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
Also I haven't managed to get off my bed yet and am just chain-reading Ask A Manager stories so you can definitely beat me to it.

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
Nope I will have a many tile CP scarecrow and you can't stop me Roku!!
I'm sure it'll be fine :P 500 tiles is basically nothing
Atra's "it's so easy" way: #making-mods-general message
We're talking like millisecond differences
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
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.
I mean, it's a 500 tile radius, so... wouldn't that be 1000 tiles in diameter?
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.
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?
(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?
it just creates an entire shadow over the farm in the shape of an umbrella
Probably. Just look around until you find scarecrow radius.
Or...better yet, um, shade-loving plants?
Maybe just search modding::scarecrow
Mine's going to be a little angry goose statue

I have the power to steal other people's shitpost ideas (soz Avi π)
selph already stole my idea 
and made it better
We're a cutthroat, backstabbing sort of a place
I am tempted to have my mega-scarecrow flipping the double bird, but somehow I do not think that would fly
Scarecrows don't fly in general, though, yeah?
You need a bed laptop
Yes Elizabeth already said this a while ago :p
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
Lol
See appended > I am hellbent
Those look more like Santa's gloves than boxing gloves lmao
Not hellbent on anything? Just hellbent in general?
I do want to see sekun make a building size scarecrow which is why I'm still adding atras harmony
you'll likely win, I'm terrible at pixel art, I will spend days to make this look halfway decent XD
I had to make do with my poor frog's discord
what is the behavior if you build a gold clock on somewhere besides your farm
Always
I'm not intending to release mine so you should still go for it!
I went over to trying to make a CP one since the building-size one would require Harmony, and even with Atra's code that does everything, I have no idea what to do with it to make it actually work... so I'm going with the format that I know
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
It would just be a standard cp building with an extra field > buildingtype
fair enough. I'll release it when I am satisfied with the results, then!
I'm just gonna make a personal edit for all the scare/rarecrows lol
Not about that art life
I am torn between making myself get more art practice and not giving myself another project to avoid Hiria with
ah, so just like my greenhouses, then? wonderful, I have a template for it to be building-sized!
but, one question that I ran into when I was doing my greenhouses. I can only have 3 items to build the building with before the UI can't take any more and any extras start falling off the boxes.
that was a dumb question, I can because the blessing statue requires 4
That's probably something in the overflow of the ui, which, I am not even remotely close to touching that
well it'll prob work despite the overflow
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
maybe you could try bigger craftables, its got an unofficial release for 1.6
then u can do it like normal scarecrow
Hey uh, if you have a mod that shows the scarecrow radius, don't make it 1000
Did it scream?
I'm getting 1 frame per minutes right now
Can't switch off the stupid thing
Can't believe it hasn't crashed
Oooh good to know
Maybe atra's harmony building is the play then
I hope you can turn scarecrow radius off in UI Info Suite
It's already built but I'm at the gym now 
I use Range Highlight and was able to disable it, but I wonder how Data Layers will handle it lol
oh no, what have I done? XD
We have learned a valuable lesson
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
Tbh that mod is too important so I don't think the object crow will be correct
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
Yeah this is cursed lmao, even 50 is too much
i rather thought it'd just have the mods show all tiles as protected rather than making them crash and burn lol
Let's all just make puppy dog eyes at Pathos
here was me thinking this'd be a nice way to disable crows and have it reflected in whatever helper mods you had
I used up my monkey paw wish for modbuildconfig someone else has to
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
it may be because context tags are cached
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
Four corners is 80x80
Just make it big red text "not optimal to see how far it works, Just Trust That It Does"
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
For people who don't have extremely small crop areas, sure.
I've definitely made some bad choices and had an entire farm of crops before
Well they can just add the buildingtype and make it any size building
My crop space is 15x15
What's not to love about spending every single second of an entire day planting
I pause time on planting day
That's smart, this was before I was into modding lmao
Now I have sensible small plots and cheat whenever I feel like it
I can't play the game without cheating now that I've started creating mods
I've ruined myself
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
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.)
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
It is scary and intimidating.
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?
Drop the <> around the radius number
That's usually just an indicator that you replace everything there with your own thing
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.
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)
I am for my npcs and I'm gonna be a menace by annotating it in my faq if people wanna do portraits 
Cruel but fair
"Shrimply use appearances"
TargetField is like a list of steps to get down to where you want to edit
yes, that is in my content.json :D
You have to use a mod to see the range. It's not a vanilla thing.
ah, okay
Yeah I know I just always have to check the documentation to use it because I can't write it from memory.
Oh yeah, I always check even if I think I remember lmao
All right time to see what I got wrong
maybe the radius triggers something quadratic
Circumference rationalizing? So then it has to iterate and panic?
Bother I have lost my phone
I normally do! Well, kind of. I use my watch. But it doesn't work when it's on DND.
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
I might have to ring my wife on discord to get her to ring my phone lol
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
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
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
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
(I'll fix that in the next Data Layers update.)
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
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
I think it was a draw loop error
does anyone know how to ;w;
Gotta make the whole sheet have the flower dance sprite (or at least the face forward left and right and backwards)
A whole new sheet?
...I want the anti crow building to be like a feeding place for them, so they don't have to eat your crops
I almost suspect it would be one of your few mods incorrectly handling error items tbh
That's cute
please stop reading my mod notes these are private
Maybe itβs a crow house
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
You trapped them and they live there now
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)
How are you doing your flower dance sprites right now if you don't have a separate spritesheet for them?
I don't know how to make an NPC only wear their festival outfit for the festival. Hiria currently wears hers the entire day.
Could you not use the appearance system for this?
I might do two versions, one that's a birdfeeder building for crows, and one that's a crafted scarecrow that's an image of the Deluxe Scarecrow holding a duck from Duck Hunter recolored to look like a crow, the idea of the birdfeeder is adorable
Appearance system only yes
how do i do that?
Loading will make it be for the whole day
Me or them? I use the appearance system for it
And it is the whole day with my appearance setup
Do appearances use GSQ's?
does anyone have a sample ;w;
You should be able to set up conditions for it to only use it when they're in that location
I haven't checked how other people do it because I haven't decided which way I want it yet
i did look at the wiki- thought of using conditions but i had no clue how to actually type them in the codes lol
Right now mine is just checking the event rather than location
Honestly, people wearing their clothes all day makes more sense for the lore of "nobody is available today"
Mine specifically checks for event and it only shows during the festival so that's weird
(even though I hate not being able to access the town on an event day)
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.
ahhh okayy thank you so much guys π π π π ill go and suffer to see if itll work!! πͺ
I think lore wise edelweiss is just like "uh oh I've forgotten something important huh"
I do have her set to wear her festival outfit on the weekend too so maybe that's interfering? What day is spring 13?
Saturday
Oh that's it then haha
So yeah probably that
Loggy log log: https://smapi.io/log/1a7517b95f8841218a14faff78eb0c35
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
Damn, it's not Halloween day yet, this is too scary
the big craftables spritesheet isn't the same as spring_objects, is it? or am I just blind?
Nope, it's TileSheets/Craftables
thank you
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?
Uh oh. Looks like it!
Is 1.17.2 the latest non-beta version?
I believe so
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?
That's odd, I don't have that
Like that kind of situation?
Fixed!
Yeah but without the fancy premium bit π
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!
Huh. Must have because I definitely didn't middle click. Thanks for the explanation!
It is also a setting you can just turn on so it always goes to a new page.
Is that something the mod author does or that a user does in their own settings?
As far as I know a mod author can't make it do that...
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
...stupid pixel art program won't open the big craftables because the file is too big, grumble grumble
Which program is that?
Pixel Studio
wants me to upgrade to a paid version before it'll open anything larger than 1024x1024, and the Big Craftables is 128x1472
Ew
agreed
Good thing there are plenty of free alternatives
darn it, I tried opening my Big Craftables from 1.5, thinking it might be smaller, but it's 128x1152 XD
At this point, just grab LibreSprite!
Probably for the best to not use old files anyways
yeah, but I figured I could grab a scarecrow off it to start using as a model for the art part
Ohh you didn't know that
Nope lmao
I was wondering what you were expecting it to look like haha
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
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
I will always shill clip studio only because ease of access for me
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
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
Oh yeah, I'm generally looking for things that are free and relatively intuitive to use
Whee that scarecrow adjustment was so easy
I love being able to make my own QOL mod
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β
I wonder if there's a way to coerce game into letting me build in instanced locations 
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
I was turn cave into pif room and rip ability to put a barn inside that
(i only use it bc i have the momentum of using it for like... 16 years now)
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
i mean pixels is pixels at the end of the day innit
Layer groups is one thing, it appears
I did contemplate asprite for the animating but uh idk how it'd handle stardew movement
Well it just organize things by layer x frame
You can export as spritesheet in the end
Actually speaking of which does Aseprite do layer groups? Because if not I have wasted money
It does yes
I see it as an option in the Layers menu, though I have no idea what that is lol
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
it's far from finished, but I realized that I couldn't fit the Duck Hunt Duck-turned-Stardew Crow in like I wanted, so I decided to incorporate your suggestion instead. as an outline, what do you think? it's got a big bowl of corn to share with the crows!
That is cute
Very cute
i also agree with the cuteness
(dont forget about #making-mods-art though)
I know, I won't ._. just seemed easier to ping him here off of his message
Is there a monster counter somewhere on the screen when you do the AG initiation quest?
Isn't it a quest?
Yes that is why I used the word quest?
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
Oh, hm, trying to remember if I ever noticed that lmao
Assuming it's a normal slay monster quest
It's a story quest
Yeah then maybe not
Hm right I remembered now
It's only for help wanted quests
and special orders if you install me mod
Okay so my user's problem might be that they are expecting something to happen that is not actually meant to happen
Sounds right
thats a classic one
I'm going to double check just in case
The urge to add a customfield to have crows sit on the "anti crow" building
Make crows sit on it and have it drop random shinies sometimes
Is this something you're planning on releasing?
Oh I'm putting the building thing atra made out already
What if ornithologist guild integration
The other parts are for me to play with
So random birds?
i would just take bird critter
Make building have effects of bird feeder
I think u might be able to steal the outputmethod from OG to do such a thing

oh
and sorry, this is only gonna work in 1.6.9 because i'm too lazy to fix my postfix
LMAO
No monster counter
Good to know I'm only slightly insane
And also it is so hard to control the sword in combat without the mouse direction mod!!
https://www.nexusmods.com/stardewvalley/mods/28364 there you go, i'm adding it into the desc now but it's just the "BuildingType": "Aviroen.AtraAntiCrow"
my own embed gets me every damn time
I never have any idea how people manage to play this game in vanilla
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
You do need PatchAll for annotations
you call PatchAll if you use annotations, you use the Patch methods if you dont use annotations
i might've been doing my annotations wrong cause patchall without the patch methods weren't going through
I am do manual Patch gang
yeets the annotations then
Mostly bc I want related patches to all live on 1 class,
And bc I find the syntax more explicit about what it do 
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
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 
i just kinda wish vs22 didn't hate the whitespace of harmony.patch
NO DON'T USE THE MONKEY PAW FOR THAT
i thought smapi rewriters couldnt properly detect the annotations or something
or couldnt change them or w/e
Avi the point of a monkey paw is that nobody should use it at all. ever.
Well that one is not issue if u just update your mod as needed 
moving the goalposts smh /lh
Harmony fragile by nature after all
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!
nope, i looked at il once and my brain got set on fire
harmony.Patch(
original: AccessTools.Method(typeof(Building), nameof(Building.OnUseHumanDoor)),
postfix: new HarmonyMethod(typeof(BuildingEntry), nameof(Building_OnUseHumanDoor_Postfix)
);
Are you do something like this with the args
Does VS22 not like it
you didnt capitalize the H in Harmony
its also missing a )
You are do what I imagine tho
i manually whitespace it 
VS just telling u to fold lines that are too long probably
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
You also probably need BuildingEntry before the prefix name - assuming that method is in there
It seems to have an issue with the type BuildingEntry
(im guessin you and avi probably both just needed to put your patches in their own class? thats about the only reason i can think of that they woud just silently not work. idk if you can put the patch class annotation on your modentry class i feel like the answer is no but i couldnt tell you a reason why not)
I was just giving example of formatting
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
Not actually giving code for aviroen to put in mod
yeah chu just wanted to see my hell of whitespace 
oh in their own class, huh, maybe
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
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
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
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
oh internal was because of the modentry method
atra set it to private but it was screaming at me about access 
you should just entirely remove your initialize method and the two fields and just rename Scarecrow to Prefix
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
I'm still not sure I understand what issue with whitespace you're referring to
oh every time i do the method harmony patching it wants to go to the left edge
Oh like it's not doing your indents
yeah 
I've messed with the defaults for most of my indenting and format, so I'm not sure if that's normal behavior
annotation reading is for a me that isn't exhausted from picking rock up (weakly) and putting rock back down 
Hm, this building type thing needs serializing according to the wiki anyways
it didn't scream at me about serializing
It won't until you try to save the game
Everything reliant on serialization is fine until the moment of serialization lol
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?
Yeah probably, doubt it bothers saving if something isn't present
it's just a prefix
not a... custom subclass? idk
time to throw together a building rq
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
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
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
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 
the field BuildingType takes a string but that string is used to determine what C# class is used for that building
buildingType is a netstring
you can assign it that string just fine. just wont do anything if theres not a class it corresponds to
except break
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?
craftingrecipes is just a string to string dictionary
not string to object dictionaries
so it would just be the line with MapwideScarecrow
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}}",
}
},
so I don't need the RiftstalkerSekun.MapwideScarecrow_MapwideScarecrow, I just need RiftstalkerSekun.MapwideScarecrowMapwideScarecrow?
i havent been in this channel for a while and did i just see sekundes making a scarecrow with an atrociously huge effect radius
And me, and Rokugin, and Avi lol
Yeah, it's been the subject for a minute now lol
Though Roku and I both went the lazy route
If you have Range Highlight, I suggest don't
i await for this monstrosity to be released
uhm.... I plead the 5th >.>
i am now convinced atra's "quick prefix" would've imploded my game
I mean, it would have cried, but otherwise been fine-ish
it is technically sekun's fault for wanting an all-encompassing scarecrow 
No you should still give it the unique name
Your Name on your scarecrow should be the same as the entry key
back to the drawing board for this scarecrow building then
anyways - tilesheet update - the recolors are all done, but the code hates me. i think ill redo it,, again,,
And the key you use in the CraftingRecipes should be that same Name
... it's going to be building sized?
By "name" I mean the entry key, not the display name. The stuff Roku is saying better than me.
Avi is making a building that just blocks crow spawns entirely
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
Honestly, I might try this just to do some SpaceCore serialization, I haven't done any yet
cause uh, data layers screamed at the 500 tile
Pathos said he'll fix that in the next update, so that won't be an issue
I can't see any reason you'd need to have 500 tile anyway
But uh, anything else that shows range is going to freak out
Who's making a map that big?
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
isn't there another tile-viewer mod?
I mean, it wasn't a real map, but I did make that atrocity that was 200x2000
Okay who's making a real map that big? :P
Range Highlight is the other one I use
I used 30 and it covered most of the standard farm
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
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
You could put it into a custom field or a mod data, just gotta check for it in the prefix
Oh it's shorter than it is wide
Specifically I guess you need to iterate every building in the farm map and check for whatever you're using
So yes 35 would be enough I think
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
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)
i love crows so this is just a slow step for me to have a crow feeder tbh
fair enough. and it will count how many crows its fed over its lifetime!
Oh lol, yeah I like crows just not this mechanic
in real life, I too like crows, just not Stardew crows XD

i think customfields is also seri- oh ok
They're saved but not synced
Mod data is both
Though not available on all things from CP
well i named my mod customfield chaos so it's going into customfields
hm... it's still saying it doesn't like the strings in here. everything has the same Name, so this should be working, right?
You're still doing crafting recipes wrong
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.
ooooooooh
so like this, then. because I was trying to nest a key inside of a key, and the game doesn't like that
You were trying to enter a model into a dictionary of string, string
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.
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
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).
There are a few of these string, string dictionaries left, always gotta verify what you're working on
always keep the unpack handy
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
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.
yeah the model vs string thing i didn't even understand until like, a few weeks ago 
And then there's the fun of FishPondData, which I think is a list of models?
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!
But lists and dictionaries are edited the same way
yeah this customfield is for a me that can parse these red squigglies
aka tomorrow's me, probably
AdditionalLanguages is also a list of models. probably matters a lot less to most people tho
The aquarium only adds 1 fish. So just leave it in for perfection, itβs easy enough to get. Maybe add a config to let people exclude it? Heard some people had trouble catching it on MP
i await this 1.6 release if it got elizabeth's gold stamp and atra to actually work on a mod 
I don't know what this means, but I'm excited 
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
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
hmm
What's Corncrow?
There's a mismatch between your recipe yield and your item
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
It should be your big long name, not just "Corncrow"
my mapwide scarecrow that bribes the crows to not eat the crops by offering corn
You've used the display name instead of the item id
So the game doesn't know what you're making with your recipe
ohhhh
Is the problem that your tilesheets aren't changing with the seasons? I think the season name has to come first for that to work.
Are you trying to get automatic season switching?
Yeah it does
oh damn that matters?? i have no idea about that
So changing to "spring_CR_outdoor" etc should hopefully work
Also seasonal switching only happens in outdoor locations
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
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"
..right i'll try the name change way because im concerned of breaking more stuff
at least the better water tokens are working
....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
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?
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!
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?
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
Did you test your changed content in the same save as before?
(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)
yep, i was wondering if you could change the recolors in the same save while in gameplay (as in changing the tilesheet config while not in the main menu)
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.
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
Did the warning pop up after you did a patch reload?
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
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".
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
Is your "recolor" token a config token or a dynamic token?
dynamic one. i was following the example in daisyniko's tilesheets
the betterwater tokens are also dynamic tokens
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!)
wait hold on lemme take another look
You can change it if you wantto actually.
...I now have an overwhelming desire to undo my previous scarecrow and instead make it look like the Corn Servant
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
ooooh, with CP? how do I do that? will it change it for all the scarecrows?
(it'd overwrite it for the normal scarecrows too though
)
awwwww darn
but in general yes you can edit most strings in the game
Yeah like Button said it would do it for all of them unfortunately.
Just so I am following: you're trying to change the config settings so the recolour is VPR green instead of VPR orange and it's not swapping over? And you're testing it while in fall?
errrr actually, nevermind my question. i am sleep deprived and not in any condition to do modding work /lh
problem's solved lol
Oh haha what was the issue?
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 
damn i fr got sidetracked. that PIF extra floor is never getting finished at this rate
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 ^^
[Modding:Audio] comes with detailed info on adding to the AudioChanges asset, including music overrides
or [[Modding:Audio]]
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^^
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?
Oh, I meant for other fish that set the flag!
I actually did fix the multiplayer thing for pufferchick
And yeah, let's have pufferchick wear hats
That would be cute
how about live CP syntax validation,
Isn't that already what schema does?
oh you mean for the aquarium completion? I would just include all fish for that. Not sure I understand the question still 
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
Lol
that would be a fun project for me to try!
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 
@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?
Whoops, that's my bad, I just forgot to apply the rect offset to the icon rect, it'll be fixed in the next update...
got it my music replacing working Q-Q...
now of to the houndred of tracks that needs to be replaced π
It's a bit tricky, iirc. But buildingtype on building is the string id
π«
it does, but EditData can have anything in it since the game's data files aren't included in the schema
ah ok great, I'll wait then π
is there any ETA on 1.6.9?
Fixed in 1.6.9
Nov 4th
Oh that was in reply to me lol
I didn't even look at my log to see what the error was xD
finally seeing my favorite food Smoked Error Item getting the rep it deserves in SDV
Good to know if it ever does pop up for me as a problem though, thanks Atra :)
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?
(Thank Pathos, I'm just doing a little bit of fixing etc. Pathos is the one who is gonna do long term caretaking and also ask questions about a PR that has now hit a thousand lines)
Just use something else tbh
just gonna add this to the list of breaking changes then
if I do make a helper extension for modding, anyone want to try it?
I would, yeah.
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
You mean an extension adding some boilerplates and templates? That could be cool
anything really! I'll take whatever suggestions! whatever is useful to y'all, plus whatever I've found useful when I've tweaked some mods I've downloaded (for typos, translation strings not showing, etc)
I've only done enterprise/corporate projects before but I really want to try my hand at something open source and public
From my experience boilerplates are what's most useful for beginners, and most convenient for advanced users, so that + completions would be absolutely awesome
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)
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
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?
Most certainly yes
is there a way I can "advertise" myself to help out?
!comms
If you're looking for people who do mod commissions (either art or code), here's a wiki page with a non-comprehensive list of people who do them: https://stardewmodding.wiki.gg/wiki/Stardew_Mod_Commissions
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
gotcha, would I edit the wiki and add myself?
Yup
I won't do it just yet till I read up on the frameworks
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
does that wiki also have the resources about the c# coding aspect?
I thought I saw this on the Stardew forums website? maybe?
!startmodding
Making mods can be broadly divided into two categories:
- Content packs are formatted text files, and don't need any programming knowledge. They can add/edit NPCs, maps, new items, shops, and more. To get started, see the list of framework mods, the wiki tutorial for Content Patcher, and there might be relevant guides on the tutorial wiki.
- C# mods use programming code to change fundamental game mechanics. See getting started with C# modding.
Usually itβs easier to start with making content packs, since you don't need to learn programming.
there's also a harmony guide somewhere on 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...
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
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. :)
i nominate growable giant crops
Please don't toss the newbies at my insanity
@astral prism: try this (15h ago)
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?
I had someone ask me for help to make an in-game map editor, maybe you can look into it if you're used to C#
It was sexynes on Nexus asking me to help updating DMT (Dynamic Map Tiles)
You mean asking for help updating this version? https://www.nexusmods.com/stardewvalley/mods/21084
Hop, seems like it was taken care of then
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?
Yup, it was in early summer
That's...still after April I think so maybe DMT Continued doesn't work.
https://stardewvalleywiki.com/Modding:Audio
you basically register a new song with a new ID and then use that ID where the game asks for one
Drat, I just downloaded it
where the heck are the incubator and feed hopper sprites at
Tilesheets/craftables
Is there any tool that works as a map painter? That takes tile connections into account (grass/dirt/water connexions)?
Yes im in that wiki, but where do I register that new song? In content.json or in c#?
I think Tiled has the capability to do this but the setup is finicky
content.json
there's an example below
I saw blueberry demo some magic once
theres terrain set u can make in tiled but its very complicated
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
Hm, alright, it looked very different from other syntaxis in the file but thanks for explaining!
I just checked their message again: it was about maintaining the mod because they were having bugs with it.
why did they message unrelated mod author about updating completely different mod
hang on, did i get a DM about this too? let me check
Ah okay. I wonder if they tried contacting Datamancer and they never got back to them? Or if they just are bad at etiquette.
They probably saw I was active
Yep, they mentioned not getting answers
I see Datamancer is in here too but hasn't been active since April
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
Honestly, I kinda get it, it's infuriating to be an active user of something that's not maintained
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
They messaged me too somehow...
extremely prolific but now retired modder aedenthorn had this mod https://www.nexusmods.com/stardewvalley/mods/18387
I don't really know, I never really dealt with maps
I didn't get messaged, should I be relieved or offended
DMT and the map editor are different mods with different purposes
the edits are sort of like content patcher EditMaps in that its json format rather than tmx, though im not clear on the details
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
DMT is not done in-game, I am pretty sure. It's more of a modder's resource, if I understand correctly.
when i see a request like that, i usually say to myself "just play the other game"
I feel like you would need to be in a "sandbox" setting to do that though?
Would require a shit-ton of features tho
I was just about to say that, like...then play MC?
IDK I have been kind of intrigued by the mods where you have to buy more game one tile at a time
there was a terraform mod too, though i have no idea if it was ever released for real
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
tbf I also think it's an intriguing idea, but it is a massive pain to implement
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 
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
VSCode ftw!
see I'm imagining acnh-style terraforming? is that what they want?
the simpler way to do it would be to make flooring that looks like water trenches
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
you'd need a messaging system/netfield-like field to sync map changes right
Oh wait, windows forms? No, I think you're cooked on Linux
and have some way to apply it that feels fancier than "i bought 999 water trench flooring from robins"
using Linux is a good excuse to learn something other winforms lol
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
was about to say like the town fountain but forgot you can fish in it
Alr, I'll let you make this mod in here, I'll go to sleep
ill prob make this mod in like 2025 feel free to do it b4 me so i can slacc
The most painful part is probably the drawing to make it look good
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
how dare you remind me of the portraits i'm avoiding because progress is slow
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
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
what ides do the c# modders here prefer?
vi/m (not joking)
just use your favorite text editor
i usually use powerpoint but i want to move to something else
Ichor said the word, selph is gonna prostheletize
DID SOMEONE MENTION VIM?????
i mean if power point let you write plain text sln/csproj/cs files then go for it 
just dotnet build in the end ez
but seriously, what do people here generally use
i usually use visual studio but i know someone that works in the notepad
For C#? Visual Studio is basically the only viable choice
(unless you're on Linux, in which case Rider?)
did you see where i said "not joking"
i use vscode on linux but mainly cus i use vscode for everything
and vs22 doesn't work on anything but windows because microsoft thinks of linux as 3rd rate citizens oop-
not joking means a lot of things on the internet
as long as whatever you use has some language server u can make it work 
rider is nice if you enjoy the jetbrains suite of ides
yeah the lang server is basically ide agnostic
true, but in this case it means i wasn't joking and i actually use vim
the vsc C# lang server randomly dies on me though
(same, I also use vim, and I'm not joking. vim users are indeed a tiny minority though)
i am staying on older version until that gets fixed
If you are new I strongly recommend using visual studio
Microsoft does an excellent job of holding your hand
I use Visual Studio because there are more walkthroughs for it
And being the shoulder you can cry on
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
oh your building crow-scarer, roku brought up serialization for it and i went "oh...."
smh im taking away your cheeto badge
(half a million) 
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)
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
My father used to have to post his punch cards across the country to the local computer
is that before or after swapping out the cable to a fully analog data-system
Now he takes his laptop on holiday without fail
(I know vim has autocomplete too.)
analog data systems are still in use! at my last job we had to interface with a giant robot that stored archival data on magnetic tape
"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
That sounds fun
truthfully: very cool
"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
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
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?
the game is not set up to allow weather to change during a single day
It's one of those things that is technically possible but also hard to fit into the gameplay flow
Or what ichor said
anything is possible with enough effort, but that effort may be exceedingly high
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?
alright, understandable
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
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
Cloudy skies might let you define these Inbetween states as whole new weathers
Again, flipping the rain bool is trivial
Deciding what that should do and updating everything for that is...
I think bigger problem is player confusion 
Exactly
I feel like the hardest part is indeed the rain management bit ._.
5/10

