#making-mods-general
1 messages ยท Page 51 of 1
I hate knowing this coin is off center
Oh, okay. Thanks for the help. Sad that I drew every single one of them just to find that 
And again, sorry for bothering the chat
It's no bother
i also think its no bother, its just helpful in the future that if you're gonna ask about specific items, you should definitely show the vanilla sprite :p
Now I know there's a handful of books that aren't used
TIL, i want that itty bitty book with the two swords instead of the orange one
I want all the small books instead of the big ones
oh its just... since they look pretty much the same I thought it wouldnt be a issue
it also helps distract me from reading inheritance 
ohh like the eragon book?
https://learn.microsoft.com/en-us/dotnet/csharp/fundamentals/object-oriented/inheritance unfortunately yes, c#
Needing to be distracted from reading the last book of the Eragon books is funnier though
ah lmao
Conceptually inheritance is neat, practically I avoid using it because it's a pain, maybe if I were more into projects where I needed to reuse the same crap
i'm just trying to figure out if it's necessary for me to inherit the woods : gamelocation
In order to do what?
ik i can just wait for wren's map framework but i also want to just create chaos
uh basically the ambient light and the wisp/weather effects
Oh hm, I guess only if you want your new area to also be that type
Which is probably fine?
Hey guys ive been looking for a way to remove a buff or change the property of it with C# today. Looked through a bunch of places already
But then you have to deal with the save serializer
Which I'm still avoiding dealing with
Just means registering it with SpaceCore
But you know, any inconvience you can complain about
Avoid saveanywhere mod
i honestly didn't know that was a thing until you came across it
If it's a buff in the data, you can edit it with the OnAssetRequested event
Think there are still some hardcoded things that you'll need some harmony for
Depending on what the woods are doing, you can always just try to copy the function and see if you can make it work outside of that map
I know messing with the ambient light should be available in any location
so I have this and it works fine. Is there an easy way to have more than 1 though? Can I add more and they just overwrite which one is being referenced for commands? addTemporaryActor Bug 16 16 -1000 -1000 2 false monster/showFrame Bug 1/
yeah that's why i was reading on inheritance and implementation
i'm missing something vital in how i call my other class
I wouldn't inherit from woods
i've only been using GameLocation
But just do the same effect in update ticked/rendered world events
{
// Check if the player is wearing the Endless Ember Ring
if (who.hasBuff("dreamy.kickitspot_AshenPromise"))
{
// Negate the Burnt debuff
if (who.hasBuff("12")) // Burnt buff ID
{
}
}
}```
!codeblock someone had this describing how to do the syntax highlighting wrong for a bit
You can embed code in Discord using a series of three ` :
```
Your code can go here
Even if not a haiku
Just an example
```
For syntax highlighting, add the language code on the same line as the first
``` (with no space, like ```json).
The usual codes are cs (C#) and json.
Can't find the way to remove burnt buff 
oh i just throw c# in it
private void OnAssetRequested(object? sender, AssetRequestedEventArgs e)
{
if (e.Name.IsEquivalentTo("Maps/Aviroen.Voidsent_ArtificialBeach"))
{
e.Edit(asset =>
{
IAssetDataForMap editor = asset.AsMap();
Map map = editor.Data;
// your code here
ArtificialBeach artificialBeach = (ArtificialBeach)Game1.getLocationFromName("Aviroen.Voidsent_ArtificialBeach");
});
}
}```
lmao
I've just noticed dreamygloom's all start with cs which is what happens if you put a space or a line break after the first 3 backticks
And that command was saying you had to put a space there for a while
Interesting, probably too much trouble to figure out what's going wrong
Maybe mobile is adding a space for you lol
oh mobile discord formatting hates existing
public static void ApplyEndlessEmberRingEffects(Farmer who)
{
// Check if the player is wearing the Endless Ember Ring
if (who.hasBuff("dreamy.kickitspot_AshenPromise"))
{
// Negate the Burnt debuff
if (who.hasBuff("12")) // Burnt buff ID
{
}
}
}```
Still same no space added
Guess it doesn't work on old android phones
tbf i do hit shift +enter after the 3 backticks and the c# and then my actual code
Isn't it supposed to format it doesn't say anything about hitting enter
It didn't work :/
it just adds color to it for me, idk
It's just syntax highlighting, makes it slightly more readable for code
can't really help you there since i don't know when these things were implemented and if data/monsters is even accessible
But this is also why I said it's probably not worth trying to figure out what's wrong, way off topic lol
off topic-- anyway, what is the burnt debuff
Burnt debuff is 12
Realistically, you have three choices.
- Harmony patch teh buff constructor to make Burnt last, like, 10 ms
- Do something with an
UpdateTickedevent where you check every tick - Fuck around looking for a netevent to listen to (this is hard to do correctly and is more likely to cause crashes if you don't do it right.
each one you can name, call that 'actor' as a different actor:
addTemporaryActor \"Duck\" 16 16 95 17 2 false Animal duck1/addTemporaryActor \"Duck\" 16 16 97 17 2 false Animal duck2/addTemporaryActor \"Duck\" 16 16 99 17 2 false Animal duck3/addTemporaryActor \"Duck\" 16 16 101 17 2 false Animal duck4/animate duck1 false true 100 24 25 26 27 28 29 28 26 25 24/animate duck2 false true 300 16 17 18 19 18 17 16/animate duck3 false true 400 24 25 26 27 24 24 26 25 24/animate duck4 false true 250 24 25 26 27 23 23 26 25 24
Ok
you probably want updateticked anyway unless you want them to have to re-equip the ring to remove the burnt debuff
It build successfully
Does this only work with animals, or monsters also?
works across the board, just replace Animal with whatever you're using
ok updateticked
you can use love of cooking's buff code as a reference:
https://github.com/b-b-blueberry/CooksAssistant/blob/feature/sdv-1-6/LoveOfCooking/Core/ModEntry.cs#L509-L553
this method in particular uses SpaceCore as a dependency, but it covers increasing buff duration, updating buff attributes, adding non-standard buff attributes, and using custom type buffs
(SpaceCore is only used for the ItemEaten event, which would only cover you for food/drink buffs)
Question: Is there a way using CP to have a building use a random asset per season?
if using EditImage on the source texture updates it then you can have the EditImage patch choose with the Random token
My building has leaves, petals, or snow on the roof based on the season, but since it's a TARDIS, the point was made that it might be cool to have it out-of-sync and randomly decide which season is represented.
sure, you'd just use {{Random: spring, summer, fall, winter}} in your asset key
Pretty sure you can, one of the Elle's mods I have does seasonal buildings on the farm
oh nevermind you're on the food's buffs, not the buff effect's buffs
please dont ask me questions it gives me university ptsd
so, you can randomize per day
but not per like. month
I mean, I'm fine with it changing every day too
wouldn't the snow and leaves not travel through time with the tardis though 
could you do some dynamic token/keyed random bullshit to make it stick for a whole season?
So would I just use the {{Random: spring, summer, fall, winter}} instead of the {{Season}} I currently have?
no. sadly
one second.
sure! or if you wanted it predictable you could just rename the files so the spring asset is a winter sprite, etc
The goal is to not have it be predictable, or I'd just offset them all by a set amount of seasons.
but i feel like having your sprite use the wrong season even intentionally is just going to have people sending you bug reports about why it's a different season
nobody understands the mind of an artist 
Well, thankfully, this is a personal mod and not one I'm publishing or using outside my group. ๐
So that's a nonissue
(Pathos, can this use the game's GetDetermisticHashCode instead?)
Okay, so my current code snippet for the TARDIS looks like this:
"Action": "EditImage",
"PatchMode": "Replace",
"Target": "Buildings/Big Shed",
"FromFile": "assets/{{season}}/Tardis Big Shed.png",
"When": { "TARDIS Big Shed": true }
},
{
"Action": "EditImage",
"PatchMode": "Replace",
"Target": "Buildings/Big Shed_PaintMask",
"FromFile": "assets/{{season}}/TardisBigShed_PaintMask.png",
"When": { "TARDIS Big Shed": true }
},```
but you COULD do some triggerAction bullshit, huh
Trigger action mail flags
chaos
yeeeeeaaaaaah now we're talkin
do something like
- Pick one of four strings to set in mail flags.
- Reset trigger action at 28th of each month.
- Profit
(2a. Read mail flag for your building.)
Mail flags, The Poorfolks Global CP Tokens
could you.... use a modulo query to pick from a list of season names in a loop, using days played divided by some number to give the offset you want
or is that not very cp
trigger actions are awesome
anyway, time to go. see you all later
you can also have a trigger action run based on a random chance too so it would be less predictable when it would change
i have something crazy that picks a random day of the month and sends out a mailflag for me to then introduce an event so i mean
For simplicity's sake, I am totally fine with just having it be random each day, but if y'all can help me figure out how to do those other ideas, I am willing to try it out.
i'm about to got to the gym so i'll just dump my action here
"Id": "{{ModId}}_TheBeardCounter",
"Trigger": "DayEnding",
"Condition": "PLAYER_NPC_RELATIONSHIP Current Lance Married, PLAYER_HAS_SEEN_EVENT Current 6951319, DAY_OF_MONTH {{Random:{{Range:1, 28}}}}, {{Portrait |contains=Vanilla Compliant}}",
"Actions": [
"AddMail Current {{ModId}}_Beard received",
"AddMail Current {{ModId}}_BeardCustom tomorrow",
"MarkActionApplied Current {{ModId}}_TheBeardCounter false"
]
},```
However, there is one thing that I'm wondering. I need the paint mask to match whatever gets picked, so, is there a way to guarantee that?
We can zip up the solution folder and put it on git hub?
you could assign the random season to a dynamic token, and then apply the value to both the paintmask and the building
The decompile?
If you mean your own solution, you can, though I have heard you shouldn't though I'm not sure why
can query be used as values in cp, or only keys?
if you have One.png, Two.png, Three.png, and Four.png that you want to randomly rotate between, then on the 28th of every month you have a trigger action use the Random token to choose One, Two, Three, or Four. whatever is chosen gets sent as a mail flag to the players mailbox
then you have EditImage patches with HasFlag conditions for each of one, two, three, and four mail flags
(dynamic token would also work as long as you update the paint mask too)
If you're asking about the decompile of the game, 100% no. If you're asking about something else I have no idea
It worked!
whatever the result of the query token is will be turned into text inside whatever you put it in, so as long as whatever the end result is fits what the field expects, it'll be fine, assumin i understand what you mean right
I thought query just checked equivalency
you can do math in queries too
Actually idk
Right but don't they have to solve to a true or false?
so Query: ({{DaysPlayed}} / 12) % 4 would give you a season index iterating through the 4 seasons every 12 days
they do not
Oh well hot damn
fireredlily does not want the offset to be predictable though
butts
a RANDOM gsq on the trigger action to swap around the mail flags works well enough along with a dynamic token whose value is determined by a HasFlag token condition
I forget what trigger actions look like but it'd be like
{
"Actions": [
"RemoveMail Current MySpringFlag All",
"RemoveMail Current MySummerFlag All",
"RemoveMail Current MyFallFlag All",
"RemoveMail Current MyWinterFlag All",
"AddMail Current {{Random: MySpringFlag, MySummerFlag, MyFallFlag, MyWinterFlag}} Received",
],
"Id": "MyFancyTardisSeasons",
"Condition": "Random <small chance>",
"Trigger": "DayEnding",
"MarkActionAppled": false
}
and dynamic tokens:
{
"Name": "MyFakeSeasonToken",
"Value": "Spring",
"When": {
"HasFlag": "MySpringFlag"
}
}
// and the rest
]
well you need a trigger for a trigger action, ideally 
how well did I guess?
3 out of 5 isnt bad, ill give you a pass for not making it a string, TriggerAction dictionary entry
i dont know where paint mask edits go but you do need to make sure you are also updating those at the same time, though, even if two different textures have the same mask
assuming you are just changing the Texture field on the building itself with this dynamic token
Well, with random, it looks like the pinned key method would make them consistent with each other.
the random token changes every day
theyll all be consistent but it will change daily
So I could call the pinned key version of random for the PaintMask and Big Shed to make sure they match their result
i thought you wanted to try and do the not-daily-just-randomly version
If I'm trying to do it by a trigger action, like what atra wrote, the pinned key would work there too, right?
if you're doing this trigger action way you don't need to keepp anything in check because the only time you're doing Random is in the Trigger Action
ah, I see
the random mail flag that gets assigned then determines the value of your Dynamic Token
and then that dynamic token is what you use elsewhere
So I'd just use the dynamic token for the paint mask entry, got it
and the building's Texture field
I'm just using an EditImage on the Big Shed building image itself rather than editing the Texture field entry for it.
that'll work too then
i just stressed the importance of the paint mask bc just updating the texture field would not cause the building to change appearance
but updating the paint mask does cause buildings to refresh their textures
Yeah, I didn't want to mess with the Texture field if I could avoid it by just using EditImage on the underlying asset
i mean im pretty sure editing the texture field is actually the better way to do it in this case
theyre functionally the same but i think EditImage operations are more computationally expensive
not on a timescale that anyone would notice, but, yknow. principle of the thing and all that. but feel free to do whichever works best for you
I did contemplate swapping literally everything out of overlays
Dumb ideas time
A farm building that you can grow crops in
But it is set to a random season
Which changes. Maybe. Each Monday
Also you should probably use host's mailflags huh
For MP
seems like itd probably be useless until you got the missing stock list
host mail flags probably better however since its a Tardis maybe it being out of sync fits
doctor who
Other than bigger on the inside
its bigger on the inside etc etc
Doctor...who?
it sounds like having a greenhouse that sets the thermostat to 0 or 100 each week
surely your crops just drop dead every monday
greenhouse but your thermostat is controlled by JojaElectrical
Ah. So my offfixe
@next plaza sdv1.6.9.24276 is out ๐ฅณ
[14:48:27 TRACE SMAPI] Broken code in SpaceCore.dll: reference to Netcode.NetList`2<SpaceCore.Dungeons.SetPieceNetData,Netcode.NetRef`1<SpaceCore.Dungeons.SetPieceNetData>>.RemoveWhere (no such method).
hey
Aviroen
[This is an Automated Message /j Please leave your message after the beep. BEEP]
After my pichuyang left sv community I was left without the tech part of modding. I was just the one using tiled. So, basically this is let's say my first mod where I make the json
with the help of the fish hell I got from you yesterday I managed to pull it off. Just wanted to show the product of it. It's the custom farm (vanilla files only in it, nothing external). So agian.. thank you 
Renewable resources, all fish seem to work an even added some other things, nothing glitchy. You surely know what you're doing hehe
I do not, but I do know how to bash my head against a thing until it works for me
mind if I ask, what mods have you made?
One very very chaotic npc expansion of an npc in an expansion 
0/10 do not recommend
which one ๐
Thanks guys. The burnt debuff is now negated with my ring. I had to add some updateticked logic that was actually quite difficult to figure out.
Took most of the day
Cause I wanted to try alone but oh well
Hmm ok its in modentry? I do want to add some other things. Like can a ring have a critical chance multiplier? Like the aquamarine ring?
The spacecore thing let you add any kind of buff to equipment
Crit chance is a buff iirc
So I don't need c#?
Not for this feature

crit chance is a buff, but it's not available in the usual buff effects - hopefully spacecore exposes it though
Yeah I was looking at that and how to add a glow buff cause I think it's also a buff not sure
all you need to do is add a colour-like value to GlowColor in the buff data, if you're adding to Data/Buffs
There is a framework for that too
I think it's specifically for making food work with glow but u can ref the sauce
oh, i should mention then that GlowColor is the woozy hue-shift effect on the player, not a light source
That More like what I wanted. The light source
It's incredibly easy to add a glow to a ring
Just reference the code in the game that adds glow to existing rings
You don't need to mess around with light maps or whatever
Ring.onEquip, Ring.onUnequip
Ring.NewLocation
And Ring.LeaveLocation
Very straightforward
You basically just make a light source and assign the ID to the ring
The ring itself will keep the position updated (in Ring.update)
Im looking in ring.cs
Forgot to say thank you earlier as I had to step away, it is working well I appreciate the help
how do I copy part of an image in aseprite and paste it as its own new image? I'm trying selecting the area and doing ctrl + c then ctrl + n but its just giving me a 64x64 blank new image
need to do this to separate the hairs in a png ^
i tried pixieditor too, same prob
and gimp just messes up
Did you select an area that's 64x64?
i hate to ask you to use a fourth editor, but paintdotnet just works haha
Still haven't tried it, is it only in browser?
If you copied something, you can paste is as a new sprite by going to Edit > Paste Special > Paste as new sprite.
despite the name, it's downloaded software - if you want a capable browser image editor, you can use photopea, which is almost feature-complete photoshop in your browser
Ah, no I much prefer download software lol
oh for sure, it's super convenient having it anywhere you have an internet connection tho and i'll market it any day lol
pdn is nice though, very simple and usable image editor
Using the rectangular select tool, I select the hairs that are part of the same style and push ctrl + c to copy that selection.
Then I press ctrl + n to open the new sprite dialogue, which because my clipboard contains the selection I just made will fill in the desired width and height for me. I'm not sure if this is specific to an operating system or not.
After clicking Ok it'll open a new tab where I push ctrl + v to paste in the selection. From here you would save it as a png.
Gimp is similar, I had to adjust the size of the grid because I don't have it set up for SDV's sizes but once I had that I just selected the area of the hair style, copied it and then pushed shift + ctrl + v to create a new image from clipboard
Ew Gimp can't directly save to png, have to export to png
I tell you what though, paint.net's website brings back a lot of memories about the kind of download sites I usually got viruses from lmao
Eugh, can't adjust the grid size on paint.net without a plugin huh
told you it's simple
but extensible, too
gimp is pretty unpleasant, but export/save is just a technicality
Yeah I guess, it's wild to offer a grid but not the ability to resize it, but as long as the plugins keep working then I guess it doesn't matter
I definitely don't like Gimp, every time I've tried to use it I've felt like it's clunky and unintuitive
It also feels bloated, feels like it runs slower than the Affinity editors I use occasionally
if there's one huge block to me ever moving to linux from windows, it's having to use gimp instead of photoshop
such a grim thought
VSC instead of VS22 for programming for me lmao
oh yeah
that too
Just gotta be able to afford Rider
i think rider is linux though?
at least all the hipster compsci students can get a free license hahah
nope i selected a 16x19 area
interesting mine isn't making the new image with the right size tho I have to keep manually changing it to 16x19
it's working just slow progress
Pretty sure that's the wrong size anyways
Each hair is an overlay of the farmer sprite, so it should be 16x32
it's the same size as the official delotti FS hairs in another hair mod
And each hair style is the front, side and back hairs
i know that
but the conversion delotti has of her other hairs are 16x19, and the ones I'm doing are fitting on that size
wait it's 16x96
I don't know why I said 19 before was thinking that didn't sound right
the hairs are massive that's probably why they're 96 and not 32
Yeah that's what I was saying about them being an overlay of the farmer sprite, the hair itself only takes up a portion of that 16x32 size, but the front side and back portion all add up to a 16x96 overlay per hairstyle
Hey, I'm trying to update FF for the beta, but i'm hitting a crash consistently. My issue is that each time I hit the crash the log error is different...
Also it fucks-up my VSCode terminal
yeah I thought you were talking about how each hair style has a front, side and pack
The first few time, I only had segfault messages, and nothing from SMAPI (the game was muted, it's the only difference with other logs)
Then I got this error
And then this:
[game] An error occurred in the base update loop: InvalidOperationException: Sequence contains no elements
at System.Linq.ThrowHelper.ThrowNoElementsException()
at StardewValley.Options.setToDefaults() in D:\GitlabRunner\builds\Gq5qA5P4\1\ConcernedApe\stardewvalley\Farmer\Farmer\Options.cs:line 563
at StardewValley.StartupPreferences..ctor() in D:\GitlabRunner\builds\Gq5qA5P4\1\ConcernedApe\stardewvalley\Farmer\Farmer\StartupPreferences.cs:line 47
at StardewValley.Game1._update(GameTime gameTime) in D:\GitlabRunner\builds\Gq5qA5P4\1\ConcernedApe\stardewvalley\Farmer\Farmer\Game1.cs:line 3494
at StardewValley.Game1.Update(GameTime gameTime) in D:\GitlabRunner\builds\Gq5qA5P4\1\ConcernedApe\stardewvalley\Farmer\Farmer\Game1.cs:line 3205
at StardewModdingAPI.Framework.SCore.OnPlayerInstanceUpdating(SGame instance, GameTime gameTime, Action runUpdate) in /home/pathoschild/git/SMAPI/src/SMAPI/Framework/SCore.cs:line 1090
repeated 30 times
This all happens after an IInputEvents.ButtonPressed where I place an item in a Furniture slot with right-click, since one of the logs mentions sound, my guess is that something happens when I do Game1.currentLocation.playSound("woodyStep");, but it still plays the sound and finishes the event method properly (according to debug prints)
New test: this time SMAPI didn't say anything but I get a message saying "double free or corruption (!prev)", without any other info
i think I messed up the hairs I converted, they're too high up
the fringes/bangs are meant to right above the eyebrow, I'm not sure what happened here since it's the same dimensions the official conversion of the other hairs used
@rancid temple any ideas? should I lower the 96 to a 95 or 94?
It would be moving each hair down in their respective 16x32 cell
i'm afraid you've converted to a receding hairline 
@desert vapor audio looking issue?
Linux build btw
You can resize it
It's just unhelpful in that it's in some random different menu
Huh, I couldn't find anyone saying how to do that, just people saying you had to have a plugin
I did find how to resize GIMP's grid, which is fine, just weirdly located
Affinity Photo offers the ability to reset the grid and set it as the default...but then it always uses its "automatic" grid instead of the default so it's not, in fact, a default.
Lmao
That combined with the fact that you can't eyedropper with the flood fill tool selected, you have to do extra steps to eyedropper from one file to another, and the fact that I cannot ever figure out how to successfully copy and paste between files means I am dropping it when I can.
It has definitely been better than PS for my sad little struggly computer but too many frustrations for me.
Hm, I don't seem to have issues copying from one file to another, though I've definitely forgotten to have the correct layer selected before
I don't work in image editing very often, so actually using and remembering about layers is not something I do most of the time
Aseprite I use them to mess with stuff when I'm trying to avoid overwriting right away, but always end up compressing back to one layer
Were you doing pixel art at the time?
I find that it won't copy the pixels exactly. It tries to anti-alias them or something.
But sometimes it will work properly and I don't know what I'm doing differently between the times it does work and the times it doesn't.
I have so many layers, which is why I am stuck with Affinity Photo for now instead of switching to Aseprite.
Oh yeah, you have to like change some settings for pixel art
It doesn't give me any issues to actually do the pixel art in Affinity Photo (except the aforementioned gripes about grids and eyedroppering). I just can't consistently copy between files.
Maybe they're set on the image, I can't remember where I was messing with that
If I am copying between two pixel art files that I made, or between townInterior and townInterior_2, I wouldn't expect to have to change any settings to make it possible to copy and paste between them? Especially because I haven't had the issue with any other image editing program.
Hm, I just made a new document, copied out of Objects_2 and pasted into it without issue, really trying to remember what I changed
I've tried to google it a bunch of times but I guess my google-fu isn't good enough because I haven't found any results that have helped.
if i download a sprite mod, is it possible to simply delete the sprites i don't want to use from the assets folder or do i need to change the content.json as well?
deleting sprites will work but CP will give warnings (nothing bad)
alrighty then
Do you have the two buttons on the left there active?
Also in Settings > Performance > View Quality, I have it set to Nearest Neighbor, even though that's just how it looks while editing and doesn't actually effect the final product
Also there's Use precise clipping in there that I have off
Also off for me
And it's pasting perfectly right now so I can't even show you what it looks like lol
Well, guess you'll just have to see if it rears its head again lol
if i wanted to edit the range at which machines can accept items (i.e. letting me put items in them from further away) is there a field somewhere for that?
No
I think there's a couple mods that increase the distance you can interact
But it's not specific to just machines
could you link it please
I don't remember what it's called even
Installed it once, didn't like how it felt to play that way and uninstalled it lol
Since it affects everything, you have to whip your mouse across the screen for every little thing
It's exhausting
damn that sucks
I think this is the mod roku is talking about?
https://www.nexusmods.com/stardewvalley/mods/20902
Definitely not, but that's scary lmao
Mr Fantastic the Farmer
Looks like it was Extended Reach, but it's not up to date and I actually don't know if it worked with machines
The VSCode background extension is broken in the latest version 
I'm working on my first mod, it's a dialogue mod centered around unique gift reactions. In theory, how difficult would it be to have gifts trigger different dialogue when given to an NPC you're married to? Thanks 
It's possible from what I know, wait for a dialog pro to get more info
dialogue pro

marriage dialogue

- a CP condition to patch them in only if you're married to that NPC
(patching them in conditionally was going to be my suggestion too)
Good to know, thank you!! Much appreciated :)
Does anyone know how the Cross-Mod Compatibility Tokens are supposed to be used? Specifically the Config one? I'm trying to get a map patch dependent on the config of T's Apartment House, but the patch doesn't seem to actually update in-game. If I have the config setting enabled and open the game, the patch works as intended, but the patch is still applied even when I change the config setting, and it only updates to reflect the config change when I completely close the game and reopen it 
Map changes require at least a patch reload
Can't remember if changes happen during the same sessions if you sleep
But config changes should take effect if you do them from the main menu and load the game I think
You could try changing the Update rate to OnLocationChange, and/or OnTimeChange
Though I really don't suggest it, I think map patching is some of the most resource intensive patching
Just tested it - It doesn't change if I change the config from in-game OR the main menu -- the changes only update if I restart the game completely 
Interesting, my map patch is actually working in real time, I didn't think it did
But I guess I'm usually making changes to the actual tmx and readding it to my folder so that does actually require a reload
Had to make a test with a config and adding something to a map
Seeing the log and json would probably help
!log
Important note: Your computer username may appear in the log. If your username is your full name, please be aware of this before uploading it.
Please share your SMAPI log file. To do so:
- Open this page: smapi.io/log.
- Follow the instructions at the top of the page to upload the log file. (Don't copy & paste from the console window!)
- After uploading, it will show a green box with a URL to share. Post that URL here.
Please do it even if you don't see any errors. This has useful info like what mods and versions you have, what the mods are doing, etc. If the issue didnโt occur in your last session, please load the game to the point where the issue occurs, then upload the log.
!json
JSON is a standard format for machine-readable text files that's used by Stardew Valley mods.
If you need help with a JSON file, you can upload it to smapi.io/json to see automatic validation and share the link here.
When making mods, it's recommended to edit your files in a text editor with JSON support, such as VS Code, Notepad++, or Sublime Text. These programs will check for syntax errors.
Only other thing I can think to ask without seeing those is how you're changing the config
https://smapi.io/json/content-patcher/4686e45f6bfd4435af3fbeae55aca764 Here's the json (it's an include, hence the missing "Format")
(Dynamic tokens can't be patch reloaded but I assume that's not what you're touching)
I'm wondering if Button's tokens aren't getting updated when the config changes
https://smapi.io/log/1e87aaacee22446b8e7eb2f27504bce9 (here's the log too if that helps)
Log Info: SMAPI 4.0.8 with SDV 1.6.8 build 24119 on Microsoft Windows 11 Home, with 31 C# mods and 56 content packs.
I dunno, I assumed the "Config" token would update when the config is changed, but maybe it functions like a dynamic token so that isn't the case?
(I don't know C# super well yet, but that's just a guess)
Well, there would have to be something telling the token to change
Because GMCM is built into CP, when you change config options with GMCM for CP mods it tells those tokens that their values are different
For a C# mod you have to hook that up, but it yells at you if you don't lol
Assuming you're using GMCM anyways
Yee! I've been doing all the configuring through GMCM
Yeah, so there shouldn't be any issue with the apartment mod knowing you've changed the config settings
But I'm not familiar with Button's mod, I'm assuming it's just a bunch of reflection lol
does anyone know what this ftm error means? Issue: This include/exclude area for the "Fellowclown.PC_AncientGraveYard" map isn't formatted correctly: "13"
You've written the coordinates wrong, according to Esca's docs.
You need a starting coordinates (the one before the forward slash is my guess) and an ending coordinates (after the forward slash) to draw the rectangle of the map that the things are allowed to spawn in.
So a starting and ending so anything in-between has spawns in it?
If I could just target the asset directly this would be so much easier
crying in the club rn
literally just trying to change like 6 tiles so wall decor can be hung on them 
Yeah
Okay that makes sense thank you aba
Can you not target the asset directly
I actually have questions here
If you are editing their map asset and it is a renovation
Unless they have conditional map patches
No renovations, only map patches
Or well, I guess patches to the renovations
Sooo you could target that instead
Lemme check the tmx to make sure they aren't just blanking those
this is the section of T's for the map I'm trying to modify
For how it's applied in their content.json
I see
What I edited in Tiled, shifting the log beams + adding properties so they can be decorated
Basically, if I can either 1) Replace the asset directly with mine, 2) Target the asset for editing so I can tweak only the beams, or 3) bind my map edit to T's config so my version of the map will apply when it's enabled by their config, any of those would be ideal
(I hope this makes sense-- I haven't directly asked for mod help before so I Dunno How To Phrase Thingsโข)
I tried directly targeting the asset using CMCT's Asset token & the path as it is in T's content.json, but it didn't do anything, so I just kinda assumed that isn't what that token is for but idk
@uncut viper it seems like CMCT's tokens don't update when the targeted mods config changes, is this intended behavior?
i thought button fixed that 
I suppose I can give the asset thing a try
Well I'm testing it right now and it's not doing anything
Unless it's a pending change
iirc atra brought it up about when it would get cached
it might be strange though, i have the same exact setup out of my config tokens for portrait mods and while one updates immediately, the other takes a day reload
i might also be dumb and missed a spot somewhere but
Depends on what it's editing
Some things are cached and only rechecked on sleeping or loading the game
ive filled this out now and i still got the error its odd
Can you show how you've written it?
I can never remember what is cached when, which is why I always have to say I think you need a patch reload lol
"Diggable",
"Grass",
"Dirt"
],
"ExcludeTerrainTypes": [
"Stone",
"Wood",
"Quarry"
],
"IncludeCoordinates": [
"9,9/56,45"
],
"ExcludeCoordinates": [
"0,36/18,54"
],```
Hmm
So renovations are special
And may not respect tokens at all
Sorry, token updating
I'm assuming in this context "renovations" is just "farmhouse map edits" and not specifically the renovations from Robin, yeah?
Just so I'm understanding correctly lol
this is a renovation target from that original json
hmm i swore i did it correctly the ftm thing, its working everywhere else but the ancient graveyard
Oh sorry
Specific to the renovations from robin
Hmm. It looks written correctly but maybe it doesn't like that you've got an overlap in your include and exclude areas? Except the docs say that the exclude area will just override the include area which implies that it won't complain about it.
thats what i read yee, hmmm
Yeah, I would have expected loading the save to update it too, but it doesn't seem to be
Is the error identical?
yeah it is
Down to the number?
yep here ill grab it
Ahh okie so it's not just me then? I wasn't sure if I was putting something in wrong or if it was something going on with CMCT
its suddenly not doing the error
Maybe you'd accidentally forgotten to save the file the first time you tried after changing the way it was written?
maybe!
OP there it is
[Farm Type Manager] Issue: This include/exclude area for the "Fellowclown.PC_AncientGraveYard" map isn't formatted correctly: "15"```
As far as using the config tokens part of CMCT, I am also unable to get it to update at even the speed I would expect it to be able to
Trying the asset thing now
it came back after i slept
I'm assuming not you currently, your code looks right to me
Also, no worries
Hmmm. Delete and reinstall ftm
ill try it out
Well those aren't the numbers that you showed me in this message #making-mods-general message
So before you delete and reinstall FTM, double-check what you've actually changed
(Aba, I say this because ftm caches a lot in its mod folder.)
Looking at the instructions, I actually have no clue what being able to get this asset token would enable
This is a "delete the cache" instruction
You can't patch an unloaded asset
(Ah okay!)
Yeah, that tripped me up too. I kinda assumed I could just put it in the "Target" field, but that didn't do anything even when I started the game w/ the patch already enabled, so idk
I wonder if I can use it to patch something in my mod with. Wouldn't be useful in this situation even if I could
At this point, probably need to just wait for Button to get back to me about the update rate of the config token
Maybe you should try doing a search in your file to see if you have the 13 somewhere else in it? And double-check you've definitely been editing the right file, etc.
can i send the json?
Yeah of course
Okie dokie. Thank you, btw! I really appreciate the help!
i fixed it it was a monster spawn thingy
If anyone can look into this, I'm going to bed, so I won't be able to help, but the latest push on the FF repo still hits the crash : you just need to place any Furniture with custom slots and try to place an item on it to trigger the crash.
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
me : "yay, after fixing the 150 json formatting issues i can test my mod"
(i forgot to install the mod needed for it to work)
I've never seen anything like this unfortunately
not that I know everything, but I took a look and my response to reading those errors in those circumstances is roughly "o.O wtf"
What's a ff pack with custom slots that we could use to reproduce
I've acquired a terrible terrible mod idea but I must ask, Assuming I have the right Framework Mods as dependencies:
1). How hard it is to add shippable custom items?
2). How hard is it to add a building like a Mill, including with an animation, except it can only work in the Desert -OR- it just works better in the Desert? (Either faster OR more output)
3). Allow Robin to construct in the Desert but only when it's unlocked?
4). Has an updated version of "Bigger Craftables" been released under a different name, or is otherwise supported via Vanilla functions now? I need a Machine sprite bigger than 16x32.
5). Can Machines produce random output based on one input? Multiple different random outputs? (Example: put in 10 Mixed Seeds, get 5 Random Crop Seed, 4 Random Season Wild Seed, AND 1 Fiber Seed -OR- a low low chance of 1 Tea Bush instead)
6). Make a modded item a valid option for a Vanilla recipe, i.e. the game treats it like a Vanilla item much like the Tea Bush recipe accepts any Wild Seed. (Example: Crab Pot recipe will accept 3 Iron Bars -OR- 3 Aquaite Bars in any ratio of the two)
7). Make these Producers and Machines support the Automate mod?
8). Has anyone else seen a mod do any of these things and can I see them and use them as examples?
4 bigger craftables have unofficial continuation https://www.nexusmods.com/stardewvalley/mods/24886
everything you said can be done with CP, though you do need frameworks for:
4: needs bigger craftables mod
5: need extra machine config for multiple simultaneous machine output
6: either spacecore or better crafting, though I'm not sure if you can do the mixed recipes thing
Iโm struggling to find the file that contains these tiles, itโs probably right in front of my face๐ฉ does anyone know?
roku has a "robin builder" mod i'm trying to find
hmm did you look at the new 1.6 tiles
you should be able to do #6 just fine with better crafting
it's very flexible
I did, I have spring_outdoortilesheet2 for 1.6
Is there more for 1.6 Iโm missing?
SpaceCore also supports ingredient slots that accept context tags
what I'm not sure about is the 'mixed ingredient in any ratio'
I think it would just work right 
hm
Like if u had 1 aquaite 2 iron u can still make pot
that's true
If it's all tagged right
not quite what they meant. They asked if they can build in the desert and that's possible with 1.6 (though not sure if the desert has some hardcoding that might prevent this)
Hmm let me look at the SC ingredient nomming code
A mill that only work in desert 
Looks like that should work
oh you meant the actual building reqs, i was thinking animation 
If you can open the map in Tiled, you should be able to right-click on the tile and it will take you to the tilesheet and tile index that the tile is from. If you're just doing it in game, Lookup Anything with tile data enabled should tell you the tilesheet.
Thank you so much, Iโll try both of those!
Edit: itโs on the island tile sheet! Thanks a bunch!
th tokens are like other CP tokens in that they respect the update rate it is currently set to use, so if the patch you're using the token in just updates on day start, then the token updates on day start
Hm, that's weird
When I use my own config token the map patch happens instantly when I save the config
When I use the config from a different mod, it doesn't update until I close the game and reopen it
i believe CP manually updates all of a mods tokens when one of its config changes iirc. but my tokens wont be from your mod, so they dont
Hey, would you mind sending me your mods folder to reproduce locally? I'd like to look into this (and/or pass it on to the rest of the dev team)
if i understand tokens correctly though i dont think putting an update rate of OnLocationChange or OnTimeChange for config tokens should be that bad bc even if they check the config at every opportunity, if the config hasnt changed it wont signal that it needs an update, so it wont cause every patch the token is used in to update
I'm just not sure it would actually solve the issue
I would need your tokens to change sooner, not the other ones or mine
if you change another mods config, and you are using a CMCT token to check that config, then setting your CMCT token patch to have a quicker update rate means it will re-cache the o ther mods config sooner
There are different kinds of patches that would need a different update rate, but map patching seems to be instant so the rate isn't really an issue for that
I'll slap an update rate on it, see if that works then
Can EditImage take from the game files themselves? LooseSprites/map_summer -> LooseSprites/map_fall
content patchers aPI very very emphasizes the actual value of a token never changing outside of the UpdateContext function, which i do my best to respect to not get wildly unperformant
You can Target game assets, but you can't use game assets in your FromFile, you would have to include them with your mod
Ah excellent!
Thank you! I will look into all fo these. And yes, it seems CP has gotten VERY powerful now, I will need to read more into it.
Do you mean setting the patch I'm using the token in to a higher rate?
yes, the patch with the CMCT token not the other mods patch
question abt map edits in general, assuming you were only using your own config token to change a map, would it update immediately if you were already on the map when you changed the config, or would it require you to reload the map?
in my experience, map edits from your own config update immediately w/o the need for reload
like it will change the map even if you are standing on the exact spot where the edit occurs?
At least thats how they've usually worked for me using CP+GMCM
Yeah! I've accidentally turned off the map area I'm standing in before (lol oops), and I just ended up awkwardly standing in the void until I turn the patch back on
hm, okay. was just also trying to figure out why even reloading the save wouldnt change anything, bc like, the "should i update?" check of the config token does grab the config value from the other mod directly with reflection, theres no caching in the update check naturally, so it would have the correct value by the time you actually get to move around in game
you can check with the patch parse command too
would you mind zipping and sending your mod folder so i can take a look too? (unless you already did earlier for roku and i missed it)
Sorry, had to go get my car from the shop
Sure! Lemme zip it real quick
Yes, can confirm that Sialia's sprite changes immediately when I update her config (her sprite is a map edit).
Okay, then yeah adding a faster Update rate to that didn't fix it
(I'm just using my own map patch and another of my test mods to test this on a smaller scale)
Here! It's specifically the T's Apartment House patch that I'm working on/having issues with
ill look at the zip and take a closer look after ive made coffee and breakfast, sorry. literally just woke up when i saw the ping and responded to it so im not at my best brainpower yet lol
It's all good!!
in the meantime would you mind sending a picture of what it's supposed to look like when the map patch is applied correctly? so I'd know how to tell when the token was working correctly
Yeah I just gotta grab a screenshot real quick
So it's this extra optional room from T's Apartment, & my patch makes the wood beams decorate-able (ignore the floating decor chaos in the background LMAO-- I don't normally use T's, so everything gets wonky when I test it)
So my patch is active if decor can be placed there
Hello, I was wondering if anyone knows if you can change the color of the placement tile indicator? I unpacked the files already and I tried looking at the Loose sprites assets but I canโt figure it out
should be able to, i believe it's in cursors?
Okay, let me look there because I might have overlooked it
Is there a way to have content patcher just read an animals "data" string instead of rewriting my old BFAV mods into giant text files requiring each bit of data to now take up a whole line?
This seems so bloated and inefficient considering the game is compiling all those entries back into the 1 line I'm starting with.
The game isn't compiling them back into one line
!converters is there a converter here for it?
A lot of converter tools have been made by helpful members of the community to update outdated mods or convert existing mods to modern or alternative frameworks, and for 1.6. Here's a list:
- Convert XNB mods to Content Patcher
- Convert pants/skirt spritesheets to Fashion Sense
- Convert Custom Furniture mods to DGA/1.6 Content Patcher
- Convert visual Content Patcher mods to Alternative Textures
- Convert BFAV mods to work with 1.6 Content Patcher
- Convert TMXLoader mods to 1.6 Content Patcher
- Convert Custom Music mods to 1.6 Content Patcher
- Convert Shop Tile Framework mods to 1.6 Content Patcher
- Convert hair spritesheets and JSON Assets shirts & hats to Fashion Sense
- Convert regular Content Patcher to i18n format
- Convert JSON Assets to Content Patcher
- Convert fish data from field names to slash delimited values
- Convert markdown text to Nexus' bbcode
- Convert Custom Ore Nodes and Custom Resource Clumps mods to Item Extensions Framework
- Convert Content Patcher Animations to SpaceCore
- Convert More than Necessary to Content Patcher
- Convert SAAT to Content Patcher
iirc i saw them in the upper half of it, if that helps you find it faster
Omgggg, itโs there, I was looking at the wrong tab under a mod I had downloaded , thank youuuu so much
I have 1200 animals files and it's largely having 45 colour varients for a species, which the converter makes into 45 animal entries instead of 1 entry with 45 varients so the converter is making a dumb amount of work for me
yeah i couldnt figure out how to do it at the time
What's the issue with Adopt n' Skin not working with SMAPI 4.0? Does it need a ground-up source code rewrite or is it obselete?
Well, it would need to be fixed and rebuilt, but I believe its functionality is handled by CP now
lmao
I mean, I'm a C# dev. I can do a ground-up source code rewrite.
No matter how many times I see it, the very first time I see this mod I think it's the butcher mod and then have to remember it's the appearance changing one
I guess the horse part isn't covered by CP
you can but as mentioned animals having multiple skins is supported by the game now
(though you can't pick them)
there's also AT if you want to pick them
Possible feature improvement
tbh most people just use AT
I pick mine with AT. Very mindful, very demure.
I do yeah lmao
I hacked together an Elle's AT mod, I still need to go back and make every variant actually have a name
Currently it's just a bunch of index numbers and I hate that
It's only a few hundred variants
Does anything in specific need to be done to have the game recognize and pick between multiple sprites?
That's literally all I care about lol.
I would just use AT
Does AT support animals picking from a random skin when you get them?
Probably not, but I think by default skins added through CP do that
yes
I think that is the default behavior
I don't want to individually pick each skin, that's why I used AnS
Incredible, that's all I need.
I don't buy new animals like ever so I guess I don't actually know lmao
Setup AT after I had my farm going
Anyways, I think it would be possible to do a fairly clean rebuild for A&S
By that, I mean, the game has made it easy to have the features that mod did
Tbh that feature was glitch in 1.5.6 anyways
The name throws me for a loop every time, especially with the subtitle (Animal Skinner)
It sounds like it's essentially obsolete with Alternative Textures though.
hmm, an update/successor to A&S could use the vanilla skin feature but allows picking said skins on purchase time. it would have better performance and compatibility than AT
(though in practice I haven't really had issues with either)
Sounds like redoing the adoption shop :P
Or you could hack it in between doing the adoption and returning to Marnie's
end marnienopoly today
Throw up a new window to pick the skin lol
and the robinolopy as well
robin doesnt have a monopoly on builder tho
I think she's the only one that can show up to physically build stuff
try ordering a building that takes 2 days to build from another vendor, I dare you
takes roku's code to put my own sprite ok
Other people can sell them, but she's the only one allowed to wield the hammer
...a mod that turns Robin into Thor and her hammer into Mjolnir
Just patch Robin's sprite to make her look like someone else, set that NPC to invisible, and send the player some mail from Robin telling them that she's going on an impromptu holiday 
"say hello to my new apprentice"
(my real issue with AT isn't that it introduces a ton of possible compatibility issues, it's that the wiki is annoying to use)
isn't that one with the not-quite-content-patcher formatting?
it uses its own format yeah
Visually it's fine, it's on github, but the pertinent information between things feels buckshot everywhere
Plus every time I go to it, I feel like it's missing the one thing I happen to be looking for in a list of like texture names or whatever I'm trying to find at the time
ah yes, a peacefulend one, tbh i've gotten used to it with the fashion sense digging but i'm also violently "i don't want to do retextures myself"
Actually, I might severely be misremembering but I heard some time ago AT supports changing CP skin variation? Not the AT textures, but vanilla ones
If that's the case A&S is truly deprecated lol
AT pulls CP skins automatically
does it still patch the draw code in that case
Well I mean, it does patch the draw code regardless
the patch doesnt have to run though
Make a 2nd Robin called DefinitelyRobin internally and make them appear behind Robinโs counter
Flip her portrait the other way and see if anyone even notices
Well in AT's draw prefix I don't see any check for the animal's data, so I'm gonna guess it's just collecting it for the menu and adding it to its own data
it does seem to set SkinID instead of the modData field if the skin is vanilla though
I have a problem that I don't know what is going on, but with my NPC Reyla, Abigail's 2heart event isn't showing up, but when you take out my mod the 2heart event shows up. does anyone know what might be casuing that?
where does abigail's 2 heart even trigger from
if you're blankloading a json into that data/event/location at a late priority, you're effectively wiping all events from there iirc
I have this set up:
"Action": "Load",
"Target": "Data/Events/SeedShop",
"FromFile": "assets/empty.json",
"Priority": "Low"
},```
yeah that'll do it
Don't do that

you only ever do that when you've created your own custom location
(or when a vanilla location doesnt come with events, right? /gen)
Ah that makes sense, I thought I had to do that everytime I set up a event in a location
i don't think any vanilla location doesn't have an event, || we don't talk about the summit ||
no, you only do that for your own custom locations
There are some
Contribute to atravita-mods/StardewMods development by creating an account on GitHub.
oh that means i have to low load into the adventureguild for my marlon mod 
groans
We donโt talk about the blacksmith 
I feel like the blacksmith is the one Iโve seen the most mods use
someone else can do a romanceable clint mod, i'm uninterested
i think there's at least 5 already
I think luckiel, jasper, sve all had loads that had to be coordinated
Maybe a few more
Plus presumably various other Clint mods
not sure if one exists without turning him into a gigachad though
last I checked all of them turned him into an animu boy
(Which is why atracore tried to coordinate it.)
I feel like thereโs some that are more replacers
god i hate that nexus eats some webp and leaves some alone
might as well put that into my code now before i forget about it later a damn when patch if it doesn't detect SVE i don't know other mods that actually blankload into the adventureguild
oh really? 
Yeah
ive made some changes and it seems to work fine for me now, but can you double check to make sure this version works as you expect it to?
Dang, thanks for the quick fix! Yeah, I can test it now โจ
(the UpdateContext method in the token was returning true when the config for the other mod updated (so ig CP refreshes all tokens when that happens?), but then it was seemingly being called again immediately after and returning false (bc it just updated a second ago, so nothing has changed since just then) before the GetValues was called again to actually update the patch, and im not entirely sure why)
I'm working on a mod to make the game always look like fall, however there is this tiny patch of grass that doesn't want to change, even though the {{season}}_* tilesheets all point to fall_* taken straight from the game files to the pack. (everything else around it is retextured fine.)
https://leo.might-be.gay/UTMMT4.png
https://leo.might-be.gay/U5PRQJ.png
did you change outdoorTileSheet_extra too? (for all the seasons)
Ahhh it works perfectly now! Thank you!
ofc! thank you for bringing up the issue in the first place!! and feel free to ping me directly again in the future if something else is wonky 
I do believe I did? https://leo.might-be.gay/O2GNGZ.png
what does the patch summary say?
idk what else it might be unless those tiles are duplicated somewhere else cuz those are definitely the same ones on outdoorTileSheet_extra... hm
here it is, https://mystb.in/7cecde07f0dc18647f
and it does seem like all that should be loaded is loaded?
Current changes:
asset name | changes
---------------------------------- | -------
Maps/spring_beach | edited image
Maps/spring_monsterGraveTiles | edited image
Maps/spring_outdoorsTileSheet | edited image
Maps/spring_outdoorsTileSheet2 | edited image
Maps/spring_outdoorTileSheet_extra | edited image
Maps/spring_Shadows | edited image
Maps/spring_town | edited image
Maps/spring_Waterfalls | edited image
Maps/summer_outdoorsTileSheet | edited image
Maps/summer_outdoorsTileSheet2 | edited image
TerrainFeatures/grass | edited image
TerrainFeatures/tree1_spring | edited image
TerrainFeatures/tree2_spring | edited image
TerrainFeatures/tree3_spring | edited image
Do you mind if I ask how you did this? I was just in #modded-stardew talking about making it always look like Winter when somebody said you were doing that but with Fall in here lol
My only problem is other than manually swapping the images in the unpacked folders and repacking it, idk how to do this lol
yes
that does seem to be the only way as far as I can tell (or well someone here said so, they said you can't directly access the game's assets using content patcher)
was this patch summary done in the springtime? does it look the same if you do it in the summer?
did you sleep
you don't repack assets. use content patcher
(using Content Patcher!)
I think if you were to make an XMB mod yeah yeah, I know, shame on me, than theoretically you could
i woulda thought if that was the issue it wouldve been ALL the grass looking summer, not just the ones from outdoorTileSheet_extra
don't make XNB mods is the thing
xnb modding is still possible but very very very very very do not do it
well why not
xnb mods are very incompatible with just about everything else and WILL break every time the game updates
like is there a specific reason other than it's just a pain to reverse them?
yea but they are different assets, could be some shenanigans going on 
more compatible, less issue-prone, and easier to do content patcher
theyre both just tilesheets in the Maps/ folder though, why would debug changing the season change one but not the other?
or change all but not the one, rather
the other thing i would try is, rather than load the tilesets, load the tmx with tilesheet file changed
Also the other problem is Idr know how to mod with CP, I've only made one mod using Alternative Textures before
i think if you managed to make an AT mod then you can definitely do a CP mod! it's super easy, esp if you're just changing images
CP is fairly simple
Sweet. Maybe it'll be easier than I'm making it out to be lol
!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.
(ignore the C# part)
it does yes
they both mention the exact same though which is odd
are you using a custom farm map?
feel free to look at the patches in my recolor since you'd be doing something very similar
are we sharing a braincell today or something lmao
mayhaps 
I just started setting things up to make my winter one. Guess what I named it

truth be told Leonardo im not at all sure why its not updating that one specific sheet. i guess you should try sleeping like chu suggested to see if it fixes itself on day update
or on a game restart
it...did
i suppose I shouldn't worry about it then since nobody will be using commands
ive absolutely no idea why that one tilesheet is special in that it doesnt get reloaded ยฏ_(ใ)_/ยฏ
do you want my current one, could save you time lol
i went to look at the code for it and i also dont see why it wouldnt update, it seems like its just a for loop over all the tilesheets in a map?
so do you want your mod to actually behave like it's fall all the time?
cant grow other season crops but pumpkins never die etc
nope just a recolour
like obviously SOMETHIN is weird there. but damn if i aint curious to know why
That's... a weird one to be missing
Sure. It might help a lot lol
Since this will be my first CP mod and all
same, first time
and we had the same exact idea but with different seasons lmao
also some images seem to be bigger/different, so time to take this to photoshop
[Content Patcher] Can't apply image patch "Forever Fall > EditImage TerrainFeatures/tree1_greenRain_{{season}}" to TerrainFeatures/tree1_greenRain_winter: target area (X:0, Y:0, Width:144, Height:160) extends past the right edge of the image (Width:48), which isn't allowed. Patches can only extend the tilesheet downwards.
oh some of the new trees just dont have seasonals afaik
yeah winter is different for that one bc it doesnt need a different leafy texture
or that
bc its dead
forgor that's where the change was lmao
yeah.....
sad tree

So is this essentially what it takes to put into content json?
or am I looking at this wrong still lol
ya
and move textures around
So I literally need to steal mimic what you did there but with winter replacing everything?
That's not too bad. Aseprite my beloved
@brave fable Here you go - it's got latest develop in there as well... which means marriage schedules might be broken, I should probably look into that sooner rather than later
button : i have tested the GSQ for the fishing so far and it's working nicely ๐ now i mainly need ideas for the remaining stuff
Do I need to put all of the required maps/etc files into assets folder?
or does the game load it internally
i wonder if you could add achievements for befriending a group of npcs at a time
might need a script to traverse and determine groups tho
where are these stars used ingame?
always happy to hear it c:
man. cursors is such a mystery to me 
(now stuff will likely take me a random amount of time because that's how modding is ๐ )
i mean if you pre-determine the groups this sounds really easy. only way i can imagine to not need to pre-determine is if you use the fields that say who an NPCs family and friends are, but i assumed you'd want more customizability than that
I feel like there isn't enough NPCs/NPC mods to justify not just curating the list yourself
my justification would be i dont want to, but thats why i wouldnt be the one making the mod
seems like itd be a good thing to make an asset people can EditData into though for their own custom groups
(there are too many NPCs in Ridgeside alone for me to want to curate a list myself)
I'm confused, what is it that I need to put into the assets folder for this? All of the listed maps and whatever images?
i could probably throw that into the customfields
Okay so, I'm not home rn, but could someone show me an example of the correct usage of the addTemporaryActor event command?
Random request I know
i would highly recommend reading the content patcher documentation, esp regarding EditImage
I'm on that, I just don't really know what I need for this specific mod
if you wanna replace all the tilesheets with winter versions, then you need winter versions of those tilesheets in your assets folder to use for EditImage patches
This doesn't really help me out
awesome. thank you
thats not the content patcher documentation, thats just a wiki tutorial
oh I thought it was the doc lol
thanks
(the command should probably include a link to it tbh)
Thanks ๐
the startmodding command
Pretty sure there's a link on that page to it
or barring that, the wiki should probably call it documentation and not just a readme
Same for the CP command
content patcher's nexus page does have the git link iirc
Which is the excuse I was given last time I suggested adding that link on the command itself lol
well now WE ARE CHEETOS
(you are still not supposed to edit someone elses command without asking really)
that's fair
imo i dont like that excuse but, its not my command and im not a mod author, so. not my problem nor my consensus to make
so move the hairs down two pixels?
Yeah
One of the stars is used on these little toast notifications that pop up when you get an achievement
Might be unused, looking in the decompile for it
gotcha, tysm
Seems unused
where would the weeds file be at, if I may ask? bc that was... oddly easy.
thonk..... interesting
Thanks, @wooden idol for letting me use your code to modify lol
or your content json rather lol
winterobjects
Uh
Okay
Those are springobjects
no problem. I'm still finishing up, I'll ping you whenever I'm done
ironing out the last few massive fucking headaches
I think that bc I used your thing, there's something I need to modify further bc Spring and Summer look like winter, but fall is still fall
I wonder if winter looks like winter
"Condition": "Random 0.2"
level up menu, somewhere
if (this.isActive && !this.informationUp && this.starIcon != null)
{
if (this.starIcon.containsPoint(Game1.getOldMouseX(), Game1.getOldMouseY()))
{
this.starIcon.sourceRect.X = 294;
}
else
{
this.starIcon.sourceRect.X = 310;
}
}
LevelUpMenu.cs
Ooh, I see
thonk
well, if it's for the whole mod, it's not bad, if it's per entry... not so much ๐
i dont remember what the level up menu looks like so ig if you hover over the star its the gold shiny one, unlit otherwise
int Random() {
return 6;
}
I've been capped on level for so long, I forgot you can do that in this game
Huh, I don't see any stars in the level up menu
i was actually trying to test it just now and i cant actually- yeah
i have no idea when the star shows up
Oh
it only ever shows up if LevelUpMenu.starIcon is not null, but
its never assigned
so..
Yeah lmao
ok so maybe i can just ignore it lmao

will do
i wonder what would happen if i assigned it
Cool things no doubt
I'm still not entirely sure where the weeds image is in content
Didn't atra say springobjects?
idk where that's at lol
Maps/springobjects mb
thank you
!springobjects this is the one with the wiki page isn't it
Most vanilla object sprites are in the Maps/springobjects asset. See a table of springobject sprites by index.
Some newer object sprites are in TileSheets\Objects_2. You can check the entry in Data/Objects to see where its sprite is stored; SpriteIndex is the position, and Texture is the asset name (defaulting to Maps/springobjects).
Huh, well I can't remember who was asking for it earlier, but I could definitely make a mod that lets you interact with stuff at range without screwing with the way tools and weapons work
i'm just haunted by the noodle arm image now
Lmao, it works on doors too
I think I love this lmao
Picking all my crops with my brain powers is very funny to me
Oh right, the drawback there being that I can no longer interact with doors by running into them and blindly right clicking my screen
And just like that, I no longer love it
LMAOO
rip.
make an exception for doors i guess?????
or just rewire ur muscle memory but that's harder
They wanted it for machines so I could also just literally make it do that
ooh yeah
The problem with making it not do some things is that I would need to check every tile around the player and then change the logic depending on what I find
If I only make it work at range when looking for things specifically already in the clicking area, that's way easier
Still some potential issue there of like, walking into a door but you accidentally right click a machine
Though most don't have menus so it would only matter if you're holding something that can go in it
Maybe none have menus, I'm too tired to think about that
mini forge?
that's the only one i can think of off the top of my head
oh workbench
I dunno when Game1.player.onBridge is set but apparently you can't right click things when it is
Yeah, I mean technically I guess I'd be checking for big craftables most likely and that would include chests
Where in the game are these purple weeds from?
Mines?
I think mines maybe
Really?
Maaaaybe dangerous mines
I've never seen these, they look so cool
Or lava level?
I thought just lava levels
That would make sense ngl
Yes
The fabled winter star tea set
I actually think everything fully visible here is used except maybe the moon
I think the white stuff is part of the bomb animations
And the moon might be used somewhere random, I canโt think of anything offhand but I wouldnโt be surprised
is it not the one that happens on the shipping screen full moon ?
idr how big that one is lmao
the moon is in cursors i think, thats the one with the chance for a face, no?
atra i got identifiable combined rings working, u are right it was basically ported
the thing im not sure about is the license 
Mine is mit, yes?
yea its just that i barely made any change
And?
do i just include original license and call it a day
Feel free to add yourself to it!
incl the ยฉ๏ธ atravita thing
as for nexus i recall that you wanted new page so ppl can bug me instead, so ill do that
you can probably write "atravita and chu" but I also am not very knowledgeable on this
well i did want to make some options for how the rings appear
so ill put myself there if i ever do the feature 
what is the nuance of MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization btw
aka MethodImplOptions Hot
this is such a highly specific question, but what's the sound bank ID (or numerical filename) for the chomp sound used for collecting a fruit in junimo kart?
i found this sheet https://docs.google.com/spreadsheets/d/1CpDrw23peQiq-C7F2FjYOMePaYe0Rc9BwQsj3h6sjyo/edit?gid=239695361#gid=239695361 listing all of them but i don't think it's been updated in a while, i can't find it on there
is it "eat"
beautiful, really
wow can we get that fixed for 1.6.9 \j
Sweet. Thank you, everybody who helped me with anything I needed lol
it wouldnt even really be a fix itd just have to implement it straight up
bc there was no indication of where it was supposed to be positioned so i just made it up
and even just assigning it doesnt work bc the code checks if the information is visible, and if it is, dont draw the star
but if the information isnt visible that means you've left the level up menu
:v
The only thing I need to figure out now is why Fall is still orange
also them weeds ugly
what's up with these tiles?
why in summer do they not get affected but the rest do?
did you try sleeping too
oh no i didn't. i was using console commands
Sorry to interrupt but does anyone know a good tutorial for making a portrait mod or a high res portrait mod?
Ah that fixed it it seems. Thank you.
the content patcher documentation for EditImage uses a portrait mod as an example iirc. for high res though i think you'll need to look at Portraiture (i think)
oh one more (that might also turn out to be super obvious lol), what's the sound for getting a checkpoint? it sounds like a soft whoosh
How can I change the soundtrack to also be the fall soundtrack? (@open dock have you gotten around to that)
I see
Ok, I just got that working. I'll see if I can dig around and figure out music
I was using portraiture it just keeps using the beach outfit sprite sheet as the default for some reason
did you press P to toggle the portrait
Yep, itโs just using the beach outfit as default
you probably put it in the wrong folder or smth. I cant help further rn but pls post where you place it so others can take a look
really struggling with converting this hair, the front view just keeps not aligning properly and the back view is weirdly high up
i'm trying to convert it to FS, pink hair is delotti's preview
Where the files/folders are,
i finally fixed the front view by moving it half a pixel down instead of full pixel, not sure about the back tho how many pixels to go
honestly it looks like it could just go a pixel down and look as intended, if i had to guess it partially looks strange due to the clothes you've got in combination with whatever body type that is (...that's not the vanilla farmer body, right? lol)
no it's gh farmer body, same body as the preview pics tho
hm
and the preview pic clothes don't extend over the pixels of the body shape either, same as the clothes I have rn while testing this. I'll try moving one pixel down with the back
this is gonna be a slow process for all the hairs yikes
did you also install https://www.nexusmods.com/stardewvalley/mods/24534
You find anything yet?
Nope
What about this
and it being 1:30 I think I am gonna go to bed tbh
Np, thank you for the help and the resources (and your json).
I'll keep working at it and I'll let you know if I get anywhere with it
yes please let me know if you manage to change the music :)
Can do. Have a good night.
You should be able to use the same settings for all the hairs, since they originally would all be done the same (assuming they used to be CP hair). In addition, you can use fs_reload in between changes to reload without launching the game, which should help make things go faster
seasonal music is controlled in Data/LocationContexts' Default Entry
you want to change everything in Music to the fall tracks (or whatever seasons you want)
That doesn't sounds too bad ngl
So change where it says "Condition": "SEASON Spring" to say Winter for example?
on the track listed for everything other than the winter tracks?
that's the condition, what that would do is make that track play in winter instead of spring
the Track field is the track
Ohh, so change the track field to winter
winter1, winter2 and winter3, yes
though if you just want winter tracks globally what I'd do is remove everything but the 3 winter tracks, and set the conditions for those 3 winter entries to null to they play every time
And doing that won't make, like, special music (festivals and Abigail's Heart event) break, right?
nope, those tracks will still exist in game files for events that want to play them
Sweet.
So like this (but remove "spring1": { under entries bc i forgot to do that lol)?
or do i put something else where it says "spring1"
No, keep it
In fact you're missing similar lines above the other 2 ID lines
So put "spring 1": { above winter2 and winter3
Also make them match for clarity, like "winter1": should be above "Id": "winter1", same with 2 and 3
Yes
Also what editor is that? Looks like notepad
it is lol
Recommend using editors like Notepad++ or VSCode for JSON syntax highlighting and other convenient features
so change the spring1's to that or...?
yes
oh yeah, once you're done, you also need to do the steps of nulling out the other entries
add lines like "spring1": null, to the Entries block
repeat with spring2, spring3, and other seasons
you put this in your mod's content.json file
ok, so I don't need an assets folder for this one?
you can organize your mod in whatever ways you want
so you can put it in the assets folder, and then add a Load entry to content.json to load the file
If I don't use an assets folder for this mod, it'll work, right?
it can work, as long as you either do the changes in content.json or have a separate file but Load it
okay nevermind
