#making-mods-general
1 messages · Page 554 of 1
Dh! Long time no see.
*tree myself out 
dh! …hi
HoeDirt's get serialized, right?
Oui
Thank you
Hey, this hedgehog gets it!
I saw a virtual method on it and wondered if anyone subclasses HoeDirt for any reason
#programmers-off-topic message
Crimes! It really does run smoothly. Been meaning to keep working at it...
Wish I'd thought of that lol
It's ok, you just gotta branch out some more 
I created a ui menu during the intro in grandpastory.cs by harmony patching it but I can’t get the dialogue box to close the escape button skips the scenes but my ui box is stuck on the next scene the bus but then it clears after that when the world map loads
Don't go, your presence really spruces up the place
You wood be missed
(ok I'll stop lol)
I shouldn't be laughing like this at these 
I did a leaf collecting mod a while back, so I've had practice lol
Oh, I didn't know that. Neat!
g i n g k o
Can we edit tile properties (properties for every single one of a tile from a tilesheet) with ContentPatcher, like how map properties and map tiles are edited? Specifically not the properties for a single tile that is placed on the map, but the tilesheets properties (https://github.com/Pathoschild/StardewMods/blob/stable/ContentPatcher/docs/author-guide/action-editmap.md#edit-map-tiles)
elizabeth did you see my magnolia..
Every time I look at Crop.harvest again the urge to just skip prefix it grows
no
Show again plz
New quote added by atravita as #7656 (https://discordapp.com/channels/137344473976799233/156109690059751424/1481066659966877922)
Just make a farm totem and pop home for a second
awh. but, to be fair, it would be a heck of a lot of lines if i want to change tile properties for like 30+ tiles anyway, so maybe its better that i cant. best excuse. so, is loading an edited map (tmx) the only way to edit tilesheet properties then?
well what do you want to do exactly
My favorite funny tree fruit is cashew
How many crop mods use SpaceCore's CropExtensionData anyway. Does Cornucopia use this. Would I regret not prioritizing compat there
Technically you could because
Tilesheet properties are just map properties managled
Don't let people know
Probably tbh
Cashew
bell pepper bats
Blueberry plz observe weird fruit
Can you download the entire mod dump and do a search for spacecore's asset name please, thank you
my go-to tillable grass mod has a few spotty bits on the ginger island farm. so i went in and edited the Island_W manually and added Diggable T to a bunch of the tiles that imho needed it. but somehow, i dont know why, my quick and dirty ginger island edit is incompatible with the spiffy new Tilled Soil Decay Options
May I submit as possible bluebs tree
what u mean?
Hm how is it incompatible?
I'm at work lol
I appreciate your cooperation
If you get the right dumb looking string you could do it and it don't recommend it
New quote added by atravita as #7657 (https://discordapp.com/channels/137344473976799233/156109690059751424/1481067915691298988)
Thanks!
Might be issue with the tiled soil mod rather than you
Do i get a pat pat on the head as a reward
I have no idea
i tested out that new mod and the ginger island part didnt work. was like "hmm wat". removed my GI edit and tested again. works. no clue why. im torn on whether or not i should bother the mod author with this obscure(?) incompatibility or if i should try to work around it instead
i don't take content requests 🙂↕️
Given that it is a new mod you should probably report it to author
I guess I should. Especially if there are some other mods that edit ginger island and breaks it in a similar way. then it wouldnt just be me affected, so more worthwhile for the author to fix potentially
Captainsully is on this server if u wanna ask stuff
@quasi crow (testing to see if summoning works
)
i may need to redraw the sprite
no near guesses yet
Passionfruit :P
Unfortunately i am also just woefully unplant
Please dont ask me to not eat the poisonous plant. I probably will
i'll post it with flowers in 8 hours and hopefully that'll be obvious
honestly shocked every other tree got a correct guess and not this shrub
Good candidates for spacecore
The fruit is edible but also quite fragile
perhaps the Tilled Soil Decay Options does some magic to the Island_W map behind the scenes that is then later undone by unelegant "Action":"Load" from ContentPatcher 😅
looking at this transpiler its perhaps due to usage of OpCodes.Brtrue_S instead of OpCodes.Br_S
atm the mod probably makes everywhere except farm get seasonal tiled dirt decay
(im gonna retest the ginger island edit issue with a map with just the tile properties changed, i had experimented with a few map properties as well that cooouuld be the reason for the issue, but i had the same map properties on my custom farm map edit as well, and the Tilled mod worked just fine there, so that makes it less likely to be the core of the incompatibility)
if only "ClearEmptyDirtOnNewMonth" map property would actually function on false we wouldnt be in this mess in the first place 
Is there any way to raise the players maximum health and energy using content patcher? I want a reward for a quest to be a modest permeant increase to health, maybe half of the iridium snake milk, and energy, maybe half a stardrop.
hmm bummer. i know there is a max energy buff but i couldn't see a max health buff, althoug i guess defense is a proxy for it
is there a way to add a permeant +1 defense like done by Jack Be Nimble, Jack Be Thick
Make a new buff with duration -2 and use a trigger action to apply it every morning?
ok cool, I'm starting to get it.
as per https://stardewvalleywiki.com/Modding:Buffs I could make a custom buff with +1 to Defense and MaxStamina. is there any way to make the icon not appear. i note this line in the C# section You can have invisible buffs by setting buff.visible = false. is there a way to refence this in CP?
i don't suppose "IconTexture": null would work?
Not sure, tbh
You could try an empty texture but it would take up a space
And also have a tooltip
Oooooohh removing those map properties on the Ginger Island edit appears to have worked. got the edit running now, Action:Load the edited Island_W.tmx file through ContentPatcher, and the soil is tilled on season change 
(not sure what it says about me that im often the one to creatively break something else
oh well, best not to dwell on that)
whats up
i managed to bork part of your mod but then i unborked it
oh?
i had a custom edit of Island_W that had some map properties (specifically
ClearEmptyDirtOnNewMonth F
DirtDecayChance 0 )
and they made the ginger island part of your mod non functional 
since it works again now with just the tilesheet property changes i feel bad for summoning 
Suuuuper happy to have a functional tilled soil season mod btw!
thankyou so much!
ironically the reason i was mucking around with the map properties in the first place
can that property only be set to true?
actually im a little surprised it doens't work anyway..
it definitely works on the farm, i tested for that
yes, its everywhere else thats the problem
are we talking about the map property or the mod now?
isn't it skipping the if block when the instance is a farm?
the mod, specifically the transpiler
if (dayOfMonth == 1)
{
if (this is Farm || this.HasMapPropertyWithValue("ClearEmptyDirtOnNewMonth"))
{
this.terrainFeatures.RemoveWhere((KeyValuePair<Vector2, TerrainFeature> pair) => pair.Value is HoeDirt { crop: null } && Game1.random.NextDouble() < 0.8);
}```
if i understand right, im jumping past this if "this is farm" is true
if its not the farm it should be fine?
I'm trying to prefix a constructor so that I can change one of the parameters when it gets called by the game. If this was a method I could just pass in __instance and check if it has my custom data, but the __instance is null in the constructor case because it hasn't been constructed yet. Is there another way I can check that?
(well now that i have removed my unlawful map properties from the edited Island_W map, the mod appears to work perfectly on season change both on the farm and the island)
oh i see it's checking for existence of ClearEmptyDirtOnNewMonth
so ClearEmptyDirtOnNewMonth=F would actually make it enter the block
glad its working for you, at any rate. now i just want to know why it wasn't in the first place :P
oh cause the whole thing resolves to false
instead of true
not sure why it stumbled on the map properties on the island and not the farm (they both had it), but its probably not something id understand anyway
wait no its an or
i had the same "ClearEmptyDirtOnNewMonth F" on the farm map you see, and that one still worked.
if the first part is true, the second part shouldnt even evaluate at all
but hm i still feel like u should prob do unconditional jump here 
or just remove the 3 ops that check farm at all
essentially get
if (this.HasMapPropertyWithValue("ClearEmptyDirtOnNewMonth")) { }
and then map prop will be sole source of truth 
(rather, the instance isn't null, but its relevant fields haven't been filled yet)
I thought __instance still worked even in a constructor, but if the data comes from outside it, you'd need to just transpile the place that constructed it in the first place, probably
this would have gotten skipped by sully's mod
If it's data that's generated and constructed in the instance you could also transpile the constructor
ClearEmptyDirtOnNewMonth doesnt work on Farm in vanilla
ah, skipped for farm but not for island. i see. thanks for dumbing it down for me 
hm. i guess removing the farm check does make sense...
...I was kinda hoping I wasn't gonna have to refresh my memory on how to do a transpiler, but if that's the way, then so be it
makes sense, though
a transpiler on the method that calls the ctor is probably not bad in this case
If the method constructing it is doing something like var myThing = new ThingYouWannaPrefix() you could probably just do an easy replacement to swap out the newobj thing with a method you make that returns a ThingYouWannaPrefix, that way you can make the object and modify it yourself as necessary before the caller gets it
(assuming you can modify these things outside the constructor)
oh, that's a good point
modding wiki said
"ClearEmptyDirtOnNewMonth T²
(valid in any location)"
lie then 
It's probably barely any different from just taking in the newly constructed obj and passing it to a modifier function too but yknow
I suppose it'd matter if someone else was trying to do the same thing to the same newobj call
Was there a reason you couldn't postfix the constructor
it is yeah. the check where it gets evalutated is "if this is the farm, OR if "ClearEmptyDirtOnNewMonth"
so if its the farm, it just goes "Yes"
im going to follow chute's suggestion and just take out the "if this is the farm" part
main reason I can't postfix it easily is that the ctor (ItemGrabMenu) is doing a lot of logic depending on its parameters and that'd be a pain to modify after the fact
though, i only really wanted to change the logic if it IS the farm.
(To be clear the value you put into the ClearEmptyDirtOnNewMonth property doesn't matter. If the property exists, it will be applied, even if you write "false". Hence, it's not a lie to say its valid in any location, because it's just an opt-in thing, not opt out)
does the default farm have that map property? do you know off hand kattia?
I am sorry for wasting your time with a manufactured issue though, my apologies for that. If theres no other whacky cowboys out there playing around with the same map properties in strange places then you could keep the mod just as is, couldnt you? No its not present at all on default farm maps
Oh yeah I remember you mentioning ItemGrabMenu earlier now. Last time this came up for me I said fuck that and made my own ItemGrabMenu with 99% copied code and just tweaking the parameters the way I wanted them and then doing new MyOwnItemGrabMenu() lmao
Another -is this possible- question, is it possible to make cooked dishes worth 10% more using content patcher
i don't think so, it'd be a simple harmony patch though
You wouldn't even need Harmony
Ok that works then. since the farm doesnt have it, without the "is farm" check it just checks for the property, doesn't find it, and skips, which is what we want.
y'know... I'm gonna consider that. I should probably just ignore this for the moment since I have a lot of more important stuff to get done
Were you trying to make the menu bigger/smaller i.e. more/less slots
I've so far stayed away from Harmony due to a general vibe of there be dragons
no, getting rid of the side buttons - color was an easy postfix, but the organize and stack buttons are the issue. chest size was easy to patch
Harmony is completely fine, it's no different than other C# code once you set up the patches themselves (except for transpilers, which are pretty different to think about)
It is technically more fragile yes but it's not a "break glass in case of emergency" tool
It's an issue with the base game's renovation code, now fixed in the upcoming Stardew Valley 1.6.16. Thanks for reporting it!
well, hope not (m)any modded farms use that property, or this will get annoying down the line.
given the way vanilla works though, they shouldnt have any reason to, unless they thought it was necessary by mistake.
@near imp want to test this with your original setup and see if it works?
Probably not a major concern 😅 Havent seen any so far at least 🤷♀️ Might be something to keep in mind for later I guess if someone complains about the Island part not working, if they have modded the island in their smapi log. But it wasnt an issue on regular farms tho, and there cant be that many edits to the ginger island farm 
test what specifically?
alright, obscure dialogue question.
when standing by the mountain lake, Sebastian says, "Standing at this spot really makes me want a smoke... but I'm determined to quit now." and I can't find that line in his marriage dialogue files
id be happy to test things for you if that would help, but i have removed those map properties in new versions of my personal map edits. since the ClearEmptyDirtOnNewMonth cant be used the way i had hoped for, and DirtDecayChance works but not for season change, so a mod is needed for complete dirt decay functionality anyway. strictly speaking it was an issue on my end
nvm found it! 🙂
ok so fun fact it is incredibly hard to spell
yes!! i like it very much
i see ginkgo an awful lot lol. just one of those loanwords
Oh wow!! Thanks for letting me know! Also, you're more than welcome! 😊
surprisingly ginkgo is the more correct spelling/pronunciation
or more accepted i suppose, i don't know the accuracy or origin
1773, from Japanese ginkyo, from Chinese yin-hing, from yin "silver" + hing "apricot" (Sino-Japanese kyo)
Those apricots aren't all that silver, really
i would've expected it to be named from kin (gold) honestly lol
Same lol
i suppose the stem is quite silvery..
@spice inlet hey do u know what is best aspect ratio to use for PIF preview images
sometimes i wish it would auto crop without squashing...
realted to my cooking question from earlier, would there be a way to have all cooking be automatically 1 better quality? like normal dishes become silver, gold becomes iridium? ideally using CP but if not that then just in general
CP also cannot do that 🙂↕️
you'd probably have to postfix CraftingPage.clickCraftingRecipe like the rest of us
Just when I was starting to feel more confident at event making, I finally take another look at animating the farmer for something I want to do 
reminds me of the time I looked into adding compat with every cooking mod
thankfully at the end of the day it's just vanilla/Better Crafting/Love of Cooking; the rest either are too niche or has bridge with BC already
Are these set of sprites for Krobus unused? I tried asking before but I don't know if anyone knows 
was trying to letter spooky on your message, but discord glitched
I guess the ratio would be 53:37
very odd ratio, but it's what fit the sprite >_>
what is marnies house called in the events folder?
oh
nvm
It's the animal shop lol
thanks for the help with above, I might put a pin in the cooking +1 idea.
a unrelated content patcher question,
does this mean when GridUnlocked AND Boat Repaired AND its Summer?
"When": {
"HasFlag": "GridUnlocked",
"HasFlag |": "ccBoatRepair",
"Season": "Summer"
}
I can't remember where i came across this formatting, but it was something to do with there only able to be 1 HasFlag. If the above is incorrect, what is correct?
a while bad i did some scaled draw code that uses the float scale version of spritebatch.Draw
float drawScale = Math.Max(
targetWidth / (float)Texture.Bounds.Width,
targetHeight / (float)Texture.Bounds.Height
);
"When": {
"HasFlag |contains=ccBoatRepair": true,
"HasFlag |contains=GridUnlocked": true,
"Season": "Summer"
}
can't remember if : is needed or not
this + drawing from the center of texture origin had effect of fitting the texture to the place it gotta be
I'm assuming HasFlag | would get a parse error
i think it would look better for most PIF previews but u may go the other way of letterboxing instead (i.e. use Math.Min)
I think the powdery looking coating is the “silvery” aspect
I did also draw the fruit
taking heavy inspiration from the apricot part of the name 😛
Hello! Sorry, as Elizabeth said I was asleep when you pinged
Youre ok, funny enough i just hopped back on
Sooo, I went on the wiki and tried to completely redo the content.json. Still didnt work. I put both the file and the error log into the validater and parser
Log Info: SMAPI 4.5.1 with SDV 1.6.15 build 24356 on Windows 10 (10.0.19045.0), with 36 C# mods and 92 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
StardewModdingAPI.Framework.Exceptions.SContentLoadException: BoxCanyon loaded map 'assets' with invalid tilesheet path '../../../../Content (unpacked)/Maps/paths.png'. Directory climbing (../) is only permitted once at the start of the path.
This is your problem
it applies to both of your maps
Yes as we mentioned before what is needed now is nothing to do with your json, it's that you need to fix the map files by opening those in a text editor and fixing the tilesheet sources.
!tilesheetclimbing
When creating or editing maps in Tiled, one common error is tilesheet climbing, marked by red text containing "invalid tilesheet path '../../..'. This is caused by SMAPI not being able to find the tilesheets needed by the map file. To prevent this error, make sure that you have a copy of all necessary tilesheets in the folder containing your WIP tmx file. Copies of vanilla tilesheets can later be deleted, but must be present while working on your map.
If you get this error with a completed map, an easy way to fix it is to open your tmx file in VS Code or a similar text editor, find all of the places with <image source=, and remove the filepaths to so that only the tilesheet names remain. For example, if the code says <image source="Content (unpacked)/Maps/townInterior_2" width="512" height="64"/>, change it to just <image source="townInterior_2" width="512" height="64"/>.
ok so go into tiled and edit the tile properties to the pngs in the mod folder?
No, please read what I wrote and what is in the message from governor. You have to edit the .tmx files in a text editor. As in right click on the files and then "open with" the text editor you've been using to edit your json files.
It can't be done in Tiled without moving the tilesheets into the map folder
Well whatever I did worked and the warp to the interior map is finally working.
I read the wiki @tender bloom sent and did what it said there. It said stuff about going into tiled and adjusting the properties 🤷♂️ so i dunno, but it finally worked so thats cool
thankyou for the help
hm, do you mean something like this?
before / after
it does look a bit less smushed, but hard to tell
yea definitely less smush i like it
(im very sensitive to aspect ratio for some reason)
thank 
ideally content creators would keep their preview image multiplicative of the 106x74 px preview border anyway
only way to make it look good and keep everything
can anyone help?
im trying to dowload birbcore (v1.1.0) for android smapi
it says its compatible with latest smapi version but when i launch the game it says its not compatible
SMAPI for Android is not exactly the latest SMAPI version.
We are not able to provide support if you run into trouble or compatibility issues with Android SMAPI; please use the discord linked on the Android SMAPI github.
IMPORTANT: This is a highly experimental build and may be prone to glitches, bugs, or incompatibilities. Please see the wiki instructions for more information regarding installing the unofficial Android port of SMAPI for Stardew Valley 1.6.
Do not harass mod authors to make Android specific compatibility patches.
i dowloaded from here should i dowload lower version of birbcore?
Please follow what the Governor said above.
What's an easy way to replace all the display names for about half the items in the game?
(Basically, people in that Discord channel would be likelier to know the answer to your question than here.)
vanilla names are usually in the Strings/Objects asset
Strings/Objects
but u can also just use Fields to edit Data/Objects if you gotta deal with modded names too
Well i got that part, but i guess there's no streamlining it, huh...
if you wanna change the names you gotta change the names
even in C# there's no shortcut unless you wanted them all to have the same name
i feel like i did my npc stuff backwards because now it feels liek spaghetti but i dont wanna start over 😩
Real. Im in thr Spagetti
Spaghetti
maybe ill remake the jsons one at a time and see if i can fix it
sure there's a shortcut, just key all your i18n entries to match the strings/objects keys
simplest foreach of our forefathers
thats approximately like, 2% less total work
you still need to write the i18n entries
Do the places that only appear in cutscenes like Haley’s dark room or Emily’s dreamscape actually have, like level geometry
It depends on if they are actually a map
hi guys! i need help in making my npc follow its schedule since it wont move. i followed the modding wiki template and made sure the paths are all fine, but it doesnt seem to be working.😞
have you loaded a blank.json to the schedule?
Have you loaded a blank json for them first? And if you have, have you slept in game or made a new save since adding the schedule?
i havent done the blank json yet, but i have done the last two things
wdym by loading a blank json? i only started yesterday so
The blank json is the first thing that is needed
Because right now, you're trying to edit an asset that doesn't exist
Are you following a tutorial?
You missed this section: https://stardewmodding.wiki.gg/wiki/Tutorial:_Making_a_Custom_NPC#Content.json. The part starting from "Speaking of Load"
The blank load is because your NPC's dialogue and schedule assets don't exist until you create them. You use the Load patch to create them and then your EditData patch (the one you already have) to put the actual data into the asset.
The reason we do that instead of just using the Load patch to add the data in the first place is that it's not possible to use CP tokens (the things in {{ }} such as {{ModId}} or {{season}} in a file that is being Loaded. And since we want to use things like i18n to make translations easier, we want to be able to use CP tokens.
Then perhaps you do have a blank load and haven't realised
i just read my content json and no i dont have one
but i do have a blank json in my files, i just wasnt using it
I've been working a lot on my event, and it feels pretty neat to see that the script has improved a lot as I've been coding it in. I'm actually feeling confident in the writing I've done so far, especially after all the tweaking and changing that I didn't know would happen! 😄
The original script also feels kind of wooden/awkward now that I've all this actual work on the event.
Also, I'm going to save this answer you gave on blank jsons. It's a good one!
Hmm, then your dialogue should not be working. Gift tastes will though because gift tastes are set in an asset that already exists and is shared by all NPCs.
i dont understand how it worked, should i send my json files here?
they have separate like json files though
Yes, you're very welcome to. Head to this website and upload the files (one per tab of the website) and then give us the links and we can have a look.
We should only need the content.json at first
Blank load
do i remove that?
It's just incorrect haha
No, that is the thing that we have been telling you that you need
ohh i see huhu
But you need to change it so that it is {{ModId}}_Vex rather than {{ModId}}_NPCName lol
okay okay, ill try that out rn
And this one is wrong. It needs to be Action: Include, not Load
Without a Target
In fact, I think your dialogue file may be wrong
The inside of your dialogue file should look like your schedule one, only with dialogue in it instead
Yes it is working but that's because you're directly Loading the dialogue asset. Remember how I said before that doing that will mean you can't use CP tokens? If you decide to use i18n in your mod (which you should) you will find that none of it works for your dialogue because you're Loading the dialogue directly.
It looks like you have been following the tutorial but only partially, because loading your dialogue like that is not part of the tutorial.
And in doing that, you will end up with having your mod work differently from what the tutorial says it will do and you won't understand why
(Which is allowed but if you then blamed the tutorial I would frown at you /lh)
https://stardewmodding.wiki.gg/wiki/Tutorial:_Making_a_Custom_NPC
https://stardewmodding.wiki.gg/wiki/Npc_template
so yeah def my fault..
Wait, that template also does not tell you to load your dialogue directly lol
That's got a blank load and then an EditData patch to add the dialogue itself
That's ok, it's hard when you don't yet know what any of the things are actually for
i was assuming and stuff cuz it worked for the sprite and portraits huhu
That is a reasonable assumption but they are totally different types of assets so sadly it does not work the same way
i see now
So to sum up: change your blank loads to the correct Targets and then your schedule should work. Change your dialogue Load patch to an Include patch and then inside the dialogue.json make that an EditData patch to add the dialogue lines.
i got an error file🥹
https://smapi.io/log/3c9133ce6c7842e7936bbd8847de90a4
Log Info: SMAPI 4.5.1 with SDV 1.6.15 build 24354 on macOS Unix 26.3.0, with 7 C# mods and 1 content packs.
What is inside your blank.json file?
uhhh nothing
Haha ok it is not meant to have nothing in it
wait really
(perhaps we should rename it to curlybraces.json or something in the tutorial lol)
It's meant to have no data in it. That's the blank part. It has to have the { } in it or it's not a valid json file.
You did it!
yeahh, also, i have a question. since this is supposed to be like, a mod with multiple characters, how do i organize them properly?
also vex
However you like! I have my NPCs in the same folder but with their name as a prefix for their files. Some people have one folder per NPC. You can even have everything except your blank.json in your content.json if you want to!
ohhh i see i see
tysm!!!
ill fix up vex a bit more though before i add another character
i dont have her events yet
There are no requirements at all regarding how you organise your files as long as they are all inside the same mod folder. If you think others might one day want to make mods for your mod then they will need to look through your files sometimes - in that case you might want to set your files up similarly to how others do so that your files are easy for others to navigate. But you don't have to.
why would a custom C# monster not be getting the data i provide in a content pack? it only has like 200ish health and only gives 15xp, despite me setting those way higher in an edit to Data/Monsters 🤔 this is the method that spawns it (thank you chu):
public static bool Spawn(GameLocation location, string name, Point position)
{
if (Spooder != null)
{
ModEntry.Log($"Spider has already spawned, must despawn first.");
return false;
}
if (
!Game1.content.DoesAssetExist<Texture2D>(string.Concat("Characters\\Monsters\\", name))
|| !DataLoader.Monsters(Game1.content).ContainsKey(name)
)
{
ModEntry.Log($"Invalid monster name '{name}'", LogLevel.Error);
return false;
}
Spooder = new(name, position.ToVector2() * Game1.tileSize);
Spooder.setTilePosition(position);
location.characters.Add(Spooder);
ModEntry.Log($"Spawned '{name}' at {position}");
return true;
}```
if i'm understanding it correctly, the data loader should be (and is) getting stuff i provide in the content pack. i know it is because it wouldn't spawn until i created the patches to load the sprite and create the entry in data/monsters
I almost had to ask where to find the egg sprites. I found them after a stupidly long time looking in the obvious places before looking in Maps of all places, and remembering that springobjects exists.
what type is Spooder?
Leaper
not that i can debug a spider atm, but it's not clear from the snippet
and some people are sick freaks like me with horrid data structure 😭
I have changed mine several times lol
I've been operating on a "ah yes, it's functional" mentality 😮💨
if my data is ugly i will cry
so i organize it weirdly
maybe it's a bit unnecessary the way ive done it but it works XD
I want mine to be tidy and functional but I keep changing my mind about how to achieve both lol
Question: Do we have a way to show larger 'mounts' in events, or do I need to fake a sandseal race event by positioning the farmer and sandseal just so and trying to simultaneously move them to give the illusion of the farmer riding it?
Other NPCs riding them are hopefully gonna be fine, because I can probably fake it with a temporary sprite of some kind.
Sandseals are not skinny, so 16 wide isn't gonna cut it, LOL
https://www.nexusmods.com/stardewvalley/mods/14371
A public service announcement for map modders: the time for putting frogs on mushrooms has arrived
that's so cute omg
merchant compatibility IS CODED
and it works, woo
in that it shows up fine in the patch export, anyway.
And nothing's exploding
Same. Folks who have looked at my data structures are usually either very impressed with the organization or utterly terrified of it
i know my mods will have a lot of errors because they arent done but it still hurts to see 😔
you are ALL wrong. NONE of you guessed the plant
when writing the appearance block data what should i change the target fielkd to when asked for" NPCName" i tried modid_(npcname) and just {{ModID}} but neither worked so ik im misunderstanding what to do lmao
"Action": "EditData",
"Target": "Data/Characters",
"TargetField": ["NPCName", "Appearance"],
"Entries":
{
"{{ModID}}_Pixii_Spring":
{
"Id": "{{ModId}}_Pixii_Spring",
"Season": "spring",
"Portrait": "Portraits/Pixii_Spring",
"Sprite": "Characters/Pixii",
"Indoors": true,
"Outdoors": true,
"IsIslandAttire": false,
"Condition": "TRUE",
"Precedence": 0,
"Weight": 1
}
}
}```
the NPC's internal ID
if your NPC's ID is Pixii, then use Pixii. if it's (more correctly) {{ModId}}_Pixii, then use that
likewise you should be using {{ModId}} for any asset keys since these are shared by all mods, meaning you'd use "Sprite": "Characters/{{ModId}}_Pixii"
if there's a warning or error you should share the full log
Log Info: SMAPI 4.5.1 with SDV 1.6.15 build 24356 on Windows 11 (10.0.26200.0), with 6 C# mods and 3 content packs.
having an issue with character edit data i can also share the content.json if needed
you probably should
What is that 
like which plant is it?
i'm gonna have to redraw the whole thing aren't i
Log sparse and Content.json parse thing, I seem to be getting an error for my character edit data
https://smapi.io/log/2f6c093499e44bbbb51897948b6c6383
https://smapi.io/json/content-patcher/57e9f98ec5bc4b0ca32bdb500f27322d
Log Info: SMAPI 4.5.1 with SDV 1.6.15 build 24356 on Windows 11 (10.0.26200.0), with 6 C# mods and 3 content packs.
ah well there's your problem

actually out of interest, pixii is your character right? why are you TargetFields patching your character data rather than just writing it in the original patch?
i dont know i just copy and pasted what i saw in the tutorial O-O
i rpobably misunderstood how something was done
is this all of Pixii's data, no other included files?
the other files are a wip
but theyre in there as standins just with another npcs schedule/gift tastes as a stand in
this should fix your braces/indentation issue, add the ModId token prefix to your Portraits asset names, and fix your Portraits Load actions to use the respective asset names and sprites:
https://smapi.io/json/content-patcher/732d64b3c2c84c89a06f3ebf783d70bc
it's possible your Data/Characters EditData change in another of your WIP files isn't adding the data with the expected (matching) NPC internal ID of {{ModId}}_Pixii
if i were you i'd doublecheck that, since unless the patch simply isn't being applied there's no reason for the target not to match
aah gotcha
okie!
after i get everything loaded corretly im gonna work on my npcs schedule/dialogue/ and events >:3c
otherwise you can check what's been loaded by the game yourself by typing patch export data/characters into the SMAPI console while loaded into the game to see the current state of the asset, exported to a json file at the path shown in the console
ooooh
it'll of course have resolved your tokens, so if you had written {{ModId}}_NpcName it'd appear in the exported asset as GubbisWeb.Pixii_NpcName
but still useful as a sanity check even alongside checking the source files
is it possible to scale the farmer size by 100x bigger?
*cough* when and why
as ever anything is possible, it's just a matter of actually fitting it into the game
for example, you can simply call the Game1.player.FarmerRenderer.draw() method overload with the float scale parameter
is there a way to work around this logic?
i want to apply my mods dialogue if the other mods dialogue active (they have random chance to active)
what i do is checking like this"HasValue: {{Characters/Dialogue/Abigail:AcceptGift_(O)373}}": "true"
but it doesn't work or i might doing it wrong
Best thing I ever seen, never regreted buying it

it has a lot of compatibility with ase too!
love the way it keeps updating
also sorry for replying to a 3 years old message, really surprised it wasnt mentioned more here
Figured. I think I found about this before but still took the chance to ask again. Thanks.
Yup. This is currently what I'm doing. Works well but I wanted to look for alternatives that might work better. I confirmed today that there is currently no other way except for C#. Thanks though.
Hi! Fancy seeing you here. That is an interesting idea indeed.
everything seems to be working great now, but the items i added to the general store/saloon don't seem to be reordering
I'm not especially experiences with EditData, does this look like a correct way to change the baby duck texture? Is my use of "TargetField" and "Fields" right here?
"Action":"Load",
"Target":"Animals/{{ModId}}_BabyDuck",
"FromFile":"assets/Animals/BabyDuck.png",
"When":{"Joja Ducks":true}
},
{
"Action":"EditData",
"Target":"Data/FarmAnimals",
"TargetField":["Duck"],
"Fields":{
"BabyTexture": "Animals\\{{ModId}}_BabyDuck"
},
"When":{"Joja Ducks":true}
},```
It looks ok to me though without looking at data/FarmAnimals I can't say whether you have the right fields. But you can easily check that by doing patch export data/FarmAnimals and checking if the baby texture is what you set it to.
However, you should remove that When field from the Load patch. It's not needed but it can cause problems if something ever causes the farm animals asset to try to call the asset without it having been Loaded - not likely at all but easier to just avoid it imo
Oh yeah I guess it doesn't need the condition on the load.
I'm thinking I might have the EditData wrong, that I need to either do TargetField + Entries, or just Fields?
You can combine target field with fields
Oh cool
hey how do i get the price of an item, base value and prices adjusted base on professions?
you can use CP's HasProfession token and edit the price in the object data with a When condition
though warning that this doesn't edit the price of existing items
if that's a problem then the other solution is using C# and patch the sell price function
ooh pretty!
i figured out the problem, i had "ID" instead of "Id" which in my defence was what i had originally but the json validator told me it was wrong so i changed it
weird. but at least it works now!
Seems like there's not currently any external event script validator but there will be one built into the game in 1.6.16/1.7?
the stuff in 1.6.16/1.7 is there but dormant, it is there for their internal unit tests and isn't wired up to run out of the box at runtime for modded events
Its on my todo list to use the metadata in my Debugger mod, but that requires me to work on my debugger mod
Ah yeah I did see mention of a debugger mod but hadn't looked into that yet, might be useful either way
Hello. Is there a way (with CP) to add a mail after castom quest complited? Google say yes, i've tried a few ways but nothing works or it's just impossible?
yes
you should be able to within the quest patch
[[Modding:Quests]]
fuck
[[Modding:QuestData]]
i can never win
[[Modding:Quest_data]]
HAHA
@raven mirage are you looking at this page?
when writing schedules Im following a tutorial that has me do it by
Rain sched
spring - winter schedule
Is it possible to get more specific like days of the week per season?
yes
oo ok cool
this delights me
❤️ tysm!!
yes, and mayby i am stupid but i dont get how to add a mail after it completed
Hello, how are you?
By any chance, do you know where the terrain bushes from the base game are located? I mean the sprite path. I need to see what they look like to try a little experiment haha.
maybe i lied hold on give me like 10 minutes
TileSheets/bushes
Or maybe button knows
Thanks!
There's also a couple on spring_outdoorsTilesheet for painting onto maps
For nonfunctional ones
but can you name that plant 
I can’t remember if you can send a mail within the quest or you have to do it in a separate patch
i'm also tried to trigger a mail with when, conditions and trigger actions and i do any of this complitely wrong or i just can't do it with CP
No you can
To send mail after a quest is completed you can put the trigger action in the reaction dialogue IF there is reaction dialogue
Otherwise you can watch for the questComplete_<questId> conversation topic and use that to send a mail flag
ummmm a rosebush?
Oh yeah the reaction dialogue
omg yes
In 1.6.16 there will also be a GSQ for checking whether a quest was completed or not
you did! everyone else was wrong and shameful
Do I need C to add more minecart location options to already existing minecarts
nope! you can just edit Data/Minecarts with CP
Or it's possible to do via data edit
Ooh
Tyy
So in game it will just add more buttons to the cart menu right
tbf i only got it when i saw the flowers
pretty much 
Yay
Well, thanks a lot, i'll try to figure out this)
I love CA for making so much stuff possible without additional coding
Wouldn’t that be CP
thank you Concerned Primate
cheers
Crying Potatoes
what's the item id code for the pizza recipe?
I'm torn between just writing events in the standard format and just getting something functional out vs. working on my tooling to make it easier to write them in general because even if I understand the event script format it's annoying to work with as a single massive string
single big string is annoying, but at least you can use line breaks nowadays
technically it won't throw an error in the game but my IDE doesn't like it, same for comments
Comment complaints are easy to fix by setting an association between json and jsonc or using the CP schema
Multi line complaints are harder unless you're willing to forgo error checking in which case it's also easy
Is there a CP schema somewhere I can download?
!vscjsonc
In Visual Studio Code, go to File -> Preferences -> Settings, then search for "associations", and in the "Associations" setting, click the Add Item button to add an item with key *.json and value jsonc (see image).
If you are making a content pack for Content Patcher, you should consider using its json schema so that VSCode can tell you if your patches are valid, you simply have to add
"$schema": "https://smapi.io/schemas/content-patcher.json"
at the start of your content.json file.
You can just put that
oh nice, thanks
how to identify if your project has become too big```cs
// lawful activity
foreach (var type in Assembly.GetCallingAssembly().GetTypes())
{
if (type.IsAssignableTo(typeof(IItemDataDefinition)))
ItemRegistry.AddTypeDefinition(Activator.CreateInstance(type) as IItemDataDefinition);
else if (type.GetCustomAttribute<XmlTypeAttribute>() is XmlTypeAttribute attribute && attribute.TypeName.StartsWith(ModConsts.SpaceCoreXmlPrefix))
Interfaces.Interfaces.SpaceCoreAPI?.RegisterSerializerType(type);
}
an abundance of these wretched types needing registry
it feels like ive been doing schedules forever but I only have 3 days of the week of spring done 😩
plus rain
its mostly running around finding the right tiles
i must position them specifically
remember that there's not enough time in the day for your npcs to visit many places, particularly if they're far apart
best keep schedules simple but memorable
e.g. standing in front of a microwave for 6 hours
"It feels like I've been doing schedules forever" me 15 minutes into planning my week
Have you considered....consolidation
dastardly deeds
What makes that difference from furniture
similarities: both are made of wood
differences: tables don't grow
and of course the ever-important category text and colour
hey i made custom bush first. i'll damn well make it again
Minecraft?
A table comes close enough to growing....
Does the sprite index get saved
hikawa
Unfortunately you aren't earning any more emojis with this one bluebs
Ie, can you "just" increment the sprite index
it's worth at least🌹🍊🌸✂️
no, this uses conditional and seasonal appearances and draw layers
No u already have 🪴 ✂️
debating whether to add better immersive pruning mechanics to roses
why is it even a debate
well the scissors were also Ornamental since they didnt do anything. but now they can immersive prune
One of the custom bush 2.0 scope creep is the ability to reduce size of bush by pruning
So they grow back to full size later
well you dont have category text or generated held objects or draw layers or any of the other ridiculous plans bouncing around my head so i am NOT rewriting
-# yet
where 🌙🐛⛩️🚤🌞🍃🏘️🎍🏝️🏐🪴✂️🌿🌹🍊🌸 mod bluebs
hmmmm you forgot 💎
I'm not aware of 💎 pls elaborate
no 🙂↕️
Please link us to your design document, blueberry.
You have a design document, right
it's more of a manifesto
Ofc you do everyone has a design doc for their mods
what the heck is going on in here
blueberry has only released clues about their mod in the form of emojis
I'm always ask blueberry about The Mod and where is it
i'm adding more item data definitions
using a completely fine method of doing so en masse
i may have more item data definitions in this one mod than the rest of nexus
it's legal
I genuinely support it
thank you for not writing on mass
I think there's avg 0 item data definition in C# mods
But releasing your mod may push it to 0.01
it's lonely at the top
Will there be rose hips? 
i'm really trying to stick to having these be purely decorative/non-producing
because produce means items and items means complexity and involved gameplay
and usually machines and i do hate machines
Who do you take me for
My emulator mod that will never be released used a custom item data definition
Mk, that’s totally fair lol I was just curious 
i'd like to believe that the definition.rawData field is just the contents of the ROM
Maybe if I ever upload it to github you'll be able to see what I did with the item definition
Unlikely though
ships in the night. forever private repos
how do i overwrite a vanilla npc's schedule?
I'm sort of liking working with machines with the one thing I started working on for the mod fest... but then abandoned because I realised holy hell, the amount of transpilers I would need to litter all over EVERYTHING to get it to work in the end.
You would EditData their schedule asset
Is custom output method not enough for ur crime
i'm sure working with machines is fine but conceptually i just don't like them
See the number one thing I use machines for is InteractMethod
It's free checkAction postifx 
if you purely mean 'replacing the daily schedule when it's chosen before the day starts' it's fine to just replace the problem entry, or add a new more-precise entry for the conditions
ok i was worried it wouldnt overwrite and just add another entry
and the game would pick the original or something
I have never worked with a machine. I've rarely even looked at its data model. I've managed to get this far only because any time machines have been brought up, Selph has materialized shortly thereafter to handle it.
The main thing u gotta watch out for is other mods tbh
What are you hoping to edit
I love so much:
"OutputMethod": "SpoilerModName.ModEntry, SpoilerModName: GetSpoilerOutput",
npc schedules so they head to tilly's shop after it's built
You're making a mod about spoilers? I can't wait!
At least custom output methods exist at all
For horses, yes. Increases their speed.
Slap 'em in the machine, they come out with a spoiler. /j
that makes sense
oh well
i glimpsed outputmethod in passing while trying to work out itemqueryresolver and had to spend a week in bed to recover
not concerning myself with that
Oh putting spoilers on horses makes a lot more sense than what I first assumed
I thought you were making custom horse flavour enhancer or something to feed to them
horse flavour
In reality though, this mod is being completely shelved... because of the previously mentioned tiny transpilers littered everywhere being required for what it actually does. 
i'm very close to shelving my modfest project
Well if it's for the modfest... you can always skip prefix everything for release, and fix it all after
authors note: do not release a rushed and broken mod to meet a contest deadline. you will win the contest but at what cost
My modfest project is also running into some troubles in that I feel like it doesn't have Enough but I don't know what else to add to it.
I still intend to get the farm map out for the mod fest! This was going to be a quick little side release... until I realised what crimes I had to do.
You can do it ichor i eagerly await the Thingymajig
no, you will not win the contest. elle (big name recognition) released a mod on like day 1, so she'll win
You might win another category at least
oh right it's scored by numbers
There are also two grand winners, one for downloads and one for endorsements
and early release gives you more time to get numbers (bad rules design)
Almost done with spring shcedule 🙌
(I agree with that)
I consider it a miracle they even added that extra 30 days after the announcement
there are two prizes
Would u just win 2 times if u had highest in both 
no
No
Yeah, that really shocked me.
yeah that rather does disincentivise putting in time and effort
you can only win one prize
If you qualify for multiple prizes, you receive one, and only the one with the highest value
i have been complaining about the rules a lot but i want to make clear i had no delusions of winning and i'm not bitter even though i probably sound it
Does the other grand prize go to runner up i mean
I wonder how many first time authors there will be in the end
I feel there's quite a few
assuming elle is both most endorsed and most downloaded, yes
Some small part of me likes to think I helped by making a somewhat annoyed comment on the announcement 
you definitely did
Just based on new people who came here this month
item data definition georg
hopefully plenty
i'm not planning an entry of course. already far too much to do even if i'm drawing funny shrubs instead of doing them
ridiculous
I would assume if someone has both the higher endorsements and the highest downloads on a single mod, they'd go to the runner up for whichever one they chose
(not the shrubs, the design of the contest)
Though, I guess that leaves it variable if someone has a billion downloads but only barely ekes out in endorsements, they might win on endorsements and then someone else gets the downloads prize
aaagggg the intoxicating scent of night jasmine comes thru the window while i struggle to resist drawing more shrubs
is it going to win win though
They also stipulated that entries must be your own work
i dont think it qualifies but ive not asked modsetti
Yeah I should dm modsetti
So, I don't think UIIS2 Alternative qualifies
But that's a personal "I don't think", no idea how they'll rule it
I want to make it clear that I on the other hand am a little bitter /hj
I saw spoilers
(Though really it's more just the fact that I like to think I could've made something that could have a shot, but the motivation factor goes way down with each passing day as I think about how every day unreleased is a days lost potential)
Do it
thinking on it having a contest where people can post day one and then someone post an amazing mod last day but lose due to people not having time to download or endorse feels disheartening
if i understand what is being said
That's how it was originally, then they said you'll still have 30 days after the contest ends to rack up downloads before they do the judging
That does still mean a day 1 mod gets twice as many days as you though ofc
Bitter is one of the 5 flavors
I think it also heavily favours people who had mods unreleased or close to finishing but just hadn't released yet, even if they'd been working on em for a long while now, since already-in-progress mods are eligible
Not that I have any idea how you'd moderate that anyway, so I get it
You know what should have really happened, in my opinion?
- People submit their mods by the 27th of March tagged appropriately.
- All mods tagged appropriately are automatically hidden.
- All mods tagged appropriately are automatically released on the 28th.
Oo i had not considered that
But I'll admit the sting is a little bit worse when I think about how if I had waited one more month to upload God Rays, it would've had a really good chance
that or actually have a ballot to vote on things some time afterward but that would be more work for everyone (and has its own issues)
i do think it would be rather hectic when it comes to everyone promoting their mods though
Yeah I would explode if I had to say chu spoiler mod for another week i think
For me I am a little wow if only i procrastinated on my kids mod for another month 
But I am also glad I been forced to not do yet another framework and get something I really wanted for my next play
I've been too busy to touch my farm mod since the first couple days of the fest, soooo... might be crunch time? For a mod? That feels ridiculous. 
Framework fest!
It even works as a name.
You're a Junimo DH you can set up a server framework fest
Can i win framework laptop
Problem with that is we've been assimilating more and more people who would want to make frameworks...
Retiring from being a Junimo but only for the duration of the fest
I hadn't opened the game in two years and never even made an empty directory for making a mod before the fest started, so if I get even a little slice of my idea published before the end of the contest window I'll be happy
I have so many ideas for how to do things right outside of the content itself but I guess I should first aim for something functional
I believe!
The thing motivating me to try to get a mod done in time is the amount of hype bog's server is giving for all of the team Bog mods. If I manage to release in time I'll get hype for a mod!
i fell asleep modding yesterday, oops
last night was a lot of things like "oh, this is what I need to add in the base content.json, guess it's time to hit the upload button on Nexus to get an id for the update field"
i love bog themed mods 
Is that the button to create a new mod page?
yeah, got a nice round number for my mod ID
oh yeah I haven't uploaded an artifact yet, that's just what it's labeled at the top of Nexus
My brains been trying to scope creep me to make my furniture bog compatible because I think a lot of people would like that and since it’s modfest… but at the same time the later I delay it… 
Plus I don’t use any of bogs stuff so it’d really just be for public appeal which feels weird
but it’d be so cool
ive been having dreams where i've made an entire carnival space to visit and idk how i drew it in my dream
my scope creeping is wants to make an entire circus travel carnival cast
oh right now i remember what i was doing... i was writing a 6...? 8 heart event? i have no clue where I'm gonna put it
i went back and forth on 12 vs 14 hearts for a while
im gonna do 12
but thats bc i scope creeped myself to another event for 14 heart
btw @jaunty shuttle, did you see my answer regarding your silks?
how to spawn a trinket? debug item [(TR)FairyBox] doesnt seem to work
use SMAPI's player_add instead, the base game doesn't have a command for them
player_add (TR)FairyBox
thanks
If u need to do it in C# use ItemRegistry.Create
come to think of it, idr if I ever added those to ftm 
okay, I did but it's not in the readme, easier fix
Esca ftm 2 trigger reloaded edition when
i've been rotating the monster spawner .cs in my head for like a month, but family medical stuff's dealt with now, so hopefully soon™
gotta write that down, add a couple basic triggers, and do some documentation -> beta test
One thing that I'd like to have for ftm is despawn on player leaving=true
For that behavior to be default I mean
I actually was considering doing a new spawning framework TM
That would do stuff like "only spawn when player enters map and remove behind them"
And then was like yeah uptake on this thing will be Just Me and I'm not doing jack
i could probably hook up the pseudo-serializer to deal with that, though I'm not sure how it'd affect performance vs just leaving them
ig the pseudo-serializer info is more compact memory-wise, but spawning and despawning might affect more clients than a big pile of inactive monsters in memory
(issues w/ that were mostly on mobile in my reports, but it was really hard to repro)
my feature request for farm type manager is to not be called farm type manager /j-unless?
I still might rename it to FTM Spawn Framework (a.k.a Farm Type Manager) or an equivalent silly nexus-seo title
though the ID's stuck unless pathos/sinz/co do ID aliasing somehow 
harmony patch the registry
Fuck you too 
now that I reread that, an option to auto-despawn when the map is empty would be less complicated 
I was thinking of the similar issue "unload all monsters and reload them next time a player is here", but just deleting them is fine
(and something content packs have actions for either way)
anyone know where the baby sleep animation/schedule info is stored? I poked around in the usual spots and couldn't find it
FSF hmmmm
If u mean Child it's hardcoded
(I'm not sure I even knew Child was an NPC subclass
though ig that makes sense for relationships)
still FTM to me, unless people like FTMSF or FTMSFakaFTM 
or SAF for Spawn Anything Framework, but alas, my brand
Can anyone tell why my NPC and exterior location won't show up?
the NPC spawning would depend on what's in Disposition.json
Ah, all I have for her is this
ah, I think that format was already outdated by the time of CP format 2.0.0, so it might not be converted into the new data model
you'll need to rewrite it into a Data/Characters entry
general info: https://stardewvalleywiki.com/Modding:NPC_data
basic example: https://stardewvalleywiki.com/Modding:NPC_data#Examples
tutorial (I think this is the current recommended one?): https://stardewmodding.wiki.gg/wiki/Tutorial:_Making_a_Custom_NPC
SDV 1.6 removed dispositions in favor of that
Thank you! That makes sense
Ok, guys, i'm really sorry. I still have problem with my earlier question. How do i add a mail after castom quest complited with CP? I tried to do action triggers and with conversation topic and everything. I'm sure i miss some little thing like { but my brain is stuck, at this point i changed all the edits of mail, quest, dialogue so much it's a mess. I would really appreciate if someone can help me.
Quest or special order?
quest, simple item delivery to NPC
did you try using $action in the reaction dialogue?
you mean trigger action? yes, but again i'm already not sure in what i do, it should be in data - quest?
accordign to the wiki, field 9 of quest data allows you to define the reaction dialogue, which is a dialogue string, which in theory means you can include the dialogue command for running a trigger action.
what does your quest entry look like so far? what have you tried?
Well, i delete and start from begining so quest -
"Action": "EditData",
"Target": "Data/Quests",
"Entries": {
"AlyaHPGreyQuest": "ItemDelivery/{{i18n:AlyaHPGreyQuest_name}}/{{i18n:AlyaHPGreyQuest_text}}/{{i18n:AlyaHPGreyQuest_objective}}/AlyaHPName 80 5/-1/0/-1/false/{{i18n:AlyaHPGreyQuest_complite}}"
so assuming AlyaHPGreyQuest_complite is just the display text, you would add #$action AddMail Current myMailId to the end, and your quest string would look like
Sorry, it took time to try it out and OMG it working now! I sincerely appreciate your help. i am pretty sure i tried it before, mess up some symbol and thought it just don't work) I spent hours with that. Thanks again)
is there another way to add animations to an existing npc without replacing their spritesheet
Yes but
FML... I just spent more time than I care to admit trying to fix an error that was caused by me misspelling "Amount" ☠️
you know what
i might be a genius
physically hurts me that he's sitting on a book but its fine
Are there any mods that lets you view the tile coordinates of a map? Turns out it's impossible to talk to Marlon outside of events 😭
I was gonna say make it an appearance
And call that appearance with a Betas trigger
Or smth
New quote added by atravita as #7664 (https://discordapp.com/channels/137344473976799233/156109690059751424/1481337825679904769)
Wait, I think I found a mod that does this. BRB
there might be a debug command by now that does tile coords? but anyway FTM has whereami for where you're standing, and there's Debug Mode and such
(as in pathos's mod)
debug ppp will print your location/coordinates
(not my silly self misreading that as "female to male" and not "farm type manager" omg)
(barely anyone even uses xty terminology anymore!)
that may be where the backronym originally came from 
oh yes, we've talked about FTM and MTF (monsters the framework) on here before
(it's transfem and transmasc now)
yeah, not an ideal term and it doesn't describe me personally anyway, but it's memorable as a set of letters
(less implying trans ppl used to be their assigned gender more inclusive of nb identities)
ooooo they/them
very nice
there's also machine terrain framework if you need more MTFs
I always needs more MTFs in my life
I mean
mods
trans Abby mod
that's the one I'm working on
I added a 5 heart event at the tide pools
it's cute and has nothing to do with her being trans anyway lol
@lucid iron so I have something odd with adding a tourist to Merchant. Apparently she showed up every single time. Could it be because of the context tags I used for her or something?
what kinda tourist did u add
Like I got a report of "she showed up way more than anyone else"
The default wave one or what
Default
Maybe she's just a really big fan of their wares?
Then she'll show up as long as the store's sells warez
You can either reduce her Chance or make her taste highly specific
Aha, so it's tied to that. I'll tweak it
For reference ||bear only buys maple bar and maple syrup nothing else||
Thanks!
||may-pul||
Hi! If I make a short, tiny fruit tree, do the fruit sprites appear above all parts? Or where is the tree’s canopy?
I’m asking because I want to know if the fruits would end up floating above the little tree haha.
You can also have her appear on specific days via tourism wave
Take a look at dolphin's add on for example (old mariner)
I wanted her to basically show up like a normal customer, but it's Alicia and she only just because of you obtained the ability to walk, so she's not a real NPC
but apparently she showed up Too Normal
I also have planned events at the railroad and one of her going exploring on ginger island :3
Yeah i would just put a low Chance
The fruits will always appear in the same spot regardless of tree size.
So, they will float.
Ok, then they would float. Thanks a lot, now I know what to do haha.
Sorry, noob question here.
Is there a way to reference a variable as a value in content patcher? Assuming the variable's value was set using GMCM.
For example:
"Speed": "{{variable value}}"
In the config, if the variable's value was set to "3", then "Speed"'s value would be "3".
If yes, do you know any mods that I can check the content.json so I can see actual examples?
If your config was created inside your content.json, CP creates tokens for you for every config setting
Is the config for the same mod you want to check the values in?
Wait, sorry. I am confused by this sentence...
Is this the GMCM configuration for your mod, or for a different mod?
trinket fairy is just recolored crop fairy right? or is there a separate asset
I have no particular mod in mind. I was just thinking if it was possible, for potential future applications.
So yes, probably for my mod, but in the future.
nvm
When you make a content patcher mod, you can define a config schema within your content.json, and CP will create a GMCM page for you. Any config option you create within your content.json will be able to be used as a token like any other token. So if you create a config setting called "Speed" then you can use the token {{Speed}} in your mod.
The value of {{Speed}} would be whatever the config was configured to.
Wow. Thanks. Is this information on GMCM's mod author guide?
No, it's a CP thing
Okay. I see. Thank you! I will read that.
That means that information is only applicable to CP mods, not like, Alternative Textures mods
The actual feature is "content patcher config schema"
You do not need gmcm to use configs since you can actually just hand edit the json
Content patcher has integration with gmcm though
Yeah. I forgot about that. Got too used with most mods now using GMCM 😭
Sometimes i get extremely lazy about all this too
And dont put gmcm support in me mod
Well, it can be a chore. Especially if your mod is very customizable to the player
You know just how lazy I am with gmcm integration
Atra u have a shared class for gmcm integration automagic
I simply release without gmcm go edit the config.json pls
It's awesome
All I need to do is call that one function
Esca please don't look under the surface of that one function
hey, quick question, is there like a mod that allows you to set up arbitrary counters for stuff?
like, just increment a number when an action is done?
so could you make a custom stat then?
Yes
ok, good to know
IncrementStat action -> PLAYER_STAT gsq, yeah
the IDs can be whatever you like, so modid_statName etc
hello hello, I want to add one particular object to omni geodes' drops and looked at the unpacked data, am i on the right track making an editdata patch with "749", "GeodeDrops" as target fields and then proceeding with the item spawn fields?
Oui
(it's fine, I'm too insecure to judge anyone's code
)
(and my last utility thing still has unnecessary smapi events etc)
I do kinda want to write some auto-binders/attribute junk along those lines but I need to do actual Content first
i cant rmb, is there a way to fix this clipping issue
does content patcher have a token for stats?
no, though I added one to EMP if you're okay with a req and really need one
EMP?
stats are unreliable in for other players in* multiplayer, so it's local player only, fwiw
could always just delete the chair 
ty!
(making a mod that allows you to click on Abby's pillow and it'll tell you how many amethyst you've gifted her XD)
i gave her the chair instead of a stool specifically bc she probably wants back support
but ill switch it back to a stool evelyn's core might be made of steel
If you want someone to sit on a chair like that, the top needs to be on a building layer
or something lower
or you need to be able to place them in a way that avoids the "front" part of the chair
it'd be nice!
What do you need a token for that for?
to display the number of amethysts gifted
I would just put the chair on back and not worry about it
There's a tokenizable string for it in the vanilla game that will work with a Dialogue action
[FarmerStat <stat key>]
okay another small question: I want this item to drop only when a specific quest is active, but since there is no GSQ for that, what would be a good workaround? I was thinking of something like PLAYER_HAS_SEEN_EVENTor PLAYER_HAS_CONVERSATION_TOPICin combination with !PLAYER_HAS_CONVERSATION_TOPIC Any quest_complete_<ID>, but I'm not sure if I would achieve what I want to achieve with that
but then u walk over it
and that bothers me more
If not for the top of the seat, you could just shift her forward, but nope, that's a pain
it's the snow on top of the arm of the bench cutting through Bill in winter all over again
i could edit the chair texture but thats a little too much
nexus hasnt been letting me submit bug reports for three days lol
fell asleep again, had a dream about vampires and werewolves that contributed absolutely nothing to my mod XD
Set a mail flag at the same time you send the quest, remove the mail flag when you see the questComplete_<id> CT
so far i have taken 2 naps and made 0 progresss L/
Use the mail flag to determine if the item drops
making her a special unique chair that is shifted three pixels down
It is funny to see that those chairs are COMPLETELY UNSITTABLE by NPCs
no literally
Wait is tilly 2.0.0 incompatible with previous versions
New quote added by atravita as #7665 (https://discordapp.com/channels/137344473976799233/156109690059751424/1481357363444449492)
And I set the mail flag by using the SendMailtraction but without sending an actual letter?
Wuh
Shouldn’t be
I think you could shift those chairs down three pixels and have the legs of the chair actually be on a "back" layer and it would roughly look right.
AddMail. Put it directly in the received inbox.
In semantic versioning, changing the first number implies that there was a breaking change i.e. things compatible with previous versions could expect to be broken in this new version
programmer jokes that cause non-programmer panic attacks
Oh woops, yeah, I meant AddMail
thank you!
Fwiw I think chu was genuinely asking
oh
no yeah that's just Wem TM
im gonna edit the file description
i did change the location names (should be fine) so
Programmer jokes questions that cause non-programmer panic attacks
if something does blow up!
hey i was reading my super babie beginner's c# book today and i got a headache after trying to figure out what the hell a floating point number is. why does it float not sure if it was a language barrier issue or a programming newbie one
I am genuinely asking
Because that do be what semver means
theres a small chance something breaks
the decimal is not in a fixed position. So the point floats
If you want the answer it's because you can move the decimal point around
I am also very loose with the minor version vs patch version
But I only incremented major version one time ever in modding
i need to add a disclaimer or something
file version is vibes only
programming faux pas
Sometimes major version should apply for content mod
OHHHH I see
For example ESR definitely deserved to bump it
tbh if i didn't waste so many versions doing bugfixes, i probably wouldn't have done 2.0.0
My so far only vibes based major version change was BETAS 2.0.0 to 3.0.0 for Android support to make it clear which versions supported it
It's ok even linus bumped linux to 7 bc the minor version was getting too big
but the idea that i, behind the scenes, did 200 versions does crack me up
Oh no it's not a decimal system
I go on vibes, you get what you get
1.23.5390 is a valid version number
Like 1.99999.42 is still earlier than 2.0.0
(/lh)
Sdv itself has this 5 digit build number
You can see it in smapi
It goes up every nightly alpha
i’m gonna bump DBD to 2.0 with the next major release because i’m both adding a C# component and also migrating internal IDs
say goodbye to EdwinPayne and CharlesRowland
Yep that's valid (although u should probably use formercharactername too)
oh yeah i will for sure
same for my baby’s first trigger actions that have wack non matching IDs and keys
my chinese translator is absolutely done with me /lh
with the rate i keep uploading new versions LOL
but this one does actually have new strings
i’ve heard one thing you can do to make it easier on translators is leave comments on new lines so they can ctrl f
When I was still adding stuff to my books mod I started putting all the stuff needing translation in its own i18n json, after support for i18n folders was added
Like I had books.json, powers.json, quest.json, and then PLEASE_TRANSLATE.json essentially
i did just put in my changelog what has changed
so hopefully they read that but if not someone will alert them
im just not sure theyre aware bc they just posted a comment about not updating versions if there are no dialogue changes
did you then move that stuff out in future versions?
At the time I included the translations in the mod download itself when they were offered to me, so I just kept all the untranslated stuff still in that same file across versions if I hadn't received any updates
oh i see
Nowadays I wouldn't bundle the translations myself so I would just move that stuff out across minor version bumps
I did the comment thing for my next npc update as well, just added "New in 1.1.0" next to the line that needs translation
are skull cave and mines forage spawns hardcoded?
aren’t all spawns hardcoded?
Oh I meant in location data
you can add new forage spawns to the other maps but the forage field in data/locations for skull cavern is empty
Yeah, I don't know if it's considered forage in the classical sense, but I do mean the items that randomly spawn which you can just pick up, like quartz
I wanted to make my quest item obtainable by either finding it in a geode or in the skull cavern, but upon checking the location data, I saw that all the item related fields are empty
I think u can ftm spawn stuff right
probably, but I'd have to add it as a dependency and this mod already has a bunch
maybe space core could do the job but that would be a bunch of work for a singular item 
Yall, I did it! I created a test Special Order from Marlon that adds a DropBox to the Adventures Guild (its location is even SVE compatible)! It even waits to appear until the player has built a Slime Hutch!
Now all I need to do before making the actual quest is to figure out how to send crafting recipes via a letter as a reward after the quest!
This means that I've almost reached my initial beta goals of my "Expanded Slime Ranching" mod! I plan on trying some of the other additions I've marked as simple as well!
Psh another dependency never hurt anyone
I do think spacecore could probably do it though
yeah for spacecore it’s three patches
I personally agree, and if you use a bunch of mods, you are bound to have most frameworks installed anyway. but idk if mod users think the same way
I think mod users can get over it 😌
Fwiw, ftm is sve dependency
make a spawning definition, make a spawn group of definitions, trigger action spawn thing
It's ubiquitous
As someone who has only recently gotten into modded stardew valley, at first I was very hesitant about mods with a lot of dependencies. I very much started out with small, primarily visual mods, and slowly expanded to the point wherein I now have over 400 mods installed 😅
Are you the same Button as the More Books mod?
idk i came from a 20GB sims 4 mod folder to sdv, so i never really cared much if a mod needed something else to work. but i think i am spiders georg in that regard

ty guys so much!



