#making-mods-general
1 messages · Page 38 of 1
probably something to do with food
another small waste of time added :')
i think i went overboard on the sunset since now instead of doing stuff i just sit there watching it
that's a good thing
Culture is the same as locale, and yes, people do build for locale, although not on the scale we generally discuss in this channel. es-MX is completely different from es-ES, fr-CA is completely different from fr-FR, etc. Sometimes it's the actual "content" that needs to be localized, e.g. some local or pop-culture saying that just doesn't make sense in other locales. Sometimes it's difference in idioms and slang. Sometimes the common grammar in one locale (fr-CA) is considered to be rude and abrasive in another (fr-FR).
It's sort of the inverse of what happens in the Asian locales where there are many different dialects/scripts under a single country code.
oh so its not about how numbers are formatted
I guess there is that too, though I don't know all the details. In general, the entire text can be different for two locales that are technically the same language.
I like how the character is not wearing a trash can.
Also A++ on the item sprite work.

I remember this tweet
what is proper way to restore pointer pos here 
ah i borked the scrollable view somehow 
Hahahaha. Hyphenation, how does it work?
Are you using an overlay? It's automatic with those now.
the child menu needs to be IOverlay then
Oh, you're using child menu - yeah I haven't really attempted to do anything with those.
There's a base class, FullScreenOverlay that does most of the work for you.
It's how the keybind editor and HUD position editor are both implemented. But focus return also works with any other overlay, like the dropdown list.
If there's no overlay then I suppose you'd have to save the position and/or View that was clicked on before opening the child menu, and set the focus back to it afterward.
oh i was just going to wrap the view in a overlay
the scroll problem with this is that i cant scroll down on gamepad
its ScrollableView > Grid > MachineCell : Frame > Image
Mainly what FullScreenOverlay gets you is modality, centering, etc... it behaves very similar to a child menu. Regular overlays aren't meant to hide what's underneath.
yea i was ctrl+f for modal but didnt find it 
It even lets you click outside the border of the overlay view to dismiss it (wish Stardew vanilla had that - stupid tiny "X"es that I can never hit)
I dunno about the scrolling. If you're still using ScrollableFrameView and think the library broke it then I can check the latest code against one of my older mods still using it; the implementation is quasi-deprecated. (The class will continue to stick around, but it should be implemented using the newer ScrollableView and not the hacky nonsense that's in there.)
overlay is exactly what i wanted 
i am use ScrollableView
oh then i'll refactor away the ScrollableFrameView i was using still
You don't have to, like I said, the class itself isn't going anywhere, just its implementation.
If it's still working then you can keep it.
i was feeling on the fence already
But I'm not sure how scrolling could break, then. Did it break when you updated or was it just broken to begin with?
anything to put off writing nexus page tbh
Haha, I know how you feel, I spent way too much time on that today...
i dont test with gamepad much so i didnt know
it works as expected with mouse scroll
Only times I've ever seen scrolling behave badly myself are ones where there aren't any focusable elements, or the distance between any two focusable elements exceeds the entire scroll distance.
it is like i am focusing off the screen (but on the correct items)
maybe its cus my top level IView is a Grid rather than a frame
bathhouse is 10stam per second right? The wiki says it is but my mod is behaving differently in farm cave hot springs and bathhouse.
i thought that's what you wanted
normally it doesnt require C# to do heal stam in water
If that's happening then it seems like the scroll height must be wrong. It doesn't scroll because it doesn't think you're moving past the scroll boundary.
well I put the config in to make it work either only in farm cave or in both farm cave and bathhouse.
It works as expected in farm cave, 50%, but goes to negative stam regen in bathhouse
Either that or the scrolling part (that is, not the scrolling content but the scrolling container) is larger than its own container.
I'd be surprised if it has anything to do with being a grid, but I can check... at some point, if you aren't able to figure it out. Assuming your source is up.
ill try some stuff and make a gist 
Getting there
did you want to draw at 4x
Remind me in 20 days to remember Canadian Thanksgiving is on the 14th
Oh okay, atravita (#6255789) (20d | <t:1728698145>)
I checked the Pen Pals GiftMailView, which is a Grid inside the scroll view, and it's scrolling as expected even with a very short height. So I'm pretty sure it's not the grid, or any really obvious regression.
Hey so I gave this a try but the farm animals are still grouping on top of each other, I'm not sure if I did it right but here is how it's set up. (and I did put the framework in game)
oh hm i guess i have to account for animals bigger than 1 tile
is it possible to make it so animals will not be allowed to spawn on top of each other? like they have to find an empty tile? or is that too complicated?
although what you can do with current version is only put 1 mushymato.MMAP_AnimalSpot per pen
yea that is what i tried to do, but i only tested on chickens who are 1 tile 
oh LOL
my mod shouldnt need the coop animals to spawn, its the barn ones that are the problem
but if its a feature i could do that for chickens too
still the intended usage was to put 1 mushymato.MMAP_AnimalSpot per pen area so that the animal start there 
rather than cover the whole pen
got it, ty for the help! will try that
my min repo smol enough for discord
// in a subclass of WrapperView
protected override IView CreateView()
{
Sprite questionIcon = new(Game1.mouseCursors, new Rectangle(240, 192, 16, 16));
return new ScrollableView()
{
Layout = LayoutParameters.FixedSize(400, 400),
Content = new Grid()
{
Children = Enumerable.Range(0, 200).Select((i) =>
{
return new Frame()
{
Content = new Image()
{
Name = i.ToString(),
Layout = LayoutParameters.FixedSize(64, 64),
Sprite = questionIcon,
IsFocusable = false
},
IsFocusable = true
};
}).ToList<IView>(),
}
};
}
it works as expected if Image is focusable and Frame is not
just single Image doesnt work either, but maybe for different reason
protected override IView CreateView()
{
Sprite questionIcon = new(Game1.mouseCursors, new Rectangle(240, 192, 16, 16));
return new ScrollableView()
{
Layout = LayoutParameters.FixedSize(400, 400),
Content = new Grid()
{
Children = Enumerable.Range(0, 200).Select((i) =>
{
return new Image()
{
Name = i.ToString(),
Layout = LayoutParameters.FixedSize(64, 64),
Sprite = questionIcon,
IsFocusable = true
};
}).ToList<IView>(),
}
};
}
How do you get the amount of stones left in a mines floor/convert NetIntData to int? I'm trying to update a mod with an outdated function and I don't know how to replace it. It says that it returns a NetIntData and throws an error because that can't be compared to an int.
use .Value
you would just do netStonesLeftOnThisLevel.Value but also MineShaft just has a non-net version of that field
for more context on why you need .Value occasionally:
https://stardewvalleywiki.com/Modding:Modder_Guide/Game_Fundamentals#Net_fields
this is done in dev version of EMC (not uploaded yet) for any interested parties. now you can have NPCs gift ancient fruit wine in dialogue!
and snail honey!
I am still embarrassingly confused on how to add custom npc spouse portraits
Post what you have?
I can repro. I think the "main" problem was a simple logic error where the ScrollIntoView call forgets to include the lowest-level target in the path, so it's actually always scrolling to the parent, and surprisingly I've never run into an issue with that even though it's clearly wrong.
There's a secondary issue which I'm getting too tired to really dive into right now, which is that the Y position of the grid's child is also incorrect (offset by the scroll position) only when it is a direct child, but fine when it's a lower-level descendant. Probably another 1-line fix once I can actually figure out which line it is.
so for the manifest, I put the link with this number into it?
how do I editdata multiple things?
The Changes field is a list, just put more {} blocks
Very small first mod with very specific use case, but it's something done.
https://www.nexusmods.com/stardewvalley/mods/28051
Allows you to change the health and stamina regeneration rate of the hot springs in custom farm cave maps.
Now to re-re-do the farm map one.
@ivory plume I have a feature/fix request for 1.6.9: when a tile index is checked, make sure the intended tilesheet is being considered. More details and specifics:
In various classes there is a definition of checkAction that overrides the one in GameLocation.cs and in each of the following list that method calls base.getTileIndexAt(tileLocation, "Buildings") (or similar) but does not check the tilesheet where that index is being checked. This presumably means that any tilesheet can be used which can lead to unexpected behavior. I know you recently addressed the fridge in the farmhouse (one of two of the cases of this in FarmHouse.cs's checkAction method - though that also comes up in FarmHouse.setMapForUpgradeLevel) so I thought I would look for more (since I came across one of these myself while working on a mod).
AdventureGuild.cs, Beach.cs, BeachNightMarket.cs, BusStop.cs, Cabin.cs, Caldera.cs, CommunityCenter.cs, DesertFestival.cs, FarmHouse.cs, Forest.cs, IslandFarmHouse.cs, IslandNorth.cs, MermaidHouse.cs, MineShaft.cs, Mountain.cs, Railroad.cs, Sewer.cs, Submarine.cs, Town.cs, VolcanoDungeon.cs, Woods.cs
There is also one case in GameLocation.cs's checkAction itself that involves the "SkullCave".
(I really hope this is all accurate...)
my crop mod... has been published! now onto the next pie-in-the-sky set of ideas... does anyone know what program people use to make stuff like farm maps, building interiors, etc, off the tops of their heads?
If you want to make mods that add or edit maps:
- Use Tiled (https://www.mapeditor.org) to edit .tmx or .tbin files.
- Refer to the Maps wiki page (https://stardewvalleywiki.com/Modding:Maps) for details on how maps work in Stardew Valley.
- Use Content Patcher to load in new locations (https://github.com/Pathoschild/StardewMods/blob/stable/ContentPatcher/docs/author-guide/custom-locations.md) or make specific map edits (https://github.com/Pathoschild/StardewMods/blob/stable/ContentPatcher/docs/author-guide/action-editmap.md).
awesome, thank you :D
so, I've never made a map before, so I don't understand what it means by 'break the layering'. does that mean that maps cannot be larger than 155x199? is there a way to fix layering if it is broken?
it's not recommended if you have never used tiled
'layering' here refers to the back-to-front order in which things in the world are rendered, not to layers in your tiled document. past the arbitrary coordinates at 155x199, the calculations often end up at a layer depth over the limit, so things get all weird
in any case, 155x199 is absurdly large, so you wouldn't make a map that size anyway
that's fair, I was just wondering what that meant
uhh why does my npc refuse to pass linus to get to her schedule destination? \
This isn’t the right channel for this question, this channel is for making mods.
that would be #1272328509683007539 message but we can't really give you information on pirated support
my mod didn't break anything!! yeahh!!!
this is my first time doing a CP furniture mod so i'm glad it worked first try. the amount of stuff to deal with in the content.json is daunting lol
yay it's finished! vanilla recolors of the 1.6 hatch and ladders using AT + a PIF version that adds dimension door functionality 
https://www.nexusmods.com/stardewvalley/mods/28057/
that's... quite a lot of self-indulgent mods i've made recently
Can someone help me convert this mod from XNB to Content Patcher?
https://www.nexusmods.com/stardewvalley/mods/1839
XNB mods often break the game and are not recommended. See Modding:Using XNB mods for more info (and a list of Content Patcher alternatives), and you can reset your content files to fix problems caused by XNB mods.
For mod creators, see Modding:Editing XNB mods for help unpacking & editing them (including for use with Content Patcher).
There's already a CP version
granted it's not really up to date
I can share the version I frankensteined for myself if you want, it has all the sprites published by Ohodavi for 1.6 from what I remember
Can I check out that mod?
I don't know if I should share it here since I don't have the author permission
Oh wait, the mod's page has full modification permission, here it is: https://drive.google.com/file/d/1TFWwuLoHw3Znr6pDCsQR6PXq-eWhngjY/view
:0 I did it
Holy crud that looks incredible
So excited to apply this fancy schmancy config elsewhere ehehe
Looks amazing!!! 
oh thats such a banger config
what's the current correct way to add tags to vanilla items?
hey so i edited the grandpa's lines from the opening scene and it doesnt display properly because the line is too long so some gets cut off. is there a way to make one line into two if that makes sense. like where one portion is like this
xxxxxx
xxxxxx
instead of xxxxxxxxxx
i tried just doing it like that but it breaks it.
Did you mean #$b#?
#$b# breaks a sentence but continues on in the next box without the need to click on the object again.
oh interesting. i will give it a try
this didnt work. it just showed it with the text
i will try. also maybe it's different because it's not in a text box like when chatting with npcs. i will get a screen shot
As in context tags?
{
"Action": "EditData",
"Target": "Data/Objects",
"TargetField": [ "<id>", "ContextTags" ],
"Entries": {
"Tag1": "Tag1",
"Tag2": "Tag2",
//etc
}
}```
thank you. this did it c:
I have legit game in steam not pirated
Hello, I've seen that the Bathhouse's locker rooms have some object properties that make the farmer switch to swimsuit. Is there a way to make the farmer change to the swimsuit appearance during cutscene events, other than swimming?
Not modding the game but. I wonder how this page works under the hood. Does SDV really parse the savefile XML everytime?
on my phone rn but yeah I'm sure that's the case
Someone help. I have just found out that DayEvent returns a LOCALIZED value (as in, language the game is being played in). Can I somehow get a default DayEvent, or a localized version of any given DayEvent string that I know in English??
Please please help 
DayEvent only returns a localized value if another mod introduces a bug by translating the values in the base Data/Festivals/FestivalDates asset.
oh I see thank you
that person apparently also has duplicating NPCs so it's probably just their game
thank you very much!!!
Hi, probably a dumb question but I'm starting out with making mods, is there a list of item ids and other data or do I have to unpack it from the game files to find it?
Unpacking the game files is a good idea for a mod maker for so many possible scenarios, you're probably best off just doing that once and using it forever after.
Makes sense thanks, I did it awhile back when I was trying to make an AT pack like a year ago, but I need to do it again for 1.6 lol
^^ the mod making bug/scope creep is real, you will probably end up using way more of it than you anticipate
I can't remember how to do it tho, I remember there being an exe or something to use but I cannot for the life of me remember where I got it
is there no caching done then?
Wait I just found it
!unpack
Follow this guide to unpack the game's content files in order to see and explore how the game data is structured.
It's helpful when making your own mods, or just to learn about how the game works!
Let me save you some trouble
Random off-topic convo from the current topic: Are you avalible for a small commission? I don't have a lot of time but would like to make the two custom archaeology machines compatible with automate. Would pay you as a commission if you could look and do it.
Oh sweet even easier!
CP machines?
no, CP machines are automatically functional with automate
these are custom C# machines
Unfortunately I already have my hands full with other projects, so I'm only available for contract work (which is much more expensive than commissions). There are some other mod authors here who do commissions though, or you can check this list of mod authors who do them.
thanks for the encouragement btw
I've modded minecraft before so this isn't my first rodeo but I'm still elarning how to do stuff for the first time
hmm what do they do that isn't compatible with Automate?
Otherwise you can look into integrating them yourself; the Automate API is quite understandable
because automate themselves states it won't work with custom C# machines, and people have asked for automate functionality.
I haven't actually tested myself, but with enough comments I believe it is true
are you avalaible for the commission xD? I don't have time to look through automate's api and everything.
For item IDs and furniture and such there is also this which I found very useful for making custom farmhouses: https://mateusaquino.github.io/stardewids/
Does custom C# machine mean machine with output method? Or is it custom big craftable with C# logic entirely unrelated to Data/Machines
if you can turn it into a CP machine but with a custom C#-implemented OutputMachine function then it should work out of the box
And thanks for the commission offer, though I'll have to decline 😅
Hey, yesterday I was looking at implementing a simple tool as my first mod, but it seemed a bit complex. I'm now looking at potentially adding a weapon and have had much more luck getting it loaded into the game. I'd like to change the animation for it and expect that to be a bit more challanging so does anyone have examples of similar code I can read through to get a feel for what's involved?
Aedenthorn's Advanced Melee Framework is not updated for 1.6 but has custom special attacks and animations. It uses Harmony though.
I am struggling through trying to use spacecore to make a new subtype of melee weapon, that's another possible option. I don't have any details yet of how to do it because I'm still testing.
What is Harmony?
MindMeltMax actually made an update here: https://www.nexusmods.com/stardewvalley/mods/24374
Harmony patches on MeleeWeapon is definitely viable for custom weapon type
gestures at old chakrams preview
Harmony can intercept or after-cept(?) core stardew stuff and make it do something else. But if you target the wrong thing you break a lot of other stuff so it's tricky.
https://stardewmodding.wiki.gg/wiki/Tutorial:_Harmony_Patching
The world of Harmony is a bit of a lawless land, but it's incredibly powerful. You can pretty much implement anything you want, but you can also break anything you want. With that in mind, you should begin by reading the main wiki's intro to Harmony to get you set up. This tutorial will focus on the actual patching and assumes you already unders...
"Harmony - a library for patching, replacing and decorating .NET methods during runtime." from the Pardeike website
You can also inject instructions directly into the IL
Which is where the real fun breaking happens
that sounds super fun and janky
This looks like a nice starting place

This does sound really fun though- but hard
hmmm, One is a CP machine with custom C# Output but people have still mentioned it doesn't work with automate. I might need to experiment then
tho that's going to need to wait a few months
not enough time atm
If it's the machine that makes artifacts iridium quality then it works fine for me?
same with the display case maker, though I assume that's CP only
(╯°□°)╯︵ ┻━┻
curse those nexus comments
yeah the display makers are all CP machines
the other one is the water sifter... shifter.... sifter.... the crab pots for artifacts
if a vanilla tilesheet has an animation, do I need to do the tsx thing or can I use the regular vanilla sheet? (the little fountain outside the bathhouse)
@brittle pasture sorry for the ping but I just you more than nexus comments, if you have archaeology + automate, mind tossing a chest near water sifters to see if they work?
So the only true bug with the restoration table is UI infosuit displaying it taking 200000 years.
ah I haven't tried that one, give me a moment
If that one is crab pot-like custom logic then yeah it might not work
yeah, it uses fiber as "bait" and then returns ore / artifacts.
yep it doesn't work
at the same time it shouldn't be too hard to add integration, let me see if I can cook up a PR by next week
TY!
tried before and failed (like during 1.5). Won't have more time till winter months sadly T_T to invest a lot of time into stardew
gotta enjoy it through watching streams till then.
Hi yall! Hey does anyone know when writing events, how to make character sprites layer in front of objects on the map?
(I've never played in a multiplayer save and I'm not familiar with it) For multiplayer worlds and single-player worlds there's only 1 mailbox..right? If so, then can all players access the mailbox and if one player reads the mail can other players also read it?
Thanks!
Hey not really for stardew modding but you guys here are the ones who know techincal stardew haha, anyone know what part of the code in Content.loadstring is defined in the game? I want to see how it works for my own games
I use monogame/xna aswell 
Probably LocalizedContentManager
Oh yea another thing.. so the player argument "All" would work best for mail? I want my mod not to just break in multiplayer or singleplayer
I've been trying update a mod - when starting the game the game throws an error at lines 55-59, saying "null method for <mod name>". If I comment them out the mod works fine outside of these methods. Based on some other parts it seems like the original parameter is being set to null somehow, but I don't know how or why. Does anyone have any ideas for how to fix it?
some relevant code parts:
it means it cant find the method
I see
"chooseStoneType" doesnt exist anymore in the class Mineshaft
so you basically need to figure out 1) what that and 2) which function does do that now
Another thing I have questions about is how noninstancedstatics actually work, I know its an attribute and im assuming it makes the multiplayer game instances use the same statics, but like how does that work?
the answer entirely depends on your use case
the method was renamed to createLitterObject it seems
tbh thats not that bad 
compared to some things i've seen in other games
Basically its to send mail as soon as possible when the mod is installed and player loads into a save. It's this way because I don't want players who have already progressed into their save to wait on a certain date or players who just started to wait on a certain date. So no matter if its Y18 Summer 4 or Y1 Spring 1 You'il get the mail.
yeah
still a lot to look through though
so thank you shekurika for doing that for me
The easiest way to change a line of dialogue in a vanilla event is to just replace the whole event, isn't it?
easiest short term, but tediousest long term with report about compat that may arise
Is there a better way?
i believe you can target a specific field in the event, but i'm unfamiliar with how
I guess I'll do everything else first and figure out events last
is it a letter a player is meant to read or just a mail flag? if the former then yeah you can probably just send to all, as long as you make sure you're checking that they don't already have the mail from a previous save load
if it's the latter then you can still do that but can also probably just get away with just sending it to the host
And everyone will get the letter?
if it's just a mail flag then there is no letter
It's a a normal letter which you can read.
then it's the former case, not the latter, and you should send to all if you want everyone to be able to read it and get its contents
you can, but it's also shoddy compat wise because if any mod edits that event the field index for the specific command could change and suddenly you're editing the wrong part
'Kay then.
yes, but it's more obvious what is happening and possibly also easier to edit with hasmod, rather than having to reedit the entire event again. I also feel strongly that maybe adding fields is to be used with cautious but well
vanishes again
Well for my mod I need to remove almost every mention of the word "mayor" and doing that involves a lot of changing "Mayor Lewis" to either "Mr. Lewis" or just "Lewis" depending on context.
Anyways, editing the specific event command to just change the dialogue would be something like
{
"Action": "EditData",
"Target": "Data/Events/<Location>",
"Fields": {
"<event id/preconditions>": {
//field index starts at 0, each "field" is defined and separated by '/' so you'd need to replace the whole command, so you need to include 'speak X' as well
"<Field Index>": "edited event command"
},
}
}```
i believe pathos would like dialogue in events to be in their own files
to help solve issue like translation having a different script sometimes and this kind of edit too
but i doubt it'll be in 1.6.9 (too breaking a change)
@lucid iron I've pushed a fix that should resolve all the focus-related issues. Tested against both variants of your repro case and my own recent AFS menu.
The FocusSearchResult code was just... bizarre. I don't know what could have been going through my head when I wrote it.
im glad you defeated yourself from the past
Aye, secret twist final boss.
When using another mod's tilesheets like daisynikos, where does it need to go? In the unpacked folder I assume, but in maps? The tilesheets out of their folders or the entire folder inside the maps folder? Or just in the general area of the unpacked stuff?
Assuming it's one that's added by the other mod: in the same folder as your map while editing and then removed when shipping
When it can't find it in your folders it will check Maps for it
(added to Maps by the other mod and by shipping I also mean loading it at all for testing and such, can rename it with a period . in front of the name while testing to avoid adding and removing it over and over)
how do I get my mod to show up in the showcase? do I post it in this channel and use app-publish, or should I post it somewhere else like Governer's Mansion and app-publish from there?
you need the mod author role
you can ask someone with the role to do it for you
usually it is posted in either here or #modded-stardew and then published with the bot
How would add a entry in a list using content patcher? Text Operations?
same way you add to a dictionary, you still need to use a key
ah, I see, makes sense
https://www.nexusmods.com/stardewvalley/mods/28053 would someone with the mod author role be willing to publish this with the bot?
My bad, I meant a dictionary. And how would you do that exactly?
what would you like the tagline to be?
tagline?
something catchy just as a text to post alongside it unless you just want the description
So then how does it know to check the other mod folders? Or is the CP part of the tilesheet having SMAPI load it into the Maps folder.
manifest dependency
specifically the manifest dependency will make sure your mod loads after theirs
but your mod doesnot check the other mods folders
most tilesheet mods will load their tilesheets into the game the same way you'd load your own, into the Maps asset
so then your map will be able to find it even if you dont have the pngs in your own folder, bc the game has them
ok so putting the custom tilesheet into the Maps folder in the unpacked stuff is copying what the tilesheet mod will do when it loads.
Unpacked has no effect on anything
you dont do anything with the tilesheet once you're done making your map, you delete it from your mod before publishing
You can move stuff into and out of unpacked just for your convenience
right
you only keepp the tilesheet in the same folder as your mapp so that Tiled wont complain at you and you can actually use it when developing
Like I move outside tilesheets into my unpacked Maps folder for editing since all the vanilla sheets are there
you throw the custom tilesheet into your working area, the unpacked folder, use it like you would any other tilesheet because they've probably appropriately appended their tilesheet names, then you can just yeet your tmx into your own loading folder for your mod after you're done
Also to avoid climbing later
where I'm curious because I am running into a lot of different types of "we couldn't load this tilesheet" errors, if the exact pathing in that unpacked folder matters, if it needs to be in folder or out, etc.
it will only read from maps, it cannot climb folders with the exception of mines because mines is inside of maps
you should not be loading pngs from the unpacked folder if the .tmx you're editing is not also in the unpacked folder while you're working on it
(loading them in Tiled i mean)
bc if you try to load a tilesheet png in Tiled from a folder thats not the same folder as the .tmx, then Tiled will say like "Ok I want the png in C:/Stardew Valley/Unpacked/blabla.png"
which means when you run the game, it will also try to look at that specific folder, which wont work
if you load a png thats in the same folder as the .tmx, it just gets written down as "tilesheet.png" without the "C:/Stardew/etc etc" stuff before it
So the game just tries to load "tilesheet.png" and not a specific directory
which will work
ok, so daisyniko's tilesheets, which are in a folder, need to get removed from that folder and placed "loose" in the (unpacked) maps folder same as the custom farm map.
no, the daisyniko mod (i presume) is loading them into the game with content patcher
Pretty sure it's loading them, I had to install it for a different mod that uses it
you can temporarily copy the PNGs from the daisyniko folder into your own mod folder with your .tmx
if you have your own custom .tmx inside the Maps folder though then yeah itd be the same
To make things easier on myself, I usually just move the tilesheets to wherever the content.json says they're being loaded to in the Content (unpacked) folders, which is usually loose in Content (unpacked)/Maps so that I can then edit my TMX inside the Content (unpacked)/Maps folder and not have incorrect pathing when I save it.
(but the map would ofc need to be moved into your own mod folder after you're done)
And then I just copy my finished TMX over to the mod folder when I'm done
As rokugin said, the Unpacked folder has no effect on the game whatsoever. any changes to the unpacked folder do not matter at all for the game
you can delete the entire unpacked folder and nothing would change
No I understand that.
I think it's just concerning that you keep mentioning it lol
(I jumped in because it sounded like people were disagreeing about methods and causing confusion)
i dont think anyones disagreein about anythin
sorry that I am being imprecise with my language. Since the custom farm map being loaded into the game is requesting a specific file path for the custom tilesheet, how it's being edited in Tiled feels important when it gets copy-pasted into the mods folder from the unpacked folder.
just all trying to explain it but a bit disjointedly 
If Unpacked Maps is your working folder, that's fine, that's my preferred method, just gotta make sure you don't think it's important that it is
I agree Button, but it was coming across that way to my brain. 🙂
In this case, the content.json for daisyniko says this:
Which does make me think it's going "loose" into the Maps folder and then the other things in the content.json pull in the variants as needed.
nothing needs to go into the unpacked folder, ever
It shouldn't be requesting a specific file path
If it is, that means you didn't have the tilesheet in the right place when editing and you have tilesheet climbing
people will put their custom .tmx and tilesheets inside their unpacked Maps folder for editing bc it means you dont have to copy all the vanilla tilesheets temporarily either
but its just a convenience and not a requirement
The only reason I work from the Content (unpacked) folder is so I don't do a dumb and accidentally leave the tilesheet files in my mod folder when I publish
Because that's a very not good practice.
Last thing I want to happen is that I redistribute tilesheets without permission in my mod or I break the ability of other mods to edit them.
some of the confusion may also be coming from the not uncommon "asset names are folders?" confusion too
Ok so:
Custom farm map uses CP to insert itself into the base game's Maps folder.
Daisyniko's tilesheets use CP to insert themselves into the base game's Maps folder.
When in game, the custom farm map says "give me spring_daisyextras", and the game looks for "Maps/spring_daisyextras" and loads the relevant bits in.
So when I am in tiled and making the map, spring_daisyextras must be at the same folder level as the custom farm map, so that it doesn't try to climb out of that folder to another one when it goes to the mods folder to be loaded into the game.
speaking of Tiled, I also have some questions that can be answered after Teoshen's.
- I made a copy of the vanilla farm map, moved it over to Tiled, and started playing around with the various tools, because the wiki says to always start from an existing map, and never make a fresh custom map. but one thing I haven't figured out yet, is how to increase the size of the map I started with. how do I do that? dragging the stamp tool over to the dark void on either side of the existing map doesn't seem to work to expand it.
- I can copy-paste selections of tiles, but for some tiles like Grandpa's Shrine, which have Tile Data associated with them, the tile data does not copy over. if I wished to move Grandpa's Shrine around on my new map, is it possible to copy-paste it using a different method, or should I enter that data in manually?
- I am still working on an unpacked version of 1.5, because right now I'm just getting my feet underneath me and using an older version to learn what tools do what shouldn't matter. I saw that the unpacker tool has a 1.6.9 version, and I was wondering, for anyone who's unpacked it to know, is there a difference in tilesheets between 1.6.8 and 1.6.9? should I wait to unpack 1.6.9 when it's released, or just unpack 1.6.8 now?
Yep
And also make sure you set a dependency for Daisy's mod on your mod
and dont forget to delete your copies of the tilesheets in the same folder level a s your custom map before publishing
And for ease of use, that folder when working in Tiled happens to be the unpacked folder. I copy-paste the .tmx for farm and farmcave to my mod folder when going to test.
(delete the vanilla tilesheets you were using too)
- you can copy object layer stuff
- there's new tilesets in 1.6, you should unpack 1.6.8 and work from that
Yep, as long as you're working out of the unpacked you don't have to do anything else special with deleting tilesheets as long as you only copied what you needed into your mods folders
Important note when expanding map sizes: Try to expand right and downwards only if you are editing maps with prexisting warps and building coordinates that you don't plan to change, so they don't break unecessarily.
there are vastly more tools in 1.6 than 1.5 has, so you're better off learning and moving up since 1.5 is also still under the .tbin assumption and i haven't fully tested it, but i'm working under the assumption that tbins have a limit of TileData
Also some things that were in 1.5 might not be in 1.6
I know part of this! If you're doing a new map, you can do it in the content.json like this:
For an old map I might have a backup that still works I can look for.
Just between 1.6.8 and 1.6.9 several unused tilesheets have been removed
yeah the weird 4x tilesheets got yeeted
thank you, everyone! I'll get 1.6.8 unpacked. I was planning to do that once I learned how the Tiled tools worked, but wasn't sure if 1.6.9 would add more tilesets or something else worth waiting for
I don't think it adds any new sheets, just removes some
(speakin of, anyone know if that console port release date is also the 1.6.9 release date? are they being released at the same time?)
Could I get some help in reupdating my Dear Diary mod.. it's the last one I need to reclaim my losses
I heard tell that the console versions would be released on 1.6.9, so I am assuming that 1.6.9 releases no later than November 4th
NOTE: The development and release of this patch does not have any effect on the timeline of the console and mobile ports. However, the features of this patch are planned to be available in the console/mobile ports upon initial release. Thank you for your continued patience. loud shrugging noises in the distance
I've gotten it to be 1.6 updated.. i just got to get all the code from the uploaded mod re-done to my source so they are parallel again. I've been failing that DX
what do you mean by that? are you trying to push code to your git repo
I'm just going to yoink that image for my own future reference, thank you! I am assuming that the numbers in the "", such as "Warp Totem Entry": "48 7", are the coordinates for where you reappear when you use a farm warp totem?
Yes, in [x y].
well, a while ago.. I lost my HDD carrying all my code. The Github sources were not up to date. So I have none of the work I've done since 1.5 or less
oh i guess you can decompile your dll in that case
Pathos helped me restore Event Repeater, and I was going to rewrite Investment and NPC Creator, and all UCRC needs is basic updates. I just need Dear Diary restored
the old way I was doing the map required doing all the warp replacements or something, or I just did them anyway and it was awful for compat, the new content.json way is so much nicer to just insert the new warps and not replacing all of them.
I tried that but it's not working for me
Decompiling isn't very reliable if you want functional code, but it might give you the majority of it
yea "do decompile" is assuming you really cant recover the data directly
Dear Diary had a major interface update, and the decompiled code isn't giving me enough to make it work properly... I'm missing something
so would you recommend making the Tiled map first, being blank of tile data (still being made from an existing map, of course), and then adding in the specific tile data like warps, shrine, entrances and exists to bus stop, back woods, cindersap forest, etc, in the content.json? just so things are easier to focus on and sort?
it ultimately depends on how you can parse where you've put what, whether putting all of your info in the .tmx is better for you, or to have it all as content patcher edits
that's fair. I might try it both ways, once I have more experience with all of the tools, though right now I'm leaning more towards having content patcher edit it in so that I don't have little grey boxes that say Tile Data popping up all over everywhere
expect to spend much longer than you think on it
this.\u002Ector(1, 1, 1, 1, true);``` mostly the code is riddled with this
because i was dealing with custom locations, i nuked quite literally all of the data from my custom locations inside of the Tiled data because it was getting annoying trying to remember what was linked to what
I feel it's easier to make the change in the content.json than to open up the map and fiddle with tiledata.
yeeeeeah... I should probably start with something like my shed edits first, but why not dive in headfirst with a farm map edit, right? XD
Just curious, my house is 100% expanded, Idownloaded this mod, and I don't see any options to add rooms, Did i miss something?
What should I put in location name here for the Flower Dance map? No idea what it's called internally "When": { "DayEvent": "flower dance", "LocationName": "town, temp" },
you can do whatever you want tbh, my first map was my own custom location and i had to break it in half to finally get it to work
what is this for? usually just the 'dayevent' is enough
My hacky workaround for festival outfits, with said hackiness not being relevant
my first custom map was a full map change making it 1/3 the size and that was a doozy but you learn a lot when diving into something big.
It's a workaround for a reason, hence why "not being relevant". Yeah but I like keeping location name as a security net
if theyre changing an outfit to a festival one then dayevent isnt enough if they dont want that outfit worn outside the event
appearances would be better
but regardless i think the flower dance map might still just be "Forest"
the name, anyway
Will try that, thanks for the answer
one last question for now. do farm maps always have to be square/rectangular, or can you have strange shapes like this one?
you can make them that shape but it will lead to visible swaths of pure black tiles if you dont put anything there
assuming you let the player get close to the edges
so I did this and it works ok in game, make it rectangular but block off sections.
alright, that works. just gotta remember to make cliffs and extra cover so the black void isn't visible, then
the viewscreen does not go far enough to let them see the boring green
yeah, that should work great!
i suspect this StardewJournal.UI is some shared thing but for now i put it inside DearDiary
ilspy
dotnet ilspycmd -p --nested-directories -r "path/to/steam/Stardew Valley" -o DearDiary "path/to/DearDiary.dll"
i wonder how farm events work if your farmhouse isn't set to 64/15, i don't actually use custom farm maps that often
You can move your farmhouse in the base game I thought
there are maps that do it for sure
You're a freakin' wizard, I was looking at this with no idea what to do to fix it
my silly automate stardew 1.6.9 decompile excursion paid off
(it still refuse to decompile without root)
Uh, how do I fix this?
you need to use actions for list
You can drop the [] to make it a single action
(specifically the Action inside the entry you're adding)
(not the Action before EditData)
But I prefer just using Actions and only listing a single thing
hey, I'm sorry to keep bugging you all. when this says itemID, does it just mean the item ID in string form ("111") or does it want something else?
I'm putting it in as "751" (for copper stone) and it's making errors
that's the function for big craftables
but it's better to use ItemRegistry.Create
instead of using the constructor
ok i'll try
thanks!
is that for creating tiles? it seems like its for inventory items
its for creating items in general, they dont have to go in the inventory, you can use GameLocation.setObject to place the object after
ah yeah ok
alright
generally i dont think theres ever a reason to use a constructor for an item directly vs ItemRegistry. but i wont say that definitively bc there might be like some edge case or somethin
the only one i can think of is colored items
did you take the code from my git? Or is this a full decompile
i was using dotpeek.. is ilspy better?
(i did forget about colored items tbh)
probably? i am use ilspycmd just cus it works on linux 
So I would do this? How do I convert from StardewValley.Item to StardewValley.Object?
Item var = ItemRegistry.Create("751", 1, 0, false);
Object object = var.(convert to object)
GameLocation.setObject(<tile>, object);
well i'll take a look and hope for the best xD
but first
casting it to Object would probably work, but you can also do ItemRegistry.Create<Object>("751"))
i would qualify the ID though
i use avalonia ilspy bc im on linux
Hi loves! My laptop has been smitten, and is slightly dying a bit. Anyways, what's the reccomended gh of the processor which ought be used considering both VS and Stardew happening with a debigging?
To add, check out https://stardewvalleywiki.com/Modding:Items#Overview for an explanation of what qualified item IDs are and why they're necessary
alright
i feel like memory might be more important than processor 
RAM is definitely something to think about
If you can swing 32 gb that’s going to be more than enough, otherwise 16gb is typically the next lowest?
it's an instance method
Honestly I’m not an expert in computers but “something reasonable” should be fine for Stardew
need to call it on a variable of type GameLocation
Stardew isn’t the most intensive game, and VS is a bit intensive but not super
aka the location you're adding the object to
i’ve got 32 gb of ram but a horrible graphics card so like. a little of everything is important
(laptop)
Yeah 16GB is a reasonable minimum for that kind of work
I have a relatively older laptop and the only time CPU was a bottle neck for VS + Stardew was when my VS glitched out and started using 100% of my CPU for some reason
what is v used for then? Is that just coordinates which is different from GameLocation in some way?
That's the coordinates, yes
alright
there are multiple locations (Farm, town, mines, Mayor Lewis's house, etc.)
that makes sense
Question, if debug ebi is for events, what's for dialogue?
Thank you!
Thanks loves!
That's a great question! I am going to try to look because I want to know too!
AAAAA thank you 
Clearly you need a nasa supercomputer to develop stardew mods
100% justified purchase
Also 4k monitor
forgive me, but how do I get the GameLocation for the mines level the player is in? All I can find is doing it for permanent areas
Game1.currentLocation
awesome
idk if this is the place for it
@zealous drift You leveled up to Cowpoke. You can now speak in our voice channels and share images in all channels!
but i wanna change a certain sprite ina mod
i want to change a sprite in the earthly recolor mod\
how could i go about doing that
i just simply dont like the artifact spot sprite
you can edit the mod directly if its just for personal use if you want, or you can just edit the same sprite yourself with content patcher
so if i jsut delete the png for the artifact spot will it just return back to normal?
First, check if the mod has a config to let you turn it off.
If it has a config, then use the config.
it would probably give you a red error in your console when you play but if youre fine with just ignorin that itd work well enough
i just change digspot to false?
Yes
Also recommend installing Generic Mod Config Menu to change this (and other mod's) settings in game
Generic Mod Config Menu (GMCM) is a fantastic mod to have and I highly recommend it.
bruh i didnt know thats how GMCM works ;-;
i went through the files for no reason
you're only adding the mail if they already have it
with that condition
if they all already have it
add a ! at the start to negate the condition
then woudn't it be better just not to have the condition?
trigger actions don't refire by default so yeah you don't need the condition there
the condition would be checking the Current player so you can account for playuers joining after the first day
i may have misunderstood/misremembered a bit exactly what you were worried abt with multiplayer earlier
no you got it
I just tuned in so I may be missing context but if all you want is "this mail enters the player's mailbox immediately when they start playing if they hvent received it so far, host or farmhand" then no condition is fine
if you do that you dont want to send the mail to All again though every time that happens
yeah Current should work
like that too but also in single player worlds so it dosent matter if the player has progressed in the save or just made the save they'il still get it
yeah that works
looking back at your original message from earlier today i think i suggested the condition initially bc i thought you wanted it to check to send the mail every time a save was loaded
not just the first time
did you test on a new save
trigger actions by default apply once for the player, ever. if you were testing it earlier with the same ID in your entries and ever had the condition resolve to true, its already been applied and wont do it again
even if you change the actions or conditions after
I went on a different save it still didn't work.
are you making sure to sleep once to get to the second day
Nope! I should (probably) change the trigger.
if you dont specify which mailbox for the AddMail action it defaults to tomorrow
yes, if you do it on the start of the first day, then tomorrow will be the second day
if you did DayEnding then it 3would be there when you woke up, but obviously that also doesnt make sense if you want it on the very first day
the first time you load into a save the DayStarted trigger will happen, it does count as a day start
@next plaza: look into this (24h ago)
wait I wasnt meant to be doing stardew modding with 128gb ram on 4k monitors this entire time?
i mean unless you're the stardew3d author 
but with the changes to how stardew doesn't care about dpi scaling it lets me see the world
I could use 128 gb of ram to have all these tabs open
it comes in handy here and there
I think the last time I actually hit real OOM was last years advent of code where I multi-processed the code a bit too violently
That's commitment. I don't think I've ever managed to use more than ~50 or so with 3 instances of Visual Studio, a hundred Chrome tabs and a DAW open.
(They haven't posted any updates/commits lately which tempts me to pull my version of stardew 3d back out...)
36 gb available? i wish
...how
sorry for possibly flashbanging you guys with light mode task manager
I only have 64 GB of RAM 😔
4 GB isn't even enough to run a modern operating system with no apps...
oh it is
windows 10
it should be against the geneva convention or something to be <16gb ram, let alone be in range to still be on a 32bit os
While you're going for the whole antique vibe, why don't you grab one of those 5400rpm plate hard disks with less than 10 GB total capacity.
ok now this is offensive to my 13 inch hp school laptop /j
Does it have a VGA output? You could connect it to one of those 256-color CRTs.
hdmi is modern-ish
but hdmi doesn't have the screws to make it so if someone trips on the cable, its the laptop thats destroyed not the cable
you'd be surprised how broke i am
I think it's hard enough to unplug that'll still happen
You don't even really need to trip on the cable, just try to pull it out without thinking.
you could pick up devices by the vga/dvi cable if it was screwed in
(and then watch your equipment fly across the room)
My cat ripped my entire monitor, tower, keyboard and mouse off my desk once because she got tangled in a cord
huge wallet burn
It was during my "my bed is my chair and it's on the ground" faze, so everything survived but still
16kb ought to be enough for everyone
16kb???
In 1985
fr
It only takes 17 minutes to boot up to the first command prompt
floppydisc era
Floppy disks held way more than 16 KB.
what's next, we're going to run out of IP addresses?
not the storage of the discs but the time they were around
IPv8 when
To be fair, though, we wouldn't actually have run out of IPv4 addresses if like six companies weren't hogging 80% of them.
16 KB anything was not a thing in the floppy disk era, not even the 8" floppy disks, unless we're talking about the size of a file on one of them.
(yes we would have, ipv4 only lasted as long as it did due to agressive NAT and CG-NAT)
hiii
is anyone able to help me?
i'm making a farmhouse interior mod and it's changed the location of the entrance, how am i meant to find the warp location to leave the farmhouse?
it's telling me i need 5 locations(?) but i'm not really sure how i'm supposed to find those!
(ngl I'm not going to backread that convo on computer specs.)
hi! bye! Enjoy the third dimension!
I believe you should have a Custom Property on the map called Warp with <currentX> <currentY> <destinationLocation> <destinationX> <destinationY>
when you're looking at the map in Tiled, mouse over a tile and in the bottom left you should see its coordinates.
as for the 5 arguments, what rokugin said
Original Warp info is at the bottom there
Which actually shows off that you can list those coordinates as off the map, though I only suggest doing that for the current X and Y, not sure you want to appear outside of the regular map bounds after all
If you don't see properties like that, try clicking Map > Map Properties
Easiest way to make sure your map has at least the baseline stuff is by just copying the map you're gonna be replacing and starting from that as a base
Especially since if you're replacing a vanilla map, you need to have specific tilesets present in specific order
Remind me in 6 days to look into marriage schedules breaking with my 0 schedule fix
for a moment there I was gonna say no, absolutely not. but kittycatcasey? yeah, yeah i will. (#6257575) (6d | <t:1727569896>)
does the bot have favoritism? lol
Nah, it's random (but it sure does feel like it sometimes lol)
thank you!! @rancid temple i don't know why but when i was reading it up, my brain felt like complete soup
i've fixed the problem 
9.99/10 it's a hater
man, i should've asked earlier. i was messing with it for like an hour 
is that like a command or a role privilege or wat
The bot?
yeah the remind me thing
I don't think you need a specific role, but it only works in certain channels
You just have to start a sentence with remind me and then I think a time increment and what you want the reminder to say
i use it to remind me of remedial tasks in my own thread lmao
Remind me in 5 minutes to do a thing
I love meanies, so for you rokugin? absolutely (#6257583) (5m | <t:1727052251>)
Remind me in 5 minutes to continue working on my mod
Oh okay, taipronouncedtie (#6257585) (5m | <t:1727052275>)
oh
That said, I'm sure the mods would appreciate if we don't abuse it :P
oh yeah for sure
Farm computer bot has the cool wiki linking thing, but I dunno if it has to be at the start of a sentence or not [[Modding:Index]]
Guess not
[[Modding:Mail_data]]
oh
Not sure if I could be bothered to remember all the different names though lol
Easier to just copy paste when people ask for different things
yeah
@rancid temple: do a thing (5m ago)
@glad zenith: continue working on your mod (5m ago)
(reminder that #governors-mansion exists to play with the robots)
yup
Oh right, I do forget about that channel
ok, here's my smapi log and what I think is how it should be fixed but it is still throwing the error: https://smapi.io/log/1bf10b7727ce48f7ad751fa5a2d913bd
Log Info: SMAPI 4.0.8 with SDV 1.6.8 build 24119 on Microsoft Windows 10 Home, with 12 C# mods and 2 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
i have been contemplating minting cheetoification with my own command but i haven't done anything else substantial
It's the "reordered tilesheets" error and I renamed the tilesheet.
Fixed broken map replacement: Content Patcher loaded 'Maps/FarmCave' without a required tilesheet (id: cave, source: Maps\Mines\mine).
The name of the tilesheet doesn't matter in this case, it's the name of the tileset
Vanilla maps look for specifically named tilesets in specific order
maps internally only operate on tilesheet order, not name. so reordering them desyncs things and causes a Bad Time™️ which is why smapi protects it
After it's satisfied that those are there, you can put whatever you want
You don't have to use the original sheets/sets, they just have to be there
oh i should give roku my monster disaster map
I must have over the last 20 iterations of this map nuked the originals and replaced them a few times and forgot it was supposed to be named differently
That doesn't sound good lmao
Does this mean you could call them whatever you wanted as long as you preserved the order (if SMAPI didn't object)?
smapi cares about the tilesheet ids matching what it knows about vanilla tilesheets
In order to see this, you need to look at the log generated in your files or view raw log on the site, the normal view on the site is parsed @plucky reef
// when replacing a map, the vanilla tilesheets must have the same order and IDs
if (data is Map loadedMap)
{
TilesheetReference[] vanillaTilesheetRefs = this.Coordinator.GetVanillaTilesheetIds(info.Name.Name);
foreach (TilesheetReference vanillaSheet in vanillaTilesheetRefs)
{
// add missing tilesheet
if (loadedMap.GetTileSheet(vanillaSheet.Id) == null)
{
mod.Monitor!.LogOnce("SMAPI fixed maps loaded by this mod to prevent errors. See the log file for details.", LogLevel.Warn);
this.Monitor.Log($"Fixed broken map replacement: {mod.DisplayName} loaded '{info.Name}' without a required tilesheet (id: {vanillaSheet.Id}, source: {vanillaSheet.ImageSource}).");
loadedMap.AddTileSheet(new TileSheet(vanillaSheet.Id, loadedMap, vanillaSheet.ImageSource, vanillaSheet.SheetSize, vanillaSheet.TileSize));
}
// handle mismatch
if (loadedMap.TileSheets.Count <= vanillaSheet.Index || loadedMap.TileSheets[vanillaSheet.Index].Id != vanillaSheet.Id)
{
mod.LogAsMod($"SMAPI blocked a '{info.Name}' map load: {this.GetOnBehalfOfLabel(loader.OnBehalfOf, parenthetical: false) ?? "mod"} reordered the original tilesheets, which often causes crashes.\nTechnical details for mod author: Expected order: {string.Join(", ", vanillaTilesheetRefs.Select(p => p.Id))}. See https://stardewvalleywiki.com/Modding:Maps#Tilesheet_order for help.", LogLevel.Error);
return false;
}
}
}
I guess in this case, the Id is the tileset name?
good to know ty
in this case, smapi found the tilesheet straight up missing, fixed it, then found that the order was wrong anyway so hard blocked it
it is working now (loading without error and I can enter the map) but the animation is not so will see what that's about next.
man I can't imagine doing this without SMAPI.
All harmony patching
(smapi itself doesn't do harmony patching for any of this)
I'm trying to make a fully C# mod as a form of torture a learning exercise, and I'm stuck on getting some building assets to change after the config is changed
It does update when the game's reloaded
Like a data asset?
Images if that makes a difference
I don't think it should actually, not sure why I was thinking like that
DId you invalidate it?
Nope, guessing that's where I should start ahaha
Not sure if that'll make it happen in real time though, because the asset will only change the next time it's requested
Should be more frequently than reloading the game though
Mmm alright, I'll give it a spin
i think you can also load the asset once you've invalidated it
Jeez that worked well, thanks lots to the both of you
hmm is it possible for a farm map to make stardew valley expanded to throw a tilegid error?
Trying to remember why tilegid errors happen—probably not but maybe?
I think those happen when the tmx files get screwed up?
I probably installed expanded wrong, but it does not like the bus stop.
But possibly when the tilesheets themselves go wrong
did you edit the bus stop?
No, just the warps in the content but that shouldn't do anything.
Try removing everything else—there’s little chance SVE release versions are broken. Add things back bit by bit until you find what’s broken.
are you use MapProperties instead of whole tmx for that
Warps can make some horrible errors
It's in the json, no warp tiles in the tmx.
It loaded a bus stop which I assume is the vanilla one.
Improperly formatted warps cause red errors on attempted map transition and black screen
I'll turn everything else off but the custom farm and get a fresh install of expanded and related mods.
Warps into and out of the bus stop worked.
So close to release... Then I can get back to the big one.
Could somebody explain to me what this means exactly?
Which part?
the uh top paragraph(?)
It sets the letter background (the picture behind the text)
You can give it new backgrounds in very specific sizes
yeah i get that i just want to know how to name the asset
you can name it whatever you want, its your custom asset
its saying whatever asset you point it towards should be a texture with those specifics
thanks
https://stardewvalleywiki.com/Modding:Maps#.22Invalid_tile_GID:_.3C.23.3E.22
Tile GID errors are caused by editing your maps without all the tilesheets present, causes the XML data to lose important data like how many tiles a sheet has on it, thereby screwing up the ID's of all sheets after it
Hmm so not on my nap then, must have done the sve install wrong.
Yeah, your map shouldn't affect it, though I do wonder what exactly went wrong to make it happen
Did you open the sve map at any point?
I've been doing my modding by putting all my old mods in a separate backup folder so I don't have to sift through a bunch of folders when making edits to json (yes I also use stardrop), so when I went to test sve compact I just copy pasted.... June? version back into the mods folder. It didn't whine that it was missing anything.
Have not opened any sve maps.
But I know it's particular about how it's unpacked into the mods folder, maybe I missed something.
Doing baby night routine and then I can check.
(recommend using mod groups so you don't have to move stuff around all the time)
It's not very scientific, but any time anyone has a problem and they're using a mod manager I just blame that lmao
especially nmm 
Nobody is even using NMM though. Do you mean vortex?
yeah that thing
Stardrop seems good, only thing I don't like is that it puts mods it unzips into a separate subfolder.
Is NMM still in dev?
I install my mods manually and use Stardrop to update them so it preserves my folder management.
No, NMM is incredibly old. You're thinking of NMA and yes that is still in development.
so, in my findings i've found that patch reload is working on schedule animations, i don't know if it affects anything else outside of that though
I would guess that's because it's referencing the animation that's changed by the reload?
Since the schedule itself can't be changed by a reload
They decided to call it Nexus Mods App because apparently a lot of people get confused about the word "manager" and all the cool kids have "apps" these days.
Ah lol
I mean, with the advent of Windows 11, it's more accurate to their weird, bad phone-like architecture
Remember when vortex tried to enforce cultural invariance and broke SVE?
no. do tell
cursed
fresh SVE install worked fine, no errors.
I have never blocked a person on Nexus before, why is this person here?
Blocked by Unknown is interesting
were you given edit privileges to a modpage? 
I don't think so. I hope not.
question about making a mail framework mod. What exactly is groupID????
First time trying to mod with fashion sense framework, I made a change to the floppy ear sprite in another modpack since it + the animation sequence is so close to what i need. Problem is i made it a little longer, so it was cutting off at the bottom. So I moved it back into the 16x32 area in the spritesheet, but now the coordinates are set wrong. I don't know what to set them to? I'm having trouble figuring out why the current coordinates are the way they are to begin with. The wiki isn't really helping.
I made an album of captioned screenshots. Would very much appreciate the help!
That’s a specific mod page right? If so and If I recall correctly it’s a bug that happens when someone with the same nexus mod is for a different game blocks someone
huh
Nexus mod Id
(while im not sure of the answer to this question, i want to at least ask first if you're sure you need Mail Framework Mod?)
Like the number in the url
how interesting
Wait why isn't it keyed by game + id 
have you downloaded all the requirement mods and read through all their instructions? This is a PIF mod, you wont find the rooms at robin's.
wait can it be done through CP?
most of MFM's features can be done with just CP now in 1.6
it's a thing the mod has that lets you group letters together
very likely yes. i think MFM has one or maybe two features over CP for mail, but i don't remember what they are
suppose you want to send mail from your mod randomly, but no more than 1 per day
MFM allows you to do that in batches via the group ID
at least, if I recall correctly
oh thank the stars.
I thiiiiink I used that feature for my lunar new year foods mod
i just want sure how to add the custom letter bg to the content patch ver of the json
"{{ModId}}_Mail_JunimoScrap_Crop": "[letterbg Mods/{{ModId}}/Letters/junimoLetterBG 0][textcolor black]Test Text[#]Test Title",
heres an example from one of my mods
however, if you want to do secret notes (a weird, different kind of mail), i recommend the framework for that, since those were not made easier to deal with in 1.6 >.>
(you dont need the textcolor part tho)
Thanks everyone! off i go to make mail i suppose
I checked all of the requirements, I went to the title screen and looked at the available mods i can configure, and it wasn't there.
do you use GMCM? a mod without a config in the content.json wouldn't appear there. that does not mean the mod has not loaded
is this your first time using mods?
unless im reading this wrong and you have not downloaded PIF
PIF is a framework for new rooms in your farmhouse.It's especially useful on tiny farms and in multiplayer, as time stops in that room on days when the player didn't play.Access to your pe
@vernal crest new version of BETAS just uploaded with the NpcArrived trigger you asked for
also along with some other stuff that im sure others are very excited about like the harmony patching /s
(i also added a GSQ for checking whether or not location(s) have specific furniture placed but i dont remember who it was that couldve used that for their limited purchase spouse portraits... so uh, i guess if anyone sees them around again, feel free to let them know?)
i finally got over the hurdle of writing the documentation for the harmony patching stuff by deciding to just go "heres the required fields, heres a couple examples, good luck"
@tiny zealot just noticed your secret notes framework tonight actually very much looking forward to utilizing that in my mod
Hello I was wondering if anyone knew how to create your own temporary sprites for Stardew valley’s or if it’s even possible
this isn't my first time using mods. But I am in no way experienced . Yes, I have GMCM, And PIF - Personal rooms. I see the mod is loaded when i run Stardrop. But in game, how do I add these? Did I read right when it said you can use it on Sheds and Cabins?
You have to buy a door item from the PIF dimension door vendor or the furniture catalogue to add a PIF room. which is why i mentioned to read all instructions of the required mods
oh. Ok I didn't notice those instructions. I will go back and read them again.
and yes, you can use PIF doors in other farm buildings, not just the farmhouse 
@ivory plume The Backwoods map is missing a warp at 50 17 and currently allows the player to walk off screen (it looks like the .tmx has duplicate warps at 50 16)
I am trying to get the animated waterfalls from the Forest map so I can use them in my Farm map. I've followed the instructions here to get the map loaded in Tiled so I can save the tileset as a .tsx file, as indicated in step 3, but I'm not seeing which tileset has the animated waterfalls on it. does anyone know what I'm doing wrong?
the {{season}}_Waterfalls files, in Maps
I found those, but will they come in already animated?
you'll have to make the animations in tiled i believe?
if you open up an existing map that'll have the tilesheet with the animations on it you can see what the timings are supposed to be
that's the weird thing, though. the Forest map has the animated tileset for the waterfalls, but I can't figure out where to pull them from that'll keep the animations
and the snip from the wiki that I linked says that those are the steps to avoid having to reanimate them myself
i have never done what you're trying to do, but there is a "export tileset" button below the tileset
well, then yeah you'd export the v16_Waterfalls from the forest map
oooooooh, I'm an idiot, I didn't see that there were more tilesets to click over to!
pardon my blindness
I have another Tiled question, how do I copy-paste selections of tiles, including their Tile Data? I can copy-paste tile selections themselves, but can't seem to get the tile data attached to them to come with.
what do you mean by that?
I'm editing an existing map to make a farm, and I want to move where grandpa's shrine, the farmhouse, and mailbox are on it. I can select to move the tiles themselves, but I can't seem to get the tile data that identifies the mailbox as the mailbox, or grandpa's shrine as grandpa's shrine, to move with the tile selections when I use the rectangular selection tool to grab those tiles
for example, I want to move the farmhouse and mailbox a couple tiles north of their original position
you need to select them on the layer they are at, which is an object layer looking pink
ahhhh, okay. so there's no way to grab them both at the same time, I need to grab them both from their individual layers and move them one at a (layer) time?
test selecting multi layers and see
Hey, im looking to make some very simple hearth events for my custom NPC. I have a general idea of how they work but honestly, I dont really know where to start. For starters, im using content patcher, so I need to make a new .json and use an include in the content.json for it?
You don't have to, Include is just an organization tool to make it so your content.json doesn't get insanely long
Alright... So, if I need 5 events, I can just use 5 different Ids in the same .json and that should work?
Is the only thing missing in the tutorials I have seen, how to actually create the file for the game to pick it up
Hm, didn't realize it didn't elaborate on that, all the other tutorials on the wiki seem to be slightly outdated. I haven't done a great deal with NPC's so I'm not super sure on the process here.
Might be best to just ask again in a little when more people who do events are on
Morning! Can anyone tell me if I've misunderstood something about adding custom maps? I used the code in content patcher as a template but SMAPI seems to be asking where the Action is:
"CustomLocations": [
// add the in-game location
{
"Name": "{{ModId}}_ExtendedForest",
"FromMapFile": "assets/ForestPatch4.tmx"
}
]
}```
CustomLocations is deprecated
It's also not a part of Changes, it goes on the same level as ConfigSchema
oooh
Aside from that, I can't tell you much more about it because I never used it and don't know anything about it
It being deprecated, I just use the Data/Locations method
You would load the tmx into Maps with a Load and then add the location to Data/Locations with EditData
okay, thank you!
so far I have the farmhouse done, mailbox done, pet bowl done, spouse area done, shipping bin done, farm warp area done, and a small yard and dedicated obelisk area. does anyone know if the pet bowl and shipping bin belong on the Buildings layer, since you can move them at the Carpenter menu, or if the top layer of the shipping bin should be in the Front layer so you can walk behind the shipping bin?
If you open the map properties you can see those locations are just set by property
Like on an existing farm map
Their tiles aren't placed, just a few of the placeholder Paths are used to indicate where they end up
Quite a lot is set by property on the farm map in fact
the map I'm working from had a bugged pet bowl to begin with (it was unmovable at the carpenter's shop and the game actually spawned a new, moveable pet bowl in the middle of the map when you first loaded in), so I don't have any idea what to set for it. same with the shipping bin, it didn't have one for me to look off of, so I had to take a wild guess
Open a vanilla map
I have the default farm open with the tilesheets loaded, but I do not see a pet bowl or shipping bin. am I missing something?
They're both placed by the game code based on two map properties (so you will not see them in Tiled)
At the top click Map > Map Properties
On the left the properties panel should show all the properties at the bottom
you mean these? (I'm sorry if these questions are stupid, asking stupid questions is how I learn)
oooooh, the other map I've been working on has a lot more!
is this where I make my edits to make sure things spawn and exits lead to their proper place?
ok, I see the Shipping Bin custom property, and to add the pet bowl to the list is adding PetBowlLocation <x>, <y> to the custom properties list somehow, correct? do I need to add an x,y coordinate for all 4 tiles for it, or just for one specific tile and it will orient the other 3 based on the original coordinate?
For both of them it should be the top left corner of the pet bowl/shipping bin
awesome! thank you so much for the help and showing me where to find this stuff!
If you're writing heart events for locations that already contain vanilla events, you don't need to create a file, you need to edit the existing file. This is an example of me doing that in my mod. You can put a code block like this inside your content.json or you can create a separate .json file with this in it (inside a "Changes" field) and then use an "Include" code block in your content.json.
{
"LogName": "Hiria's Mountain events",
"Action": "EditData",
"Target": "Data/Events/Mountain",
"Entries": {
"{{ModID}}_mini_Demetrius/": "
none/
46 35/
farmer -100 -100 0 Aba.Hiria 45 32 1 Demetrius 47 32 3/
skippable/
viewport 46 35 clamp/
speak Demetrius \"{{i18n: Event.mini.Demetrius.1}}\"/
speak Aba.Hiria \"{{i18n: Event.mini.Demetrius.2}}\"/
speak Demetrius \"{{i18n: Event.mini.Demetrius.3}}\"/
speak Aba.Hiria \"{{i18n: Event.mini.Demetrius.4}}\"/
speak Demetrius \"{{i18n: Event.mini.Demetrius.5}}\"/
speak Aba.Hiria \"{{i18n: Event.mini.Demetrius.6}}\"/
speak Demetrius \"{{i18n: Event.mini.Demetrius.7}}\"/
speak Aba.Hiria \"{{i18n: Event.mini.Demetrius.8}}\"/
move Aba.Hiria -20 0 3 true/
pause 500/
globalFade 0.04 true/
pause 200/
viewport -1000 -1000/
end",
},
}
If you want to add heart events to custom locations or vanilla locations that don't have vanilla events in them, you first need to "Load" a blank .json file (containing nothing but { }) for that location and then repeat the "EditData" process from above.
{
"LogName": "Load blank json to custom locations used in events",
"Action": "Load",
"Target": "Data/Events/{{ModID}}_NationalPark, Data/Events/{{ModID}}_Campervan",
"FromFile": "data/blank.json"
},
(Note that you don't have to multi-line your events but I prefer to do so as I find it much easier to read.)
Ohhhhh, well thank you so much, is exactly what I needed jaja.
(Additional note: my event doesn't have preconditions but that is just because I don't bother with them until I'm finished testing the actual content of the events.)
Oh right, if you do Load a blank, make sure you set the Priority to Low so that if some other mod also Load's that then it won't conflict
Hmm, why would other mod load the blank file in my mod?
Didnt see any of that in the tutorials
If they needed to make events in the same location
If they're loading a blank file for a vanilla location and you are too.
Ahhh, alright, the vanilla one
But if it's a custom location added by you then it won't really be an issue, it's more for if you're doing a vanilla location that doesn't have events or one from like SVE that doesn't have events or something like that
If it's your own custom location, the other mod shouldn't be trying to load a blank file in the first place.
I will stick to mountain and forest locations, im not skilled enough to make a custom location
You will be fine just with "EditData" blocks then :)
Yep, thank you
For the audio, is possible to add custom soundfiles or thats a whole other mod?
https://stardewvalleywiki.com/Modding:Audio
It can be part of the same mod
Perfect
Does anyone have a Tiled guide on which layers I should put things on? I'm redesigning Margo's house
Now in this, I have one more question. The Event.mini.demetrius... is the event id right? I remember reading about that in 1.6 you dont use anymore numbers id.
Explanation of layers here https://stardewvalleywiki.com/Modding:Maps#Basic_concepts and open vanilla maps to copy their approach. And do a lot of patch reload work lol
Hm, the only example I have of audio changes is a companion for another mod I was making that I never finished lol
It's "{{ModID}}_mini_Demetrius" but yes, that is the event ID. I suggest you use the Mod ID token with your event IDs too to keep them unique.
Thank you so much!
The Event.mini.Demetrius you're asking about is the i18n key
Which is translation stuff
Oh lol I forgot that was my i18n key and wondered where they got that from haha
Took me a bit to find it too lol
short version:
Back always renders behind player.
Paths is for specific items like lights, trees, bushes.
Buildings has collision and stops player from walking.
Front renders in front of player sometimes (depending on position; i.e. when you are "behind" it).
AlwaysFront renders in front of player always.
and you can make multiple copies of each layer (1, 2, 3, etc.) if needed
Okay... So all that is the dialogue section, right?
Im compraring It to the event script example in the wiki trying to properly figure everything out
ty ty
Here is the section of my i18n file that contains the actual dialogue the player would see when each of those speak commands happened.
// mini_Demetrius
"Event.mini.Demetrius.1": "Three native parrot species?",
"Event.mini.Demetrius.2": "Yeah we have the käkäpö, the käkä, and the kea. The kea is the world's only alpine parrot!$h",
"Event.mini.Demetrius.3": "Fascinating. Although parrots are primarily pantropical in distribution, I am aware of several species which inhabit temperate zones. Sadly, we have none here in Stardew Valley.",
"Event.mini.Demetrius.4": "I don't know if I'm all that sad about it, e hoa. Parrots usually don't sound great. $u",
"Event.mini.Demetrius.5": "... #$b# That is a good point.",
"Event.mini.Demetrius.6": "Anyway, kea are very smart and curious. They love to steal things from tourists and sometimes even pull the rubber off cars.$h",
"Event.mini.Demetrius.7": "I imagine it would be rewarding to run behavioural tests with them.$h#$b# What about the other two?",
"Event.mini.Demetrius.8": "*Phone rings* Oh, sorry, this is the big boss. I'd better take it. I'll tell you about the others another time!",
(Everybody close your eyes so you can enjoy my wonderful NZ bird facts when you play my mod /j)
(Whenever I try to read with my eyes closed I just fall asleep)
Hmm alright... Because I wont translate the mod I assume I wont need a separate file, I could just do It in there. But, is good to know if in the future I decide to make a public mod
Probably my biggest problem would be to properly organize the 5 events, but thats on me
If you're just making the mod for yourself then yeah, i18n is probably overkill. But it is a good habit to have for mods that you plan to release, definitely. It makes translation work much easier and you can do some fun and fancy things with i18n (see Aviroen's thread for some really extreme examples lol https://discord.com/channels/137344473976799233/1259442882377420850)
Is a birthday gift, so yeah, but im learning a lot about stardew modding, even if I havent touched code
I think thats all, thank you, I Will start working on it
By "organise" do you mean keeping the json tidy and clear within your content.json (or content.json + include files)? Because you can make liberal use of comments to help with organisation.
I Will manage, is just that rn the structure to make the event is still a bit alien to my eyes, im very used to staircases code and functions. I appreciate having your example
Ah yeah that makes sense. Feel free to copy my whole thing and just replace bits of it as you want to. It might make it easier to have a starting event that will work right from the beginning (though you'd have to replace "Aba.Hiria" with another NPC name of course) and then tweak it from there. Also, if you don't already, make sure you have the 1.6 migration page open as well as the events page since the 1.6 stuff hasn't been integrated into the events page yet https://stardewvalleywiki.com/Modding:Migrate_to_Stardew_Valley_1.6#Event_changes
Start small and use patch reload and debug ebi to help you test early and often.
I'm confident you will do well 
Thanks! ♥️
can someone tell me what "0 schedules" mean 
A 0 schedule is a schedule with a start time of 0, it should simply place the NPC at the location you specify, it has some special rules and can cause some issues
Leo has a few 0 schedules in Characters/schedules/LeoMainland
I can't remember what the special rule about 0 schedules was
Yeah they are used to start an NPC in the location specified instead of starting in their Home location. They're useful for getting NPCs to places that they would take all day to walk to ordinarily. They are apparently completely broken for spouses.
Casey is trying to fix it with SpaceCore
(You either need all 0 schedules or no zero schedules)
Because the entire schedule code of this game is weird
So the actual thing is you can't have CP resolve a 0 schedule the day before and then not the day after
It's really if you have conditional schedules + 0 schedules
Tbh I think it's best fixed out of smapi
Which is why I'm not doing it 
(Okay, that's not exactly true.)
The reason why I'm not doing it is because my promised free time evaporated again
Wheeeeeeeeeee next time I get significant free time will be January wheeeeeeeeee
....I guess no advent of code for me
Hello, I'm not quite sure what I did wrong. I've been following this guide: https://stardewmodding.wiki.gg/wiki/Tutorial:_Making_Custom_Furniture_With_CP
I'm on Windows, 1.6, and here's my smapi log: https://smapi.io/log/c15d4466ee8f4956a42ebb9d64b63c42
This tutorial explains how to add custom furniture using the new 1.6 game update features and Content Patcher. The tutorial assumes you already have the game unpacked and that you have some basic familiarity with the Content Patcher format. The mods referenced as examples in this tutorial are Bonsai Trees (formerly Bonsai Trees for DGA) and Magi...
Log Info: SMAPI 4.0.8 with SDV 1.6.8 build 24119 on Microsoft Windows 10 Home, with 26 C# mods and 49 content packs.
are assets\gumi and assets\miku image files?
yes.
you need to put the extensions, assets\gumi.png i assume
there's a windows explorer setting to show extensions, should check that on
trying it now
still won't work:
[Content Patcher] Patch error: (CP) Roodle's Vocaloid Merch > Load Mods/Roodle.VocaloidMerch/gumi has a FromFile which matches non-existent file 'assets\gumi.png'.
That means that your file is either not inside your assets folder or not called "gumi.png".
We can have a look if you want to share a screenshot of your assets folder
they're saved as pngs, do i actually have to name them "gumi.png"
No the problem is that your folder is called "assests" with an extra "s" in there
omg
(But if you are planning to do any more modding, I'd definitely recommend that you turn on file extensions because it's a pain working without them.)
thank you so much!!
@vernal crest Sorry to bother but, im trying to make the event where the farmer just aproaches from behind and stops, then the dialogue starts. But, it just keep moving and walks out of the screen xD I dunno what It could be. Im using "move farmer 46 32 0" as it starts in 42 32 0
You move number of tile. One direction at time. Not coordinate
In this case move 4 0 0
Oh, alright let me try that
Perfect, thanks. I was understanding how that worked wrong
And... For a specific sprite? Like if I have the sprites for fishing that I use for schedules, how can I add it to the event?
You can use a few different commands, I think. animate or showFrame or temporaryAnimatedSprite, I think. I've used temporaryAnimatedSprite because I'm comfortable with it but I know some other people find it a bit tricky so they use other commands. Maybe try animate first.
Hmm, so it would be: animate NpcName_fishing? The fishing is a double sprite, so i needed to use the spacecore features to make it work
Is it on a totally different spritesheet to your NPC's normal spritesheet? If so, you can't use animate. If you're using spacecore, you might need to use some spacecore-specific command to make it work. I'm unfamiliar with how that works. However, temporaryAnimatedSprite doesn't have a limit on sprite size so I think you should be able to just use that without using spacecore (is the use of spacecore for schedule animations or something?)
Yes, i have 3, 2 of them are just singular sprites, but for fishing, because it needs 4 normal size sprites to show 2, i needed to use spacecore
And is on the same spritesheet
No matter what option of the 3 I use, the npc wont load
Won't load into the event at all? Or just for that bit?
It just breaks the json and the npc doesnt load
That sounds like you may have written it incorrectly. Care to share your json?
!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.
Sure
All of these arguments are required but you only have <actor> and whatever "Dorian_sitting" is (which is not allowed by the command format).
animate <actor> <flip> <loop> <frame duration> <frames...>
It should look something like this (I have just invented these values for an example - they won't work)
animate Dorian false true 300 14 15 16
You're missing a forward slash on line 19 as well
yup
Oh also line 19 shouldn't be a move command anyway because you're just changing the direction he is facing. Use faceDirection instead.
It does work but it is better practice not to do it (I can't remember why lol)
all i can think of for why is that faceDirection better shows intent, which may be helpful in the future if you make changes, and that move is unreliable in certain circumstances (after positionOffset, chiefly)
Well, this works for the two single animations, now I need to check about the fishing one
But at least, I know the syntax now
Probably I should use something regarding Spacecore
I don't think it's going to work for the fishing one because it must have to assume that one frame is 16x32. But as I said, temporaryAnimatedSprite should - though it's more fiddly because you'll have to warp your actual NPC into the void to use it.
Hmm well, is not the end of the world. The most important one is the sitting one, and it works. So everything is alright
Thank you again for your time
You're welcome. I'm heading to bed shortly but everyone else should be around soon so you will have plenty of help around if you need more.
hey where in data or strings etc can i find where the special statues with ?'s in the name are? for example, ??Foroguemon??. im looking to change the names as ive changed what they all are
Data/BigCraftables for the data, Strings/BigCraftables for the names/descriptions
ah thank you
I've been working on a Sam dialogue mod and these lines have me totally searching the entire content folder for answers, but I've had no luck. Where are the event_room1 and event_room2 lines shown? Why is event_room2 the same as event_snack2 ??
the egg dropping event?
Yes for the snack ones, the room ones are what I'm not sure, are both shown depending on different circumstances?
samhouse.json "46/f Sam 1000/p Sam": "playful/7 4/farmer 7 12 0 Sam 7 5 0 Jodi 17 7 0/skippable/move farmer 0 -6 0/faceDirection Sam 2/pause 300/speak Sam \"Oh, hi @. I was just about to have a snack.\"/pause 500/speak Sam \"Here, let me get something for you.\"/faceDirection Sam 0/pause 500/playSound openBox/pause 500/faceDirection Sam 3/playSound dwop/specificTemporarySprite dropEgg/showFrame Sam 33/jump Sam/pause 1000/emote Sam 12/showFrame Sam 12/speak Sam \"Oh no... What a mess.$s\"/speed Jodi 4/move Jodi -10 0 0/speak Jodi \"What was that sound?\"/emote Jodi 16/speak Jodi \"*gasp*$s\"/move Jodi -1 0 0/move Jodi 0 -1 0/speak Jodi \"This is absolutely terrible! What happened?$u\"/speak Sam \"$q 80 null#...Tell her, @.$s#$r 80 -10 event_snack1#Sam dropped the snack as he was handing it to me.#$r 80 50 event_snack2#Sam handed me the snack and then I dropped it.#$r 81 -50 event_snack3#Sam dropped it on purpose. He thought it would be funny.\"/pause 300/speak Jodi \"$p 80#Thanks for telling me the truth, @. It's not such a big deal.|You did WHAT, Sam?! What's gotten into you?!$u\"/faceDirection Jodi 0/speak Sam \"I'm sorry about this, mom. I'll clean it up.$s\"/emote Jodi 20/speak Jodi \"Thanks, honey.$h\"/move Jodi 0 1 1/move Jodi 1 0 2 /faceDirection Sam 2 true/move Jodi 0 7 2 true/globalFade/viewport -1000 -1000/end dialogue Sam \"$p 81#I'm angry at you. I have no idea why you lied like that.$s|Sorry about what happened earlier.\"",
squints
also squints... yeah I've been through the event but didn't find those "room" lines unless I'm totally missing it...
So is it leftover from something that was changed and just ignore?
Oooo a new Sam dialogue mod 
Definitely recommend doing a "find in files" search using N++ or VSC when you're looking for specific stuff.
Haha! Yes Immersive Sam, I have the beta posted on Nexus
Were you the one who did Sebastian's as well? I saw it on Hot Mods a month ago 
I would personally do a search over the entire content folder rather than just events just in case.
Oh yep! Immersive Seb is my baby!
(i'm trying to do that now but the languages are stopping me)
It's tricky, I've had mixed luck with searching the folder
it looks like, only haley, sam, and shane have some kind of "event_room1"
pulls up the decompile 
The response almost sounds like the negative one from the 10 heart event
Oof I actually haven't tinkered with Haley's event_room1 dialogue myself
Yeah sorting through the translations files is annoying but I don't think it's too bad - not with N++ at least.
It's on Sam's basic dialogue file which is why I was confused with not finding it in an event for him.
haley:
"Event_room1": "Him? No!#$b#...Well, I guess I used to like Alex. But not anymore! He's immature.",
shane:
"event_room1": "Okay... that'll require a great script. Maybe I'll ask Elliott for advice next time I see him at the saloon.$s",
i don't know these events so if it triggers any memories for anyone for context
Ah, now I remember why I didn't add that dialogue in GLH 
these look like cut content. no sign of them anywhere else besides uncalled for in the dialogue files (when grep does not find something, i trust it)
yeet it, got it
I was thinking that was probably it, but wanted to check just in case anyone else knew about it... Thanks!!
my editor loves your sweet series with a violent fever, so i redirected her to your beta 
I also personally liked your Sebby mod
great work!
Thanks!! Clearing up a couple bugs in an event and posting an update later today, I'm close to the final version... famous last words, I know!
Every time I feel like I'm almost done with my mod, I remember 10 things I haven't finished yet
hard c# question: lets say i want to draw a custom sprite that isnt an npc or item or whatever, at a specified coordinate in the world, and I need it to respect depth in the world, how do? i can easily hijack an objects rendering, but id rather just draw this without the overhead of an object. or at least without depending on one. (please @ on reply) any suggestions?
when you call any of the SpriteBatch.Draw overloads, there's a float depth argument which is effectively the z buffer coordinate where your pixels will end up. i think it ranges from 0..1 and higher values are on top. consult where other things are drawn in your decompile for reference
(many things like map tiles and NPCs use a calculation for depth based on their map coordinates)
i thought depth was handled relatively. if not then that works
ill have something neat to show once i get it working. thanks for the input.
good luck! even if it's relative, you should be able to find a value that will work
yeah, i didnt realize depth worked for tile depth. can get it from there. y'all aint ready for this XD give me a couple days.
where can i find dialogue from heart events?
you'd have to dig through the data/events folder, i suggest just opening the entire folder and ctrl+f to search for a string in there that you can remember, or something like f Sam 500 for 2 hearts for example
i found it. thanks
Is there a way to make custom train drops?
One of my ores would be perfect for dropping from the train
Is negative friendship from the friendship event command currently broken? Was looking at an event of mine and it didn't seem to be lowering anymore. Looked at the vanilla Pam event with Yoba and that didn't reduce at all, when I forced it.
Item Extensions supports it
not even Penny's 10 heart?
I don't see why it would be broken
Make sure you do not have cjb eternal friendships activated
-._-.

I might just reset my settings/configs incase just some weirdness going on then
I thought it would be bizzare to still exist if it did
An existing mod adds festival animations to its custom NPC and I'd like to remove or overwrite said animation, but I can't figure out how. { "Action": "EditData", "Target": "Data/Festivals/summer11", "Priority": "Late + 100", "TextOperations": [ { "Operation": "Append", "Target": ["Fields", "set-up", 5], "Value": "/NPCname etc etc", }, ] }, Attempting to overwrite with this even with high priority still won't work. Any help?
Hello can someone tell me if I'm casting to game location correctly?
Need help with some c# code dealing with lava
you probably want the operation RemoveDelimited instead of append. (if it's for personal use, you could simply edit the mod's files?)
Wouldn't the field key need to be wrapped in quotes as well?
Or do the delimited strings use ints there?
Could you give me a ready-to-use example for RemoveDelimited? I have no real idea of how TextOperations work, I just copypaste and edit as needed
https://github.com/Pathoschild/StardewMods/blob/develop/ContentPatcher/docs/author-guide/text-operations.md#see-also
There's one on the docs, pretty basic
i was incorrect about being able to call GameLocation functions by casting to that 
should go for new subclass of GameLocation, and register it with spacecore
lol
important question: is one of the band names still "goblin destroyer"? (the funniest and therefore most correct option)
i didnt change the names as idk where that file is lol.
its gonna be so funny like if u pick aggrotech its gonna be that cute, wholesome 8bit music xD
I love the hair on the farmer.
me too
im gonna make a bunch of goth and alternative hairstyles. there's a billion things i need to make for the farmer x__x
Ooooh i love the music 
(For mod authors with access to the decompiled repo, it now includes a working decompile of 1.6.9 on the beta branch.)
might I get access to said repo? 👀
o.o been kinda wondering if i could get my own music in the game lol. also that track's by Wumpscut. they're pretty sick -o-
