#making-mods-general
1 messages · Page 91 of 1
I’m curious does anyone know of a framework to add new monsters to the game? I’ve been looking for one to no avail. There appeared to be one prior to 1.6 but the update broke it and the author appears to have abandoned it. I considered that possibly content patcher could do this but it doesn’t appear to be the case.
it's not really a cp-friendly one, but there is FTM
you are thinking of monster the framework probably
Farm Type Manager allows spawning monsters that are reskins of vanilla ones, with their own sprites and loot
for actual custom monsters
Quick question: how do you mark where a quarry is on a farm map?
must be dirt then you add it to map propertys
You right and i forgot about it completely. That will do, thankyou!🖤
Thankyou all for the quick and helpful responses!
sorry >.> i use FTM to patch it for me but just started doing data/location for my maps
It should be a map property
!mapmaking do a ctrl-F on the maps wiki page to find lists of properties
If you want to make mods that add or edit maps:
-
Use Tiled to edit .tmx or .tbin files.
-
Refer to the Maps wiki page for details on how maps work in Stardew Valley.
-
Content Patcher allows you to create custom locations through editing Data/Locations
-
Vanilla Maps can be edited via Content Patcher as well: EditMap
can't find it hmmmmmm
SpawnMountainFarmOreRect <tile X> <tile Y> <tile width> <tile height>
(valid in farm)
It's on the Farm Data page
You can also alter the stats of the monsters as well like attack,defense using FTM.
CTRL+F on the page search SpawnMountainFarmOreRect fastest way to find it https://stardewvalleywiki.com/Modding:Maps
then you add string to map properties labled SpawnMountainFarmOreRect then in blank box add area in data format 2 3 10 15
just remember first tile is 0 0
A custom map I am using is just not working for the quarry
are the tiles in the tile sheet labled as dirt for the zone your doing
the tilesheet for the farm is using the same tiles for the quarry as the hilltop and the same tiles are being used in FTM marked as quarry
think spawnable t needs to be there as well
tile sheets dont carry tile data ^..^
the FTM QuarryTileIndex is on the right tiles
tile data for the tiles themselves
can't open custom properties just is empty
have
select tile
click add button on botom
string name it Type
then in new string type Dirt
and save
it will then update all map tiles that use that tile to Dirt on map
save map and try again
also if your doing water make sure its labled as well or fishing wont work properly ^..~
thx
get it working?
yea
👍
is read book -> set Book_<BookName> stat vanilla behavior
Yes
oh i didnt realise all books started with Book_ oops
not in my case, i just wanted to let people set a custom book for their animal catalogue equiv
wonder if it's better to let ppl use mail flag 
there is a benefit to mail flags over normal book stat behaviour in this case
as there is no PlayerStat CP token
not unless its your first book
they only increment stats
and their powers are controlled in their appropriate places by checking those stats
the achievement for reading all the books is literally just one big "if Stat1 and Stat2 and Stat3 and..."
🤔 have a strange question when doing multiplayer are you loading onto the hosts data and pulling your maps or are you pulling there maps
Re multiplayer maps, it's a bit complicated.
thanks Pathos
can u register custom actions to answerDialogueAction
Enjoy!
I tried the advice given to me and the error stopped popping up, but the NPC still won't spawn to where I positioned him.
https://smapi.io/json/content-patcher/79bf5fe968d648e8836073e87931aa6a (Event.json)
farmer 23 13 0 22 11 0 Aven here's your problem
your NPC's name needs to be at the front of the three numbers, not the end
(Also, it is suggested that you append your NPC's internal name with a prefix or suffix, such as {{ModId}}.Aven, so that if anyone else names their NPC the same, it won't cause SMAPI to barf.)
Anyone know what the title ID is for the song that plays in Sandy's shop? That one spreadsheet doesn't have it listed
you can also check its Data/Locations entry
I think no . though
I thought the . causes problems
I thought NPCs use _
I think lemurkat said in some events there’s weirdness with .? But it’s possible that’s been fixed
Pinged you to the thread with context
Hi classical Mathperson!
I've seen both . and _ used in NPC Names, but I think it's more likely to impact a filename than actual text in most cases.
?
I have a slightly less photographic memory but it’s debatable if I use it well 😆
I could totally be wrong though, events are not something I've messed with
Not in the “quantum computer” sense
We have to consider quantum effects when designing transistors
distantBanjo, It's the same song used in a bunch of interior locations
(You can also check Data/Locations for this info
All computers are quantum
is my computer which is made from arranging rocks in an infinite desert quantum
…is it looked down upon to comission/buy sprites instead of drawing them yourself?
Not at all!
There's even a list on the wiki of artists and coders who take commissions
I doubt that's the problem though. I tried putting the NPC name in the front, but he still didn't appear
Hey
Noted, thank you. Speaking of, is that list still current? It seems like some folks may mo longer be active
Yeah but when I say “my friend does research in quantum computing” that’s definitely not what people think of 😛
It did in 1.5 but I believe 1.6 fixed that.
Should be mostly current

Obviously people could go inactive but it’s all mostly new as of the last year or two
Are you able to control a spouse’s schedule for just being in the house instead of them walking around. Say, telling them to spawn at a certain time and do a certain animation?thanks 🙂
I just truly have an aversion to be the kool aid femme busting in out of nowhere
There's probably something else going on then, but having the name at the end like that will 100% not work
Not without c$
You can also check and see who's active in the server, or ask around if people have comm recommendations? There are a couple of people on the list I know that aren't currently in the community (so may not be taking comms, hard to tell).
That said, uh
Commissions can get expensive
Depends on how much you expect to spend
Yes they can!
I think it was separated by a / before at Aven, which is why it didn't work originally, unless I've missed something showing a more recent change.
(Check the license first.)
Mods are technically non-commercial right? I would probably double-check with the asset creator but
That’s also why i wanted to ask, because was looking up folks and some haven’t posted in months
the definition of commercial use will also likely vary by license
Mods are whatever the author says they are.
DP can be considered commercial
Nexus does provide benefits for a set amount of unique downloads, and there is a Donation Points system (that you can opt out of), so you likely will need to ask.
You technically do get compensated if you pass benchmarks, even if it's not directly monetary
It's funny because "mods" is also a term we use at work. It's a synonym of "blue wire"
Huh. Okay, glad I was going to ask them anyway then
This is why we ask questionssss
Never hurts to ask!
You get the free premium membership but you still have to explicitly accept it. Otherwise there's no compensation.
Yep, just mentioning it because most people don't realize that may count as compensation
It depends on how strict the license for commercial use is. 🙂
Damn 😔 thanks for answering though!
funny enough, I made a mod with an itch pack and I didn't even consider the premium stuff... but on the other hand, it wasn't a thing when I made the mod 
(Generally non-commercial licenses aren't considered open-source because they can have unintended effects, like not allowing a non-profit to distribute CDs containing the code at cost because people technically buy the CD.)
(Pathos is still typing)
(Pathos is no longer typing.)
I feel like if I were to do a noncommercial license I would explicitly explain that noncommercial means a certain dollar amount each year
Yep no physical or digital redistribution…
Like, "commercial means revenue above $1m/yr"
(technically you were typing that you were no longer typing, but you were indeed not typing when we read this... A philosopher may get an headache)
Schroedinger would be elated
There are two ways to look at this depending on your risk tolerance - either
- anything that doesn't explicitly say it's available for commercial use, shouldn't be used to make money or receive non-monetary compensation, no matter how indirect the mechanism might feel to you; or
- the proliferation of licenses and legal rules have gotten so damn complicated that no matter how hard you try to follow the rules, someone who's committed to screwing with you is going to find a legal way, so you may as well just roll the dice if anything's ambiguous and be prepared to lose an income stream.
The only exception is stuff like Creative Commons and MIT/Apache licenses which really are free-as-in-speech.
Maybe pathos typed that into a text editor so we wouldn't get the "Pathos is typing" thing
(That can be pretty tricky. For example, what if a non-profit distributes the mods to a community with no Internet, it costs them $1m to do so, and they get paid exactly $1m to cover the costs?)
Speaking of typing, I should do duolingo
if we don't see the pathos typing, is the pathos typing in the forest still happening?
(I'm not really thinking of this in a modding context to be frank.)
bonne chance avec le hibou
Depends on whether you subscribe to objective or relative philosophy i guess?
Not philosophy. Idk the word
"if your noncommercial revenue exceeds 1mil/yr, contact X@y.com for permission"?
I guarantee the lawyers would have a field day with that.

Nonprofit and noncommercial aren't the same thing to me, though, if a nonprofit was pulling in a cool 1mil, I wouldn't consider them noncommercial.
(You can set any license restrictions you want (including noncommercial), they just won't be considered an open-source license.)
Yeah, and what we call non-profits are almost invariably, famously non-transparent with their income and distributions.
If a license claims to be or appears to be free for "non-profit" but not "non-commercial" then a commercial company can spin off a non-profit entity and pull all kinds of shenanigans.
Also I'm pretty sure the $1mill/yr revenue number is what VS considers "commercial"
(There's a nonprofit in one of my other circles that has something like a 2.5 million budget and uses the art they pay for in things like merch - definitely would not consider that a noncommercial use)
(Again, I'm not really thinking of a modding context here anyways.)
on the other end of the spectrum, this reminds me of some minor drama back in Factorio land of a modder using a non-commercial license. and they do mean non-commercial, as in "you're not allowed to make YouTube videos if your channel is monetized. even if the video itself is non-monetized"
anyway qq, is using Saving event safe for "stuff I want to do at day's end but after newDayAfterFade"
I probably wouldn't? The timing may work out that way, but I see nothing in the way of guarantees that saving will always happen when you want it to (offhand: what about co-op play?) or, more importantly, that saving can't happen at any other time (there are mods that try to implement quick-save with varying degrees of success).
Can Read/WriteSaveData not handle classes that have enums in them?
are your enums public
ah yeah quick saving mods will be a problem (not that they aren't problems now
)
I'll just do it in DayEnding like Yoba intended and workaround the newDayAfterFade logic
Yeah
did you check the actual save file to see what serialized string got written out
Odd, I don't see it at all. Maybe I'm not using it right
Important question farm maps what is the most popular save tbin or tmx
tmx
tmx by a galactic mile
power of being able to rotate your tiles
i would put in a string field to your save data model just to see if it work
but i think its just normal newtonsoft.json serde
Save:
private void OnSaving(object sender, SavingEventArgs e)
{
if (!Context.IsMainPlayer)
{
return;
}
this.Helper.Data.WriteSaveData("kristianskistad.BetterJunimosForestryRedux.HutStates", hutStates);
this.Helper.Data.WriteSaveData("kristianskistad.BetterJunimosForestryRedux.HutMazes", hutMazes);
this.Helper.WriteConfig(Config);
}
Load:
private void OnSaveLoaded(object sender, EventArgs e)
{
Config = this.Helper.ReadConfig<ModConfig>();
if (!Context.IsMainPlayer)
{
return;
}
// load hut mode settings from the save file
hutStates = this.Helper.Data.ReadSaveData<Dictionary<Guid, HutState>>("kristianskistad.BetterJunimosForestryRedux.HutStates") ?? new Dictionary<Guid, HutState>();
// load hut maze settings from the save file
hutMazes = this.Helper.Data.ReadSaveData<Dictionary<Guid, Maze>>("kristianskistad.BetterJunimosForestryRedux.HutMazes") ?? new Dictionary<Guid, Maze>();
}
u wrote hutStates but tried to read Dictionary<Guid, HutState>
K thanks wanted to make sure I used correct setup for my map loads allowing custom maps for this project
use same type on read and write
hutStates is a Dictionary<Guid, HutState>
Yeah, there is an enum in HutState
would give writing just a Dictionary<string, string> a shot
i think i tried to use BitArray in Read/WriteSaveData and that also didnt work so there prob are limits
Oh, found it!
{"dfeb39a4-9050-4c8e-a300-2ab30ba484bb":{"ShowHUD":false,"Mode":"Crops"},"3627e9d3-b8b2-4135-ba48-76659a08edaa":{"ShowHUD":false,"Mode":"Forest"},"8f3996ea-872b-415e-a4c9-e06dce63cca1":{"ShowHUD":false,"Mode":"Orchard"}}
So it looks like it is saving properly. That's the enum, 'Mode'
And orchard is what it should be, but when I load it's not set to that.
if it's per building data why not just put it in modData
Is it? Fack lol
i think they wanted per building instance in the world
oh yea modData would be the easiest place
i read customfields oops
I base a lot on those guids sadly
Well, not base things on them, but pass them around a lot.
I could, but man would that be a lot of re-writing lol literally almost every method uses the guid.
yea well, not like code works as it is
Everthing does except saving loading T_T
Which is a big deal. Bah.
Though all I really need to do is change how the HudState is stored. Will look into modData.
Also seconding rewriting, it's a pain now but modData is so much more convenient and your future self will thank you for it
(This is good enough for the SMAPI 4.1.0 release highlights, right?
)
Hm yes, I particularly like that part with the stuff right there, very good improvement
https://feedback.nexusmods.com/posts/3259/let-mod-authors-mark-translations-as-approved-or-obsolete if anyone here wants to support this nexus suggestion it probably won't do anything but there's some chance nexus sees it and realizes it's a good idea!
the classic "user thinks mod is broken when translation is breaking the mod" experience
Ok, not has hard as I thought for the hut states at least. Already working!
Why don't some event endings end normally? Like fade to black and stuff. Is it a problem in the code when the event obviously ends but you have to skip in order to leave the cutscene?
Examine the last bits of the event script and cross-reference vanilla events that work until you figure it out
events are persnickety little beasts
If I have an Item class, that I know is a seed, how do I check if it will grow in the current location's season?
I think you'd have to check CropData. Via DataLoader.Crops, and read its Seasons.
something like this?
GameLocation location = Game1.currentLocation;
Season season = location.GetSeason();
string seedId = Crop.ResolveSeedId(item.ItemId, location);
if (Crop.TryGetData(seedId, out var cropData))
{
if (cropData.Seasons.Contains(season))
return true;
}
Is there a probe argument on hoedirt.plant
nope, but you'd need a hoedirt instance anyway which would be a nuisance
There's a canPlantThisSeedHere but yeah, getting HoeDirt sounds more difficult than the alternative already.
You can just init a captive hoedirt and keep it in a field somewhere
seems like GameLocation.CanPlantSeedsHere might help? it takes an item ID and tile
oh that looks pretty perfect, more comprehensive than just a season check too
You need a tile location, though. I guess it depends on whether this check is being done in an actual planting context or for something like a shop.
public bool CheckItemPlantRules(string itemId, bool isGardenPot, bool defaultAllowed, out string deniedMessage) tho 🥳
Yeah, guessing that is the shortcut to the snippet you posted 5 minutes ago
yeah, looks like that part doesn't have to* use the tile, CanPlantSeedsHere does tile checks in combo
What exactly does setting an npcs "friends and family" do? Im not quite sure
I remember that affects who they greet when passing by with popup "hello" messages and such, but that's about it
they can greet em when walking around. plus some other things maybe
but all very minor if anything yeah
including any value (even null or "") in NPC friends-and-family lets them expose gift tastes in rare dialogue
if you set a value (translated string), they'll use it in the dialogue
they might let you in on loves and hates
author's note:
Why the quotes, it's so much worse with the quotes
did he have a dad in canon
chu he canonically wouldnt exist without a dad
maybe he's pelican jesus
... I have like 50 modding wiki tabs open
ok CP + C# data model load/edit question for tokens
can I do this? for AdditionalConsumedItems
"ItemId": "(O){{ModId}}_CopperDust, (O){{ModId}}_IronDust, (O){{ModId}}_GoldDust, (O){{ModId}}_IridiumDust",
i dont think so? depends on the context
ah, query?
In an output rule?
uhh, input I think
you should just make 4 output rules
this is the part that in vanilla would be coal
Yeah, an item query is like a conditional choice between the provided things
if you need these as fuel, then you need extra machine config
its not a thing vanilla supports
yes it does? I did it with only gold dust before
you cannot have different fuel in 1 machine
You can do it for the entire machine, but not per item
So you could make one machine that accepts gold dust, but in CP alone not one machine that accepts gold dust, iron dust, copper dust, etc
nah, it so that I can put in gold dust and a carrot and get a gold plated carrot, and then put in copper dust and a carrot and get a copper plated carrot
if u dont want to use emc then the only choice is to have 4 machines, one per kind of dust
i feel like 4 machines is rather excessive/obtuse, so how do I use EMC?
emc is a content patcher extension, add it to your dependencies and then follow the docs on how to set it up
these r just custom fields stuff
i forget if i asked already but i also dont remember an answer so w/e 
so since i can't use Load to populate my complex data model with tokenised values, i've tried with ```json
{ // content.json
"Action": "Include",
"FromFile": "assets/Data.json"
}
```json
{ // data.json
"Action": "Load",
"Target": "{{PATH}}/Data/Data",
"FromFile": "assets/Blank.json"
},
{
"Action": "EditData",
"Target": "{{PATH}}/Data/Data",
"Entries": {
"MyCoolTile": {
"X": 53,
"Y": 22
}
}
}
for this data model:
public record class ModData
{
public Vector2 MyCoolTile;
}
but this gives a friendly warning:
[Content Patcher] Can't apply data patch Data > assets/Data.json > Data #2 > entry #1" to Mods/blueberry/Hikawa/Data/Data: failed converting entry to the expected type 'Microsoft.Xna.Framework.Vector2': Cannot deserialize the current JSON object (e.g. {"name":"value"}) into type 'Microsoft.Xna.Framework.Vector2' because the type requires a JSON string value to deserialize correctly.
To fix this error either change the JSON to a JSON string value or change the deserialized type so that it is a normal .NET type (e.g. not a primitive type like integer, not a collection type like an array or List<T>) that can be deserialized from a JSON object. JsonObjectAttribute can also be added to the type to force it to deserialize from a JSON object.
Path 'X'..
how am i meant to format this file to patch the data into my model correctly?
whats your equiv of this like
internal static void OnAssetRequested(AssetRequestedEventArgs e)
{
if (e.Name.IsEquivalentTo(BazaarAsset))
e.LoadFrom(() => new Dictionary<string, BazaarData>(), AssetLoadPriority.Exclusive);
}
is it Dictionary<string, ModData>() or something else
ModEntry.Instance.Helper.GameContent.Load<ModData>(AssetManager.DataAssetName);
wow, this works. why does this work
why doesn't this work for Point
i think it is some silly thing with Vector2 yea
i also had to do this recently
dunno why. i think pathos said something about looking into it at some point
iirc its supposed to work both ways but just doesnt right now
(and i think its specifically bc CP itself is supposed to override something abt serialization in the Vector2 class or w/e so thats why its not for Point)
(or maybe its SMAPI. idk)
fuck it, I might as well make 4 machines, I'm so, so tired
Nice thing about making those machines though, is it sounds like you'll be able to copy/paste most of the code for them.
localtokens...... soon..
oh, totally, genuinely just copy the whole json, and replace-all for the needed words
I check making mods idly and get jumpscared
who is elliott's "Daddy" i do wonder
we dont see any of the other relatives of marriage candidates XD
likely either his sugar daddy and/or partner
well that's technically correct, but 'elliotts daddy is probably his daddy' isn't a very satisfying answer
clint
I assume Blueb edited the data 😛 and I also assume Elliott is originally from somewhere else, so we don't know any of his family
doesn't he say he moved to pelican town to find inspiration for his writing?
does game ever use Action OpenShop
not in maps or code, no
i use it for mine
i use it too, but to open a vanilla shop
for some reason i thought that command showed a message when the shop is not open
but i must be remembering one of the vanilla's unique shop actions 
Thought that was set in the shop data and was just part of opening a shop
oh i see 
Oh yeah, it's set per owner lol
Not sure I understand the bolded note though
So one owner entry is for the message and then every other owner doesn't get one?
from the DesertTrade entry in shops:```json
"Owners": [
{
"Condition": "SEASON_DAY Winter 15 Winter 16 Winter 17",
"Portrait": null,
"Dialogues": null,
"RandomizeDialogueOnOpen": true,
"ClosedMessage": "[LocalizedText Strings\\Locations:Desert_Trader_Closed]",
"Id": "Closed",
"Name": "AnyOrNone"
},
{
"Condition": null,
"Portrait": "",
"Dialogues": [ /* ... */ ],
"RandomizeDialogueOnOpen": true,
"ClosedMessage": null,
"Id": "AnyOrNone",
"Name": "AnyOrNone"
}
]
it's in an owner entry i guess
hm i guess that does mean the OpenShop time args dont trigger special message
hat mouse's shop closed message is handled in the Forest map code when it checks the tile, because the shop unlocks after you get an achievement and is never closed after that point
oooh IceCreamStand even gets more than one ClosedMessage. how exciting
Hm, so then does IceCreamStand only have one working message or is that note on the wiki wrong lol
aaaa why is this vector2 s11n even a problem i dont wanna rewrite 150 entries
probably quicker to write a script to do it for you
i would if i expected to ever need to do this more than once
Vector2 sin?
there aren't 11 letters in i
booberry i have a stupid idea
Looks like if open and close time are used then it just doesn't work?
is the idea 'create a class that's just X and Y and then parse it to vector2'
Trying to open a shop and having no feedback about being outside the time is kind of wild
Well usually in game the shopkeep walks awat
it gets worse, you still get the 🤚 cursor
public class BogusVector2 {
public float X {get; set;},
public float Y {get; set;}
}
public class MyData {
internal Vector2 ActualVect2;
public BogusVector2 Vect2 {
get => ActualVect2,
set {
ActualVect2 = new Vector2(value.X, value.Y)
}
}
}
i did some of this cus i started with a list and decided that naw i actually just want 1 thing
This is true (and also the reason I use Self Serve lmao)
after ur done u can patch export it back out maybe
to achieve converting all the stuff
Time to design a "closed" visual notecard for the counters like Pam's "I'm not at the bus" sign? 😛
see i did think of that dumb solution myself, but it seems just as much effort making sure all that works than it does to just rewrite vectors as strings and then revert the commit later if it's ever fixed
theres a third option which is make a PR to SMAPI/CP to fix it
i'll take the unskilled labour approach
I never knew you could do Vector2's in such a plain way, I was doing chu's way this entire time lmao
wait as in this business with the backing fields 
atm {"X": 1, "Y": 1} style seems borked so u have to 1,1
Well, not fully your way, yours seems still like more intelligent than I would do lmao
but u are supposed to be able to do the {} way, it still works for things like rectangle and point at least
I was doing that but just fully converting it from whatever was provided back to a Vector2

https://github.com/Pathoschild/SMAPI/blob/develop/src/SMAPI/Framework/Serialization/Vector2Converter.cs
this is the code Pathos linked last time he mentioned it and mentioned needing to look into it if its not working
it's not working ☀️
its so simple surely this would be an easy PR for someone such as uhh. chu
I'd check if the CP content pack and a regular SMAPI config behave the same way - just to be sure they're using the same/similar serialization strategy.
maybe that should've been a script after all 🥳
The Vector2Converter is there and registered but sometimes people use JsonConvert directly, and that's not necessarily going to use it.
(I've noticed it too. Smapi suddenly not using my custom jsonconvertors)
Have I debugged it? No
Will I debug it? No
config seems fine actually, weird
2 yrs ago 
( @ivory plume ... should this use SMAPI's fancy Vector2Converter and Friends? )
Probably, but Content Patcher 2.4.0 is already in feature freeze for tomorrow's release so it would probably be in 2.5.0.
sooo like
it should probably do the primative switch case, but it also should probably use the smapi jsonserializer magic....
can mods generally access smapi's jsonserializer?
Generally that's done via asset loading.
.json files loaded through the content API go through SMAPI's serializer.
i have a dum thing where i turn object to a type determined at runtime 
...a cast?
where the hell is vector2dconvertor again?
are you searching for vector2converter or vector2Dconverter
what is a securitycriticalattribute
I think it's ancient CAS stuff.
well then
Yeah, like I said... ancient.
(SMAPI is old, sorry. 🧓)
anyways, chu 200 billion, maybe https://github.com/Pathoschild/SMAPI/blob/f30293402af4790d6e03b4825bc4e45d3d130e01/src/SMAPI/Framework/SCore.cs#L246C22-L246C29?
@ivory plume i regret to report a regression in build 24308. (same error about tile size 64px; but this time for my 80x64 tilesheet it only complains about the width)
(Hey, I'm not criticizing, obviously I'm old enough to have a vague recollection of what [SecurityCritical] actually does.)
Yep. The fix was reverted in Stardew Valley 1.6.9 and moved into SMAPI 4.1.0, so it'll be fixed when you get the SMAPI update.
ah, very good. thanks
That's where SMAPI registers it, but I think we've established that Content Patcher is not picking it up.
Because the converter works for config files and presumably JSON files loaded through the content API - just not CP.
it's weird that my custom jsonconvertors just stopped working one day though 😦
(no I have not debugged more, or checked against smapi later versions, or whatever.)
(this was like three months ago and I was so emotionally defeated I just closed my laptop and walked into a sunset)
I think I use a custom converter in Radial Menu (for colors, IIRC) so either it's just your method that stopped working or there was something very recent.
so why does the string work 
(cough) how dumb is it to create a machine data entry and craftable instance to handle arbitrary item trades
Was this the straw that broke the atra's modding spirit?
u could just use ur own asset, but have it be Dictionary<string, GenericSpawnDataWithCondition>
or List<GenericSpawnDataWithCondition>
i like the idea of having the game do all the work tho
yea doing this means u just use item query
oh i see, just my own data and use whatever the machine uses for querying
Hawo! Are there any mods (frameworks or similar that lots of mods depend on) that would break for the 1.6.9 update?
ig u would do Dictionary<string, GenericSpawnDataWithCondition> and the string is qualified object id
u can ofc just use the machine model here too but best to keep it out of vanilla if theres no real machine
very few and of those few probably all of them are either already aware or already have a fix ready
that said, backup everything etc etc and all that
Ama be redi to start a new farm kwkwkwkw.
I have to say, the code that spawns ores is an absolute mess.
Patches for 1.6.9:
SpaceCore changes - Guidebooks, tweaks to totem warp object extension data field (new ability to set them not consumable), a few bugfixes.
GMCM changes - New trigger action for opening a mod config menu (spacechase0.GenericModConfigMenu_OpenModConfig modid) for uses like SpaceCore guidebooks, tweaks to use the child menu system where possible (ie. not on the title menu).
I took out the 0 schedule fix from SpaceCore, so don't expect that
These should be going up on Nexus tomorrow around the time of launch (thanks Pathos! I'll be at work)
Do we have a time of day for when the launch is happening?
quick whats casey's job schedule, we can reverse engineer the patch time
Will those work on the beta for tonight, casey?
It should, I just tested on the build that's currently out
awesome
(The current game beta is identical to the final release, aside from one minor fix that'll be released later tonight.)
I don't know if I'm allowed to reveal that or not 😛
does that fix include the 64 sizeing fix lol
It's possible I'm not releasing my own 1.6.9 builds tonight like I had planned because I got caught up deciding to add a new trigger action for spawning ores for no other reason than I felt like it. I'll just... push my 1.6.9 builds tomorrow whenever the update goes live, if I can time it.
Wow, eating into FTM/ItemExtensions/SpaceCore spawnables territory, I see how it is /s
More cakes, infinite cakes
romance of the three (location spawnables) kingdoms
gotta love bugs
(sorta but not really. Also by git commits that was probably closer to five months ago lol.)
so far (not finished checking), of my mods only Lacey needs an update, and it's not critical so i'm not worried about timing
cf. #making-mods-general message, i reported the same regression
Yeah, the SpaceCore spawnable stuff didn't exist back when I started adding all these random things to Cloudy Skies.
(Well maybe it did but it wasn't documented at least)
I'm actually using Item Extensions API too, so people can spawn stuff from that.
Nexus, really, of all times to go down
Would you rather it went down tomorrow? 😛
Yeah, Nexus likes to go down right before major Stardew updates.
Yes, because I won't care tomorrow
why before though?
if it goes down tmr then it'd be better for support channel
Well I guess it would cause Pathos issues, so yes I care
Pathos suggested a workaround so I could upload the files and set up descriptions now, and he can just move the file to the right section tomorrow
people be impatient
ahhh I actually meant "why would nexus be seeing unexpected amounts of traffic rn"
As if people won't go to the support channel if Nexus goes down tomorrow
GMCM icon is still missing from title screen, is that expected?
It's working fine for me
hmm
it's definitely still clickable but not visible for me
Do you have any UI recolors?
did game have any way to convert 0800 to 8:00AM
doubts
nope, but I do have Mod Update Menu which may be interfering maybe, since that's not visible either
lemme grab a log so you have my mod list
surely it has one, since it does that conversion to display it on the TimeMoneyMenu or whatever it is
the GMCM button is not there for me either
+1 for gmcm button
button not there but if i click area it pops up
Log Info: SMAPI 4.1.0-beta.5 with SDV 1.6.9 build 24308 on Microsoft Windows 10 Home, with 14 C# mods and 10 content packs.
Suggested fixes: One or more mods are out of date, consider updating them

Mod Update Menu is confirmed broken, but that's fine since it just won't load
oh it just has its own StringBuilder lol
that's amazing amounts of hardcoding tbh
terror
especially for things like, ngl, there's format strings for
GMCM is shy
What does the assets folder look like for y'all?
same
its not a windows/linux path thing at least
(ditto)
Hmm
should i try building from the repo
That's a fresh build
I gutted my mods list, still not showing for me
I guess I'll try updating my SMAPI
(Goodbye autocomplete for smapi commands
)
you're not even using latest smapi atra
Bleh, nexus is still down so no smapi update
(I'm also on 4.0.8)
i didnt know old smapi even worked with 1.6.9
oh come on, do I need to be using latest smapi 😛
atra taking refuge with the people who submit bug reports for mods when theyre 3 versions behind
I think I'm on 4.0.8 proper at the moment
only 3 versions. amateur
lol someone submitted an issue with another mod on my greenhouse mods but the strange issue is i had an injector line for custom maps that replace greenhouse.tmx so not sure why the mods bugging for them
yeah, maybe murdering all mods on major versions is actually a good idea then
im not sayin you need to murder em
but if i ever get asked why a mod of mine isnt working and i see you have outdated anything relevant, you're on thin ice buddy /lh
Skull Cavern Elevator is still registering as broken too, so that's fun. 🙂
Nexus is working for some of us
Ah
nexus is working for me so
I live in a different area than you do
you could compile from the repo
Effort
east coast nexus is working ^..~
catbox'ed it, dm'ed you
one of you known as DeathTr1be on nexus?
(What did I do?)
GMCM isnt' drawing its button on screen no more
How old is the SMAPI that works?
I'm not sure on my end, but 4.0.8 was working for atra
Well, there's... a few changes in 4.1.0.
4.0.8 was also the last version where Skull Cavern Elevator worked
(4.0.8 is the actual 4.0.8, pathos, not some fork.)
Uh, Pathos
(I know I do that too.)
Does 4.1.0 not end the spritebatch after OnRendered
fuck you vs
does anyone remember off the top of their head where the stupid blasted nuget cache is
On windows it's ~/.nuget I think?
Hmm, it looks like SMAPI should still be ending the sprite batch
%USERPROFILE%/.nuget yeah
It seems to? OnRendered just calls into RaiseRenderEvent, which does this:
I wish I knew why that package does that
Well, ending the spritebatch (and beginning again so it doesn't crash) didn't work
SMAPI 4.1.0 is for Stardew Valley 1.6.9 though, and there's a lot of changes in 1.6.9. So it could also be a change in the game?
Updates game breaks everything we all panic 😱 somehow gets fixed at some point
no, pathos, I didn't change the game version
atra apparently was running 4.0.8 on 1.6.9
just the smapi version, I was doing a lazy
I didn't realize 4.0.8 would still work with 1.6.9.
I’ll wait for tomorrow scrap and re install everything then submit issues with official releases
There's 128 commits in SMAPI 4.1.0; I can redo the release if you track down the cause, but otherwise it'll probably need to wait until after release day at this point.
(I'm way behind schedule on mod preparations for 1.6.9.)
All the bug reports I'll get...
Time to disable comments
(Nothing new...)
Dang it, I needed to finish some S&S stuff tonight, desty's gonna be upset
looks like stuff is exploding
i'm no expert, but does it matter that the Begin is Game1.spriteBatch and the End is the parameter spriteBatch?
Hmmm.

This didn't fix the issue.
if (this.IsTitleMenuInteractable())
{
this.Ui?.Draw(Game1.spriteBatch);
Game1.spriteBatch.End();
Game1.spriteBatch.Begin();
}
I assume it would have if that was the problem
That's not intended, but it's most likely Game1.spriteBatch that's being passed in anyway.
(i can't think of an instance offhand where a passed spritebatch isn't Game1.spriteBatch)
Hmm, I wonder
is there something special about the main menu
since gmcm itself works fine, once u click on the invisible button
it's not just you, casey
could it be something more pedestrian, like whatever flag that prevents the GMCM button rendering while the vanilla UI buttons are popping in one by one isn't cleared
okay you two, enough off-topic chat, keep it in #making-stardew-valley
So, here's something interesting
guess who's little performance counter isn't showing up either
var rt = Game1.graphics.GraphicsDevice.RenderTargetCount > 0 ? Game1.graphics.GraphicsDevice.GetRenderTargets()[0].RenderTarget : null;
var rt2 = Game1.game1.uiScreen;
var rt3 = Game1.nonUIRenderTarget;
this.Ui?.Draw(e.SpriteBatch);
There's one change in SMAPI 4.1.0 that might be relevant? SMAPI now overrides this:
/// <inheritdoc />
public override bool ShouldDrawOnBuffer()
{
// For some reason, screen positions are UI-scale-adjusted in non-UI mode in the specific case where [a] UI
// mode is not 100%, and [b] zoom level is 100% (which causes this method to return false). That can cause
// issues like mods' world overlays being mispositioned with that specific combination of settings.
//
// It's not clear why that happens, but there's little reason not to just using the buffer consistently and
// avoid the issue.
return true;
}
rt is a different render texture than rt2
So it sounds like SMAPI is drawing on a different render target than the right one
(Possibly related to that block I just posted.)
i think that might be it
my shader mod has a postfix on ShouldDrawOnBuffer which forces it to return true but only during gameplay since it broke the title screen otherwise
public static void Game1_ShouldDrawOnBuffer_Postfix(
ref bool __result)
{
if (Game1.gameMode == Game1.playingGameMode) {
__result = true;
}
}```
I could do the same in SMAPI, though now I'm wondering what else setting that might break.
also Casey, unrelated, but I love this. xD
oops
good feature
Used to GMCM only had a dummy option
Interestingly, the i18n for it already exists
Wonder when I broke that
i dun got the funny meow 
Wait
(in hindsight, i knew i had seen GMCM's title screen button not rendering before, but i couldn't find it searching on discord. it must have been while i was figuring out the postfix for Nightshade, and not something someone else posted about)
That might be a GMCM bug
The options themselves should be fine
That page is from a test I did once, and those have meow
in game
And that would be because of how tooltips are handled
Mine was from clicking Generic Mod Config Menu from the invisible gear on the title menu
With the new child menu usage
(Since when there's a child menu the parent menu isn't updated)
if you're wondering exactly what date the GMCM button disappeared: apparently roku said it on sept 8th
#making-mods-general message
(that's hilarious)
(oh hi roku
)
Hullo, I thought someone else had mentioned it around then too, but I can't remember if it was before I mentioned it or not
Okay, this is weird:
Why are you getting the wrong hover text
you're the earliest mention from what i can see
the hover text is from the meow, my mouse just moved when I screencapped
sorry for the accidental panic xD
I'm getting the right hovertext
I made that page link while testing some stuff and apparently left it in on accident
(including with the zooms intentionally mismatched)
Nexus loads, hooray
(I'll finish preparing the cantorsdust mod updates, then I'll add the SMAPI fix for the title button thing.)
Okay, the new versions are on Nexus under Old Versions if anyone wants to get it from there. (Pathos is moving it for me tomorrow when it's time)
(I also moved the 1.5.6 versions to no longer be in the main section)
Hooray!
After 1.6.9 releases I'm going to be taking a break from modding for a bit besides any bugfixes. Not sure how long it'll be - it won't be several months or anything long like that I don't think. I probably won't be checking this discord too much, so ping me for anything important
are pictures of my cat important enough?
absolutely
Always

A break sounds like a really great idea, Casey. I hope you will be able to take a break as well, Pathos.
(Right after a game update is about as busy as it gets for me, sadly.)
Clearly you need to release the update and then ignore nexus, leaving them to the wolves
(So when things settle down after that we kick you out for a while? Noted. /j)
I can just imagine coming back from break to "999+ notifications", and just being like welp I'm retired now.
That's when you clear your notifications and only answer new messages
just come in with a "hi, i'm back, what broke? /lh"
Say casey did you ever fix the spacecore animation + localized textures thing
Okay, I think I'm ready for tomorrow unless I forgot something. 
Panic. 👀
i feel like panic should come before release day
We will panic with u if ever xd
10 releases on the same day, what could possibly go wrong?
(Technically 44 releases.)
i was gonna say it's definitely more than 10 based on the support tiers 
Yeah, those monorepos are multiple, but I wasn't going to count up all the mods in each.
Speaking of smapi & releases, mobile players also feel anxious about the update on smapi for android devices (afaik ZaneYork's release was 2023)
The Nexus uploads alone will probably take hours.
myuu just said it very plainly 
stf needs a recompile and and a reupload
(Unfortunately I don't think anyone knows whether ZaneYork will return, who will update the Android port, or whether it's even possible.)
Android SMAPI is already deprecated, I don't think 1.6.9 is making it... more deprecated?
(1.6.9 adds more optimisations like ahead-of-time compilation which make it more difficult.)
Do you know off-hand if Train Station is working in 1.6.9?
Yes, but I mean, Android users have already been stuck on 1.5, haven't they?
Yep.
i'm on it to go check*
no idea, sorry!
(also JA needs a recompile too, I probably should have mentioned that to casey when she was here, huh.)
same reason
I'll add a quick Shop Tile Framework build to the list for tomorrow, though the full update will be during the later 'keeping the lights on' update wave.
oh yknow i'll just take your support tiers and give you a log
I haven't really done anything in that repo since the 1.6.0 beta fixes; it's due for my usual refactor pass when I first take over maintenance.
this should match exactly what's on her repo at the moemnt
(I just happened to have it open b/c Aquarium)
(...sorry)
(inserting sad cat noises for our dear android players xdd)
train station looks like it should be fine
at least, I don't see any obvious major issues
(I do spot an issue with audio but that's not a big deal)
Thanks! I added a Shop Tile Framework alpha to the list; it'll probably be towards the end of the day since it's at #11 though.
(we love you Pathos!)
shakes fist at that 25mins ago commit https://smapi.io/log/3e73db32a73946d286a0c3f93f5d859f but so far, everything else is good
Log Info: SMAPI 4.1.0-beta.5 with SDV 1.6.9 build 24309 on Microsoft Windows 10 Home, with 88 C# mods and 39 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
Thanks! Better RNG already has an update ready for tomorrow. I could probably add a rewriter to fix TMXLoader in SMAPI 4.1.1, though unfortunately rewriting the other broken mods isn't really possible with SMAPI's current rewrite system.
t'was part of the huge list for the tech support to tell me what major frameworks i should go and check for (lessen the burden i hope
)
...my json converters live?
(I'll probably update the decompile repo if you want another PR. I've been doing it locally against the patches anyways.)
(That was supposed to be a reply to this, lol.)
Sure! 
(I'm trying to figure out whether a mod is Online usage vs Digital Distribution for the purposes of this royalty free license)
(And considering whether this is even worth it)
IANAL, but online usage sounds more like something for display in a web browser versus digital distribution being not in a web browser
Y e s, and also this person uploaded sprites which I know belong to the pokemon company and is billing them as royalty free
So i'm not gonna touch that, actually
thank you though!
Clearly you need sprites of Pals instead.
How does the texture overlay feature of CP work in regards to mod compatibility? Is it good practice to go for that rather than replace a whole texture? I'm currently retexturing the wood on trees and cutting the leaves out since I'm not changing that
is StardewXnbHack not working on the most recent SDV beta or is it just me?
So I've got something like this for each tree
I just used it yesterday on build 24307 or else I would assume it was me
what's the error message
You definitely have 1.1.1?
!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!
(I just wanted to see the repo changes)
Maybe I ran it before I updated SMAPI to the beta version, actually
Actually glad you just posted that since I've been using xnbcli and didn't know StardewXnbHack existed
Yeah, that was my first thought, but I did that
Although it may not be the beta
I'm on 4.0.8
you need to be on the beta
That is indeed not the beta
You should be on SMAPI 4.1.0-beta. something
Mine was beta.5 when I downloaded SMAPI beta earlier today, but I dunno if there's a new one already
You should be using 1.1.0 instead because you're not on the beta
Yeah, use whichever version of xnbhack corresponds to your SDV and SMAPI version
Yeah, switching over to 1.1.0 fixed it, thanks
any idea why the cp token {{SHRINE}} resolved to ShrineTrees > [0] > Key: Custom_Hikawa_Shrine , but {{ID}} didn't resolve in ShrineTrees > [0] > Value > [0] > Id 
{{ID}} is 100% ready since it's used in the {{SHRINE}} token
Oh man, that's definitely more convenient than xnbcli lmao
😔 xnblci said no when i tried to unpack data/characters.xnb
I haven't even updated it since I first installed it
Which was apparently in 2021 lmao
xnbcli can't handle the data model assets. it worked back in 1.5 when everything was string->string
Okay I've finished recoloring all the trees, I'm done for the night lmao
Hopefully I'll have this mod finished by December
{{ID}} is resolved in string keys, why not in string fields on values 
I'm unfortunately useless on that, but what editor are you using? I've been using Notepad++ and it's possibly a bit inadequate
this is visual studio since i'm mainly working with c# builds, but you can use Sublime Text or VSCode for just doing json fluff
I've had Visual Studio installed for months and I still haven't used it tbh
vscode is more capable, sublime is lightweight and sleek but asks you to pay money sometimes
Especially weird since I'm a CS major
I've mostly been doing MIPS this semester though
I've also been using GIMP for years and should probably acquire (pirate) a copy of Photoshop at some point but I am unfortunately lazy
Not the place to discuss that. (Keep it legal.)
Yeah rule 9
There are lots of lovely Photoshop alternatives if you'd prefer not to enter the Adobe subscription cycle. I've gotten pretty used to Krita for a lot of what I used Photoshop for.
(if you're willing to pay a little money I hear affinity designer is good)
I'm a fan of Affinity. Not free, but far less abusive than Adobe price-wise.
photopea is almost perfect if you want something portable and web-based
Affinity is also free for 6 months right now
I used Affinity Photo for a couple of months before getting too cross at it crashing on me and moving on to Aseprite.
It is not really ideal as a pixel art program - but then neither is photoshop.
(Never had Affinity crash on me, mind you.)
photoshop works pretty darn well for me
ooh!
even for commercial use?
Most art programs are decent for pixel art, it's pixel animation that's a pain in the cough to do, so for that I bought Aseprite. (unfortunately, animation in general is a pain and you do need apps that explicitly say "we do animation".
does anyone know if "any vegetable" (category -75) can be used as an ingredient in cooking recipes?
i think the general categories except for uhhhhhhh flowers will show appropriately
i can re-check the message for that one though
I just wanted to doublecheck before I have to spend ten minutes testing it
Thank you
only fish, eggs and milk work unfortunately
dang
(and wild seeds, with a special hardcoded -777 ingredient)
i commit the cardinal sin, i make my hobby project a dehardcode of crafting/cooking recipe 
if you want you can use SpaceCore for "any vegetables" in recipes
Hmm I'm not sure but I can't see anything on the website about what use it's allowed for and it doesn't mention it when I open it
it is truly not worth it, I was just looking at categories and was curious
noted though
No this is specific to my struggles with RAM overall, I think, since I get Photoshop slowing down to the point of freezing, VS22 lagging and freezing, and Stardew lagging and crashing as well.
@lusty halo I see you're looking into making Furniture with CP, if you have issues with how your Furniture rotate, I can help: I've looked into the game's code and it's quite the mess so it can be hard to understand with only what's in the wiki.
Uh, I just checked the guid from MathPerson and it's doing a pretty good job explaining these issues...
any vegetable works with any recipe iirc, it just doesn't have any display text/icon (except with love of cooking ig)
maybe i patch it into default cooking menu
thank you! Yeah MathPerson was very kind to make a guide, it seems easy to understand as well. Might still take a while but I'll be working on it when I can.
yeah it's like a couple lines in a postfix, the reason I haven't done it is because SpaceCore exists and we could use that instead (all hail SpaceCore)
ah well then we have the opposite problem of spacecore recipes don't appear in love of cooking
i can't even see anything in the cp tokens docs about tokens being unusable in model string values, i have no idea lol
maybe i'll just make the id values the non-token part and assume every id starts with the token value and join them later
(Vegetable (Any) also works for Better Crafting, though I'm not patching it into the vanilla menu either. Mostly because the vanilla tooltips are awful lol)
Actually it should be pretty easy to patch that in, I just went to look again
stares at the un-released 1.6.9 build of Better Crafting
The thing is, with all this discussion, all I can think of is maybe changing vegetable medley to take any vegetable
Or for veggie pizza, I suppose
I don’t even know what i’ll do for that from vanilla crops. Maybe that’ll be a cornucopia recipe
Broccoli maybe?
Hmm
I've seen artichokes used on veggie pizzas before
Plus side: this patch was easy to write
Minus side: I don't have any mods to actually test it against right now, and my test recipe is BC-only
It should make all of these work with the exception of icons for Meat and Cooking. ... and I really should rename Meat to Animal Product
are you implying i can use wool as a meat substitute
what are the chances of 1.6.9 changing anything about how CP works
It's a great way to cut costs. I love fleecing my customers.
Mostly though this page says the english translation is "Animal Product" https://stardewvalleywiki.com/Modding%3AItems#Categories
I love cooking with ten gold and junk
Exactly how my cooking goes normally
Old family recipe. Makes the best giant red Xs you've ever had
10 gold and junk is the recipe for getting in my car and going to taco bell
i always enjoyed a good home-made 🚫
Nothing much has changed about CP itself, as far as I know, and it generally tries to auto-fix ("migrate") any obsolete stuff in older packs. That said, 1.6.9 changes some data assets a bit, which are listed here if you're looking up anything specific:
https://stardewvalleywiki.com/Modding:Migrate_to_Stardew_Valley_1.6.9
(personally, my only content issue was that some tool names moved to another file)
There was the removal of some unused in vanilla files, that could cause an issue if you were using them, but they were all things that were really oddly sized so it would be weird if you were
i'm afraid if you were using any of the pre-sdv1.0 spritesheets your mod deserves to be incompatible
Lmao, harsh but fair
pre 1.0?
Whats the 1.6.9 status of Farm type Manager btw? Anyone know?
Seems to still be working
excuse me, do you know how does the command world_freezetime stop the time? i've looked up the update functions (likeGame1.shouldTimePass()) of the game, but found that no one is set false when the command stops the time.
That command actually just resets time back ten minutes every ten minutes
hello! i've been told to message here for any modding help
so this is my first time creating a custom npc for stardew and im having a difficult time making sense of this error log while i was testing the NPC's schedule:
Log found, uploaded to: https://smapi.io/log/7968a37894ce459393785b8689996d01
what does it mean? i've just been following the wiki's documentation so idk what i'm doing wrong 😭
The way arrival schedules work is that the game simply subtracts the amount of time needed to travel to thar location
In particular, your npc needs to leave at 1330 to make 1600
Npcs travel slower and maps are bigger than you think
You're giving your npc too many way points
Look at how many vanilla has
ohhh i see, thank you! i'll try adding them one by one for now lol
wow, thank you so much!!!
what if i set isTimePaused true? i've tried and found the in-game time display(like 6:00)will twinkle, what're the consequences of doing so?
do you mean why do i need freeze the time? i often use this command, and want to make a small mod that have some shorter commands, so that i can use them more easily
Could just make your command call thar command
wow, really? thatll be really good! at first i wanted to do so, but i can't find some relative apis on wiki
If you just want to make your own mod then you can ignore me but I just want to make sure you know that there are already mods that freeze time easily (for example TimeSpeed lets you set a hotkey to freeze time).
thank you! ill try it!
I've been on hiatus so my testing's been limited, but the existing version loads in 1.6.9 and I haven't found/heard about any new bugs yet.
(Got some on backlog to fix, but nothing new, and I'm back at it now)
relatedly, I'm finally done documenting the weird triggers/actions/GSQs I added to EMP a few months ago 
should be ready to go up when the update happens
Okay... time for the big final 1.6.9 compatibility push for everything. 
So, Stardew will update to 1.6.9 and I've reached 1,696.9 "play" hours...
(or however you read/write hours in English)
WB esca I came back recently as well 
Reading Furniture.cs 
WB to all returners. I also am like the wind, I disappear for months, then post a couple images for feedback, then I update all my mods and disappear again.
I get an error when I use ObeliskWarp in the map properties, does anyone know what it is?
[game] Saloon (10, 10) has unknown warp property 'ObeliskWarp 20 20 Custom_TestMap', parsing with legacy logic.
Why is that?
If your property is set up the way it looks in that error message, you have it in the wrong order. It needs to be ObeliskWarp Custom_TestMap 20 20 according to its entry in the wiki.
Oh, sorry I noticed that and tried to fix it as per the Wiki, but I still get the same error message.
That's normal
wow, my ILSpy decompile of 1.6.9's GameLocation.performAction is... well
That's how it works, it accidentally got caught up in the npc pathfinder systems
And yes I'm amused
So it's just always going to have that error message? Does it still work?
Errors still appear.
Yeah, works fine for intended purposes, I don't recall if npcs will try to take that warp
Atra just said it will always have errors and that's normal
case 7:
switch (actionType[0])
{
case 'B':
break;
case 'G':
goto IL_07af;
case 'k':
if (!(actionType == "kitchen"))
{
goto end_IL_00be;
}
goto IL_19a5;
case 'K':
if (!(actionType == "Kitchen"))
{
goto end_IL_00be;
}
goto IL_19a5;
case 'M':
goto IL_07ee;
case 'D':
goto IL_0813;
case 'J':
goto IL_0828;```
and so on
Are you saying that the Obelisk Warp action property is not currently functional?
It works for players
I don't recall what npcs will try to do
But you will always have that warning
huh my decompile looks normal
Oh, I touched the tiles to try it out and the warp worked fine.
But it's quite disturbing when the warning text is always there...
would adjusting time/time requirements be a content patcher or c# mod? speaking of things like crop growth, fence decay, day length and the like
(my ILSpy may be old. i typically never update stuff until it's actually necessary)
i have 8.2.0.7535
mine is 7.2 so that could be it. oh well
khloe said decompile repo update soon-ish 
that's what i typically use. but i needed to crack open the 1.6.9 beta for myself to fix a harmony patch, so
It's likely that tbh. That particular format of emitting switches is very recent
See post I linked
crop growth: you could manually adjust all crop data, won't cover modded crops though
fence decay: there's a Health field in fences, again wont cover modded fences
day length: this one is C#, checkout timespeed
Is it going to be helpful if I put info about the hardcoded name-related things in the name field for furniture on the wiki? Things like if the name has TV in it, the placement restriction is 0, etc.
(Huh. I didn't know this was the case, but apparently Smart Building can pick up furniture with the things on it still on it.
)
Gentle reminder other things can also have things on them
thanks! i saw it. i'm not concerned at this time
Well MEEP fwiw worked fine in 1.6.9
#making-mods-general message
Most of my mods are thankfully effectively 99% there, it's just that every single one will need a rebuild for 1.6.9 because of the shared project.
ouch
not too late to separate your repos
If you separate your repos you lose history
Do I really want to lose that?
Also, jsut remembered to push the last 1.6.9 fixes to github
hello! i'm back again with another question, this time with sprite animations (for custom npcs)
how do you animate something like willy's fishing animation where the size is like 16x64? because ive noticed that you can only usually show a 16x32 sprite per animation frame. is there a way where you can change the size of the animation sprite instead?
you'll need spacecore for larger schedule animations https://github.com/spacechase0/StardewValleyMods/tree/develop/SpaceCore
oh.. is there no way to just do it in json?
adjusting the data/character size might come about unintended glitches, it might skew your entire character sheet rather than the indexes you'd like
hmm wait
how does willy's fishing animation work then? i just wanted to replicate something like that because the size of my animation is the same as his
willy's is hardcoded
ah
Are you wanting to do it in a schedule or an event?
the realistic workaround, is that the npc does not move at all during fishing
you set the data/character size during that day, set a 0 schedule, and set the animationDescription
but the moment the npc moves, you'll get the overskewed character sheet
Do you mean "not move at all during the day"? Because I doubt many people are going to make their NPC pace back and forth while fishing anyway
yeah, like, no schedule movement at all
And I don't think you even could
just fish, from dawn until dusk 
oh forgot one extra stipulation on that* loading a completely different spritesheet that has the same size index as your fishing sprites
it might look extremely weird, but whatever height your fishing sprite is, offset all of your sprite indexes by that amount
so instead of every frame being 16x32, it's 16x45 or whichever you put, make sure that the npc is at the bottom of each index
and then that might be fine, but again, unintended glitches are highly probable
I can’t find the mod author notes for 1.6.9 release, trying to see what I need to update for all my mods
Am I blind or tired, or both?
aba wins the fastest fingers award
And you don't have any C# mods do you so, nothing I think
checks history
Hmm I don't like this whole closing and then having to open tabs thing
hmm fish pond color hmmmmm
Thanks!
Oh okay lovely
tysm!
Oh right, I should probably pull myself out of the beta branch now that my testing is done
summary of EMP's next update today, in case anyone wants access to some C# events/logging in a content pack 
- Adds game state queries: Can Player Move, Is Player Free, Is Split Screen, Is World Ready
- Adds trigger action: Log Message
- Adds triggers: Game Launched, One Second Update Ticked, Returned to Title, Save Loaded, Time Changed
(also I guess ArgUtility has an "argument name" param now, which is the only reason this is incompatible with 1.6.8)
That's the kind of tiny change that's resulted in this:
Upload API, Nexus... please... 
wait nexus doesnt have one?
Not an official one, at least!
i kind of assumed people with 50 mods have some auto deploy setup tbh
well, i'll amend that to "i assumed pathos had some auto deploy setup for the pathos-waves"
In fairness the ArgUtility argument name parameter is largely handled by rewriters. It's just the one to parse an enum is broken because the rewriters are not good at generics.
Same... just updating 3 mods at once is a nightmare for me...
ah, yeah, the only ones I happen to use there are Enum and Remainder, which both disliked 1.6.8
I'm tempted to just shove these files onto Nexus as the current versions of my mods' main files right now ahead of 1.6.9 launching...
same, just resisting the urge and leaving all the necessary tabs open 
Time to figure out how to read save files on switch
i'm only planning to drop one update right away, and i can't bring myself to do that one without verifying it against the real release
I uploaded mine last night, just in case.
(Hope it works)
Need Farm Type Manager to update properly so its good to see you here, Esca
The coloured slime feature has made it in to the 1.6.9 update too, by the way!
Nice ill get onto that event this week (gotta make some custom sprites and a map first). Working on making Victoria a fully fledged NPC.
And... every mod uploaded. Now we wait and sweat.
I asked in the wrong channel so i’ll throw it in here — the new dialogue keys are optional right?
For accepting gifts?
I need to update my mod to add the EMA dependency for the fancy new EMA features now that 1.6.9 is upon us, but that can wait, since my current mod won't break in the 1.6.9 wave.
yes. or at least i haven't found one that isn't yet
Finally, Useable Community Center will have LedgerBook technology!
Cool thank you
(thanks rokugin, you're the best)
Is there an advanced player here playing with Market Town and seeing the CP not loading the grange display on the festival day?
For what it's worth, there haven't been any git changes since last night's build
(i am paranoid and it's not critical. the current release works)
hg changes, on the other hand... /j
The 1.6. item ||Stardrop Tea|| is required, the rest are not.
Surprisingly I think this item is the only 1.6 mystery I know nothing about 
Wow, you did better with spoilers than I did 
(i am now freed to clean up my 1.6.9 folder)
Woohoo!
It has happened.

Not for me 
I had to close and reopen Steam for it to find the update. 😉
It initially didn't for me, I just forced it to verify the game files.
oh i had to turn off beta
Quicker than restarting Steam!
Oh yeah, true
well, now my spouse room divides by zero, so i'm glad i waited
DivideByZeroException: Attempted to divide by zero.
at StardewValley.Extensions.FrameworkExtensions.AddTileSheet(Map map, String id, String assetName, Int32 tileSize) in D:\GitlabRunner\builds\Gq5qA5P4\1\ConcernedApe\stardewvalley\Farmer\Farmer\Extensions\FrameworkExtensions.cs:line 146
at StardewValley.GameLocation.ApplyMapOverride(Map override_map, String override_key, Nullable`1 source_rect, Nullable`1 dest_rect, Action`1 perTileCustomAction) in D:\GitlabRunner\builds\Gq5qA5P4\1\ConcernedApe\stardewvalley\Farmer\Farmer\Locations\GameLocation.cs:line 1661
at StardewValley.Farm.addSpouseOutdoorArea(String spouseName) in D:\GitlabRunner\builds\Gq5qA5P4\1\ConcernedApe\stardewvalley\Farmer\Farmer\Locations\Farm.cs:line 1377
at StardewValley.SaveGame.loadDataToLocations(List`1 fromLocations) in D:\GitlabRunner\builds\Gq5qA5P4\1\ConcernedApe\stardewvalley\Farmer\Farmer\SaveGame.cs:line 1944```
etc.
...oh no.
(I'll look into that after the initial update wave.)




i finished all my spring dialogue