#making-mods-general
1 messages · Page 85 of 1
newtonsoft json is not a mod thing
Miss Coriel's NPC Creator is its own program and used as a tool, it's not a mod. 🙂
yes.. I use newtonsoft.. the question wasn't how to do it.. i just needed to make sure I implemented it xD
you can use newtonsoft json in things that are not mods
it is mostly used in independent programs
something like this
JSchemaGenerator generator = new JSchemaGenerator();
JSchema schema = generator.Generate(typeof(CharacterData));
then u do whatever u want with the exported schema
Complete Rewrite of NPC Creator. Contribute to MissCoriel/NPC-Creator-NT development by creating an account on GitHub.
here's my data model
https://github.com/MissCoriel/NPC-Creator-NT/tree/main/DataModels here's all of them if you need reference
let me know if I set one up wrong
since the game's NPC datas are proper models now it might be a good idea to just use them as-is in your program
then you don't have to worry about translating between your model and the game's
oh i was under impression npc creator wasnt C#
xD ofc it is
(what do you mean ofc. theres a lot of ways you can make a program)
would there be legal problems if u just lift the CharacterData.cs from StardewValley.GameData.dll 
and i am a novice that knows only this x3
for some reason i thought it was like, a webapp
I enjoyed typing it out.. it's good practice for me
I like that NPC Creator is offline.. meaning you can work if your internet dies
alternatively, maybe you can directly reference the game DLL somehow
[[REDACTED]]
(That would be a copyright violation. It's unlikely ConcernedApe will go after you for doing that in a mod or Stardew tool, but you couldn't legally make your code open-source if you do.)
you could make them set a game path
yea thats what i figured 
but referencing the StardewValley.GameData.dll would work right
Yep (but not redistributing it).
I will have that as well so you can export NPC direct to your Mods Folder
I had enough trouble getting the older program to talk to SMAPI enough to know what version of CP you had xD
csproj
<PropertyGroup>
<GamePath>path/to/your/Stardew Valley</GamePath>
</PropertyGroup>
<ItemGroup>
<Reference Include="StardewValley.GameData" Private="False">
<HintPath>$(GamePath)/StardewValley.GameData.dll</HintPath>
</Reference>
</ItemGroup>
then u should be able to do using StardewValley.GameData for whatever models desired
would that work for a non-mod program?
i wrote it like this specifically cus u are not using ModBuildConfig
i see isee
ModBuildConfig does it here
https://github.com/Pathoschild/SMAPI/blob/develop/src/SMAPI.ModBuildConfig/build/smapi.targets#L53
I think I need a second brain cell on this problem 🤔 I have a map edit that makes an area on the cliffs in the forest accessible but for some reason I’m getting collision tiles at Forest 102,66 even though there’s not even collision tiles in the base map and no custom properties that would add that. (And yes, I have checked that there is nothing on the buildings layer and yes, I have transferred my tmx file x3)
Any ideas? 🤔
this broke
Yes, though the issue is that you can't really redistribute the DLL; so you'd need to detect the game folder path on the user's computer and load the DLL dynamically from there. (At least if you want to be fully legal.)
yeah.. i suppose how i do it is fine
what is the error 
Alternatively, could you require installing it in the SDV directory?
it said it needed a </Project> even though it was there
I use some of Pathoschild's things to work with that
all you have to do it tell NPC Creator where the SDV exe is and it detects your mod folder and if you have an extracted content folder there made by the StardewHack program it will find it there too
did u put that block inside the existing <Project></Project> 
yes
odd
it's fine.. how i do things isn't bad
ik i do this exact thing to use smapi-internal/Newtonsoft.Json.dll at least 
I am just happy that I am in the mood for coding again
I kicked myself pretty hard and it's been a challenge to get back up
That's a mood
it's all my fault too DX
i delayed backing up my HDD to my new SSD and lost everything
Sorry if this question is annoying, but in your checking there's nothing there on your map you've checked for invisible tiles?
Okay sooo are we all down to forget I asked this question? Because it was totally that and I’m dumb 🤣🤣
I feel like every time I come back to modding after a break I have to re-learn lol
Lol so it goes. I'm going to lose all my knowledge as soon as I take a break
blah windows being a butt with trusted programs
I have to re-learn my own code whenever I abandon a project for more than a day
Might as well extract the content folder while I'm thinking about it
would be nice if i left comments for future me returning to a project days to weeks later, too bad it'll never happen
This being said, I'm strongly recommending against the shared project at this point; even put up a big danger notice here: https://focustense.github.io/StardewUI/library/#using-submoduleshared-project
While the Framework is not technically up on Nexus yet, it's literally just a few days away, so it's definitely the place to get started.
Would be nice if I could comment anything reliably lmao
Sometimes I do the // TODO: fix this and later come back like "what's wrong with it?"
I'm trying to be better
(Pen Pals isn't Nexusified either, so it's kind of ironic. It'll probably be the first one I rewrite to use the Framework.)
well obviously you need to fix the [redacted] part
I have a mix of relevant comments and comments left over from wherever I copied my starting point from which are completely incorrect for the current project
One reason I try to copy as little as I can stomach is because of how much stuff I forget to change after I've copied it lol
Reasonable
I just approach it all knowing I'm going to screw something up so I don't mind too much which bit it is lol
I've been thinking about making my own personal Toolkit for a while
why have I not tried to make one
(ah that's why I couldn't find it when someone asked for a mod that let you gift villagers via mail)
(is it waiting for the framework release and rewrite?)
It's waiting for me to get around to it, mainly. And fix one bug.
idk what i'll do about machines mod
i would have to kill the overlays to switch to sml i think
You don't have to update to the Framework if you've based stuff on the shproj, I just want to make it clear to new users that the Framework is the lower-friction choice.
rewrite too 
makes me glad I started this GUI-needed mod idea late lol
I might've misunderstood, but there hasn't been any rewrite. Lots and lots of bug fixes, of course, but the Framework is a mod built on top of the same shared project that existed before.
Yeah I will at least fix up the namespace import
And yeet my fork after I get the bug fixes in 
There definitely won't be a rewrite in the near future, either - at least, not for a very long time, like years. I'm satisfied with the current state, plus the extensibility features set for M3.
So just wanting to be clear here, if anyone's thinking "I don't know if I should try it because it's not stable yet" - the API is stable, I've just been killing myself writing documentation over the past 2 weeks, that's why it's not on Nexus yet.
hmm.. now how to obtain item Ids...
I got a bunch of help in another server in order to understand how SYNCED_CHOICE works, but I still have some additional questions I need answered before I'm comfortable using it in my mod.
So, I have two trigger actions: Action 1 uses SYNCED_CHOICE to guarantee that four letters will be sent randomly over the course of a specific season, and Action 2 marks Action 1 as Applied once they're all sent so it doesn't run in the background forever.
"Id": "TMM_Mail_Spring",
"Trigger": "DayStarted",
"Condition": "SEASON spring",
"Actions": [
"If RANDOM SYNCED_CHOICE season TMM.Mail.Spring 1 4 1 ## AddMail Current TMM.Mail.Spring1 now",
"If RANDOM SYNCED_CHOICE season TMM.Mail.Spring 1 4 2 ## AddMail Current TMM.Mail.Spring2 now",
"If RANDOM SYNCED_CHOICE season TMM.Mail.Spring 1 4 3 ## AddMail Current TMM.Mail.Spring3 now",
"If RANDOM SYNCED_CHOICE season TMM.Mail.Spring 1 4 4 ## AddMail Current TMM.Mail.Spring4 now",
],
"MarkActionApplied": false,
},
"TMM_Mail_Spring_Applied": {
"Id": "TMM_Mail_Spring_Applied",
"Trigger": "DayStarted",
"Condition": "PLAYER_HAS_MAIL Current TMM.Mail.Spring1 Any, PLAYER_HAS_MAIL Current TMM.Mail.Spring2 Any, PLAYER_HAS_MAIL Current TMM.Mail.Spring3 Any, PLAYER_HAS_MAIL Current TMM.Mail.Spring4 Any",
"Actions": [
"MarkActionApplied Current TMM_Mail_Spring true",
],
"MarkActionApplied": true,
},```
However, my grasp of SYNCED_CHOICE is still a little shaky, and I'm not actually sure if I'm meant to keep Action 1's MarkActionApplied field as false or true to begin with. Can someone with a good grasp on randomization review whether this whole thing actually works as I intend it to?
do you want to account for modded items?
if the game loads them somewhere i could grab them all
They’d all be in Data/Objects
short of doing something to interface with the game as it is running, i think patch export Data/Objects is the easiest way
i don't want it's json
i want to go through all the items, check if it can used as a gift or is able to be picked up and add it to a list with name: id
cat says im done for the moment but im still here
but you would read the json to find out this info
i have utility needs for what i want
ItemRegistry has what you need, probably.
https://github.com/focustense/StardewUI/blob/dev/TestMod/Examples/EdiblesViewModel.cs
transform the json as desired 
Iterate through categories, iterate through items in each category. It should (?) handle modded items.
yea but they r not interface with game from what i understand
this is a separate program, just happens to be written in C# too
Oh. I don't see how you could possibly account for all modded items, then.
now u can ofc provide your own mod with custom console command to output in desired format
i want to use this as an ingame thing.. which should virtually stick everything in Data/Objects
if it is regular mod then ItemRegistry is right thing to use 
the TMM_Mail_Spring_Applied is just to stop TMM_Mail_Spring from sending new mail once player has all 4 right?
it seems fine at a glance
Exactly
i never seen this RANDOM SYNCED_CHOICE usage before though
thought u just use SYNCED_RANDOM?
So TMM_Mail_Spring should have MarkActionApplied set to false so the chances can be rolled across all season, right? I don't get if setting it to true would break it
Well, that's what I was recommended, I never used either before this
well you would want 3 more sets of these actions
with summer fall winter mail ids
assuming spring works the way you wanted
I already have that, don't worry
and yea you are delegating the MarkActionApplied step to a different trigger
so the initial trigger should not mark itself as applied after succeeding once
hence MarkActionApplied=false
Neat, that's all the confirmation I needed. Thank you.
it might yell at you for the RANDOM SYNCED_CHOICE but i've never seen it used like that, unsure how it parses after the RANDOM if it just checks for a double or any value it tries for a float so it might Scream
as in you want to create a random item from a pool of all items with a given context tag, or you want to create an item and apply a context tag to it?
the first
should be simple:
https://stardewvalleywiki.com/Modding:Game_state_queries#For_items_only
thank you!
substitute the output item ID with the ITEM_CONTEXT_TAG GSQ and you're probably good to go 
You would use RANDOM_ITEMS as the output, and put your context tag condition into PerItemCondition
I am getting mad
At least I am almost done
I can literally see nothing different
you should really sort out your indentation
squints
i think there's an extra } right before black horse
it's impossible to tell where any {} objects start and end, but that aside simply folding the Bay Horse object shows you have an extra } object closure:
and the reason you don't see a difference is because every entry has one, lol
this should be formatted correctly
This is great
same principles as always! match your braces and format your files
After all that it still crashed. Why? Because I forgot to make a shop icon for horse
Oops
Quick fix at least
Hey, trying to update the Better Junimos Forestry mod. Got it working on the main farm, but it's throwing errors on any other buildable farm, such as the area across the bridge in SVE's Frontier Farm. The problem is with this method:
public static JunimoHut GetHutFromId(Guid id) {
Farm farm = Game1.getFarm();
try {
return farm.buildings[id] as JunimoHut;
}
catch (Exception ex) {
ModEntry.SMonitor.Log($"GetHutFromId: exception while getting position of {id}", LogLevel.Error);
ModEntry.SMonitor.Log($"{ex.ToString()}", LogLevel.Error);
return null;
}
}
I'm guessing it's because getFarm() is getting the main farm, not the farm the junimo hut is located at. Any tips on how to fix this?
It's actually using getFarm() in a number of places, which I'm guessing is out of date?
maybe something like this? it's not a very efficient lookup, but given any location can have buildings now, iterating over them all is maybe your best bet:
public static JunimoHut GetHutFromId(Guid id)
{
JunimoHut output = null;
Utility.ForEachBuilding((JunimoHut j) =>
{
if (j.id.Value == id)
output = j;
return output is null;
});
return output;
}
getFarm() is still a thing but i dont know how the rest of the mod works so it might just require some more untangling and updating to account for the fact that you can build anywhere thats set to buildable now
Yeah, seems like I should replace getFarm in most of these instances, such as when the junimos harvest grass they should try to add hay to the farm they are currently on, not the main farm, right?
i dont think the other areas you can build actually count as Farms and not just buildable locations that allow seed planting
i could be wrong though
Hmmmm I guess that's a good question. If you build a silo in another location, where does grass decide to go when cut?
(Do consider whether or not iterating the whole damn world has the performance characteristics you would like.)
id assume it just looks at the buildings in the current gamelocation
And consider possibly asking if a junimo should know where it's home ks
without having seen any of the rest of the mod code, i'm going to assume that's been accounted for
fast question
it's a method that gets any junimo hut by id, it's going to have to look in more places than one now
what object type is for gifts
(I dissapeared to walmart to make a cucumber salad and watch anime)
I'll look into optimizing after I get it actually working lol right now I'm just updating existing code for 1.6
well i'm looking through the list so I was using a foreach
the list of what?
I'm using my ta voice lol
foreach (var item in ItemRegistry)```
i don't know what var is or what itemregistry is hahah
Cutting grass will store hay in any available silo in the world (since you can scythe grass outside of the farm), though I believe the farm gets priority since it's first on the location list
ItemRegistry is a static class, but you can't just iterate that one
autofeeders will also pull hay from anywhere, prioritizing current location
it's putting/pulling hay in/from silos and the hopper that's local
Makes sense. This mod uses the GameLocation class's "tryToAddHay" method. Going to test if that works like that, or if it fails upon not finding a silo in that location.
Is there any documentation for these classes I can look at?
If you want to make SMAPI mods with C#, one important resource is decompiling the game to read the game code. Here's how to do it: https://stardewvalleywiki.com/Modding:Modder_Guide/Get_Started#How_do_I_decompile_the_game_code.3F
Fun times
I think tryToAddHay is local, you want StoreHayInAnySilo
which is global
and yeah reading the GameLocation code is still the best documentation lol
The documentation is the headaches we got along the way
I have no idea where to grab what I want
Where is that method?
you should really have the decompile and/or ilspy up for reference, it helps a lot
Just memorize large swaths of the codebase 
I want to give the ability to go through all loaded items and if they can be used as gifts add them to a list using the following format : ItemName: ID
is trying to forget
Yeah, I'm pretty new to modding Stardew lol but I want this mod in my playthrough darn it! 😛
The best reason to update a mod, selfish reasons.
That's how I got started lol
The very first SDV modding thing I did was trying to fix/update smaller fish ponds
I gave up, but it was informative
I belive in you
I'm sure if I get back to it now I'd probably succeed haha, but lazy
In ForEachBuilding, why does the method return a bool? What does that bool do?
Shortcut
from the decompiled game code:
/// <param name="action">The action to perform for each building. This should return true (continue iterating) or false (stop).</param>
we only want the one matching JunimoHut for our guid, so we return once it's found
Yay I'm walking out of work before sundown
Ah, makes sense
I have annoyed my wife but she says she's happy that I've gotten back into coding
again probably not very performant, but how else do you account for arbitrary data on each item
var itemIds = ItemRegistry
.GetObjectTypeDefinition()
.GetAllIds()
.Where(id => ItemRegistry.Create(itemId: id, allowNull: true) is Object o && o.canBeGivenAsGift());
it won't actually account for non-object items that're giftable, but i don't know of any?
oh. trinkets.
yeah, i'm spreading around my questions.. I hope to find a definite answer
it would be nice to give people a utility mod that they can jump in the game, and pull in improved item lists, map locations, heck even NPCs
lookup anything do this stuff 
it's an utility not for you to play the game but help with NPC Creator
yea i mean, you can reference the data models code there
some of the data without clear models get converted, like recipes
I don't think there is a way to communicate with it tho
*reference the source code
ah
that sounds a bit more doable x3
https://github.com/MissCoriel/NPC-Creator-NT I am happy that I'm making this code so much cleaner
Quick question, where are smapi logs stored?
!log I think this says
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.
Hm, maybe it's on the actual log site
i was curious if anyone knows how to make dialogue choices during an event?
There's multiple options, the easiest in my opinion would be using quickQuestion, it's explained on [[Modding:Event_data]], watch out for the syntax I've seen it get people before
ok thank you
If you do a map edit with a tiledata does it also add the tiledata or do you need to add it separately?
Adds kt iirc
Hm I wonder why it’s not working
also I don't think the speak farmer is supposed to be there before it. do I remove it?
It works as long as you also have a tile on the corresponding object layer. So for example if your patch only has tiles on the building layer but you add a tile data on the back layer it won't work.
hmmm okay I wonder if that’s the issue. I’ll check it out
make sure you name it correctly
To clarify, there needs to be a tile in the same place. And back1 layer for example also wouldn't work
And yes I have gone crazy figuring out why it wasn't working because I didn't name it TileData
It's super easy to forget
Me likey
The deed is done: https://www.nexusmods.com/stardewvalley/mods/28870/
Also, I used an incognito window to check the published version and holy moly, Nexus's logged-out state is stuffed full of gross ads. When did that happen?
you dont get ads if you're a verified mod author
you guys see ads? (uBlock, Hosty, AdGuard, PiHole)
I know that - but the ads for everyone else have gotten so much worse.
it probably did, I havent seen an ad for ages
It's always been pretty bad I thought
Judging from when I do the dumb thing and try to check nexus on my phone
"always"
Maybe not always, but for a while
I also have adblock on mobile so I have zero idea lol
iOS woes
(shh I am also on iOS. Safari content blockers my beloved)
(Firefox Focus is what I use)
Huh, I didn't think apple allowed stuff like that for their browsers (and given the requirement that all mobile browsers use their browser engine, well...)
(I assume the mobile browser engine requirement is still a thing, but I'm pretty out of the loop on iOS dev stuff)
the EU forced them to allow other browser engines now, but none of the other big ones have announced any plans to port theirs
and if they do port, I imagine Apple would make it a life mission to make installing alt browsers as much of a pain in the butt as possible
I cant believe this is real
Haha, believe it! Hope I get to see some cool projects come out of it.
Where to discuss mods ? Like it's been I guess 2 years I think since I last played this game and I really feel like I have a lot to catch up to
#modded-stardew to discuss using/playing with mods. here to discuss making your own mods
hey? this is the right place to discuss mod making/updating right?
thinking of converting some older mods that i'd love to use
mainly i wanna try to get the witch valley mod up and running for 1.6 i'm kinda a beginner tho so i'll probably try my hand at converting the furniture aspect of it first
looked at that mod page, it's definitely convertible to the new 1.6 Content Patcher format
!converters these can help
A lot of converter tools have been made by helpful members of the community to update outdated mods or convert existing mods to modern or alternative frameworks, and for 1.6. Here's a list:
- Convert XNB mods to Content Patcher
- Convert pants/skirt spritesheets to Fashion Sense
- Convert Custom Furniture mods to DGA/1.6 Content Patcher
- Convert visual Content Patcher mods to Alternative Textures
- Convert BFAV mods to work with 1.6 Content Patcher
- Convert TMXLoader mods to 1.6 Content Patcher
- Convert Custom Music mods to 1.6 Content Patcher
- Convert Shop Tile Framework mods to 1.6 Content Patcher
- Convert hair spritesheets and JSON Assets shirts & hats to Fashion Sense
- Convert regular Content Patcher to i18n format
- Convert JSON Assets to Content Patcher
- Convert fish data from field names to slash delimited values
- Convert markdown text to Nexus' bbcode
- Convert Custom Ore Nodes and Custom Resource Clumps mods to Item Extensions Framework
- Convert Content Patcher Animations to SpaceCore
- Convert More than Necessary to Content Patcher
- Convert SAAT to Content Patcher
thank you!
obligatory mention that if you're planning to do anything with it beyond personal use (eg. uploading it to Nexus) make sure to get the author's permissions
the mod page's Nexus permissions is pretty permissive, but you do need permissions for "modifications", which qualifies in this case
sure! it's cool to test if it'll work first beforehand right?
sure
what probably i'll do is send the files over to the original author so if i don't have permission to upload i can help update it
A lot of not-super-active authors do accept PRs to update their mods. (They did for me, anyway.)
i'll test it out! i just converted witch valley's furniture to content patcher
also? if it requires other requirements like json assets what should i do? will the furniture converter work ok?
then you use a different converter. that list above has a JA -> CP converter
ohhh ok! thank you
mail data is also CP now so you can migrate away from MFM, though it doesn't have a converter so you'll need to do it by hand.
https://stardewvalleywiki.com/Modding:Mail_data and https://stardewvalleywiki.com/Modding:Trigger_actions could be useful
(MFM is technically not deprecated so if you don't want to you don't have to. I still recommend migrating to CP though)
it still has one or two things it can do that CP can't. one of them i think is including items above base quality, but i don't know any others
is there a nice sound cue for big slash
cut or clubSwing?
did clubSwing get deleted
oh it's clubswipe
it's big and swing but not very slash
there's slosh if you want it 
ah, slosh, perfect for a sward
slosh 
im trying to find replace for axechop + stumpCrack for scything giant grops
slosh is very wet hm
u wanted a big slosh...
Giant melon explodes all over you
I wish I understood enough about licensing to know what to do about the assets side of it.
isnt it your assets
Yeah. I just don't know if there's a license that you can get that applies to both code and assets or if you have to have one for each and how to do that.
(I am googling, I just wish I already knew the answer lol)
content patcher mod is technically data rather than software i suppose, i think you would use one of the CC licenses?
I am thinking about art and (creative) writing from an assets point of view and C# from a code point of view (now I have a mod with C# to release and will have more in future hopefully).
u can dual license if u want
yeah I use CC-BY for content and Apache 2 for code
but i kind of just counted stuff associated with the C# as part of the software distribution
Doom's source is open, but its assets are still all rights reserved
cus the only part that matters to me is credit me if u use my stuff
Like if you have art included in your C# mod you include it under the same terms as the code, chu?
yea but again, that's just cus i didnt care to license my assets with separate terms 
i dont have rights to some assets that r just game sprite edits either
i included what art was by whom and what was not covered in the trinket tinker license
Thanks, I'll read that too. I'm currently reading a big writeup somebody did for Minecraft lol
"you're free to use and redistribute, except that I use a bit of copyrighted code/asset from the original game I mod in these so technically these belong in a very, very gray area, so by accepting this license you also agree to sit in this gray area with me"
i wonder what is the line between "inexplicable knowledge of how game work" vs "i yoink this draw code from game"
Part of it is probably amount. Like if your mod is using a lot of code from the decompile and it also recreates a lot of the game mechanics that's not likely to be within fair use. But if it's a line or two that could definitely not be used to recreate game mechanics, maybe closer to fair use?
can u really copyright game rules though
you can't copyright mechanics (though you can patent them) but you can copyright implementations
I don't know but you can copyright the code you used to create them
Rar I want a license that explicitly allows people to make money from my stuff but not via paywall
that definitely sounds like it needs a custom license, or at least a couple clauses on top of an existing one
You can just write that in right 
you can technically stipulate any legally enforceable thing you want. but if you're not a lawyer putting it in legalese and without loopholes can be difficult
Common licenses are really just suggested templates in the end
yeah for CC, put another sentence in "Under the following terms:"
Unsure how you could make money but not via paywall
DP
i think if you change the terms of the license text in any way you cant call it CC, though
Isn't buying things generally like paying for access
Patreon, ko-fi
in that case "this work is licensed under CC, but with the following additional terms"
(Where you get the thing regardless of if you pay, but you can pay)
I think the answer is "it could be"
"If you make a change to the text of any CC license, you may no longer refer to it as a Creative Commons or CC license, and you must not use any CC trademarks (including the Creative Commons name) or branding in connection with the license."
from creative commons themselves. so, i dont believe you actually can say "this is licensed under CC but with extra things"
because its no longer CC
darn, I spread illegal misinfo again
I wonder what license nexus perms count as
oh the next part is even more explicit
"If you place any restriction on use of a CC-licensed work that has the effect of limiting or further conditioning the permissions granted to the public under the standard CC license, you must not use any CC trademarks (including the Creative Commons name) or branding in connection with the license or in any way that suggests the work is available under a CC license. These restrictions often appear in terms of use on websites where CC-licensed content is hosted, or as part of terms for downloading CC-licensed content."
Cus it sounds like it has all the features aba wanted
i dont think nexus permissions are any specific license, theyre just you deciding your own license terms following their template
what license does expanded operate under? doesn't that only make money via patreon?
you dont really need to "pick" a license, you can just decide what the permissions are. as the rights holder, you are free to determine how you sublicense out your work
Is it valid to copy paste nexus perms into a LICENSE file and put that in ur repo
On the one hand, it'd be difficult to ensure I landed on a legal way to convey those permissions if I didn't pick a license. On the other hand, I'm not about to take anyone to court over this regardless.
SDVE's C# code is under MIT, but no words on the rest
you can decide whatever terms you want for your license so long as they are legally enforceable
you could literally say "all rights reserved, except for Chu on NexusMods, who can do as they please with the repo"
Yeah but people are discouraged from writing anything of their own for permissions because of the unlikelihood that people write it in such a way that it is legally enforceable.
brb renaming my username to chu
the rest would be all rights reserved then
yeah, exactly. companies usually pay lawyers a good amount of money to write somthing up if they really want a customized license
But SVE's Nexus perms are quite open
I'm not even named chu on nexus mods
all rights reserved is the default so naturally you can choose from there what you want to allow people to do
(I am not a lawyer and this is guesswork, but) IMO most reputable hosters will usually side with the original creator, and it's usually up to the thief to bring their lawyers and find loop holes
(and tbh if someone is seriously going to sue Nexus for the right to host their license-violating content they have already lost)
good, that leaves the loophole wide open for me to exploit
I think I'm just going to go with CC-BY-SA and then wish everlasting bodily discomfort on anybody who chooses to paywall my stuff
Brb writing zombfier into my will
I guess with CC-BY-SA, if someone was paywalling my stuff, someone could just buy it from them and then immediately post it everywhere for free.
Which I hope would happen lol
well, theyd still have to give credit to you too, so i imagine they would just get it for free from you in the first place
they need to credit you, link to your license, and indicate if they made any changes (and if they did make changes, those must also be distributed under CC-BY-SA)
Yeah I would hope for that but not expect it - not everybody does that sort of examining before spending money
Though I suppose if they're buying without checking the license they're not likely to then share it for free haha
Oh well, this is all extremely hypothetical anyway
i just slapped cc-nc on all of my stuff
I don't want to make people who are conscientious scared of making money via donations if they use my assets, which I think could happen if I used NC
that's fair, i don't plan on making tilesheets or recolors so that's why i'm like "all of my art is actually personalized so, y'know, slap an nc on it"
technically CC defines commercial use as things that are primarily intended for commercial advantage or monetary compensation
but whether thats just a CC thing or something you are bound to as well by using their license terms, i couldnt say
Can you have multiple mail commands in the same letter, such as %item id (O)<ID> %% followed by %item conversationTopic <key> <days> %%? Through search I only found a message from 2021 saying it *may* not be possible
well conversationTopic isn't an item, so not that
but in your trigger action to send out said mail, yes, you can
i dont think they want the CT to happen until they actually read the letter
That seems pretty easy to test in game
Ahem...
And Avi the wiki command does have item in it
that's so weird
Almost all the commands have item in them
why is it like that 
that said i dont think you can have multiple
the while loop seems to break after parsing the first one and then returns the letter
(break as in exit the loop)
i live on the 1.6 migration for mail data so i don't actually regularly see that one
Do I need to include the entire license text in my mod for each asset from other people I use? That seems so cumbersome!
that said you can have an %item command and an %action command it seems
but only one of each
or... maybe multiple actions but only one item
generally yes, unless they're in the public domain
If it's asset from other people then wouldn't u just copy their license
my chaos mail works "{{ModId}}_HandHolder": "{{i18n:Mail.HandHolder}} %item id (O)FlashShifter.StardewValleyExpandedCP_Fungus_Seed 1 %% %item id (O)FlashShifter.StardewValleyExpandedCP_Stalk_Seed 1 %% %item id (O)FlashShifter.StardewValleyExpandedCP_Void_Seed 1 %% %item id (O)FlashShifter.StardewValleyExpandedCP_Slime_Seed 1 %%[#]{{i18n:Mail.HandHolder.Title}}",
it's kind of strange though and it uh, spits everything out at once if you esc the mail, or you have to click through all of them to get them all
tldr: try it, probably works
Oh whew I can just include a link to it not the entire text.
that definitely depends on the license
This is now separate musing than the one from before lol.
They're all using CC so it should be okay
But I'll double check
"If supplied, you must provide the name of the creator and attribution parties, a copyright notice, a license notice, a disclaimer notice, and a link to the material. CC licenses prior to Version 4.0 also require you to provide the title of the material if supplied, and may have other slight differences."
thats how they define "appropriate credit"
I am reading the full text of CC-BY-SA 4.0 right now and it specifies I can use a hyperlink
it says that same thing on the CC-BY-SA 4.0 page
where do you see it saying something about a hyperlink?
i wonder why it contradicts that on the other page. legalese overrules it though for sure
Where's Claire
we need a real lawyer to save us from the legalese
It's also on this page https://creativecommons.org/licenses/by-sa/4.0
grandpa wouldn't have wanted us to have to read legal documents on the farm 
yeah. if you click that "appropriate credit" part it shows what i sent
Grandpa gave us the farm to avoid taxes
notably on that page it doesnt say or
How do we know grandpa even legally own the land
I think a license notice and "the full text of the license" are different things...?
It's fresh, organic, locally-grown legalese.
Is there a deed in the letter
i already coneded that id look to the legalese first, im just saying why i thought otherwise because it says otherwise
Made from 100% locally milled paper sourced from local maple trees.
One person had their permissions text (not using a specific license) in an image so I had to type the whole thing out by hand >_<
Unhinged
Could've copied the image?
if they serve federal employees you can slap them with an ADA lawsuit
out of luck if they dont though
would copying the image require attributing to them that image, needing you to link to the image again, and again needing more attribution
the license image itself might not even be CC
Smaller image inside the image.
Infinite images.
Eventually it shrinks down to a single pixel, but that's OK, because calculus.
I guess I could've but I was writing it all up in a txt file and I wanted the permissions to be there rather than "go look at this image in the folder for the perms for this one"
i remember being told that there was hardly any calculus in modding
Ah, but you didn't ask about the legal side. Lots of it there.
Integrating the fractal equations of recursively embedded licenses to eliminate duplication of text is one of the key skills needed to become a certified modding legal professional.
...in all seriousness, though, it probably wasn't done out of malice or mean-spiritedness. How many times a day do people post screenshots of their code or JSON in here? I don't know what compels them to do it, but clearly there is some pervasive thought pattern behind it. Sometimes I'll consider myself lucky if I get an actual screenshot as opposed to a skewed, blurry and upside-down phone-camera photo.
Oh no I definitely don't think it was done to make things harder for me. They don't actually require that I include the terms of their permissions in my files anyway, I just wanted to for accountability. So the extra work was on me lol
Although every time I do see text in an image without alt text it makes me go "well this sucks for vision impaired people - was an image really necessary?"
Well, I am inspired. I'm going to switch all my licenses to images, written in a combination of Comic Sans and Edwardian Script, being sure not to skimp on the JPEG compression artifacts.
oh my
And stipulate that they must be reproduced in full, and that the license image itself is copyright.
Oh nooo I just realised I can't get Nexus to take down AI stuff of my work if I use CC-BY-SA
This is all so haaaard
Eh, I say don't overthink things. What's the diff if a human copies it vs. if an AI copies it? If it's free, then it's free.
The kerfuffle over GenAI is that it's taking stuff that isn't free, that is 100% copyrighted material, and reproducing the work or derivative works using the memory in its training data.
(and the extreme energy use. but i do agree it would be more palatable if it only ever did take free to use stuff)
Sure, yes, there's also the fact that we are doing extremely silly, impractical and downright ridiculous things with AI. Most of those things are legal, though.
Frankly, I have more pity for the poor GPUs, and the poor bastards trying to afford them for actual graphical purposes.
I don't want to say too much because I don't want to get us caught up in an argument about AI, but it does matter to me. I just don't think there's any practical way I can do anything about it /sigh/
Not unless you want to hire a lawyer to write a bespoke anti-AI license, and fight it in the courts with companies who ignore it anyway.
could always just leave it as "ask me for permission to use" and then stipulate terms if someone does ever ask
@ivory plume I was encouraged to share a bug report: The door in FishShop gets a warp in GameLocation.cs to tile 6 11 in BoatTunnel for non-NPCs, but the tile action WarpBoatTunnel is also attached to that door's tile and it goes to 6 12 in BoatTunnel and seems to take precedence (the action is given in the .tmx, the action is interpreted in FishShop.cs). I don't know which tile destination is intended, but 6 12 is currently used while 6 11 is not.
I feel lazy to create an interior of an apartment where most of my NPCs would reside. Is there a way to make those NPCs 'disappear' (or the illusion of them entering) when they enter said building?
Idk. XD
experimenting :3 i think i know.
Edit: im dum lmao. xd solved.
Are dynamic tokens alphanumeric?
And do they only apply within the mod or could other mods accidentally trigger them in they have the same dynamic token name?
For example: Mod1 has a dynamic token named "catsleep" and Mod2 also uses the same dynamic token name
Dynamic tokens are internal to a mod, hence the existence of this mod https://www.nexusmods.com/stardewvalley/mods/28284
I'm not sure of all the characters a dynamic token will accept, but they definitely accept letters and numbers (and other tokens)
Awesome, thanks!
after much fumbling, i finished my seasonal portraits..
now i have to make sprites...
(the dialogue is still not done)
heey, if my file has a space in it's name, how to i write the directory in json?
wdym directory? would suggest removing all spaces and just replacing with underscores or some other symbol though
"Target": "Buildings/BigShed",
"FromFile": "assets/Buildings/BigShed.png",
the Target File Name is Big Shed not BigShed so i dont't know how to write the space in json correctly
uhhhhhhhhhh i'm trying to remember if cp auto detects the underscore as a space when finding a direct file
i can give underscore a try 🙂
though i wouldn't suggest replacing something like that, you can turn it into a skin instead
Your target would need to be "Buildings/Big Shed" because vanilla has a space in the asset name.
oh, how's that?
@brittle pasture Sorry for the ping but I'm wondering, is "allowing non-object outputs from machines" feature implemented in EMC Nexus beta version?
thank you! : D
also, aba, found out that calendar and social aren't the same syntax, pissed (for data/characters)
Lol yeah they are slightly different
It should be yeah
high compatibility with anyone that does do a big shed retexture
cause it's all your unique id + your own unique slot
Lol my game log is such a mess
Oh speaking of logs, I need to find out if my username gets put in the log if my mod errors. But I don't know how to check that.
depends on the error, but i slap a LogName on everything
I meant my C# mod, sorry
(also we have a lot of mod)
oh, uhhh monitor.log
the thing that i copy-paste from atra all the time this.Monitor.Log($"Huh, can't find my loction, that's weird.");
Can emotes be used outside of events?
You can manually emote I'm sure of it. What's the context?
That's not an error message that exposes the filepath though is it?
Like an NPC receiving a particular gift. Would they be able to emote in response to it?
Then....why would I want to do it lol
incase your statement fails 
can i set the amount of values that are allowed? i have two sections and want either section 1 or section 2 to be allowed, not both at the same time
I don't think you are following what I am trying to do, Avi. I just want to know if my mod doxxes me by putting my real name into the log if my mod fails somehow lol
o-h
no, sorry, i didn't understand that, the monitor.log in that context will only spit out "Huh, can't find my location, that's weird." if it fails the statement, nothing else
(i had no sleep, demons, i am finally sipping my coffee)
As far as I can think, there shouldn't be any reason for a built exe on someone else's machine to have any reference to yours
Or in this case, dll I guess
Hm, how to make it error.... make a quick broken transpiler /j
Your build directory will show up in stack traces
So yes.
The default location.
Hm, so can you put it somewhere that doesn't climb out of your username?
Yes
Welp, time to move your repos again 
Thanks atra, is there a way I can check the stack trace(s)?
You will have to add some context to this question because I have no idea what you're referring to.
I was about to ask a dumb question I already knew the answer to lol 😂 question“is there a way to reference other mods maps to load into an area” answer “ just set a dependency and reference the loaded maps name from maps folder” 
Sure!
Monitor.Log((new StackTrace()).ToString())
https://www.nexusmods.com/stardewvalley/mods/29000
@uncut viper Thanks for the GSQ 🙂
Trying to fix my farmhouse light mod to work with sve
Nice one, Lumi!
i am pretty happy with the concept, it's really enjoyable for me to play with. Stuff like "i may as well craft this item now so maybe i'll get a letter as reward"
I'm going to add it to my game
it was lumi who had the nice number 
happy accident, i didn't even notice there was a nice number to grab 😄
Does it send mail for existing saves with previously achieved progress?
it should! i may add a note about that on mod page
it's a question others may have too
I was considering starting over to actually do an SVE playthrough, I'm definitely using this either way, I love getting stuff for making progress lol
my next playthrough is vmv
i am really appreciative for the GSQ because it's autocompatible with whatever you install instead of me having to be "hmm, what is a good amount of item shipped for this reward? 100 in a normal game, 17805 if using raffadax?"
and in the same time, if someone wants to make a "SVE flavored" version there's space for that too, as my rewards are vanilla items but someone may want to also get mod specific rewards/machines
Sorry to ping you but I think this is the result from that line and I don't see any file path? Is it because I didn't put it in the Entry method?
Interesting
i'm still a bit salty that i was away when the number i wanted for Nightshade was claimed
Monitor.Log((new StackTrace(true)).ToString());
yes vs this is what I want
yeah getting a nice number on purpose is a pain
obviously it's because you do so many PRs, atra, it knows you wanna do more threading optimization
VMV number i got because i released the previous mod, saw the id was one number off a round one, and so was able to grab VMV one too, but modding was less active now
I saw Cooking was a possible future feature but I think this will probably confuse some users who are allergic to reading mod descriptions
[Content Patcher] Ignored Lumisteria - Progress Toward Perfection > Cooking: the When field is invalid: 'Cooking|contains=All, BigMilestones' can't be used as a token because that token could not be found.
yeah, try what EnderTedi posted
That's what I've got, isn't it? Monitor.Log((new StackTrace()).ToString());
missing the true argument
(i will see if other issues arise before posting a fix, hopefully mod users will not be afraid too much)
Hmm, no change
oh, then just throw an excepetion or something
It's the StackTrace(bool fNeedFileInfo) overload, worked for me when i tried it
I know how to break things by mistake but I don't know how to do it on purpose lol
If you don’t fix that it won’t load at all and you won’t get more feedback
Okay I must try this in Entry because I still didn't get a filepath with the exception either
Congrats you're filepath immune i suppose 
doxx-immune
I wonder if it's Profiler doing something to stop it?
Yay!
now i know where you keep your mods on your computer 
I mean, you know that for every major C# modder
Just 32 more steps to identity theft
Even then it might not help much
You get to see how messy my setup is
You know my first name and country
First you start with discord name and profile and nexus name and profile find common factors if there playing stardew probably have steam might even use same profile styles then see if they linked twitch or other social media to any profile eventually you could find the info
I was accidentally putting my first name in a bunch of my commits of Hiria for a while
I bet I could probably have some success pretending to be a MathPerson
i wonder if i even get doxxed, i have my bin build in my separated HDD 
I don’t have twitch or twitter or instagram or Snapchat or tiktok
Facebook?
Yeah but it’s private and under a different name
Is this because you are one already
I have 3 different ones myself
It is true I have Steam! But lol no I don't link any social media to it
at least you don't ""organise"" your mods by being content packs vs c# mods and then proceed to have C# mods in the content packs folder
i have no organization for my mods, throw it in there and stardrop puts it into categories for me, i am blind
Anyone off the top of there head remember what goes here
When: “mod tag”,
Load
Thank you atra and Tedi for helping me with that!
I would've been very unhappy to find out it included my full name after publishing (which it doesn't anyway but I was worried it might).
"HasMod"?
Specific mod name but yes
"When": { "HasMod": "spacechase0.SpaceCore" } Like this? I don't really understand your question.
Yep that’s the format I needed
"When": {
"HasMod": "modid"
//or
"HasMod |contains= modid": true //or false
}```
IIRC, Tedi's second part of the example is the structure you need to have more than one HasMod
Making changes to a map but trying to incorporate sve as well so have to use hasmod sve to allow certain changes only when that mod is present
correct. in JSON you cannot have duplicate keys in the same object, so you need the |contains versions in order to have more than one
SVE compat, everyone's favorite modding job

Sowing confusion
spooky maths
spooky maths from a distance
(Netcode) is there some kind of NetObject or NetStruct i can use to punt a struct (of my own making) over a NetEvent1Field for syncing with farmhands? asking for me
How is II+IV spooky 😉
netref?
its a generic so u do like NetRef<EyeCorerData>
ok i'll check it out. thanks!
i think the type inside needs to implement INetObject<NetFields> too
the struct is quite simple (string, int, int) but it specifies a map and coordinates. when one player modifies that spot, the others need to do the same
oh
i thought you were finally implementing "throw your friends into the volcano"
maybe it's easier to send over the pieces separately or something but i wouldn't know how to sync them all (i don't really know how the netcode works and i try to avoid thinking about it)
no, this is an unrelated project, sorry
question about machines: if i have the DayUpdate trigger do i still gotta specify minutesuntilready or will it automatcally know to just do it once per day
that will work yeah, the coffee machine is like that
nice
honestly i think the game's netfields are a big ball of ???
it was much simplier to just use smapi events 
im triyng to get my lil few fall machines mod out for the event and this is like the last day and i suddenly realized oh i never did amchines before :B
ive focused so much on art and just random map making i am even more out of the loop what 1.6 gave us and everything lol
that said, maybe you can just put your data into the gamelocation.moddata
that is already netsync'd so the only limitation is that u need to do it as a string
also was multiple recipes in one mail possible or do i gotta do one recipe per mail with CP still
i wouldnt even know how to do that
chu was responding to ichor 
sorry i was talking about ichor's thing
It's possible, but due to game limitation only the first one will show up in the text body
oh lol i was about to say
i've never tried a multi cooking/crafting in a mail
I only know because I did try lol
hm...so is that in general w/e is added? like, if i attach first an item and then 2 recipes only the item with show
only one thing at a time will ever show, yeah
items do make the active popping noises, but i can't remember the uh, action upon receiving a recipe in the mail
i dont wanna write 5 mail the player gets one after another
slacc writing mail and just stick it in a shop 
since its the wizard who gonna send the mail i just gonna add something like "i infused the letter with magic so you#ll know X recipes for new stuff" or something
attaching multiple items is fine, you'll get them one after another
For recipes there's only a "new recipe added" text in the mail, and it only shows the first one
but they all get added

i dont want pierre to get the good goods /j
ehh i just do mail. even if i add to shop i gotta make a json for that
idk
first the machines gotta work
oh, yeah, that seems much easier. i'll try that first
what kind of thing are u syncing anyways 
if it is like a placed object then location does that already
it is like a placed object but not the same, because i feel the need to be extra
it is a tile change and tile property (action)
it's not just to be extra though, it works a little differently than a placed object, by design
oh yea neither of those r netsync by default i vote for smapi events 
Yeah
Netevemts have to be polled every tick
Smapi multiplayer message is probably easier
hm, am i reading this wrong or cant I add an amount to my machine(like, itll produce 5 void essence per day)?
Those fields are part of the item query:
https://stardewvalleywiki.com/Modding:Item_queries
oh 
If you look at machine data output (or other places) you'll see something like "See item spawn fields for the generic item fields", that means that it contains the fields in the Item Queries page
alongside whatever's on top specific for machines
anyway to answer your question you want MinStack
thank you
**Posted on behalf of @royal nimbus **
https://www.nexusmods.com/stardewvalley/mods/28206/
~New 'Goth Friendly' Stardew!~
This mod turns the UI and player aesthetics gothic. It also changes a lot of the NPCs to be goth or alternative. Everything the player gets will be goth but not everything in the game will be changed.
The purpose of this mod is to make the game more goth friendly.
:D <3
Hi! im making my own portraits for Ridgeside Village using portraiture. I have named the pngs the same way they are in the og mods portrait folders but some of them wont work. Specific ones atm are Maddie_Lab and Irene_Chef. I was told to ask help here 
Wonder why it says mod unavailable, definitely takes me to a working Nexus page
Congrats on your release! 
Takes the cache a bit to catch up
Ah
tyty ^^
Congrats Ralo!
Yeah idk if the embed will work for Leah unless it'll populate later?
r u submit that to contest 
im kind of surprise there is only 19 submissions rn actually
is that the typical count for mod jam?
idk if i can submit it actually
Does it fit any of the prompts?
does this look about right for simple output rules?
"OutputRules": [
{
"Id": "VWW.VoidEssence",
"Triggers": [
{
"Trigger": "OutputCollected, DayUpdate",
}
],
"OutputItem": [
{
"Id": "VWW.VoidEssence",
"ItemId": "(O)769",
"CopyQuality":true,
"CopyPrice": true,
"MinStack": 1,
"MaxStack": 10,
}
],
},
{
"Id": "VWW.SolarEssence",
"Triggers": [
{
"Trigger": "OutputCollected, DayUpdate",
}
],
"OutputItem": [
{
"Id": "VWW.SolarEssence",
"ItemId": "(O)768",
"CopyQuality":true,
"CopyPrice": true,
"MinStack": 1,
"MaxStack": 10,
}
],
},
],```
I'm not too familiar with Portraiture but I'd check and see how the Maddie_Lab and Irene_Chef portraits are being loaded--specifically, what target name they're going to. I would expect it'd be the same, but maybe it's an upper/lowercase difference.
well its goth and spooky theme so im sure it would be fine with that but it was made to be compatible with another mod so it has a couple assets from another mod in it
Doesn't say you can't use another mod's assets, just no stolen content
I was checking out RSV for how those two are loaded, looks like they are Maddie_Lab and Irene_Chef, but I'm wondering actually how they're used
Yeah it definitely fits the spooky decorations theme. I don't think it would be an issue that it uses SVE assets because SVE permissions allow that - and they're your recolours of the SVE assets anyway right?
Portraiture has some issues with location based portrait changes
Maddie_Lab is her work coat inside the water facility, yeah. Not sure about Irene
Oh, PortraiturePlus should cover this issue
plus?
k well i can enter it then i guess :3
It's an additional mod built to compliment Portraiture, since Portraiture hasn't been updated since 1.6 beta and no PR's have been accepted
Huh, is it still user-based?
I'm guessing that was the reasoning anyways
platonymous is out of country for an indefinite period, if memory serves
Tbh I might look further into scale up 2 because I want nicer portraits but I hate user-based
As far as I can tell, PortraiturePlus just adds more naming conventions that Portraiture will accept
there we go. entered it. also bear with me not in the best headspace rn as im dealing with some heavy personal stuff atm
Ah, I see. Wasn't aware
Well, I'm pretty sure it's gonna survive 1.6.9 so it's not a big deal lol
I'm the opposite - I keep being surprised by how many there are lol
There were many a good idea in my head but alas, I didn't wanna deal with making a new farm map just to implement my Addams family farmhouse idea 
i had only one idea and i triaged it early on for being too much work
I'm curious now what that idea is
spooky hunt for unseen monster in dark forest
I have 5 mod ideas sitting on a shelf while I fix current ones lol
wow its got all the things i am afraid of
A monster with a running away pathfinding?
like npcs and minigames and pathfinding
I was working on other crap until fairly recently so I didn't make anything lol, thought about trying to put together some kind of crow jump scare mod
like suspense/horror. it would have been... involved
Random chance when breaking stuff on the farm that 100 crows spawn
a shadow prowls the abandoned house in the woods ||it was just lacey||
instead i have been working on my current pet project, which i expected to finish by now, but i keep architecting it poorly and having to rewrite stuff
A haunted house was another idea, but I couldn't think about what to actually do with that lol
I did contemplate using my treant monster which stops moving when in the player viewport but slowly creeps towards the player when out of sight
last year i wanted to have the villagers sing "this is halloween", but (search for my gripes about this topic in this channel) i could not get reliable sync to the music in an event. turned out to be good, since i would have had to make a ton of art to pull it off
Don't look at me putting off karaoke I don't know what you mean
More involved probably woulda been blueb's route of transpiling the playerControl event command iirc
i think i would have slacc too if i didnt think of way to turn example into mod 
Free advertisement
I have so many of those Halloween mods left to download
And of course my own to upload soon so I don't fall asleep and miss the deadline
you got like 8hrs 
Will have to put my wife to bed and then hustle
the perfect length for a refreshing nap
I haven't done mod stuff before so i'm really new to this stuff, soo how do i check the way things are loaded
Also Maddie uses the lab coat outside the water lab and inside it, Irene uses the chef outfit inside the Amethyne mansion when working
Also i do have portraiture plus but yea haven't done modding before so don't really know how to use it :/
you open up the .json files in the mod and read them. you'll need to find the patches for the specific items
portraiture is location based iirc?
because "beach" portraits will affect npcs standing on the beach in town
and i had to rename them to IslandSouth
to get it to work on the resort
hm. would it be stupid to make a joke for my skeleton machine where the recipe is just 206 bone fragments (since theres 206 bones in an adult human body)
Would like to make a mod for putting hats on barn & coop animals… I’m assuming it’s C# only?
You could do CP and add the hats onto the images
That wouldn't let you place hats on animals
that's a brilliant joke
But yes, you would have to Harmony the draw method
Not sure what you would need to do to make giving them the hat a thing
possibly look at how the game does it for pets, urchins, horses, and scarecrows
Hmm 🤔 you can pet and brush animals so guess you could make the hat an interactive item for them that updates there sprite sheets
for farm animals, i would add a way to specify hat offset
so that u can handle ostrich and cow with the same code
Oof, if you haven't done modding before Ridgeside is probably a lot to look through. I don't have access to their files right now (at work) but if no one's checked in eight hours or so you can ping me and I'll look.
or just manually offset it in their spritesheets
im rejecting your PR 
PR?
wow I could have sworn hat offset was a field on pet data. Nope, it's just hardcoded for cats and dogs
looking forward to new eac feature \j
i had to put a little warning about it on my cat, since it does not line up with the hardcoded placements
Looking at how horse does it, this seems awful lmao
(Hats On Pets Plus sets up a new data asset where you can set hat locations per-frame for your pets)
Oh jeez
nice
I have a hats on turtles pack you can reference if you want to make a hat pack!
does it support farm animals already? seems like a natural place to put it if not
Hats hats hats
scarecrows hold the hat with rarity
I don’t think hpp does farm animals, no
i approve this message
yeea i might be little ambitious, i have done coding for websites in school but that's about it. I'm thankful you are trying to help me tho 
Content Patcher is actually pretty easy to learn! But trying to parse a big expansion right off is like jumping into the deep end first 
ohh im so sorry i didn't know 
u could try doing portraiture on a vanilla npc first
yea i do want to make them, i just did RSV first cause i'm not personally a fan of the vanilla style :/ maybe it wasn't the smartest way to start
it's usually expected that hd portraits are not vanilla art style 
maybe u are thinking of the designs
Oh, I'm not sure if any are working in 1.6, but there have been other Ridgeside Portraiture mods, I believe. You could see what they did, if they covered the extra outfits and if so how?
How do you control or set the spawn point of an NPC in his/her schedule??
Mon: "610 Custom_InsideSupplies 3 10 2/1130 Custom_InsideSupplies 13 5 0/1210 Custom_InsideSupplies 3 10 2/1600 Custom_InsideSupplies 29 16 2" despite this, he still spawns outside the shop at start of day and goes inside the shop. I wanted him to start his day in his shop and head to 3 10.
If you don't want to make his home (set in Data/Characters) inside the shop you need to make your first point on the schedule 0 instead of 610 and then he will spawn at the Custom_InsideSupplies location.
He will spawn at 3 10 rather than going there though
i'm on 1.6 i did try to find how others names them but the few portraiture mods there are for RSV use the same names i have tried 😔
fine by me XD thy shall spawn at the counter kwkwkw
thank you so much! :333
Oh my goodness I'm up to 282 Stardew-modding related tabs open
i'm sorry i think i'm little confused on what you meant, english is not my first language so pardon me :/
This needs to stop
oh i was just unsure what you meant by art style 
@brittle pasture Hey, sorry for the ping again, I tested the feature and it works really well. The only problem is that it seems like MinutesUntilReady doesn't work and I get the item instantaneously (without needing to collect it myself) even if I null overrideMinutesUntilReady and add MinutesUntilReady in machine data. Any ideas why this happens?
Also forgot to mention, while testing with Automate, the holder item appear right after the intended output item while automate collect item and Automate also collect it into the chest. Not sure how if that happens manually since I cannot test due to the thing above.
The feature shouldn't affect ready times. Can you post your machine data?
I'll look into the chest/automate interaction
Machine data as in like CP one or C# one?
CP
Though the C# snippet may be useful depending on what it does
oh i meant i don't personally like the pixelated portrait style used in stardew, like the vanilla one, RSV didn't have a portrait mod i liked so i decided to draw my own
i also drew my farmer in my profile pic (i hope i understood what u meant)
yea i was just saying that the expectation for a portraiture is that it won't be very vanilla and so you should indulge in your own style
Oh, something occured to me: does Portraiture/Plus support Appearances? Pretty sure RSV switched over to that in the 1.6 update.
🤔 its got this
so the answer is probably not then? looks like its own logic instead of leveraging Appearances
yeah
In a final test run of my mod I discovered that my NPC was not wearing any clothes xD
uh oh!
Hi everyone. I made a replacement river farm map in Tiled. I need help with the ponds (again!). But now I can fill the ponds with different types of fish. I added some fish to the river, but now I want to add algae and trash. By default, what is the chance of algae and trash dropping when fishing in normal rivers?
C#: https://pastebin.com/FmbKNSCV
CP: https://pastebin.com/RGC5M1bU
Regarding ready time, I mistakenly put MinutesUntilReady under OutputItem instead of OutputRules so it caused the instant item problem. Overriding the MinutesUntilReady in C# doesn't seem to work still. But I might have also made an oopsie in the code. Can you please take a look at it?
Pastebin.com is the number one paste tool since 2002. Pastebin is a website where you can store text online for a set period of time.
Pastebin.com is the number one paste tool since 2002. Pastebin is a website where you can store text online for a set period of time.
Hi! ive been working on a mod for a while, and my town map (labled MMItown) was working fine until now, as now the game cant seem to find it. It states its a key issue and im not sure how to fix that. sorry if this is a stupid question but id love some help to fit this. here is my log (Ignore all the character errors and mods i need to update): https://smapi.io/log/368c13c5626e4761ae0c2a8cc1c77ac5 and here is my JSON: https://smapi.io/json/none/640cb3d2c410492badea3290b2595a85 (please ping me)
Log Info: SMAPI 4.0.8 with SDV 1.6.8 build 24119 on macOS Unix 13.5.0, with 40 C# mods and 37 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
hey guys i wanna make a mod about employment events... something like you'll apply for a job, have a sched, and then have blackout screen, and you get paid minimumwage.. is this easy
I think its Green Algae 15% and Trash 8%. Not sure though
I think I know what's happening. OutputMethod's overrideMinutesUntilReady only works on the primary output, so if you need to combine that with the holder item pattern you need to have your function output the holder item, set the holder item's heldObject to a Chest and put your actual output into that Chest
overrideMinutesUntilReady doesn't work if your OutputMethod is in the secondary byproduct
I'll document this in the README in a couple hours, thanks for the info
Can you type patch export data/locations into your SMAPI console and then upload it to the json validator and then link it here?
Ahh, okay. Is it easy to fix? I'm not exactly a programmer so not sure how complex things could get.
yes let me do that real quick one sec
Can a kind soul remind me what it takes in 1.6 to add custom dialog for a certain gift? I remember it being a bit of a nightmare pre 1.6
also im not great at coding nor am i sure on words so do I copy it off of the terminal then put it into the json or?
This is so much easier wow
it's not that complex
just do something like this in your output method
Item output = ItemRegistry.Create("(O)selph.ExtraMachineConfig.Holder");
var chest = new Chest(false);
output.heldObject.Value = chest;
chest.addItem(/*put the secondary output here*/);
(disclaimer I typed all that on my phone, there's probably a syntax error in there. Fixing it is an exercise left to the reader)
Oops sorry I forgot to tell you: once you've entered the command, go to your Stardew Valley folder and find a folder called "patch export". Inside that will be the file you just exported - the contents of that file are the thing you want to put into the json validator.
despair, i need to finish walk sprites
wait no i don't i can just "enlist" the help of abigail
for testing purposes
ah thank you! here you go https://smapi.io/json/none/64daa01d29854d049575ced7cfaf22da
Is this from the same game session as your log was?
no I had to re open it should i grab a new log
Yes, because your StarKOdoll_MMITown location does exist in this game session so you may not actually have that error anymore.
https://smapi.io/log/0d4230d723c641a4a559ad062c4ef485 yeah i think i still have the error
Log Info: SMAPI 4.0.8 with SDV 1.6.8 build 24119 on macOS Unix 13.5.0, with 40 C# mods and 37 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
Strange. That location definitely is showing up in your data/locations so I don't know why the game is saying it isn't there.
Me neither I’m gonna explode 😭
Thank you. Where can I look at this information?
Can you try making a new save and seeing if you still get the error?
Yes I will give me like an hour as now im busy 😭
I will possibly be asleep by then but if you can do that and report back hopefully someone else will be able to help
😔 i dun forgot how to get a custom spouse room/patio loaded into the game
Tysm!
Does anyone know of a mod with an example of GiftEventTriggers in spacecore? I’m having trouble understanding these keys 😳
or even just a screenshot/paste of an example
yall im crying i have a prblem with my machines
when i click to retrieve the items the number jsut changes and i can infinitely get more
what am I missing from my machine rules to just have it be like bait maker etc aka get it once per day https://smapi.io/json/content-patcher/6f9e2c9be07f45bc899ea564c4019f2a
Sorry, I'm a little confused, isn't heldObject a property of Object? 
oh
yes it is, looks like you found the syntax error I was talking about 😆
i think i got the Maddie and Irene ones to work? i tested it with Maddie and i talked to her before and after she changed to the lab outfit
Professor Selph assigning spot the syntax error homework

where exactly are the spouse patios located in the game files... im lost 😭
frick why is it this weird format
Endless shrooms
Did you have output collected with no process time
I still see OutputCollected in the solar essence rule

And presumably with all your remaining rules
🤔 do some of the spouses just not have things to do at the patio?
several of them just use the first one (abigail and a few others, i forget which)
easy to check in Data/Characters
guess they're plant fans
yepyep, they just read
Harvey should work on model planes or something, but on second thought that's probably not something typically done outside
hmm
so i got my machines working
i am now stuck with mail
and how to add several crafting recipes at once lol
just putting them one after the other should work
and also, unrelated but my cat keeps snoring loudly and i keep thinking wth is that noise
spouse patios are typically pretty boring
hey, the barrel of indeterminate function really ties things together
(it's so my npc can lean against it and look cool)
I keep only learning the first recipe
ugh wait did i embed my tilesheets...
Only the first one shows, did you check that both are learned in the crafting tab
I AM FINISHED
yeah i check the tab
congrats! and with time to spare for that 8 hour nap

did you give them separate %item entries
I will happily take much more wrestling with C# and even learn transpilers over wrestling with file organisation and GitHub any longer

Tbh all u need is git clone git commit git push
i think i found the issue...
it somehow copied my items twice halfway?
lets ee if that fixed it
the reason i know one was cuz i forgor to change the recipe from default to none instead of the mail being an issue
huh
yeah idk man I am a clown again i still dont get the recipes https://smapi.io/json/content-patcher/71f6f50d39b44f8d8b9051ba0f159a74
sigh. (i did in fact almost forget the disposition)
now i have to actually go into the game to figure out where im gonna load in this npc
this looks fine to me. stupid suggestions incoming (from comparing against my own mods' letters):
- try removing the space between % and %%
- try moving the [letterbg 2] part to just before [#]
can you post your recipes file?
theyre in my machine jsons, heres one(theyre all the same except name and ingredients tho) https://smapi.io/json/content-patcher/e2c55b50a66a4f14a7099fe90cd5979b
Your mail refers to {{ModID}}_ArcanePlant while your recipe is VWW.CP.spookymachines.ArcanePlant
Presumably you wanted a dot instead of an underscore in the mail data?
(Are you trying to make a mod about them? If not, you want #modded-stardew )
😓 its been so long since ive married an npc, does the heart cap increase to 14 as soon as you marry them?
I would assume so?
Any ideas friends? Lol
I hate to bump so soon but I have a mod contest entry…. 🤣🤣
That seems like the kind of thing Avi would play with, check with them? 
if i want an event to be able to be triggered as soon the player is married, how would i go about that? like as long as they're married to this npc they can see the event
Just make the only precondition married to X NPC (not sure which one it is off the top of my head)
i dont know of a mod for it, but going by the docs, i think this should be all you need?
{
"Action": "EditData",
"Target": "spacechase0.SpaceCore/NpcExtensionData",
"Entries": {
"NpcName": {
"GiftEventTriggers": {
"(O)ItemId": "EventId"
}
}
},
"When": {
"LocationName": "WhereverYouWant"
},
"Update": "OnLocationChange"
}
with some considerations for using Fields or TargetField if its an existing NPC or disregarding the when/update condition if you dont care about the location
Hmmm I was thinking there was a precondition like e and f but maybe marriage events just run off heart level 
Ahhhh thank you so much. I was a bit confused by all the nomenclature but this answers my questions lol
and also the disclaimer that ive never used that before, so im not 100% sure, just going off the wording in the docs. if that doesnt work then BETAS also has a GiftGiven trigger too
Preconditions take GSQs right?
theres a GSQ precondition though it doesnt handle quoted things correctly right now if that matters
/G <GSQ> i think
i'll just stick in big bolded letters "PLEASE SEE THIS EVENT 🥺" on the mod page or something 
(also small correction instead of just EventId it needs to be the full event key, so the ID plus any preconditions or anything you have on it, exactly as you have the key in the Data/Events asset)
When you say as soon as the player is married, does it matter that it's like the same day as the wedding?
Ohhh okay got it. That’s helpful ☺️
(and also if that example still doesnt work maybe try unqualifying the item ID iunno)
🤔 i wouldnt say it matters that much, but i want it to be an event seen as soon as possible hopefully
Because if it doesn't just use /f NPCname 2501. I'm like 90% certain NPCs can't get above 2500 FP without marriage.
as soon as possible can be as early as literally "once they receive the pendant" if you wanted it to be and had the right dependencies
(edit because I can't math)
😓 and one more question... when exactly are the library's hours
It's in the library?
Is there a tutorial on how to add dialogue choices (from the farmer in response to the NPC)
ooh questions
$q, $r, and $p
I don't recommend using gifteventtriggers anymore, since you can just use specific gift response dialogue and use $action to play an event (I can't recall if the playevent trigger action is SpaceCore or vanilla though)
(Or maybe I added it and then vanilla had it later)
(playevent is spacecore)
npc is finally working but now he is stuck in the playground and randomly runs around
if i stare at my mod long enough it will write itself...
You'd think that after a year of the mod floating around in my brain it would've written itself by now
why am i only writing marriage dialogue?? do I have nothing else in my brain?
hey everyone
soo.. i managed my initial goal
but I need someone who uses mods that add items to test it
Hey all, hope I'm not being a bother - I'm trying to create a mod in Visual Studio but I can't even get past making the manifest. When I click Build it throws this error:
[mod build package] Failed trying to deploy the mod.
System.IO.IOException: The process cannot access the file 'C:\Program Files (x86)\Steam\steamapps\common\Stardew Valley\Mods\ConfigurableCasks\manifest.json' because it is being used by another process.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.File.InternalCopy(String sourceFileName, String destFileName, Boolean overwrite, Boolean checkHost)
at StardewModdingAPI.ModBuildConfig.DeployModTask.CreateModFolder(IDictionary`2 modPackages, String outputPath)
at StardewModdingAPI.ModBuildConfig.DeployModTask.Execute() ConfigurableCasks C:\Users\alici.nuget\packages\pathoschild.stardew.modbuildconfig\4.3.0\build\Pathoschild.Stardew.ModBuildConfig.targets 87
I can't figure out how to fix this at all
Make sure you don't have the manifest.json file open in a text editor or something. That is, specifically, the copy of it in the destination folder.
Me looking at Uber pinging me to finally work on my mod and choosing to have Uber remind me again because I don't have the will rn to do it 
I don't think it is, I've even looked in Task Manager to make sure I don't have any other text editors or anything open in the background
Has restarting your computer helped?
A bit much I know, but it might clear things out
Sometimes Visual Studio will bug out and leave file handles open, so you'll need to close it and/or kill msbuild.exe
Can I happen on a tester here?
Hello 👋 why doesn't the replace delimited text operation operate ?
I've already tried restarting my computer, and even uninstalling and reinstalling VS, on top of deleting the file(including that hidden .suo file) and restarting
Without context, all I can really say is that it does work
You can share what you're doing for specific help
I tried using it but it says it's not found I'm still on 1.6.5 and using content patcher format 2.3.0?
1.6.5?
Do you have other CP mods that use 2.3.0?
I don't actually know how CP's backwards compatibility works, in that regard
can you delete Stardew Valley\Mods\ConfigurableCasks?
Regardless of that though, the delimited text operation should have been available for a while now
No I think I just used 2.2.0 and got 2.3.0 from the wiki
I didn't even know 2.4.0 was out lmao
Oh, I live only in the beta lmao, I haven't launched today though
(tbf i dont actually know if its in the currently like, compiled CP beta build. but it was merged into the repo a month ago)
!json @old edge if you share what you're doing I can try to help more



that was it