#making-mods-general
1 messages Β· Page 79 of 1
Yeah, having it working now might be a good sign to take a break lol
that, it's better to do those changes rested, so if you miss a comma or something it's not too frustrated
(and stay on a success π )
but overall it can make the code shorter and so easier to read
that's me every time, unrested editing
do not recommend
I do all my best modmaking at 4 in the morning on less than 3 hours of sleep
My brain aches but I got it working! thank you!!!
Yeah Its' been a fight with this code and it's been exhausting, My 2.0 version of this will have the seeds available via Heart Events via a New NPC I am going to add but for now I am just trying to build up to the skills for that
it's pretty reasonable, doing step by step is a good idea
and knowing how to send mail/use trigger will always be useful too
NPC's are a lot of different systems, so getting practice before tackling them can be good
And then beyond that trying to get combability for events in Expansion area mods (Zuzu, Scarp, Ridgeside and Mt Vapius being the four I want to target)
well i'm around to discuss about VMV if you need that when you'll be ready
I look forward to being able to do that someday Mt Vapius is what kicked this all off
i'm glad it inspired you π
SDV i18nifier is now live with a new version!
Changes:
- Config & Gift Tastes converter
- Changelog to see how rarely I touch this app
- Hopefully easier to understand instructions
- Bit less dumb and eats less repeated code (that's just for me)
wow a fancy reactive app 
I hope it looks fine on other monitors, cause I had to do some weird fuckery so it won't uselessly allow scrolling when it doesn't need to...
there is some box shenanigans happening here
the boxes dont quite grow as much as they should on my big monitor but its very minor
Yeah... thought so...
Welp... next update
a concern if i do like, reopen closed page
Ah, forgot to do something about direct links
Does the config page work if you go there through sidebar normally?
yea that is fine
its only direct links, which happened bc i closed it then tried to reopen
i think u can also just block browser history for these routing links
since u mentioned it i tried different resolution, but i imagine u dont expect ppl to use this on a phone 
Thought about for a second, but who the hell would convert their mods on a phone π
yea lol
you would be surprised
sticc
Yep, would have to do a whole different layout for mobile
if u r bored enough u can do the ol responsive hamburg menu thing
I'll think about mobile responsiveness when I squash the rest of CSS bugs π
or just go full responsive design in general. ill admit thats probably not worth the effort in this case tho bc i do still agree no one would really likely use it on mobile
hard to retrofit a design to be responsive if it wasnt designed that way from the start
i think i just let bootstrap decide what do about the grids when i did stuff like this in the past
pretty sure thats a big part of why it was so popular for a long while
Eventually I'll probably try to make it responsive, since tbh it was haphazardly thrown together when I did the dialogue convert ages ago and then I kinda forgot about it 
as with all things enterprise, it will still be in use until the end of time
by a lot of companies
that said i think its Tailwind plus various UI libraries now
s'what i used for my BETAS docs
Tailwind (Japanese: γγγγ Tailwind) is a non-damaging Flying-type move introduced in Generation IV.
Tailwind CSS 
I did use Tailwind on that app, but I was too used to bootstrap, so I wasn't sure what I was doing hah
huh it seems nice 
Thumbs down for Tailwind. Utility frameworks FTL.
Or rather was forced to, cause Vue doesn't (or didn't) like Bootstrap
It's not that it looks bad or anything, just the practice of adding 30 utility classes to do one semantic style is totally anti-CSS, it's barely better than inline styles.
ask any sizable group of webdevs if they like tailwind or not and you will get basically a 50/50 split

Yeah, you will.
thanks to those who answered questions and helped me finish my first mod ^.^
is this not how you add a pet?
are you hoping to add another cat breed
yeah
The split in my experience is largely along track lines (devs who actually like web development vs. devs who just want to get that part over with).
need TargetFields to drill down
to what?
drill down to where the Breeds key is at
(i actually like web dev and i like tailwind a lot so i dont know which track line you were imagining there)
It's OK, I forgive you. This time.
next time im forced to website i'll probably attempt qt wasm instead of actual webdev 
is it possible to mod seasonal weather events like the green rain??
@velvet narwhal @spice inlet Published my mod-- thanks! (it's in the #1292662310305005609 channel if you want to check it out)
would it be able to edit all characters schedules and dialogues for the day
in your case you need "TargetField": ["Cat", "Breeds"]
im not familiar with the framework myuself but i imagine you can use the same conditions you'd use to tell the weather to happen to set up a conversation topic or something
then u can add "Entries": {"YourBreed": ... }
or use content patcher tokens to check for the custom weather for conditional patches
(or custom cloudy skies tokens i dont remember/know)
Like this?
get rid of the Fields level
?
entries is a dict
i also recommend you just try things in game
error is fastest way to learn 
(Dictionary: { }. List: [ ])
I am trying, and it keeps giving me the same error that I can't read
I've found material-mkdocs to be a real pleasure to use, most of the time. By far the best static site generator I've worked with, although it's obviously of no help if you're creating interactive content.
if you ever get stuck on an error you can post it here too (using the smapi uploader) and someone can tell ya how to parse it
StardewModdingAPI.Framework.Exceptions.SContentLoadException: Failed loading asset 'assets/Cat/CatSkin.json' from SMAPI\reshka.moreanimalvarients: an unexpected error occurred.
---> Newtonsoft.Json.JsonReaderException: Can't parse JSON file at C:\Users\Phoenix\Documents\My Games\Stardew Valley\Mods\My Mods\[CP] MoreAnimalVarients\assets\Cat\CatSkin.json.
Technical details: Cannot deserialize the current JSON array (e.g. [1,2,3]) into type 'Pathoschild.Stardew.Common.Utilities.InvariantDictionary`1[Newtonsoft.Json.Linq.JToken]' because the type requires a JSON object (e.g. {"name":"value"}) to deserialize correctly.
To fix this error either change the JSON to a JSON object (e.g. {"name":"value"}) or change the deserialized type to an array or a type that implements a collection interface (e.g. ICollection, IList) like List<T> that can be deserialized from a JSON array. JsonArrayAttribute can also be added to the type to force it to deserialize from a JSON array.
Path 'Changes[0].Entries', line 7, position 21.
at StardewModdingAPI.Toolkit.Serialization.JsonHelper.ReadJsonFileIfExists[TModel](String fullPath, TModel& result) in E:\source\_Stardew\SMAPI\src\SMAPI.Toolkit\Serialization\JsonHelper.cs:line 86
at StardewModdingAPI.Framework.ContentManagers.ModContentManager.LoadDataFile[T](IAssetName assetName, FileInfo file) in E:\source\_Stardew\SMAPI\src\SMAPI\Framework\ContentManagers\ModContentManager.cs:line 180
at StardewModdingAPI.Framework.ContentManagers.ModContentManager.LoadExact[T](IAssetName assetName, Boolean useCache) in E:\source\_Stardew\SMAPI\src\SMAPI\Framework\ContentManagers\ModContentManager.cs:line 120
--- End of inner exception stack trace ---
at StardewModdingAPI.Framework.ContentManagers.ModContentManager.ThrowLoadError(IAssetName assetName, ContentLoadErrorType errorType, String reasonPhrase, Exception exception) in E:\source\_Stardew\SMAPI\src\SMAPI\Framework\ContentManagers\ModContentManager.cs:line 319
at StardewModdingAPI.Framework.ContentManagers.ModContentManager.LoadExact[T](IAssetName assetName, Boolean useCache) in E:\source\_Stardew\SMAPI\src\SMAPI\Framework\ContentManagers\ModContentManager.cs:line 132
at StardewModdingAPI.Framework.ModHelpers.ModContentHelper.Load[T](String relativePath) in E:\source\_Stardew\SMAPI\src\SMAPI\Framework\ModHelpers\ModContentHelper.cs:line 57
at ContentPatcher.Framework.Patches.IncludePatch.UpdateContext(IContext context) in E:\source\_Stardew\Mods.Pathoschild\ContentPatcher\Framework\Patches\IncludePatch.cs:line 107.```
This is what I get
(using the smapi uploader)
cant have these on maps???
i was considering material-mkdocs yea, but ended up with docfx cus i already have that half setup
but the forced-to-website scenario would be case where i am make something besides docs
Yeah, docfx sure would have made my life a lot easier with the generated xml docs, but it's not really great at anything else.
:(
Yes, it handles "basic markdown" like gfm, but not any of the dozen or so markdown extensions and plugins I'm running through mkdocs.
but, the important part of that error is at the top:
Cannot deserialize the current JSON array (e.g. [1,2,3]) into type Pathoschild.Stardew.Common.Utilities.InvariantDictionary1[Newtonsoft.Json.Linq.JToken]' because the type requires a JSON object (e.g. {"name":"value"}) to deserialize correctly.
it cannot deserialize your JSON array (a JSON array is also the [ ]) into the type the game expects, because the type the game expects is a Json object ({ } being an object). so, basically its saying you made a list instead of a dictionary
oh really
i did see that it had a feature to use custom markdown extensions but i didnt try it
I'm beyond confused, I copied this file from another of mine, so the beginging and end should be correct
my use case was basically "git markdown but sometimes i link to api docs"
so it was sufficient
@brittle pasture: maybe add DLL reference to that page (4h ago)
the consequences of my actions
did I edit it right?
different things require different types. Entries requires a JSON object, so it needs to have a block of { ... } stuff after it. not everything needs a list.
looks tentatively right at a glance, best way to find out is to try running the game
I have, it keeps spitting the same error
My extensions list is currently:
markdown_extensions:
- abbr
- admonition
- attr_list
- footnotes
- md_in_html
- neoteroi.spantable
- pymdownx.blocks.html
- pymdownx.details
- pymdownx.emoji:
emoji_index: !!python/name:material.extensions.emoji.twemoji
emoji_generator: !!python/name:material.extensions.emoji.to_svg
- pymdownx.highlight:
anchor_linenums: true
line_spans: __span
pygments_lang_class: true
- pymdownx.inlinehilite
- pymdownx.snippets
- pymdownx.superfences:
custom_fences:
- name: mermaid
class: mermaid
format: !!python/name:pymdownx.superfences.fence_code_format
- pymdownx.tabbed:
alternate_style: true
slugify: !!python/object/apply:pymdownx.slugs.slugify
kwds:
case: lower
- toc:
permalink: ''
toc_depth: 4
So... yeah, not really that easy to do with docfx, and that's not even counting the plugins for search and navigation.
are you saving the file?
Sorry, didn't intend for that to take up half the chat.
... maybe
because if thats the saved file, it cannot be the same error
But yeah, some of the really important features are tab groups, table spans, footnotes, admonitions and so on. None of which are supported in gfm, and range from not possible at all to just kind of clunky in docfx and related.
please use the smapi uploader whenever you post json or error logs
(Also, mkdocs has hot reload)
what is that??
!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.
!log
Important note: Your computer username may appear in the log. If your username is your full name, please be aware of this before uploading it.
Please share your SMAPI log file. To do so:
- Open this page: smapi.io/log.
- Follow the instructions at the top of the page to upload the log file. (Don't copy & paste from the console window!)
- After uploading, it will show a green box with a URL to share. Post that URL here.
Please do it even if you don't see any errors. This has useful info like what mods and versions you have, what the mods are doing, etc. If the issue didnβt occur in your last session, please load the game to the point where the issue occurs, then upload the log.
oh-
(i was gonna do log next so it works)
i'm getting distracted by the event games ping cause i'd like to join but i also need to draw this flying dutchman for chu
well u dont have to 
no they have to
noh i want you to do my crimis tree lights for after this event
Flying dutchman? Is this a trinket thing?
am stupid brain hurt
didnt u do that already
did i? i don't think i got it to work
OH YEAH speaking of, chu. can you link me to your trinkettinker repo again i got a trinket idea
Hey Guys! Im not making a mod but I am having troubles with some and was hoping to get some opinions!
i used the unused monster Angry Roger for my vendor
if you're not making a mod you want #1272025932932055121
you visit the lerp page a lot i take it ,huh
Log Info: SMAPI 4.0.8 with SDV 1.6.8 build 24119 on Microsoft Windows 10 Home, with 8 C# mods and 3 content packs.
yeah i use it as a ref
u should probably look at the mod i am actually make
its got more fleshed out exampels
(Yes, I know Steam isn't loaded, that's on purpose)
oh the servants one ok
anyways if u hit any blockers to what u want to do now is good time to ask so i can shove it in
in this case the error means that you've written a string (something inside quotes) where it should actually be a model or some other object. and in this case its not very your fault bc i gave it the "tentatively looks okay", you need to.... actually, gimme a sec, it'll be easier if i just write the json instead real quick instead of trying to use words lol
for ref, yes, i'm using the flying dutchman as a reference for angry roger's actual portraits 
{
"Changes": [
{
"Action": "EditData",
"Target": "Data/Pets",
"TargetField": [ "Cat", "Breeds" ],
"Entries": {
"{{ModId}}_MomoCat": {
"Id": "{{ModId}}_MomoCat",
"Texture": "Mods/{{ModId}}/MomoCat",
etc etc ...
"VoicePitch": 1.0,
}
}
}
]
}
the important change is on the 8th line of the example i just sent
contnt patcher requires you to add something to a list the same way you would add, say, an object to Data/Objects, even though Breeds is a list and not a dictionary
so you need to give it a key and another { which then has your breed data inside it
hm how do i detect that the game is paused
i tried Game1.HosePaused but that doesnt seem to do anything
should just be HostPaused
yeah HostPaused doesn't seem to work in my case, the arena of death continues spawning even in the pause menu
thats what controls Game1.UpdateOther anyway which controls things like delayed actions
hm
neither did Game1.paused
ended up using Game1.shouldTimePass(), but that's probably not what you want in your case
it loaded fine, I got to the character creator, hit the left animal arrow aaaand, new crash
https://smapi.io/log/93db296ad4734c78a70107f8f8c39b66
Log Info: SMAPI 4.0.8 with SDV 1.6.8 build 24119 on Microsoft Windows 10 Home, with 8 C# mods and 3 content packs.
i want to stop enqueue/dequening frames whenever draw should be paused
Am I tweaking? Its not letting me post in thw #1272025932932055121
Who?
Booncer
the bot account yea
It's a mod bot that connects you to staff
to me that seems like you have an ID mismatch or someting somewhere. id double check that your unique IDs are written like you'd expect them to and asset names line up in Texture fields and such
Ok
ah
put something together in 5 min at https://stardewvalleywiki.com/Modding:Modder_Guide/APIs/Integrations#Shared_assembly_reference
Did you maybe spell variants wrong somewhere?
(also chu what about just taking the stuff from shouldTimePass thats relevant to you, like Game1.paused or Game1.isTimePaused)
yea that might work
Do I just text the bot?
I wonder if HostPaused is only intended for when the host alt tabs away and the game actually freezes
π΅βπ«
Yeah just DM the bot
see that's the precise scenario i was trying
Oh, I already finished writing my docs but thanks, I'm sure that will be useful going forward.
yeah there's at least a couple questions about that already, it's nice to have a page to point to instead of fetching the code snippet every time
it works!
Adding a manual positioning feature to the guidebook system so you can do fancy stuff like this. (Also added item tooltips, text tooltips, and image tooltips)
fancy 
can u change the bg (without patching menutiles and changing every menu i mean)
You can for the page, not for the tooltips
The guidebook entry has a PageTexture field that you can pass to use instead using menutiles
Though it has to be full size, not nine patched like menu tiles
this hat is a lot better 
i'm ready to use this new spacecore feature to get yelled at that i have too many npcs
XD
Any C# personnel like to help me with my updatelighting logic? ```cs
private void UpdateLighting()
{
if (Game1.currentLocation != null && Game1.currentLocation.Name.Equals("Farm") && Game1.GetFarmTypeID() == "dreamy.TropicalRainForestFarm/RainForestFarm")
{
int fadeStartTime = Utility.ConvertTimeToMinutes(16 * 60 + 30); // 4:30 PM
int fadeEndTime = Utility.ConvertTimeToMinutes(20 * 60); // 8 PM (fully dark)
int fullNightTime = Utility.ConvertTimeToMinutes(22 * 60); // 10 PM (start of full night)
float current_time = (float)Utility.ConvertTimeToMinutes(Game1.timeOfDay) + (float)Game1.gameTimeInterval / (float)Game1.realMilliSecondsPerGameMinute;
// Check if current time is before the start of fading
if (current_time < fadeStartTime)
{
Game1.ambientLight = Color.White; // Full daytime
}
// Check if current time is during the fading period
else if (current_time >= fadeStartTime && current_time < fadeEndTime)
{
float lerp = (current_time - fadeStartTime) / (fadeEndTime - fadeStartTime);
Color targetColor = new Color(10, 10, 30); // Dark color for night
Game1.ambientLight = Color.Lerp(Color.White, targetColor, lerp); // Lerp from white to dark color
}
// Check if current time is after the fade end but before full night
else if (current_time >= fadeEndTime && current_time < fullNightTime)
{
Game1.ambientLight = new Color(10, 10, 30); // Keep the dark color
}
// Gradually shift to a midnight blue after full night starts
else
{
float midnightLerp = (current_time - fullNightTime) / (Utility.ConvertTimeToMinutes(24 * 60) - fullNightTime);
Game1.ambientLight = Color.Lerp(new Color(10, 10, 30), new Color(0, 0, 255), midnightLerp); // Smooth transition to midnight blue
}
}
}
so im trying to make the farmer stop to face the npc at a certain point but the farmer won't stop moving
here is my event. Trying to make the farmer stop walking then do the emote btw
700002/e 700001/f SanjiNPC 1000/f Alex 1000/t 700 1000/w sunny": "50s/63 65/farmer 49 65 1 SanjiNPC 63 64 1 Alex 64 64 3/skippable/emote Alex 12/speak Alex "Why are you always making @ more impressed with you than me?$5"/emote SanjiNPC 28/speak SanjiNPC "I'm just being a gentleman to her, Alex...$2"/move farmer 63 65 0 true/pause/faceDirection farmer 2/emote farmer 8/faceDirection SanjiNPC 2/speak SanjiNPC "Ah. Hello, @. Are you okay?$0"/emote farmer 28/emote farmer 60/speak farmer "$q 0 null#Are you two fighting?#$r 0 2 Oh no, we aren't fighting, @!#STOP ARGUING#$r 0 -2 Sorry..."/faceDirection Alex 2/speak Alex "It's okay, @.$0#$b#I was just asking Sanji for advice on how to, uh...$2#$b#gulp$7#$b#Ask out girls.#$b#Yeah, thatβs it!$1"/emote SanjiNPC 32/speak SanjiNPC "Thereβs nothing to worry about.#$b#I apologize if it seemed like we were.#$b#Alex was just asking for relationship advice.#$b#Though I must admit, I'm not the greatest at giving this kind of advice, as you can see...$2"/emote farmer 60/speak SanjiNPC "Once again, @, it's nothing to worry about.$1"/emote farmer 32/message "You trust Sanji's words, but you feel like Alex is jealous that you and Sanji are hanging out for some reason..."/globalFade/advanced end
move farmer 63 65 0 true you can only move either x or y in one command
if you need to move diagonally, you'd have to use advancedmove
i did that but the farmer doesn't move to the spot
you'd have to split then
move farmer 63 0 0/move farmer 0 65 0 true
or whichever direction that's facing, i think that's 1
move takes distance values, not the resulting coordinate. 63 is a long way to walk (it will take 31.5 seconds at default speed)
also, even advancedMove can't move diagonally. one axis at a time
that's true, i meant it more in like "you only want one command"
ah, ok
also the event keeps repeating on it's own during it
well, speak farmer is also an invalid command, cause the farmer isn't actually an npc
if you wanted the farmer to talk, it's a message
ok. it's probably because I was trying to put up the choices the wrong way.
where would I put that?
yeah, anytime you need to put a " inside a string (between " characters), it has to be \" instead, to escape it
cause the other event I tested did just fine
(unless you use single quote strings
)
blasphemy
that's true, but these all look like double quotes
are there rules on making a mod with copyrighted media? like, say, if I wanna add Blue from Blue's Clues as a pet dog.
oh maybe escaped is only required for i18n keys
i mean if they catch you and want you to not do that you are legally in the wrong
speak <character> "<text>"
whether you think you will get caught or reported for it given the number of mods on nexusmods that use copyrighted media is up to you
even if it's not a paid mod(which I doubt one can made mods paid to begin with)?
correct
paid or not is irrelevant
can't have paid mod on nexus anyway
that is also true
ah
if people wanna pay for it on kofi that's their right, but it will then be the IP's right to sue you 
(but also if you make it paid on kofi you still cannot put it on nexus)
I don't plan on making my mods paid
same
ppl can tip u on coffee but u cant paywall stuff
there are some limitations to what button says here (fair use, fair dealing, probably a couple others) but prevailing on those typically requires going to court, so broadly speaking those won't protect you
modding in general using game assets for a game that doesnt officially support it is already a technically gray area
in the eyes of IP, usually their art assets are under copyright unless journalistic fair use
.choose snek, dotnet new, donate box
Choose result: snek
weh
for the most part you will likely find that most modding communities will more so care about you stealing from each other than from big companies
why is maru so good at picking the one i want to do the least every time
fair
then you choose from the other two
avoid using official assets from other media and you'll be okay
There's a bajillion pokemon pet mods and we know how nintendo feels about copyright violations
no need to get worried over something that wont happen
I think a couple mods in the past may have been removed if they used official character art from certain franchises, but i forget which franchises it was
If you draw it yourself, thats another thing entirely
I only mention Blue specifically bc I'm trying to make my old dog Bear, and in doing the retexturing, I used blue colours and it made me think of Blue's Clues
Legally Distinct Blue Dog
a dog that is blue will absolutely not get you noticed or cared about by Blues Clues Inc or w/e
make it red and you might have some issues /j
(just keepit small if you do)
XD
That's not Blue, that's Azure
yah
Azure's... Mysteries
lol
A Blue Dog =/= Blue, The Dog From The Teevee Show
what did you do to this image
Legally Distinct Blue Dog & Legally Distinct Red Dog, will get added to an alternate "Rainbow Animal Varients" mod
did somebody disable anti-aliasing entirely, lol
why is there a memes page on the modding wiki
gotta change the ui info suite space on the bingo card now
The modding wiki is the uncontrolled wild west
The only reason it's not all meme pages is because it's not that well known lol
there's an iridum snek?
are you just thinking of the milk chu
yea
well there is a purple snake in Maps/Mines/mine.png
likely not in the form you want though
smilk
where is it
these??
yea those
that is a sock puppet
i like the snake i found better
its true the piller snek is more iridium
i think these r furniture too
but the sock puppet snek is what shows up in mr qi event
are you using it for an icon or are you using it for the actual sprite
i dont know anything about things
i just wanted to see them
thats cute
but hm their colors r not useful for this

this is what i have
just so you're aware, that means that you're moving the farmer 63 tiles
!stone
πͺ¨ The item ID for Stone is 390.
i hope no one is mad about my design decisions here
no, it's just for stone in particular
i feel cheated
are you gonna make the segments move individually
yea
i support the design decisions
can you let me put an int to decide how many body segments i want
like snake game
grows when it eats enemies
wow 
im so smart i know
but u would have to do an ontime update for that button
ive done worse crimes
incidentally i never implemented hungry frog ability either
thats the only vanilla trinket this framework cannot do
Also make it collision based and the whole body is a collider, so you can take out entire cavern levels by just running around.
(No, not really.)
i had a stray thought about making snake in stardewui the other day 
and minesweeper
it didnt seem too bad
minesweeper seems like itd be super easy
both r grid based games yea
demoncrawl in stardew..
doom
Stardew pinball
Minesweeper would be super easy, for sure. Not sure about snake. It'd be a little strange, definitely.
I guess if the snake animation were stepwise and not smooth, you could do it using a grid. Otherwise you're fiddling with margins and z-index a lot.
i mean u would just have X * Y cells and draw either nothing or some part of snek
Discord's 404 page has a hidden snake game
on every grid
might be easier to do it on the map itself with tile actions 
make any tile with a segment impassable
I guess the snake is like the player's virtual tail, or something. Trails the player.
yeah that's my idea
but the player can go diagonal
yeah I remember a "smooth" snake game on my nokia lol
full degree of freedom, more opportunities to mess up
If you wanted it to actually feel like classic Snake, as opposed to some Snake-like analogue, then the grid/UI-based is probably a better bet.
hey if i add a tilesheet to a map during gameplay (in the same fashion that GameLocation.ApplyMapOverride does), do i need to worry about removing it? (i.e. will the added tilesheet get serialized in the save file)
no it only loads on the map its related to
i never seen spring_outdoors or whatever in saves
Aren't map overrides re-applied every time you load a save?
when you load a save your calling up the maps
probably (about reapplying overrides). i'm worried about breaking people's saves if they uninstall this mod
the map data searches for the tile sheets
Relatively easy thing to check, since it'll scream at you when you try to save (if it needs to be added to the serializer)
you remove the map override the original call is there
The only things that get saved are terrain features
yah object locations carry over
fair, but i haven't written the code yet so i wanted to know if i'm on a fool's errand. thanks, all
but there is a terrain reset tool
Also fair lol
i play with map data all the time lol
sometimes a list gets saved
I tend to just start projects with no idea if the thing I even want to do is feasible or smart
i usualy ask questions here then try to find info then attempt insanity
my one CP mod that works but realy shouldnt lol https://www.nexusmods.com/stardewvalley/mods/22382
Uh
Okay
It will not break the save serializer
It WILL break splitscreen until 1.6.9
See slightly incoherent analysis here https://github.com/Pathoschild/SMAPI/pull/964
also the 1.6.8 window practically doesn't exist at this point
whats this 1.6.8 i keep hearing of 
Bear!
you watch dr mike to !!
who?
(once again thanks so much for figuring this out)
this is a family pet from my childhood
lol nvm you tuber his dogs name is bear
I love them
thank you
this makes me wanna cry
@ivory plume I think this is a 1.6.8 bug as well, but machines that have:
DayUpdatetrigger andDaysUntilReadyset to -1 (aka a machine that immediately produces every morning, like the coffee maker)ShowNextIndexWhenReadyto true
will not haveShowNextIndexWhenReadyapply until the clock rolls to 6:10
to reproduce, set ShowNextIndexWhenReady to true on the Coffee Maker. It should transform into a sewing machine when it has coffee, but it only does so on 6:10 AM
this bug doesn't apply to machines that have DaysUntilReady set to any amount higher than 0
(EDIT: Though given that this can be worked around by a combination of MachinePutDown and OutputCollected you don't have to fix this this very niche interaction!)
i have done some more sleuthing and got hot reload working via command line on linux, but it eats input in the smapi terminal so i can't run debug commands. i can probably figure out a solution for that
oh how does it work 
Isnt there a mod for console commands in chat window, I think that problem can be worked around
anyway drop deets pls
i'm looking into "open a new terminal for actual SMAPI to use and let dotnet consume this one"
gotta make a mod that resprites milk to bags
Heresy
lmao we love wikipedia don't we folks https://en.wikipedia.org/wiki/Plastic_milk_container
Plastic milk containers are plastic containers for storing, shipping and dispensing milk. Plastic bottles, sometimes called jugs, have largely replaced glass bottles for home consumption. Glass milk bottles have traditionally been reusable while light-weight plastic bottles are designed for single trips and plastic recycling.
chu confirmed canadian
selph banned from canada forever
i have fond childhood memories of milk bags (not canadian)
lol, bagged milk. Come on.
Those things are only good for getting lost in fridge drawers.
Or using as water balloons
I admit I drank bagged milk as a child, but only in portions fit for immediate consumption in one serving
this? this is horrific
Jail.
i can't even understand how that's supposed to comfortably fit in the fridge (yes i understand the implications of putting the bag into a pitcher but that's a waste of a pitcher)
You can't even use a normal pitcher, you need a special milk bag pitcher.
And they are always cheap plastic that warps under the weight of the bag.
i'm waiting on lumina's realism cheese where i have to use wool to create cheese cloth and age milk
(And god help you if one ever gets punctured)
u need a holder thing
(or falls out of the pitcher while you're trying to pour it... or...)
Yeah, that's what I was talking about. Hate those things with a passion.
the key to it is that hot reload is only enabled if you run (specifically) dotnet watch run (cf. https://www.answeroverflow.com/m/1228758775494606978).
to get that to run the game, you have to specify a <RunCommand> and a <RunWorkingDirectory> in a PropertyGroup in your csproj, but so far for me that's a bit wonky because i haven't been able to use ModBuildConfig's $(GamePath) or certain other values for the directory.
and, as mentioned, it eats input on that terminal, so i'm still working on the setup
Microsoft apparently does not believe anyone could give them a high rating.
(I didn't want to paste the entire 2560px wide screenshot, but it's not a weird alignment thing; there really are no options after 2, except the "X" button to dismiss it)
my snek is only snek-like if i move in a straight line
you can probably get away with just not letting it rotate and just have it move up and down and flip when it turns around
ill think of something better tmr
snakes are like omnitreadmills they can do whatever
this is currently done with the draw queue
i was gonna say do you want it to really be a snek or do you wanna make it be the same as the royal serpent
i basically queue up draws for the snek n * 200ms in the future, using the current position of the head
(spooky skull in the hotbar
)
thats why it looks ok when i walk in a straight line
(i made dat) 
oh thats the skull that bonks enemies
oh of course
the .dll in mothman is equal payment, i made artwork 
oh, are you standardizing the actual spawned companion or is it "f it, ball"
i define all this in the cp mod
Pretty sure when you're combining multiple segments like that, you need both rotation and skew/stretch. The required length changes depending on the angle.
{
"Texture": "Mods/{{ModId}}/dustspirit_1",
"Width": 16,
"Height": 16
},
],``` ?
the current way it works actually supports animations on each segment too
im not sure what you are asking
is there some way to derive the stretch from the rotation 
Sure, it's just geometry. You know the base and height of a triangle (x and y) so you can calculate the slope.
You could look at how the royal serpents do it
Maybe there's some formula to get it directly from rotation, I'm not totally focused on the problem tbh. But it's definitely computable.
Well, scale is probably not too difficult but skew is something I always had a hard time grokking, and I think this might involve skew.
Not even sure how you do skew in XNA/MonoGame. There's no matrix transform you can feed to spritebatch.
...well, maybe you don't need it. Try with just non-uniform scale and see what happens.
anyone know how to load an npc into a festival?
cause I tried for me but he wont show up
Can we see your code?
!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.
???
Use the website so we don't have to download it 
i am the snek lord
i don't know what marketpalooza is, but it's not vanilla
(Fwiw, vanilla does ball and stick)
wym?
Isnβt it a Passerby Cemetery festival?
Oh just wanted to know but is there a way to stop other outputs that come from other mods from overriding your own outputs. (I am trying to make Uncle Irohβs tea and a few other mods compatible for Machine Progression for my own uses). And the Cassia Flower will just automatically be converted in Wildflour dried flowers. Now I could just not use wildflour if I didnβt want to but I think it is more funny seeing how to just stop the cassia flower from being converted into dried flowers (I can get the intended input by using 1-3 flowers but I canβt get it at a higher priority yet)
you can modify Wildflour's rules' RequiredTags field to exclude your item's context tags
Oh nice idea.
though you mentioned also having your own rules?
then why not just move your triggers to the top
So I just need to find a tag in the mods I am working either
As in move postion to top?
yes, machine rules evaluate from top to bottom. Use CP's MoveEntries to move your specific rules to the top, above Wildflour's generic "any flowers to dried flowers" rule
I will give that a shot then, but should I use the move to top position or the βbefore id:β option
Thks I will try it out later to see if it works (if it does that will also help with the PC specific wines since they also have the same issue when added
move to top is fine if your rule is a specific modded item ID instead of a class of items
When creating a fashion sense pack, how do you calculate the head position?
For shirts?
Accessories
If theyβre vanilla sized typically you can leave it at 0,0 or something else normal
Ah
Fs_reload
And tweaking until it looks right
ohh okay
Trying to edit a PlantableLocationRules-entry for a crop; I have
"Condition": "FARM_TYPE Beach, LOCATION_IS_OUTDOORS Here, LOCATION_CONTEXT Here Farm", "Result": "Allow",
Which I thought was supposed to make the crop be able to be planted regardless of season as long as you are on the Beach-farm, but I am just getting the "out of season"-message anyway. 
Anyone know what I am doing wrong???
I don't see a Farm in the unpacked Data/LocationContexts.json
you want something else for "location is farm" I think
LOCATION_NAME Here Farm should do it
Ooohh, I was looking at the wiki page for modding:location_data, but I must have been misinterpreting what it was referring to.
gsqs are picky
location context is some new thing that probably should be added to the wiki page on locations
https://stardewvalleywiki.com/Modding:Migrate_to_Stardew_Valley_1.6#Custom_location_contexts
(we're so close to hollowing out that page!)
i've been contemplating adding the greenrain/greenrainfinished into the dialogue wiki 
and whatever keys i've dug out of vanilla npcs but i am also Lazy β’οΈ
Hello so far I've managed to turn the ambient lighting in my map into a lemon green. But it's not intended.
And then we can go back and start on some of the older pages that still have un-migrated data 
I have winter going insane... even on a fresh save and straight sleeping, there is at least ONE DAY with a weird weather pattern going on...
I declare this a feature, I cannot even
Invisible rain ftw
in case you hadn't found out already, ambient light values are reversed when applied to the world lighting, so green (0 red 255 green 0 blue) becomes purple (255 red 0 green 255 blue)
so if you're getting the opposite colour to what you want, you can easily fix it by inverting your rgb values
There is... in the Begin call, so not very helpful here
Is there a way for me to retrieve sprites from the game's data?
!unpack you mean the game assets?
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!
interesting, thanks!!
π things i have yet to do... finish writing basic dialogue and make a schedule
gah.. and a spouse room
This spouse dialogue bug is driving me up the wall...
It's saying I don't have funLeave when it's there, and it's saying it couldn't load spring_24 whether or not I commented that line out
Is it just me or did Data/Objects books break within the last few 1.6 patches? I had a mod with a working book (type asdf, category -102, context tag book_item) that when interacted with, would do the book flipping animation + message and trigger a Spacecore OnItemUsed action. But now, in that very same mod, the book behavior no longer takes place, the book just sits in the farmer's hands while the Spacecore action works as usual
I just did a [patch export "Characters/Dialogue/MarriageDialogueShannon"] just now and its EMPTY??? I'm at a loss
Do a patch summary for your mod
Ooh I've had that happen before with regular dialogue. I did it to Hiria a whole bunch. Unfortunately my memory is terrible so I can't pinpoint exactly why it was happening, but I think it's if you muck up your dialogue somewhere in the file, it refuses to load any of it. Can you do a patch summary full YOURMODIDHERE and check if it was applied?
I was stuck for awhile with green overtone cause I forgot I changed my .dll
Mystery boy
!log Eeek, not in here! In the log website, please!
Important note: Your computer username may appear in the log. If your username is your full name, please be aware of this before uploading it.
Please share your SMAPI log file. To do so:
- Open this page: smapi.io/log.
- Follow the instructions at the top of the page to upload the log file. (Don't copy & paste from the console window!)
- After uploading, it will show a green box with a URL to share. Post that URL here.
Please do it even if you don't see any errors. This has useful info like what mods and versions you have, what the mods are doing, etc. If the issue didnβt occur in your last session, please load the game to the point where the issue occurs, then upload the log.
OK fwiw my name isn't in there and it wouldn't particularly bother me if it was
how do you create a new book actually? i am interested about it for a little test i am doing
Log Info: SMAPI 4.0.8 with SDV 1.6.8 build 24119 on Microsoft Windows 11 Home, with 8 C# mods and 3 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
Looks like this is your issue
[ ] | [ ] | [ ] | | Fixup Condition Check > fixup.json > Shannon NPC Dialogue > assets/NPCs/Dialogue/Shannon.json > Marriage Dialogue (EditData Characters/Dialogue/MarriageDialogueShannon) // Entries > 'spring_16' value is invalid: '{{i8n:Shannon_spring_16}}' can't be used as a token because that token could not be found
Oh, your i18n is written wrong
You have i8n instead of i18n
I wanna make a joke but I don't know what the 18 is for
i[nternationalizatio]n
Average number of mistakes made by someone learning how to use i18n?
It's fixed, you're a genius!
I finally found an explanation for this, it's such a weird way to come up with a name lol!
Good job thinking of the patch export btw. Sorry I didn't think to recommend it earlier!
Here's a quick example, fill in the blanks style. Basically create an object with the book category and context tag, set up a trigger action with the Spacecore OnItemUsed trigger, and finally edit Spacecore's ObjectExtensionData asset to tell the game your item be made to use the trigger action ```Object:
"aaa":
{
"Name": "aaa",
"DisplayName": "aaa",
"Description": "aaa",
"Type": "asdf",
"Category": -102,
"ExcludeFromRandomSale": true,
"ExcludeFromFishingCollection": true,
"ExcludeFromShippingCollection": true,
"Price": 1600,
"Edibility": -300,
"IsDrink": false,
"Buffs": null,
"Texture": "aaa",
"SpriteIndex": aaa,
"ContextTags": [
"book_item"
],
},
Spacecore trigger action:
"aaa": {
"Id": "aaa",
"Trigger": "spacechase0.SpaceCore_OnItemUsed",
"Condition": "ITEM_ID Input aaa",
"Actions": [
],
Spacecore ObjectExtensionData
"aaa": {
"UseForTriggerAction": true,
},```
Thanks I was really tired the other day glad you were still around when I started banging my head on the problem again
This feels too low 
more examples of this hideous practice

E15 lmao what
the volcano in iceland, of course
Is pronouncing "i18n" supposed to sound like internationalisation?
a16z lmfao
i think its the number of letters in between?
Ahhh that makes more sense lol
Yeah, it's the number of letters between the i and n
And apparently all these other goofy examples for some reason
wow knowing there's more of these makes me hate i18n way more
xD
or, incubation, as in, why is ostrich i8n so hard to get going?
i hate myself for writing this line 
Stop that rhyming, I mean it!
lol
Hello. If i'm going to use Portraiture or HD Portrait (idk which one to pick), what is the maximum size per portrait/emotion?
working nvm keke
do you use ContentPatcher for this?
Yeah, but you obviously need Spacecore as a dependency first. And don't forget all the stuff I left out such as Editdata, entries, etc. If you search in this channel you should be able to find complete examples
yeah that's what i am looking for really XD, i am pretty new to SDV modding (started tomorrow)
In that case the Spacecore documentation (see the mod page for the link) will be a little hard for you to understand but just grab examples from here and you should be good
I keep reading l10n (that's the one I see more often in my job) as lion, so it's funny seeing it has nothing to do with anything
It worked thanks so much
Now to have some fun patching FC
is it valid to place a ContentPatcher patch inside of a DLL mod to add items and such?
i don't think that would work, why do you need to do that?
to my knowledge, the mods usually adds the content with C#, or have one folder for C#, one for CP
yeah that's what i wanted to do
have the base mod, and inside of it have a separate patch for CP
you need folders to be separate and at same level
i suggest looking at a mod like archaeology skill and see how they do it
(just the mod on top of my head doing that)
ill look into it
Fortunately, ModBuildConfig very recently got the ability to automatically bundle content packs alongside C# mods: https://github.com/Pathoschild/SMAPI/blob/develop/docs/technical/mod-package.md#bundle-content-packs
oh, that's absolutely perfect!
Even takes care of manifest validation and ensuring the version of the pack matches what you expect!
hm, i do get something odd with it:
my format is:
mod folder:
- manifest.json
- dll
- [cp] folder
-
- manifest.json
-
- content.json
but it does not load the inner cp folder
It shouldn't be packing it like that...
It should be more like:
ProjectName
> ProjectName
> DLL, etc...
> PackName
> Pack content...
is it possible to change my build to work like that?
Did you set it up the way the docs described? If you did, I'd suggest...
- Deleting the deployed mod folder (the one in the game's mods folder) to give it a clean slate.
- Clearing our your project's
objfolder. - Run a NuGet restore.
- Build it again and check!
okay it was successful now!
it's really fun getting back to modding something actually
hey, i made a custom Bathhouse-Locker and when i enter the pool, the swimsuit stays but when i enter back to the Locker-Room it disappears π¦ and i have no idea why.
i used "TouchAction: ChangeIntoSwimsuit" in the Locker-Room via Tiled
why do some animal sprites have built in shadows, but others don't?
does your custom locker room location have the word "BathHouse" (case-sensitive) in its name bc the bathhouse map with the pool is specifically coded to change you out of your swimsuit when you leave if not
Vanilla added extra shadow draw in 1.6 but prior to this all animals just have baked in shadows
so can I remove the baked in ones?
awesome, there isn't smth codewise that says to or to not draw a shadow for smth?
oh, the baked in ones are on the spritesheet, and I was hoping to remove them(at least from the skins, but perhaps even the vanilla ones)
i mean like, i dont wnna turn shadow draw off, I wanna turn it on for all animals
does anyone here know how to make a simple mod where you just change the sprites and portraits?
content patcher is your friend :)
Fixed in the upcoming 1.6.9 build 24302. Thanks for reporting it!
err idk if there's a command for it or anything
i've never modded anything before, would you have any tutorials to recommend?
There's extensive tutorial on the mod's GitHub
oo okay ty
!startmodding These links are also a good place to start :)
Making mods can be broadly divided into two categories:
- Content packs are formatted text files, and don't need any programming knowledge. They can add/edit NPCs, maps, new items, shops, and more. To get started, see the list of framework mods, the wiki tutorial for Content Patcher, and there might be relevant guides on the tutorial wiki.
- C# mods use programming code to change fundamental game mechanics. See getting started with C# modding.
Usually itβs easier to start with making content packs, since you don't need to learn programming.
(Ignore the C# stuff)
Is the whole content folder available as a zip somewhere? I am on vacation and cant install stardew on my laptop so would love to practice some modding
no, if you can still access the original game on your main pc you can try an unpack then copying file
!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!
Unfortunately I dont atm
Rip
Would you unrip me by giving me the folder? 
Regardless of having content folder unpacked, it'd be very hard to mod if you can't test in game
it worked π π
thank you sooo much
the Tiled was named BathHouse_Locker but in the config i named it Custom_Bath_House_Locker π΅βπ« for whatever reason
one more question, i can't seem to make doors work. I use the semi-transparend door tiles from towninterior on building&frontlayer. and put a door action tile on top. am i missing anything else?
yes the map property i believe
thank you π i didnt know
Hi peeps, I'm back on the modding saddle after a long hiatus, if I add false dependencies to a CP mod to make sure mine loads last, the mod will work even if people don't have the others I have the dependecies to, right?
it's indeed how false dependency works BUT know there's also ability to decide the priority of a patch
which may be better if you know you need to load before or after a lot of mods
assuming, of course, they don't also load/edit late
oh, is that a new feature? that sounds like a cleaner way to do it
yes it's new π
I'll look into it, ty
(it has different name for load anf for edit, so i don't remember exactly the details)
oh the priorities? they're kinda all over in the action docs
(also we have a new feature for NPC appearance, and some other new stuff, so you may want to tell which kind of mod you make so we can tell "oh this may be convenient" if you feel like it AND such a thing exists of course π )
yeah load has low, medium, high, exclusive, as well as +(int) variants
editdata has early, default, late, as well as the +(int)
It's just a quick replacer for the egg hunt eggs, making them bigger because they can be hard to spot with modded foliage
Way Back Pelican Town also replaces them which is why I need mine to load later
ok, just using priority should be fine then π
Has anyone noticed Data/Objects books not working within the last few 1.6 patches? I had a mod with a working book (type asdf, category -102, context tag book_item) that would do the book flipping animation + new power message when used and trigger a Spacecore OnItemUsed action. But now, in that very same mod and with the same conditions, the book animation + message no longer takes place and the book just sits in the farmer's hands while the Spacecore action works as usual
what is your version of the game?
1.6.8
can you post your json for your book items?
Again, the important part is that this is an existing excerpt I haven't touched in a while that worked perfectly when first implemented```{
"Action": "EditData",
"Target": "Data/Objects",
"Entries": {
"amalur.homegrownfriendship":
{
"Name": "amalur.homegrownfriendship",
"DisplayName": "Homegrown Friendship",
"Description": "Increases your friendship with town citizens.",
"Type": "asdf",
"Category": -102,
"ExcludeFromRandomSale": true,
"ExcludeFromFishingCollection": true,
"ExcludeFromShippingCollection": true,
"Price": 1600,
"Edibility": -300,
"IsDrink": false,
"Buffs": null,
"Texture": "Mods/amalur.mod/ItemSheet",
"SpriteIndex": 4,
"ContextTags": [
"color_green",
"book_item"
],
},
},
},
{
"Action": "EditData",
"Target": "Data/TriggerActions",
"Entries": {
"homegrownfriendship": {
"Id": "homegrownfriendship",
"Trigger": "spacechase0.SpaceCore_OnItemUsed",
"Condition": "ITEM_ID Input amalur.homegrownfriendship",
"Actions": [
"AddFriendshipPoints mod_Amalur 500",
"AddFriendshipPoints mod_Zed 500",
],
"MarkActionApplied": true
}
}
},
{
"Action": "EditData",
"Target": "spacechase0.SpaceCore/ObjectExtensionData",
"Entries": {
"amalur.homegrownfriendship": {
"UseForTriggerAction": true,
"CategoryTextOverride": "Book",
},
},
},```
it's still important to be able to see the json for full context
when was the last time you tested it? bc as lumina said there's been no recent patches. have you installed any other mods that have anything to do with books that might be conflicting?
After correcting a typo, big egg mod is good to go π
It was before 1.6.8 for sure. I'm using a few more mods in my current testing environment that I did not use in the past (Ridgeside, Log Menu and Fast Forward) but that's it. I guess the only way out is to make a minimal repro pack and maybe ping Pathos about it, so thanks anyway
i mean books are definitely not broken in 1.6.8
if nothing has changed it might be mod conflict π€
it's either a mod conflict or perhaps a space core update since then that's changed how the onitemuse stuff works, so I'd also try removing that and seeing if the book works on it's own
would that outlying 'markactionapplied' even work
i mean it doesn't matter because trigger actions only trigger once
yes, that's where it goes
ah ok
they trigger multiple times if you don't mark action applied
setting it to true is the same as the default but it'll still technically be checked, it's not at the wrong level or anything
they said it's just the book that doesn't work anyway not the trigger action
not used to seeing the markactionapplied outside of the actions list 
it's a field in trigger action data
Are there any frameworks that can allow you to trigger events at specific locations on a map, rather than entering a specific location? If possible, I would like to make a certain event trigger when going to the graveyard, rather than right when a player enters town.
uhhhhhhhhh did that tiledata get fixed i don't remember
probably MEEP though
maybe not meep, some other map thing i'm thinking of
spacecore adds a touch action i think that can set off a trigger action and also has a trigger action that can start an event i think
yes
https://github.com/spacechase0/StardewValleyMods/tree/develop/SpaceCore
spacechase0.SpaceCore_TriggerAction triggerActionId
spacechase0.SpaceCore_PlayEvent eventid ifNotSeen
you can specify an event to trigger when someone is at specific coordinates and then use a tileaction to trigger the event
possibly spacecore options are simpler and shorter
but it's definitively doable with just CP too
(i don't know if the action message $action works... in 1.6.8? or even in 1.6.9, could try it though)
(in VMV i do that so players can trigger an event when interacting or walking on specific tiles)
(Definitely not MEEP here, for the record!
)
got meep on the brain cause i got letter layouts
Thank you for your suggestions.
Your suggestion was right on the money: Removing the Spacecore stuff made the book function as normal. Should I ping Casey over this?
Β―_(γ)_/Β―
i dont know what the intentional behaviour of that is in spacecore
or if its supposed to override the book or not
Definitely not intentional
Not sure what to do about it though - it definitely needs to stop the normal item use stuff. Maybe I code an exception for books
its been on my todo list to just add a trigger for booksread tbh
seems the easiest way
they seem a pretty specific thing
I mean I literally just need to check the item category and call readBook(), I think I'll just add the exception
(which is to say, feel free to steal that)
oh i thought you meant detecting when readBook happens 
Fixed for next release
Hi! Im trying to edit the recycling machine outputs, I would want to get Garden pots from recycling clay. I don't know ho to put the rule because its a Big craftable, BO(62). Could anyone help me? Thanks! π
it's (BC)62
I tried too. I can't get it π’
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.
Thanks! I fixed! I missed that i was putting and extra space (BC) 62
Thanks - yeah the basic CP patched worked just fine but since it was a straight replace it made all the machines (exactly like you thought @rancid temple) and chests just sound like my gurgle-y monster growls and burps sfx
(which is kind of funny but would drive even me mad) so I scrapped the sound bit from my mod and parked the idea for now - might still want to give it a try in the future though
what is going wrong when getting stuck in a blackscreen while loading a map? "NullReferenceException: Object reference not set to an instance of an object" π€
!log
Important note: Your computer username may appear in the log. If your username is your full name, please be aware of this before uploading it.
Please share your SMAPI log file. To do so:
- Open this page: smapi.io/log.
- Follow the instructions at the top of the page to upload the log file. (Don't copy & paste from the console window!)
- After uploading, it will show a green box with a URL to share. Post that URL here.
Please do it even if you don't see any errors. This has useful info like what mods and versions you have, what the mods are doing, etc. If the issue didnβt occur in your last session, please load the game to the point where the issue occurs, then upload the log.
yeah gonna need more than that, is this a mod you're making? or is this a #1272025932932055121
https://smapi.io/log/842625644a1d497a9f7bd49dc5c59ebf
its all the way down. ignore the cute character stuff pls ^^
i'm making a mod, trying to load a map to overwrite an existing indoor map
Log Info: SMAPI 4.0.8 with SDV 1.6.8 build 24119 on Microsoft Windows 11 Home, with 20 C# mods and 43 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
"These boars are trained to find truffles!#Lives in the barn."
does not work
New line might be \n depends on where though
like a shop entry dialogue?
unsure how it deals with that
Some places it doesn't work, like I think i18n it doesn't
are you replacing the community center? cause that's a slippery slope
ya ;_;
You can't really do much with the CC until after it's complete
what am i missing, the Load-Command is not enough here?
CC is hardcoded to reload its patches almost constantly
oh .. can i replace it somehow after its finished?
Once it's complete, it should be okay to patch like normal
I believe anyways, I haven't really tested that thoroughly
ah my patch will show after completion ?
!json possibly, though your error should still not be happening I guess. Share what you're doing
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.
The CC normally just silently overwrites changes you make, without spewing errors
ok so it shouldnt show until completion but also not cause crashes like this?
Yeah again, I am not 100% sure it will work even after completion, but I know before completion it is highly aggressive with its map patches
ou too bad :0
As someone who has a CC mod and had also previously tried patching individual rooms as they unlocked before the whole thing was completed.... Yeah, CC patches through CP will just not work and will be overwritten until after you've completed the CC and seen the cutscene. (And sometimes not even until one sleep after that!)
ouu too bad. alright. i guess i'll put up an extra mod only for the CC map, that unlocks after completion. π₯² thanks for the advice!
heyo! I just switched from VS to Rider and am having some issues getting it to work. I'm getting a buuuunch of errors, but the project does still build correctly (just using the example mod from the wiki to test)
Stardew is installed in a non-default location, maybe that has something to do with it?
never used Rider before, so also not really sure what the problem might be
i have checked and confirmed that the NuGet package is installed
I have to figure out how to make Rider shut up about the smallest things before I use it
i'm also using a nondefault location and i'm trying to remember how to get vs22 to shut up i think it had to do with the $(GamePath) but idk how rider handles that
how often do pigs dig up truffles?
i did set the game path using this, because originally it wouldnt build at all, and doing that fixed it. still having these issues though
It's also supposed to start SMAPI automatically after building, right?
because it cant find that either
no, that's hotreload
ah, so it is friendship dependant for extra truffles
unless you set up your vs to do that
but mine doesn't build -> start smapi unless i hit debug mode
ah, because when I press "Build" (the green arrow at the top), it comes up with this
now obviously it wouldnt be located there, because Im using a non-default location. but apparently it doesnt pick it up for that purpose
Maybe Rider runs in debug mode automatically?
again, never used it, so clueless here
The green arrow is Run not Build
You can right click a project in the Solution pane and Build Selected Projects
oh, oops
if i want to test after i build, i could just hit "Run" right?
Sounds like your targets for ModBuildConfig aren't correct, though I know very little about that
You can also just launch the game after building
true! but would be easier if it was in one click
ill do that though
until i find a fix
no quick/simple fix for this though, im guessing?
dismayed to be backreading about the inability to pipe standard input into SMAPI #making-mods-general message, since that was my current idea to work around hot reload eating (at least) every other keystroke in the console
how do I buy a new pet, I got the "(pet) love you" msg
I think once a pet loves you, you have to find a book somewhere?
Maybe Marnie sells it? I can't really remember, I've only needed to do it once for my save and just look up what I need to cheat to make it happen when I'm testing lmao
it says marnie sells "licences" once you either max friendship or reach year 2 with no first pet
Maybe try sleeping after you max
restart pc, of course 
oh, she sent a letter
this, too, restart pc 





I am unfamiliar with this issue. Your SMAPI console is losing input when you have a mod debugging or do you have to hot reload?
i think it's the linux-doesn't-like-hot-reload
Oh, it's Linux specific?
gods that took forever! but! my Boar makes truffles! and more than one(with friendship)!
This takes me back to wanting to make a mod that iterates over all the debug commands and creates a menu of them all lol
Just still not great at using StardewUI so I haven't been very compelled to keep working on UI stuff lmao
my brain has not comprehended the docs so i've left that For A Smarter Me β’οΈ if that day ever comes
Yeah, all the progress I've made so far has been based on seeing how chu did it and then experimenting lol, I just don't know enough about any of the systems it's based on to understand the docs
you could always use the vanilla ui stuff 
It makes even less sense :P
i do find it amusing that its not even a consideration
Honestly, the biggest reason is probably that I would have to make my own scrollbar lmao
could go with pagination instead
I guess, I really hate that solution
i am curious though, how would you extract the required arguments from the debug commands
Or the SpaceCore UI stuff π
Though focustense's UI stuff is definitely higher quality
I am still waiting on the docs :P
Reading code too hard for you? π
I love your work, but you're way smarter than me
helps when its the sole focus (tense) for months
SpaceCore UI is even getting a new feature in the upcoming update
have you considered using Spacecore ui to build your docs website
A ScrollContainer that calculates its inner size based on the children (instead of being row based like Table)
Alas, the UI isn't the hard part, it's the text
This really goes back to me deciding to do projects before I've even considered if they're feasible lmao
All the transpilers
actually i guess you would need to look at the IL too and not just the locals list to figure out which ones are TryGet and which are TryGetOptional...
u just need to make a model class for a debug command
and a context to hold a list of those
and that wouldnt always account for mods that add debug commands, either
then for ui it will become a scrollable grid or lane of focusable things
(under stardewui terms)
Also, just remembered, isn't there some kind of issue with trying to send commands from a mod?
I can call the methods directly I guess
you might be thinking of chat commands? which are getting an API in 1.6.9
i forget if game has a dict of em
theyre all under DebugCommands.DefaultHandlers
dunno where custom ones are stored tho
are any events happening in pam's new house?
So, I'm trying to open the PathosChild mod suite in visual studio, when I build Automate I get errors. The first one is 'Game 1' does not contain a definition for 'Getplayer'
I installed the Pathoschild.Stardew.ModBuildConfig nuget package, any idea what the issue is?
damn so it's kinda the same path's?
there's one where she prays to a Yoba statue in her new home
pathos's repo is on the 1.6.9 beta
Ooh, derp I downloaded the wrong branch
I know there's a mod that automatically enables sending console commands from chat, dunno if it's up to date though, I wonder if it would work on Linux
Thank you
To circumvent the console issue
lol wasn't there one more person also working on their own UI framework?
(not counting that person who stole SC's UI)
was it SMUI or something
SMUI was the stolen one
nah that's the stolen scui
that's the stolen one
Didn't SMUI get taken down once?
ah, max
oh yeah Max's was I was thinking of
it looks like u need to use this through reference
(also i found em you'll need to reflect into smapi for those)
so kinda like space ui?
[[Modding:Items]]
edit Data/Objects for your items
[[Modding:Crop_data]] may also be relevant since you said carrots
delightfully, golden carrots will not be a crop
... are all the item ids even numbers?
item ids can be any string you want
yee, but the vanilla ones?
Maps/springobjects
thanks
i cannot find the carrot sprite
nah, it's simple, new items, new tilesheet
why do we exist
will I finish this sock before I have to do laundry
1.5 objects were added to springobjects
like, an irl sock?
yeah atra knits
nice
i thought atra vita
true
what are these?
the one on the right is the golden animal cracker
ah
and the round thing?
dont know if the left golden seed is a thing
ah
i've never seen it
likely unused
seedn't
lol
so uh, it'd be better to make & use my own tilesheet for custom sprites, than have everything have it's own file/png, right?
i think its technically better to have one big tilesheet but the difference is incredibly minute for the number of items the average mod adds
so, do what you want
who knows what I will add, lol
tbh once i get to 5 i make a sheet so i can just use index
i dont think it really makes a difference loading 1 png versus even like, 50, on a scale that a user would notice
i dont know when it would start to make an appreciable difference though. thats an atra question
I wanna be professional
tilesheets it is
maybe
but theyd be loading it anyway and not editing it
(that's a myuu question.)
thats an atra-asking-myuu-for-me question
(i dont actually care what the answer is but "thats an atra question" is my go-to for "this is a technical answer i dont have the knowledge for")
carrot(golden)
(atra is smarter than me and i learn a lot just by waiting for atra to pop out of lurking and say something)
i'm just happy to finally be able to parse the lower end c# talk 
well on your way to reflection crimes
once i figure out regular smapi c# i can go into transpiler crimes
alright round two picross 
@ivory plume I want make a modder helper tool and I was wondering if it's okay to use parts of the Content Patcher code to start? mainly bc I already know C# and it's easier to start there (than learn js lol)
it's MIT, isn't it?
it is
(still it's nice to ask because then pathos may give clues if Mahy is stuck or be interested in project or stuff like that)
this is also my first foray into making something open source AND using open source code π
Oooo what sort of tool are you thinking of making?
I'm going to start with a tool that would essentially "summarize" what your mod adds/edits. kinda like LookupAnything, but not needing to run the game
as a way to help one find typos, case sensitive things, etc
I use c# at work so I'm very familiar with it, so my first iteration would be a standalone tool. then, based on feedback (and hopefully learning something like js), I can turn it into a vscode extensions or something similar
does smth like the beehouse(2 sprites tall) have to be on it's own tilesheet?
not exactly changing the schema? it would be for CP mods/components. just an external json parser that you can run outside the game
if you're adding custom craftables, you're likely going to add a new spritesheet with its sprites. bigcraftables let you provide an asset path and an index in its spritesheet for idle, working, and ready animations, with the usual 16x32 sprite size
don't forget to add a Load entry to your Changes list with the spritesheet targeting that same asset key 
(if the question is "do I absolutely need to have multiple spritesheets" the answer is no.)
for example.
for example, VS hates me
what
I have a mod with furniture, items, and powers all in the same texture
you can even have a single spritesheet for craftables and non-craftables, so long as the sprite is aligned with a 16x32 region on the spritesheet
just get the index right and you're good
how dare you have an image up from your workspace and didn't close out of said image
aNYWAYS for example, here's bigcraftables and normal objects sharing a spritesheet
and that is why I work from FireAlpaca's mdp files, they're never recognised
(of course there's also nothing stopping you from making a spritesheet for every individual craftable, sprite frame, or item type. organisation is a bell curve of madness -> sanity -> chaos)
lol
you, too, can make a whole npc in just the content.json, portraits, and character sprites
fwiw, I went back into the code, and I am now suspecting that having individual spritesheets for your items makes no difference whatsoever on runtime performance (and this is a bad thing.)
With the exception of a few specific things like mail backgrounds or custom farm icons, you can pretty much mix and match whatever you want as long as the size and position is correct
theres no difference between loading one image with a billion things versus loading a billion individual things?
npcs terrify me
i don't actually know, if each item keeps a whole texture instance then i'd hate for it to be my everything-sheet
I can kinda explain. The issue is that you want to keep your draws, as much as possible, from the same texture. BUT items are drawn with shadows, and it's always interleaved item-texture/shadow-texture/item-texture/shadow-texture
Using one image might save a tiny bit of disk space and make things easier to edit but there's no practical difference
button can u give me a couple hundred thousand of your billion images
the curiosity wasnt practical difference i was interested in the (literally) technical difference
I mean, I think technically having multiple small textures is a little more GPU overhead than one big one (memory wise)
The instance is shared
no theyre all rights reserved
one image has a good thing though. You can realize of your 20 billion purple fertilizers have slightly different purples
is 'a little more' actually noticeable at all in practice
Hence "technically" π
or is it kilobytes
There's also maybe a texture amount limit
yeah, but runtime draw speed is fucked no matter what you do, which doesn't make this piffle happy
I can only give you a couple thousand, and they're all transformers fanart
Though I dunno how big or small that is

I'll just commit to i18n
