#making-mods-general
1 messages · Page 203 of 1
ahh, i see
There might be a better way, I'm no even scripter so take anything I'm saying with a grain of salt
i haven't dabbled in buffs/debuffs yet, would that require C# or can content patcher do it?
i dunno. like i'll do it if necessary but it seems like there has to be a better way
Content Patcher should be able to do it since there is a Data/Buffs
If one already has a slowness effect, you may be able to reuse it instead of creating a new one
i think there is a slowness one, i'd just have to hunt it down
This one here has speed -2
Actually there's a few, so you can test any one of them out
Finally Finished the Farmhouse Starting Interior for the new map, Though I'm not sure why the fireplace starts on. https://i.gyazo.com/b4e27ee03c36b3fe29c369f98f3346dd.png
it doesn't slow the farmer down during an event 😦
Ah darn, I was hoping that would work
it does make her flash yellow though 🤣
Oh it looks like in the code it has a condition that prevents addedSpeed from being used in the calculation while an event is happening
Except for currentEvent.farmerAddedSpeed which is the command you asked about earlier
yeah
I can't tell where in this code it prevents you from doing negative numbers. Does it do anything if you did something like -10 to make it more obvious?
i'll check
Oh wait, negative probably just goes to 0
Math.Max(0, Game1.CurrentEvent.farmerAddedSpeed - 2)
yeah it's just normal walking speed
wait hang on
its farmerAddedSpeed - 2?
that might mean it works the same as the speed npc command
In this one line of code, it looks like it's the larger of 0 or the added speed - 2. So if it's negative, it just gets set to 0.
let me test something real quick and see if i've been dumb
Alright fam, took a couple of days longer than expected but here it is: Star Control 1.0 Alpha 1
Especially for @lucid iron, @acoustic summit and @tawny ore who expressed interest but of course open to everyone.
Please delete the old Radial Menu mod or move it off to the side somewhere before installing! Yes, that includes config.json, it's no longer compatible either.
It's going to take me a long time to write documentation, hard to even know where to start right now, but I think configuration and controls should be a lot more intuitive than they used to be, and in the meantime please ping me with any questions or bug reports.
And now I think I'm going to go crack open the whiskey.
ok no i was wrong. i thought i figured it out but i didn't
i thought that using 1 might slow the farmer down, and 3 be normal speed, but that's not correct
it only works like that for npcs
i dont get why the speed command has to work differently for npcs vs the farmer
I don't know what Buzz is saying in that clip. (Never saw the movie, believe it or not)
If I want to add/remove items, can I RegisterItems to replace anything I had previously registered? I can invalidate a page, but it doesn't look like it's possible to invalidate an item.
How hard would it be to make an Item that is unbreaking and when used, warps the player to a specific tile? 
That doesn't sound very complicated to me (in C#). Not sure whether data models are flexible enough to support on their own.
Not sure I fully understand why you'd want to do this - you definitely cannot remove items from the library once added, because users can have them set up in their menus and quick slots and such. So pulling the rug out from under them would be not very nice.
Item properties are read in real time though, so the expectation is that if the sprite, title, etc. of a single "action" is subject to change depending on the situation, then the properties can just return new values, no invalidation required.
Does anyone have a blank character sprite sheet I could use? I want to attempt to make my own character
How roomy.
Based on this limitation it seems like I'd have to register generic items and repurpose them as I need
Since Iconic Framework does allow mods to add or remove via the API. It's not used by any mod today, but if they did use it, I wouldn't have a way to continue supporting their actions.
can anyone help make an NPC?
Yeah, I understand. But I really do not want to have items being unregistered. It's one thing if they aren't re-registered on a new game start, that has some plausible chain of causation to users, but having items simply disappear while the game is running is a big no-no.
What you can do is disable actions that aren't available anymore; the menu item interface has an Enabled property now (that's new). Which is roughly the same to a user as, for example, having a slot bound to an inventory item that's no longer in their inventory.
I'd rather you didn't try to use generic placeholder items as they're just mystery meat in any of the configuration screens. And having an item change to some other totally different item is the same problem as removing it.
Heyo, Is there possibly a way with CP to prevent another mod from altering the price of an object in your mod. For instance longevity messes with the price of my mods coins which should not be altered
no
oof, so either a compatibility patch or I could possible see if it is based on object categories
Partially, it depends on how the other mod does it's thing. You can make yours more final by loading the mod, and then doing a really late edit so that it is more likely to be after other mod edits.
C# mods can disregard all of that, but edits through the content pipeline are prioritized by their order.
If a mod goes out of it's way to ensure it has the final say, it would probably be better to see if the author is willing to do anything to play more nicely with yours.
I almost always load assets at low priority unless there's some really brittle code around them. I know it's tempting to assert "author's intent" but it's just not in concert with the whole modding ecosystem or ethos.
If somebody wants to tweak your mod in a way that you believe breaks the balance, well... how is that different from installing a mod that messes with vanilla balance, like CJB cheats?
I load exclusive, but edit as the default since I'll let others who have a usecase for earlier or later do whatever they need to do
stares at Modding Pages Yeah Pretty sure if I want to make my own version of the Return Wand, Its going to involve C#
It might be nice if a Framework like Spacecore gave you the ability to perform arbitrary actions using objects
Ideally I want to Make a Wand [Unbreakable totem], that is only usable on select maps [My farm and the maps it adds], that takes you to a warp room, which will have drop off warps in select locations around the map (Cave Entrances and map exits really, that way it doesnt clutter up or take up map space.)
I've been looking around and I thought i had a solution without coding, but Trigger doesnt have a Warp result. which if it did i could have used Item Extentions to do it I think?
is looking into this now
To be fair, the purpose of Stardew Coin is to give your gold physical forms so altering that value in any way defeats the entire point of the mod.
Like the value determines which sprite gets drawn, or something?
It's the equivalent of storing your money as gold bars in your house rather than in coinage, from what I understand?
I'd be willing to make a framework to add this type of thing, although I wonder if it'd be better to see if it could get added to an existing mod like ItemExtensions since I know people are kind of averse to installing yet another framework. Assuming we can't find another one that already does this.
It seems odd if it's not already being taken care of since it seems like such an obvious action.
yeah i was suprised at how limited the base Trigger list is
It would genuinely surprise me if none of the zillion core mods doesn't have something like this.
do you just mean theres no Warp action?
i wasnt sure what you meant at first by "trigger doesnt have a warp result"
Use an item (without consuming) to warp
it has the without consuming? Ideally id also like to add conditionals
Spacecore always has it
I believe so
it has TotemWarp but its not conditional
it also has UseForTriggerAction but that wont include warp totem effects
Yup, you're right. ConsumedOnUse can be false
And can't the extension data technically be conditional if you're patching them in via CP
If you're only depending on location conditions, then it can update on warp
i mean i guess it depends on whatk inds of conditions
oh, somehow i completely skipped over that line, im freaking blind.
its location conditions, i only want it usable on certain maps
my eyes magnetted onto the ConsumeForTriggerAction instead.
Yeah your suggestions can make it work i think, conditional edits to the totem item 
so i'm editing the extension attached to the object, instead of the base that i'll be adding.
I am tinkering and peering at Button's BETAS documentation in an attempt to make a fake NPC with portrait able to be talked to multiple times with different dialogue. I want to make sure make logic is right.
First I set a key with value with Spiderbuttons.BETAS_WritePlayerModData. Then I do Spiderbuttons.BETAS_DialogueBox depending on whether I have that key or not. I should also make this dialogue box change the key value. Afterwards I link a new dialogue to the new key value with Spiderbuttons.BETAS_PlayerModData token? Then when all the dialogue happens I should flush it all with Spiderbuttons.BETAS_RemovePlayerModData?
Am I on the right track here or completely off?
i think that sounds on track
That's a relief! Then all's left is to figure out how to put all of them in.
If I put Spiderbuttons.BETAS_DialogueBox as a map action TileData, how do I make that conditionally fire?
you can use the Spiderbuttons.BETAS_Action map action instead to do an If action
Spiderbuttons.BETAS_Action If Spiderbuttons.BETAS_PLAYER_HAS_MOD_DATA whatever ## Spiderbuttons.BETAS_DialogueBox stuff
Something like this?
Aaah alright!
like Action OpenShop except its Action Spiderbuttons.BETAS_Action
with everything after that being the string you want to use as an action
(its a bit confusing i know i was workin with what ive got)
Yar once you know the working example it should be smooth sailing, I think!
And can I put Spiderbuttons.BETAS_WritePlayerModData in the i18n, then? So that every dialogue would incrementally add the value?
im not 100% sure i know what you mean, could you give an example?
i18n is just a string storage/retrieval system, so as long as it ends up in a place where the game will act on it correctly, you can put whatever you want in your i18n
So I was thinking something like {{i18n: Pirate.[Spiderbuttons.BETAS_PlayerModData PirateDialogue]}} would call for Pirate.1 in the i18n file (whereas 1 is the value I've set beforehand).
Content Patcher won't parse a Tokenizable String
Nuuu.
anything inside {{ }} is a content patcher token that CP will read first before the game ever knows about it
and replace it with some text
you can load your i18n to an asset though and then just use [LocalizedText]
same way you might Load a dialogue file directly
you can just load arbitrary string to string dictionaries (such as an i18n file)
Okay, so I can do something like [LocalizedText Strings\Pirate.[Spiderbuttons.BETAS_PlayerModData PirateDialogue]]?
should work
or well
Strings\AssetName:Pirate.[Spiderbuttons.BETAS_PlayerModData PirateDialogue]
it might be better to do just that, actually, and not use LocalizedText
since the DialogueBox action will also load it if you pass in a translation key like that
Ah yeah.
and that way you dont have to worry about quotes or anything
or spaces
you also dont have to Load it to Strings either btw you can load it wherever
And then in the Strings/Pirate.1 entry I do something like "{{I18n:Pirate.1}}# Spiderbuttons.BETAS_WritePlayerModData PirateDialogue 2"To move to the next dialogue next time?
should work i think!
Alright! All's left is to test it. Thank you!
as long as you do get the asset name thing right
since it wont be Strings/Pirate.1 as Pirate.1 is an entry inside the asset
Strings/Pirate.1 would be equivalent to writing Characters/Dialogue/resort_Leaving
whereas Strings/YourAssetName:Pirate.1 is equivalent to Characters/Dialogue/Haley:resort_Leaving
if you're not loading your i18n files directly to the asset you will need to load a blank too
Something like this in the TileData would work then? Spiderbuttons.BETAS_Action If Spiderbuttons.BETAS_PLAYER_HAS_MOD_DATA PirateDialogue ## Spiderbuttons.BETAS_DialogueBox Characters\Dialogue\CSNPCs:Pirate.[Spiderbuttons.BETAS_PlayerModData PirateDialogue] Portraits/Pirate
Alright! Thanks again!
Asking here since I'm kind of stumped - does any know of any situations where IContentHelper.Load would simply not invoke AssetRequested handlers? I've double, triple, octuple-checked and it is simply being ignored in some specific cases (in this case, has something to do with non-English locale).
at the risk of a stupid/obvious answer, has the asset been invalidated, and is the requested event emitted on cached asset loads?
sounds like cache to me, yeah
does e.NameWithoutLocale make difference 
It does seem to be cache related somehow, but in a very strange way, i.e. it tries and fails to load the localized asset and then gets the cached failure instead falling back to default locale. Again, in this specific instance, not normally.
I'm sure I'm misreading but... is this a bug in SMAPI?
try
{
T data = this.LoadExact<T>(localizedName, useCache: useCache);
localizedAssetNames[assetName.Name] = localizedName.Name;
return data;
}
catch (ContentLoadException)
{
localizedName = new AssetName(assetName.BaseName + "_international", null, null);
try
{
T data = this.LoadExact<T>(localizedName, useCache: useCache);
localizedAssetNames[assetName.Name] = localizedName.Name;
return data;
}
catch (ContentLoadException)
{
localizedAssetNames[assetName.Name] = assetName.Name;
}
}
This is in LoadLocalized, and specifically I'm looking at the last line, in the last ContentLoadException. If it fails to load the localized name, and it also fails to load the international name, then shouldn't it fall back on the base name instead of assetName.Name?
It's really hard to step through this method, seems like I'm going to have to pull SMAPI source and debug that to be sure, but I can't figure out where it finally falls back to the English/default asset when no localized assets exist.
Also holy hell, GetMachineData gets called a lot and does an asset load every single time. That's gotta be slowing the game down.
Sorry to interrupt with a noob question. I'm using Content Patcher to replace SVE Rasmodia's portraits with seasonal ones. That works fine, but when I enable Seasonal Outfits - Slightly Cuter Aesthetic, it takes priority. I assumed priority worked by setting a mod as a dependency in manifest.json.
Can't really find any good examples on Nexus to steal. Anyone have experience with this or examples to point me to?
Just use SCA's config to turn off wizard edits
it exists in two places if you're playing with SVE, cant remember where the other place is though
maybe just under the SVE config, so you might have that convered already
patch order is determined first by Priority (a field on individual patches). mod load order (controlled by e.g. dependencies in the manifest) breaks ties.
see here for edits: https://github.com/Pathoschild/StardewMods/blob/develop/ContentPatcher/docs/author-guide/action-editdata.md (it's the same procedure for loads, at action-load.md)
Yes but in this case i wouldnt recommend changing priorities or load order because that might not fully fix the problem. Because we use appearances now it's entirely possible for a mod like SCA to add new appearances that are not fully replaced by a seasonal mod on top of that
It's in SCA and SCA for SVE
Thanks Airyn!
also true, and good advice! i'm only attempting to explain how priority works, to correct the misconception
Although SCA automatically disables all the SVE-affected characters if SVE is installed, so it should only need to be changed in SCA for SVE
it might work if you put it in quotes
Yep, that did it. 
oh thank yoba
would alex say "beef" like "to have beef with someone"
Yes
thanks
i'm in his dialogue file right now and he talks about situps soooo much
i don't talk to him much in game but holy 😭
i think in the enemies route he just constantly tells you he can do more situps than you
It's "Refeeds" and "one rep max" and "creatine"
doesn't he literally mention "gains", or did i invent that (he totally would)
Thanks primarily to @lucid iron for yoloing and sussing out the early alpha bugs. I've put out an alpha 2 to fix the glaring issues. StardewUI will get a separate update.
(I am the gymbro of the nerds.)
This is probably for the best. I'm considering publishing this on Nexus and I wanted a way for it to work seamlessly, but just disabling in the config seems like the best decision.
I'm doing my reps and reading through all of this. Thank you.
This is more like how noodlearms think that gymbros talk than how gymbros actually talk. Sort of like how every time you see a scene of someone working out in a video game, they're doing bicep curls and nothing but bicep curls.
(I'll give CA credit, pretty sure one of Alex's cutscenes actually had him doing cleans.)
((Although doing cleans in a regular room with a carpeted/hardwood floor is actually a really bad idea.))
Do you have permission from Nomori and CreepyKat?
No, I'm shooting everyone a message on Nexus once I'm finished.
Appreciate the check though.
Do the response IDs for dialogue questions $q 54/55 ..... have to be integers? I've currently just picked a random high number to be my initial one and then I increment it when I need a new one, but this seems a bit hacky and could technically conflict if someone else really liked the number 2275390
actualy that number might be too big for whatever type stores it...
oh good i was hoping that was one of the things that changed
Hi. I moved the minecart on the BusStop map and added TileData to trigger its interaction in the new location. Can anyone point me in the direction of how to update where the minecart warps the player when it delivers them to the BusStop? Tried the DefaultWarpLocation map property, and that didn't seem to work...Haven't been able to reverse engineer it from any minecart mods either (yet).
what is the best way to check what sprites are in events? Finally getting around to giving Kent a dress uniform for weddings like events (Dress Blues always look snazzy). If I've asked before, I apologize, I do sometimes have a memory that is shorter than a goldfishes
I think its just their normal sprite
and you add a condition like a when statement to change it for festivals and stuff
Data\Minecarts (https://stardewvalleywiki.com/Modding:Minecarts)
What is the item ID for dried powdermelon? I cant find it in the spreadsheet.
why not just look in your unpack
all dried fruit have the id DriedFruit
im lazy
well stop being lazy
impossible
ctrl+f is free
i mean. in this case it was a different answer anyway. but otherwise that is literally just asking other people to do your work for you
hm.
Hey button can you finish the rest of this run for me
run of what
wouldnt that give you more work
I'm only about 3km from home
ill take a rain check
can someone help me with a error i im having while making a seasonal outfits mod? i literally did everything to try to fix it but it still doesnt function 
you should share the error when asking a question
i post a photo or the json?
!log
Important note: Your computer username may appear in the log. If your username is your full name, please be aware of this before uploading it.
Please share your SMAPI log file. To do so:
- Open this page: smapi.io/log.
- Follow the instructions at the top of the page to upload the log file. (Don't copy & paste from the console window!)
- After uploading, it will show a green box with a URL to share. Post that URL here.
Please do it even if you don't see any errors. This has useful info like what mods and versions you have, what the mods are doing, etc. If the issue didn’t occur in your last session, please load the game to the point where the issue occurs, then upload the log.
!json
JSON is a standard format for machine-readable text files that's used by Stardew Valley mods.
If you need help with a JSON file, you can upload it to smapi.io/json to see automatic validation and share the link here.
When making mods, it's recommended to edit your files in a text editor with JSON support, such as VS Code, Notepad++, or Sublime Text. These programs will check for syntax errors.
beat me to it :p
use the links in these two commands to share both your log and your content.json (or 3whatever other json file is relevant)
@uncut viper , unfortunately Spiderbuttons.BETAS_Action If Spiderbuttons.BETAS_PLAYER_MOD_DATA Current RacerGuyDialogue ## Spiderbuttons.BETAS_DialogueBox "Racer Guy" Mods\CentralStation\Tourists:RacerGuy.[Spiderbuttons.BETAS_PlayerModData RacerGuyDialogue] Portraits/DesertTrader_RacerGuy doesn't work .
https://smapi.io/log/214f65f3638f4b1f8744b7313879807a This the SMAPI log, might it be useful.
Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Home Single Language, with 8 C# mods and 1 content packs.
hmm
I tested [Spiderbuttons.BETAS_PlayerModData RacerGuyDialogue] on its own and it does properly output 1, so mayhaps its just the format in the tile property that's wrong.
lemme do some testing rq
https://smapi.io/log/5fc57b35b1f241359623f4bcdaec09ed (sorry if reposting this is annoying)
Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Home Single Language, with 16 C# mods and 13 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
hard to tell but what are the chances you're hitting the 256 character filepath limit?
i'm assuming this is only some of the images?
waiit what is that?
it's a super fun (super annoying) feature of windows
like a limit of space?
back in the old days, it was actually impossible, but these days it's an artificial limit for backwards compatibility
but bascially if you nest folders too deep, windows stops believing in the existence of the files in some cases
seasonal outfits\assets\Portraits\Undare_Brandon_summer.png is fairly long, and the stardew modding folder default location is already pretty long
which is what triggers my spidey senses here
it might not be the issue, but it's worth checking
i will try it, thanks for helping! youre so nice 
the other question is whether this is all the images or just some
if it's just some, then figure out what the difference is between a working one and a broken one
ideally there will be some that are very similar to compare
all images 😭
ah...then it's probably a more fundamental problem
you'll need to share your json file and some details about how you structured your images in folders
rmbr to turn on file extensions
oh, can you try wrapping the Mods\\CentralStation\\Tourists:RacerGuy.[Spiderbuttons.BETAS_PlayerModData RacerGuyDialogue] part in quotes too?
so
Spiderbuttons.BETAS_Action If Spiderbuttons.BETAS_PLAYER_MOD_DATA Current RacerGuyDialogue ## Spiderbuttons.BETAS_DialogueBox \"Racer Guy\" \"Mods\\CentralStation\\Tourists:RacerGuy.[Spiderbuttons.BETAS_PlayerModData RacerGuyDialogue]\""
oh that looks ugly
Do you mind if I send the image and the json to your DM? I didn't want to bother by putting images repeatedly on the channel
i forgot that since If is a vanilla action, it doesnt know to even look for tokens, and so it splits it at the space between PlayerModData and RacerGuyDialogue
Aa so the syntax probably thought RacerGuyDialogue] is a portrait asset.
yup, exactly
yeah unfortunately i might vanish any min and i don't like DMs
probably best to drop it here
(half of this channels purpose is helping people with their modding issues and bugs)
Okay! here is the json: https://smapi.io/json/content-patcher/fd8e12d24d4b407e9b51d7b03dfb528a and the image:
Question about ILCode:
I'm reading a string field and comparing it to a string I provide
I saved a String before with
new CodeInstruction(OpCodes.Ldstr, "Test"),
new CodeInstruction(OpCodes.Stloc_s, 10)
Then I want to compare it with
...
new CodeInstruction(OpCodes.Ldloc_S, 10), //Is "Test" here in theory
new CodeInstruction(OpCodes.Ldstr, "Test"),
new CodeInstruction(OpCodes.Call, stringCompareInfo)
...
with stringCompareInfo calling a function that is
internal void CompareStrings(string str1, string str2) {
return str1.Equals(str2);
}
But it always returns false, but when I change it to
return (str1.Trim()).Equals(str2);
It works.
Why is the Trim() here needed if I inserted it without spaces or anything?
You'd need to make the Target Load five separate things.
"LogName": "Seasonal Portraits - Appearance Load",
"Action": "Load",
"Target": "Portraits/Undare_Brandon_Spring",
"FromFile": "seasonal outfits/assets/Portraits/Undare_Brandon_Spring.png"
},``` etc
i im so dumb for that i im so sorry😭
Store local, load arg?
Also a screenshot of the contents of your Portraits folder would also be helpful!
I'm writing from memory so I fucked up xD, but it calls the correct one. Both are local
Fixed
Okay that works! No the last hurdle...
This trigger action"RacerGuy.1": "{{i18n: tourist.desert-racer-man.1}}# Spiderbuttons.BETAS_WritePlayerModData RacerGuyDialogue 2", Doesn't seem to be firing.
Is it still like thar if you use the op_equality of str instead
I do it like this and quite unsure if it's actually correct { "Action": "EditData", "Target": "Mods/CentralStation/Tourists", "Entries": { "RacerGuy.1": "{{i18n: tourist.desert-racer-man.1}}# Spiderbuttons.BETAS_WritePlayerModData RacerGuyDialogue 2", "RacerGuy.2": "{{i18n: tourist.desert-racer-man.2}}# Spiderbuttons.BETAS_RemovePlayerModData RacerGuyDialogue", } },
Hey so im trying to research how to make cut scenes for heart events and honestly there doesnt seem to be alot of information on it. Does anyone know of a good location I looked on the stardew wiki and it didnt say too much.
Or change the call to a callvirr
!makeevents
The modding wiki Events category has multiple tutorials, guides, and tips from event masters like Arknir, Aviroen, SMC and more!
If any more are made, feel free to add them into this command!
The events for everyone tutorial is very in-depth
This guide attempts to provide a more in-depth explanation to modding events as a reference for both beginners and experts.
amazing should have known to do that by now
you have to actually put the $action command!
The governor is so convenient
op_equality is == no?
It says false anyways
with callvirt it also says false
only adding the Trim() works
... Oh my poor, smooth brain...😔
I was looking through and had a quick question
So to confirm you can not date a npc created only marry?
Checking it with char it is adding a space at the end for some reason? I'll check the code I'm modifying, maybe a space is added somewhere
sorry for posting this late, where i live there are times when the wifi turns off out of nowhere 😭
(the professor thing was for testing the indoor/outdoor thing)
Ummmmm... I want to set an event in a vanilla location that doesn't have a corresponding .json file?
BathHouse_Entry and BathHouse_MensLocker are both maps, but the only .json file in Data/Events is Bathhouse_Pool
I've only done Load actions for Events, like this:
"Action": "EditData",
"Target": "Data/Events/BathHouse_Pool", -- corresponds to the Beach.json file
"Entries": {
}
}```
Would a Load action work here instead?
... In a pinch I guess I could start the event at the Railroad and do a changeLocation, but I would really prefer not to take control away from the player until they are actually in the BathHouse :/
how do you add your own context tags for furniture and stuff ... do you just list them at the end of the furniture and it counts as its own tag?
same way you'd load a blank.json for a dialogue file
I haven't done this at all 😦 I've only been editing existing resources, except in the case of Maps and audio
So I don't know how, sorry
"Action": "Load",
"Target": "Data/Events/SkullCave",
"FromFile": "data/blank.json",
"Priority": "Low"
},```
something like this :3
(you also need a json called 'blank.json' in your files for it to load to -with the afformentioned format from Button)
i mean, you CAN put event data in the file, but tokens wont work
Alright, I'll give that a try. And this will figure out how to link the vanilla map location if I do it that way?
also if someone loads a blank there with a higher priority yours wont
so you Shouldnt put the event data directly in there. but you technically could
making the asset name match a vanilla location just like you would for any other map that does have events will automatically make events work there
you load the blank and then do EditData on it afterwards
(also make sure to make an include for your blank.json)
you dont need an Include you can do it just in the content.json
or wherever else you're doing the EditData for the event
it doesnt need its own separate include
I thought you had to load it 
Load, yes, Include, no
huh ... I dunno I mean what I did worked so B) I'm just going to pretend I did things right and hope that I did not, in fact, do them wrong
i am talking about "Action": "Include"
considering Qi works in my game I would have to wager a guess I might just be getting terminology mixed up again as im apt to do
Alright, so I only need an entry for my existing Events.json if I put the load in there? I don't have to mess with my content.json?
yeah I have mine done like that/using that... which I thought I had to do
somewhere in your mod you need to Load a blank.json for the map you want events in if it does not exist already
you do not have to put a blank.json inside an include. nothing ever has to go inside an Include, ever.
Or did I do that because now i cant see it in my includes
includes are entirely organizational. if you want you can put all your blank.json loads inside their own include. but you dont have to
(I do know you can put all of your stuff in the content json, i dont do that for organization purposes)
heehoo
Alright... Not 100% clear, but I'm going to try what I think I understood and see if things break
looks like i did not, in fact, do an include for the blank.json (but i did load things to it)
all you need to do is make sure you load the location using the blank.json (like the example I showed) and then, you do your edit data for the events :3 (and make sure you have the blank.json formatted as Button mentioned)
Does anyone know anything in regards to this
you can pretty much copy Lily's snippet up there entirely but replace SkullCave with BathHouse_Entry or whatever
^
Thanks. Apparently I had tunnel vision and only ever looked at the Maps modding page.
I am making a custom farm map. How do I reference the image, that is in the TerrainFeatures when unpacked, or should I move the image to my map folder? I want to use the stone walkway in my map.
you have 2 options i think
this mod just let you get tilesheets not in Maps
the othe option is spacecore spawning to put actual stone walkways on your map
Also, holy crap my custom audio is playing in an event and I am cooking today
Just needed to celebrate xD It's been an all day thing for me

hey smart modding people, how multi-threaded is stardew? I kind of assumed it was relatively single-threaded 
very not
how hard are you trying
mid-level hard I think
ah, well in that case, I can confidently say that i don't know
u can thread if u want
i don't have the smarts to comment in this area further
theres just not a lot of useful things u can do cus drawing and reading content pipeline are both hard banned
Is it appropriate for me to ask here if someone could convert a .xnb to a .json for me?
!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!
this is how you get them converted. iirc there’s also a website that does individual ones
dont think you'd be very allowed to just send an xnb from the game in here as that would be redistributing the games files
just a guess
that was my guess too
https://lybell-art.github.io/xnb-js/ use this, real ez pz 🙂
Thank you everyone!
on some prozessors sdv swaps constantly between 2 cores and maxes them out and loading takes like +30min, its super rare tho
pinning it to a particular core in the task manager fixes that
Windows' scheduler sure is fun and good
in this person's case it seems that pinning it didn't help much, but I'm honestly not sure why...
attempting to learn to do config options
how would i change what an animal produces by config?
like can i use the condition field or will i need a whole new animal block with whens on both?
you could use a dynamic token that contains the produce string/other value that needs to change and that changes value depending on the config value probably
really depends on what needs to change in the patch
here's where i'm at now
really just need to change the line 65 produce bit
have not tested it at all yet tho
line 65? it shows "MinimumFriendship": 0, to me
ah okay. then i think you could use a dynamic token, say call it Produce, and change its value based on the config option. so you'd have a "ItemID": "{{Produce}}" instead of "ItemID": "{{ModId}}_GumdropCandy" and so on
(and a DynamicToken section that sets the token up https://github.com/Pathoschild/StardewMods/blob/develop/ContentPatcher/docs/author-guide/tokens.md#dynamic-tokens)
anyone having issues with the captcha for loggin in to nexus?
hey does anyone know what should i name the lewis statue for at? ><
@woeful lintel sprite-sheet link is broken in https://github.com/Leroymilo/USJB/blob/main/TODO.md#craftables
should be fixed now
Thanks for the assist, Kristian
have you thought about using these for the statues? (same author) https://www.nexusmods.com/stardewvalley/mods/3536?tab=description
those are already in the mod!
How do you put images in the description of your mod page? 
I just have hyperlinks to images and gifs on my github repo
hey yall i have this one thing i want in stardew valley and dont know if it even is possible, so might aswell ask here since the smart people type here. is there a way to stop grass from spreading and stop trees from dropping seeds to the ground around them?
surely there is something you can tweak in the files to make it stop?
Simply enough! Just the [img][/img] tags. Can even do GIFS.
(...wait, I now realise you mean the preview Discord pulls. Nevermind, ignore me.
)
No no I mean on Nexus
It won't let me add any images though, they all show up as little file things
That definitely should work!
Just to be absolutely clear: you have to have the images hosted somewhere first (like imgur)
Also don't use discord image links because those break after 24 hours now D:
Yeah I uploaded them to Imgur ... do I have to make them public? (I did try to make them public but that kept giving me the same issue, but maybe I have to wait)
It'll also have to be the direct direct link to the image ending with .jpg or .png or whatever it is. Not just the link to the Imgur page.
That might be the problem!
O: let me try that thank you
i don't know about trees, but grass spread seems to be controlled by a map property so it should be easy to edit with content patcher even https://stardewvalleywiki.com/Modding:Maps#Plants.2C_forage.2C_.26_item_spawning
It worked thank you guys :D
Are there any listed guides for custom clothing? I don't see any sprite guides.
Like non fashion sense right
Like, Garden Village used a massive sprite for pants with JsonAssets.
I wanna know if that's still necessary.
ive never modded anything so im completely clueless... is there a video to follow or if its not too much to ask for, could you do it ?
Pants are cursed
Can we classify Pants as eldritch beings in disguise on the wiki?
yes
Yes you need all these walk frames

hello im trying to convert PMF mod to a CP mod is there any documentation on that?
Did you mean PFM? Producer Framework Mod?
!converters
I’m pretty sure there’s a PFM -> CP one in there.
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
There isn't.
… or not.
If you search up converters in discord search you'll see one of those outputs in the search entries and yeah, it's not there.
How you convert depends on what rules it got
So far I've learned to convert one thing to CP (it's AT) and I learned by just figuring out how to make the thing in CP and then looking at the other thing and pulling over the bits that matched up.
Easier than learning how to use a converter imo lol
Mostly because the converters all seem to be python and I haven't looked at python in nearly four years now.
Honestly i get a little annoyed by the converters bc i like to do everything a certain way 😅
🐍
My perfectly organized folders, now thrown into chaos..
i don't know if there's a video, but i guess the content.json file would look something like this { "Format": "2.5.0", "Changes": [ { "Action": "EditMap", "Target": "Maps/MapNameHere", "MapProperties": { "EnableGrassSpread": null } }, ] }. you'd still need some work to make it a working Content Patcher content pack, there are probably tutorials around but i'm not sure where. however here is the wiki page for introduction to content patcher https://stardewvalleywiki.com/Modding:Content_Patcher
@ivory plume Have you seen this? #1337337589983744051 I'm not sure if it's an issue with SMAPI or with SDV, but I suspect it's due to a glibc update around that time. I'm not sure anything fancier needs doing than rebuilding on that version
Yep. I'm not the one who'd usually look into multiplayer issues like that, but it's being discussed internally.
what is up with that glibc update, how did someone let that version out, breaking so much software
i've also heard MonoMod/Harmony was affected
It's not a bad update per say, it's the nature of glibc, this happens everytime they update. So much stuff is linked against it that when they make changes something somewhere is relying on it
Thank you all for trying to help I’ll see what I can do to do it on my own thank you again
ugh oml i still can't figure this out
so i want to add dialogue to the end of EVERY NPC's daily dialogue
how on earth can i do that
cause CurrentDialogue is a stack, not a queue or list
Could maybe try the asset pipeline's editing functionality?
Edit each dialogue data as it's loaded and just slap whatever you need on the end of each dialogue key value?
Doesn't feel like the least fragile way, though...
hm
potentially
i think i might try like
check every tick if the CurrentDialogue is null (meaning all dialogue has been exhausted) and if it is just slap mine on
If two mods edit the same map, can I make a TMX that combine the two maps then replace one in one of the folders and just delete the other from the 2nd mod? So both mods can run together? Or is it more complicated then that?
Right now neither map loads as SMAPI throws an error
You'd want to add a Priority field to the map Loads in both mods.
I think they have one already, that is the SMAPI error. Both have priority exclusive. So neither loads
Each asset can only have one initial version loaded. The Priority field lets SMAPI / Content Patcher pick one (unless they're both exclusive), but it won't let you somehow load both versions simultaneously.
So your options are:
- Manually merge the maps yourself as you suggested.
- Ask the authors to use
EditMapif possible, instead of loading the entire map.
@royal stump Hi Esca, I'm still experiencing issues with my FTM-spawned machines despawning overnight. I've tried setting DaysUntilSpawnsExpire to null and 0 and neither are consistently sticking. Should I try an absurdly high number like 9999 to get it to stick?
Can you set a mail flag and then use a trigger action to refresh the variable periodically?
I have no idea to be honest
this is my first foray into FTM and I'm trying to do something I haven't really seen other mods do
If I manually merge them, which will be easy as they both make changes that don't conflict. What i was wondering is if I can just delete the copy I don't edit to fix the problem? Or is there something someplace else I need to edit?
tia it's weird that that issue still exists, because it definitely doesnt on mine
though it could be because i directly edited your FTM files while looking for the solution, instead of downloading the version you uploaded on nexus 
.Choose Letters Events Map Dialogue
Choose result: Letters Events Map Dialogue
Hmmm
you should separate each item with commas!
.Choose Letters, Events, Map, Dialogue?
Choose result: Map
thanks 🙂
Do it alllll
Morning, Pathos!
Going to do it all! Just... need to do one today
discorddddd why do you do this to me
If it's a Content Patcher pack, you may need to edit the content.json (or included file) for the other mod to remove its "Action": "Load" patch. (And if they're both making regular edits, I suggest asking the mod authors to use EditData instead.)
I basically did what you said, it shouldn't be different 
Oh ok. I can do that. Thanks
Any of those options should prevent despawning, but if you want a machine's state to persist, use null. 0 will make it last forever, but any number will cause objects to despawn overnight (and/or during quicksaves) and reappear afterward, without contents/etc being saved. null just means FTM won't touch it anymore after spawning, so it should just stay there unless some other game mechanic removes it. 
if you have a link or upload, I can try it out and see if it's having an issue, but in theory it shouldn't just disappear either way
it's this one if you'd like to look! https://www.nexusmods.com/stardewvalley/mods/30997
I originally had it as null but I got reports it was despawning, and it did in my testing as well.
can you describe how you tested it when it despawned? it's persisting as-is through several days on a new save, at least
okay so the initial despawning happened on my save, when LFL was first out. i installed it midway through a save. the LFL spawned correctly, but i did not use it on the day i loaded the save after the mod was installed. the next day, the LFL despawned. i thought it was because there's a schedule for it to appear, but days pass and it's still gone
so i went into the files, set LimitedNumberofSpawns to 2, and DaysUntilSpawnExpire to 0 instead of null. upon loading the save, the LFL respawned, and has not despawned. but tia is still getting reports of it despawning after my suggestion to change DaysUntilSpawnExpire to 0 in the fix.
i also had some initial suspicions that it might have despawned due to SVE's town map edits, but i checked the map files and the tile the LFL spawns in is blank.
Thanks, I'll keep poking around. I just found an issue where it's not restoring the "can be picked up" flag correctly for some reason, so I may need to fix a few things...
oh yeah, i'd like to add that after making those changes, i specifically waited until one in game day has passed without using the LFL (because the first despawning happened after i didnt use it) to see if it despawns or not
writing a letter for Central Station support and having fun :
Reach your destination in no time with our company!
hii im struggling with a small mod im working on, and i cant find any way to fix it
what mod is it?
its one where im trying to add deatils on alex
its a really small project because im just starting in modding
i don’t think i can help, i mistook your question and thought you needed an already made mod to work sorry but someone here probably could
aaa yeah sorry i should have explained better
tho i used a mod to look at the content files and copied past most of the stuff i needed
but i dont get anything bc i basically never used coding
the issue is that i modified some of the characters images and smappy says the mods works
but i the game when i launch it alex is the exact same without my modifications
hey! anyone willing to test out a mod im trying to make? it's a simple replacer mod for sebastian's beach sprite
!json if you are willing to share your content.json (by uploading it at this link and pasting the URL here), then we can look at it and help you identify what's wrong
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 also
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.
okay so heres the link i hope i did things well: https://smapi.io/json/none/dbb4178dad144e6f9c3cc7e03dbaf76f
You did. Still probably need the log if it isn't showing up
one thing is that it looks like you wanted to use "Target": "Characters/Alex_Winter" on line 39
can someone remind me how to make a custom shop?
i havent read the update list, so i dunno if is there smth new
https://stardewvalleywiki.com/Modding:Shops add an entry to Data/Shops
thx
thankss
!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.
Grab it after you're in game and loaded your file
(cc @unique sigil) So far, the only reason I can find that the LFL might disappear is if an NPC walks through its tile, which destroys it. If anybody can reliably reproduce the despawn, let me know and I'll try it on my end.
In the mean time:
- You can use
"LimitedNumberOfSpawns": nullto let the LFL respawn overnight if it ever disappears. It won't prevent book loss if that happens, but it'll make a new LFL if the tile is empty. - Making the tile beneath the LFL impassable to NPCs should protect it, in case that's ever an issue. You might need to use
"StrictTileChecking": "Low"to allow the LFL to spawn there afterward. - Both
"DaysUntilSpawnsExpire": nulland0should work the same way for machines. However, changing from0tonullwill undo the "can't be picked up" setting for machines that have already spawned, so I'd recommend just leaving that as-is.
oh hey @brittle ledge, here's some solutions!
(also, im detailing the despawning thing for tia, LFL isnt my mod after all, i just remember the exact circumstance of the initial despawning. thanks esca!
)
(I guess that tile's supposed to be safe in 1.6 based on someone's tests on reddit
NPCs are just the only potential cause I can find yet)
thank god non destructive npcs mod exists ;w;
What if you made specific items not destroyed
thank you! I'll patch all this in! (Sorry to disappear on you, work called)
remind me in 4 hours to do that
i've waited my whole LIFE for you to ask, tiakall. so yes, the answer is yes I'll remind you!! (#6517547) (4h | <t:1738970011>)
good bot
the logic for that is messy enough that I'd rather force the burden onto pack authors 
I think I see where I'd need to patch for that, but there might be multiple states involved ("do frustration emote + speed up" vs "just silently explode objects in the way")
...the logic is also copy-pasted for each facing direction
btw? for the deepwoods mod? when asking permission for making alt portraits who should i contact? the original mod author or the person who made the portraits?
Why not both?
ahh i am trying to contact the author but i am having hell doin it since they don't seem to be accepting messages on nexus.
i'll have to find the person who made max's portraits for deepwoods mod
hopefully they have a social media platform i use ;w;
if i need more then one addon/plugin in ContentPackFor (manifest) how do i do ?
you can only do one ContentPackFor, if you're doing a mod that has a CP and an FTM portion (for example), they have to be in two separate folders with two separate manifests
then how sould i connect the ShopTileFramework?
you'd basically make a pack for each mod, then put them in a main folder; for example, inside Little Free Library's folder you download, it has these
You don't need shop tile framework
do i?
Im trying to make an NPCs shop and connect it to tile with time and stuff
can i get example somewhere for new system?
First add a new shop here
yeah but i didnt really get the new system...
thx
Elizabeth guide is pretty better
oh there is nothing about the schedule like when its open and stuff
This shop isn't associated with a real npc, for that you need the last 4 arguments of OpenShop
ok! got the green light from the mod dev!
Whcih defines a rectangle
i see
oh yeah i remember this thing
It makes it so that the npc need to exist in the rectangle b4 u can open shop
hi. im currently trying to create an upgraded version of one of my mods. i want the two of them to be compatible with each other, but i don't want them to have dependencies on each other. the new mod adds a higher tier of produce from the last one, but it also keeps the same produce as the original. I have different animals digging up the original produce, but only the new animals dig up the new produce. i wanted to amend this by creating a machine for the old mod that can turn the old produce into the new produce. my issue is that im not sure exactly how i can achieve this without the two mods conflicting with each other for having the same item IDs. I have given the original produce item IDs an indicator within the content file that would make them not conflict with each other, but left their display names in game as the same. would this be enough to prevent them from conflicting, and would they also stack with each other if they have the same in game name? or would the game not stack them because their item IDs designate them as different?
My advice would be to make them make the actually same item but disable the produce add stuff conditionally in the “advanced” one
Basically for any item, make it match between the two but have the basic mod control it when they’re both installed
that would still make the advanced one depend on the original right? i guess it might not be such a bad solution
i think im making it more convoluted than it needs to be lol
It won’t depend on it
It can just check if it is installed or not
To decide whether to load the stuff that would be duplictaes
With a When condition and HasMod
is making it conditional something that would require knowledge of C# or is that something that's a native function to stuff i can put in the content file? because i dont know a thing about c# despite my efforts
No that’s a Content Patcher feature
Look at the content patcher docs about When conditions
where can i find the content patcher docs i was looking around on the wiki
oh i might have found it hang on
have you tried the content patcher nexus page
i found this page but it's not going into much detail about all the fields I can use https://github.com/Pathoschild/StardewMods/blob/develop/ContentPatcher/docs/conditions-api.md
i can see the when field but nothing about hasmod and how to use it
oh i think this helps thanks
guys what differences between .tbin and .tmx
tmx is a xml format
(See map formats on the maps wiki page.)
You can open it up as text and it support thing like rotating tiles
Usually recommend over tbin
so if ill load as tbin its still okay?
It's ok not gonna explode
so when say making alt portraits for mods how do i verify it targets the right assets?
xd got it
makin portraits for deepwoods and i got the green light from both max n the mod author for the farmer portraits nyapu style
but i don't really like replacing files if i can avoid it so it'll be a non replacer
.Choose Config, Letters, Dialogue, Events
Choose result: Events
... sigh
It be like that sometimes
damn... goodluck
Thanks. I've just done a lot of events and am tired xD
xd
Okay, that does it
Do people ever get a result from maru's that isn't the last one?
Choose result: seven
.choose live, die
Choose result: live
.Choose one, two, three, four, five, six, seven
Choose result: one
Yeah
Hmmm
.Choose one, two, three, four, five, six, seven
Choose result: six
.Choose one, two, three, four, five, six, seven
Choose result: six
.Choose one, two, three, four, five, six, seven
Choose result: one
why test in here
! oops
Okay I did mine In Gov's mansion
Sry 😦
Anywho. I've seen it pick the last so often I got concerned
Seeing it happen there for some reason was the straw that broke the camel's back
if it helps, events is what I have left to do on my mod and I too wish to avoid them
)
fist bump in solidarity
For what it's worth, the Events are actually my favorite part of what I've done. I'm extremely proud of some of the things I've been able to do. They just... take a long time to debug
I have this really cute branching date event with location changes and everything ^_^
Ahhhh date location changes and choices... they are quite nice to make
.... right up until you prototype them and go "oh God, time to do this part for the 1000th time"
YES
Event tester with fast forward my beloved
in case nobody answered you: check what deepwoods loads for the portrait targets in their content file
You just need your Target to match for your portrait mod
cool cool!
thank you!
i'll give it a go now!
oh boy...
i cannot find the file for it.
i dunno if deepwoods has a content file ;-;
Ah, then Deepwoods doesn't have a CP component. I... don't really know how to find the assets in C# mods as far as figuring out how they've been added to the content pipeline.
Somebody that's used to C# land might be able to offer guidance maybe?
I didn't even realize DeepWoods had portraits tbh, and I'm not sure how the farmer portraits are done
are you looking for the asset names?
yeah, they need to know what to target for their nyapu style portraits, ideally
is deep woods open/accessible source by any chance? if not I'll download and decompile
there's a github link for it: https://github.com/maxvollmer/DeepWoodsMod
Assuming that's the right one, Nikki?
strange, the part for loading the portrait asset is commented out
hmm
I'll have a look on my laptop instead of my phone though
@rare orbit hey, can you clarify which portraits you're trying to replace, just so we're on the same page?
the portraits for max
don't worry, I'm talking about the deep woods mod, not you. Are there currently any portraits for max in the latest version?
there is! just one set tho
then the latest version is different to the github version. I'll have a look and see
i already got the greenlight from both max, the author of deepwoods, and jupm, author of nyapu's farmer styled portraits
they have it on nexus as well
this is the portrait you're trying to replace, right?
yup!
wanna make em a non replacer! so that if anyone wants to revert back to the original it's as simple as uninstalling it!
i am 50/50 with replacers but i can understand that they can be frustrating
Content Patcher mods always work like that - despite being called "replacer" it's not actually overwriting any game assets on disk.
ahh
For clarification, even if Deep Woods isn't a CP mod, you can still use CP to replace the portraits as long as the mod is opted into the asset pipeline. Which it probably is despite the weird commented out code. I'd try making the patch on the assumption that the commented code is actually live, using those same asset names, and see if it works.
Which according to what we see is Portraits/DeepWoodsMax
I was going on that assumption too, but the decompile shows those commented out sections aren't there either
so honestly I'm confused how the game is even showing a portrait in the first place
just to clarify, you are able to see these portraits in the game using the latest version of deep woods, right?
idk yet ;-; i haven't made it far enough to tell...
ffffffff i probably should've check..
...I have a feeling the portraits may not be in the game at all right now
i feel kinda dumb ;-;
it's okay, it happens, just worth checking next time
if there's a way to cheat to the npc or something, you should do that and check
lemme check now ;-;
assuming the npc is even in the game 
i am not too sure the npc is ready yet? last time I checked it had a basic schedule to just exist in the house but I never saw em there
i totally went to school ;w;
Based on a quick look at Deep Woods' latest DLL I don't think it's adding any NPCs
huh
it looks to me like it might not be
interesting
The methods to edit NPC data are stubs
Yeah, I looked at git blame and the code has been commented out for 3 years.
thanks for confirming, I thought so but couldn't be sure I wasn't missing something!
The portrait asset is there but it's unused.
Yes, the alpha is what we just looked at.
so should i still upload the files??
DeepWoods it's still in bigtime development, yeah
you can, but there's nothing to replace if there's no npc
cool cool ;w;
since you got the ok of max you can also just ask em?
I'd keep in mind that the author may change any of this stuff in the meantime.
i did! they said it's cool
After all, CA changed the names of a bunch of NPCs before launch.
looks at Willy
(Now back to my trying to construct a mod collection after a weird friend of mine suggested we actually play the game)
i'll likely still upload since i am proud how the images came out owo
What I mean is, the author may not mind you doing these edits but that doesn't mean your edits won't be invalidated by some decision the author makes in a few months' time. That's the thing about alphas, you just have to be prepared for things to break.
ahhh
But certainly there's no problem with releasing it anyway. It just won't do anything. (In the game, that is)
play... the game... what?
I know, it doesn't make sense. But apparently that's a thing you can do???
You mean this, right?
I think if you release it it's going to make a lot of people think that theres an npc in deepwoods lmaoo
You'd think so, but... apparently Steam can launch Stardew also and not just download it? Wild stuff
I can only focus on one "play" at a time, and I'm still working on my Minecraft 1.21.4 world
What am I supposed to do when something happens and I don't have a debugger attached 
lol
Imagine just changing the game mid playthrough
I don't even play with my own mods because it becomes too distracting
I have a hankering to play Minecraft, but absolutely zero of the friends I play games with want to play. Enshrouded scratched the itch a little, but it is not the same.
As I'm playing I end up thinking more about modding. Or if I encounter an issue I want to fix it right away.
Make more friends
Playing with debugger attached runs fine for me as long as I don't open Stardew Progress.
I play like that fairly often.
This was my modlist for my most recent playthrough
i.e. the mods that I can't live without
Plus it skips GOG Galaxy's obnoxiously slow impossible-to-disable cloud sync thing, so sometimes I'll run from Visual Studio even if I'm not planning to debug anything.
(I still don't get the appeal of Visible Fish, no disrespect to the author.)
To me it's aesthetically appealing
I like when the squid goes swooce across the deck
I don't use it as a point of reference for what I can catch. I just like how it looks.
No idea why it's bugged like this hope it never gets fixed
Ah, ok. That makes sense, though I wouldn't have put a purely aesthetic mod down as essential.
I only use CJB Cheats to make the default walking speed 2x
1x just doesn't feel right to me
The only can't-live-without-it aesthetic mod for me is high vis fertilizer.
Because the default fertilizer sprites are, let's be honest, fertilizer.
I wrote a mod that makes me faster when I hold a button. Definitely agree the default walking speed is not enough.
I used to use the mod that made paths give you a speed boost
matt is everything okay. are you being held captive. what's going on
I felt like that was a nice compromise
playing the game? weird
Oh no I'm not playing. This is from my March 2024 playthrough.
That's when I played all of the new content.
I got worried for a second
I haven't done a 1.6.9+ run yet so I'm due for a new one
Plus some newer mods I have my eyes on
This is what's occupying my life right now
I assume that includes all three boncher mods of course
Matt are you TNT duping
I think I've played like 30 minutes total of minecraft ever and it was like ten years ago
Of course 🙂
Whatever lod mod you're using looks wild, lol
My latest creation (last I'll share before I get bonched)
This is bluemaps
I can navigate my world using its GL rendering in a browser
Now that I've got infinite Shulkers, my next project is to revamp my storage system
A lot of my mod ideas are things I encounter in Minecraft that I'm like, it would be nice if I could do this in SDV
I still want to make an april fools day edition of Better Crafting that introduces a Minecraft crafting grid, lol
Actually, I encountered the opposite the other day. In minecraft I was like, I wish I could cycle my hotbar like in SDV, and apparently no actively supported mod exists which does that.
that's a lot of work for an april fools mod 
Right?
A lot of work for an april fools mod is the secret competition that we're all in
Casey made content code as a joke
And aeden made the bug fix joke
I think Casey is the "winner" for April Fools with this one
https://www.nexusmods.com/stardewvalley/mods/21513
Spenny
Spenny isn't a joke. It's a legitimate high quality, must-have, mod.
Incidentally, Matt, I can't help noticing that your own mods aren't on your essential mods list.
If you reveal your joke then it's no longer suitable april 1 material
This wasn't a joke, I don't play with my mods
I'd probably need to do like... a 5x5 grid instead of 3x3 because a lot of recipes have more than 9 ingredients. 25 seems like a better limit.
While I'm playing with my own mods, I get into developer mode and I can't enjoy playing as much
Or just have it take from everything in a stack, but that is less Minecraft-y
My wife gets annoyed when I ask her to save and close for a minute so that I can quickly fix a bug
Missed that comment earlier.
Well, since mine have zero bugs and are perfect in every way, I'm proud to list them all on my essentials.
And then I'm like "Okay here, install this, log back in and try again. Is it still happening?"
Ive made a handful of mods i use in-game that ive never released bc they're so low effort
My debug mod list is like 70 long cus i keep making mods that make no sense without at least some relevant content mods
what if texure for an item will be bigger then 16x16?
nah im asking what will happen
(in all seriousness though, I cannot play the game without my own gamepad mod, the vanilla gamepad controls belong in a museum)
Then u see 16x16 slice of it
I have 70 mods I use for debugging currently. Anytime there's a specific compatibility consideration, I add it to that list.
You seem to have misspelled recycling bin.
The vanilla controls are oof, lol
Yes, but I was trying to be polite this time.
Admittedly, I avoid playing anything with a controller. I only have a controller for the purpose of testing.
At least recycling is beneficial
So wait what is the <mod where all the mods register actions and icons> for star control/iconic framework
Button was going to do something, I think
Hmm, I guess I will have to drain multiple items from a single slot with my april fools thing. Like, a preserves jar takes 98 input items. I am not making a 10x10 crafting grid lol
I make every effort to avoid mouse and keyboard controls, there are only a few PC games I'm willing to play without a gamepad and they're mostly older.
Would it be cruel if for April Fools I relaunch the mod page for Better Chests, only it's now Worse Chests?
Mediocre Chests
What will you do to it? Or will the joke be in name alone
Because I'm really tempted to do that, but I feel like it may actually make some people angry
Well, now I have my own API for that, but if another mod comes out as a go-between, I won't be upset.
I will legitimately do the opposite of QOL
RQOL- reduced quality of life
Worse Chests makes all regular chests the same size and have the same user interface as a Junimo chest (but without the use-anywhere property).
Random chance of a chest eating an item as a snack every night
Or. They all use the same global inventory.
you get 3x3 storage slots across every chest
Ok, we can compromise... single inventory, but still limited to 6 items.
Unlimited storage, but it's one visible slot, and you have to take items out to view the additional ones
Quarrel of Life
AKA the shipping bin?
Exactly
And it goes on a sprinkler
Sometimes your chest sprouts legs and runs away from you
Maybe Worse Chests should just remove chests entirely. Store everything in the bin.
Only accepts fertilizer
Add an option for the chests to be haunted like the mannequin
Worse Chests. Any food left in a chest will rot overnight. Food should be kept in the fridge.
I like that. Also, chests ignore item stacks. If you want to put 9 parsnips in that 9-slot chest, it will use all 9 slots.
Oh that's extra cruel
I think the theme should be every Better Chests feature, but implemented as a Monkey Paws wish
I would do an April Fools mod for Worse Gamepads, but I'm not sure how I can make them worse.
Every button is hard bound to the chat menu
The NES controller is the ideal gamepad. No controller should have more than a D-pad, select, start, A, and B.
As such, no other buttons can be bound to actions.
Randomize the neighbor ids
Well, that just makes the game unplayable, not frustrating.
Which is... well, kind of the same as vanilla controls, no? The only buttons that actually work are those 4, and everything else is just a copy of one of those 4.
I guess Worse Gamepads would just block the other buttons from performing their mirror function.
Oh, I forgot about the triggers. I guess that does make menuing a bit worse, if they're disabled.
You can't use the toolbar anymore with gamepads, you have to open the main menu and rearrange your inventory.
I wish I could stash items into chests
Granted, when you stash items all of your inventory is randomly spread across any chest placed anywhere. Good luck finding it.
"I want to craft anywhere."
Whenever you start a craft, a junimo has to walk from the chest to your current location in real time with the ingredients and you're stuck in place waiting.
I want to access Chests from anywhere
Granted, when you access a chest remotely, all of it's contents are teleported to you on the ground.
Some players might still consider that slightly better.
Better have that big backpack upgrade
I want to access chests from anywhere.
The game randomly teleports you to a different chest when you press a button
Yeah, it could be.
Imagine people installing an April Fools mod for the one feature they find actually useful
Worse Backpacks could be a good mod idea. 6 items total, expandable to 9 and 12 for the cost of 50k and 100k, plus you have to arrange the items geometrically and have encumbrance that slows you down linearly, not just when you're over.
who hurt yall(respectfully these look funny asf)
(I can actually imagine a tiny fanatical group of maybe a dozen players installing that as a "hard mode" mod.)
That made me think of this https://www.nexusmods.com/stardewvalley/mods/11945
If it takes off for it's meme value then it could totally be a challenge mode for certain types of players
I am kind of intrigued by the challenge of creating a mod that makes gameplay as miserably difficult and tedious as humanly possible without taking the form of cluelessly bad design or bugginess.
Something that no sane person should ever want to install, but still feels just as authentic as the vanilla experience.
That also sounds like it would be a fun premise for a mod jam challenge
April Fools ModJam anyone?
Events: viewport clamp x y false: what do? The wiki just has " TODO: explain other parameters."
I think the junimos are still worn out from Halloween, we might have to organize it ourselves.
The first ModJam on this server was put together by me
Hoping the viewport will move with the player if I set it to false
Huh, actual cash prizes, that is ancient times indeed.
TBH game jams are a lot of fun. I'd love to participate but I dont' need any more distractiong from finishing my current mod
(I would like to see a contest/jam whose theme is more gameplay-oriented.)
The problem is you need a theme that is easy for participants to support or there just won't be enough interest
Is this just a ploy to get that jam color again
I won't admit to a thing
What if my mod just lets you put a Junimo Kart Arcade System into a Preserves Jar
It's not like there needs to be an objective evaluation criteria. People just vote on what they like, whether it's meme value or real difficulty or whatever.
Only if i get a new arcade with fully impleme minigame
If there were an April Fools mod jam, it would have a scoring system similar to when I ran the first one, which allowed mods to be graded on different metrics. One of them would probably be humor and how challenging/fun it is.
You should be able to play it at 1/10th the normal resolution.
hey?? for any mods made on nexus for stardew valley?? should i link my mod or will it show up automatically??
just finished makin a mod!
Show up where?
I don't think mod author is hard to get right?
Lv25 made a mod yep
Discord is smart enough to turn mod page links into the mod title, description, and screenshot. So you don't need anything special other than a link to post your mod in any channel.
Could be hard if "a mod" is something that took u several years but there's not really a lower bound
You still need to add yourself to the wiki, right?
I forgot about that page, funny to still see me on there.
Names on the wiki and posts on the forums both seem like remnants of a forgotten era
Although I know that forums are still lively, I just forget about them
I posted on the forum once. Never got any answer. That's why I ended up here.
I'm glad the forums exist, I just don't have the mental bandwidth to do anything with them.
i tried the when hasmod token to control when a certain part takes effect but I guess i just don't know where to put it because json validator says it's not right and idk where to put it
https://smapi.io/json/content-patcher/fc36e4a3cd7941d2b360df79f124eb6b
The "forums" format in general is just not where a lot of active communities are being built nowadays
i only want those changes to happen when the player doesn't have the mod, how would i configure it so the items only get added when the mod isn't present?
One of your problems is that your curly brackets aren't in pairs
You open one { without closing it }
That's part of why it's invalid JSON
well i closed it way down the line because i wanted it to do the things in the brackets when that condition is met
whats the correct way to do that?
That's not how When works, it's part of the Changes
The change is not part of the When, it's the other way around
i put the when inside of the changes brackets
"Changes": [
{
// Change 1
},
{
// Change 2
},
{
// Change 3
"When": {
// When for Change 3
}
}
]
So each Change can have an Action, LogName, FromFile, When, etc...
For a negative hasmod you need this syntax
"HasMod |contains=ModId": false
One of the more helpful tips I can recommend is edit your .json files in VSCode, and add the "$schema" to the file so that it can help you make corrections as you're typing:
That way it constantly validates the file for you
wait i think i can do it! it's level 25 to pick the mod author role right?
For example in my file, it's telling me that I should update my format to 2.5.0
This is super helpful
ok I'll try that
i think my brackets were correct though it was probably just the fact that i used hasmod wrong
Even if you fix HasMod, your brackets were still wrong. VSCode could show you that
If you fix your indentation, you can see at the end of your code you have extra brackets
im not sure how to add the schema
You just add it to the top or bottom. Either below the first { or above the last }
Also seeing an issue here on your "ActionsOnApply"
Same deal,
"This": "That": {
}
is not valid JSON
Here. I think I fixed everything
https://smapi.io/json/content-patcher/c58f7add28c54257b33484ad299cb513
oh that was unfinished I was trying to add a line that removes certain buffs and i forgot about it
Another tip is you can make your life easier by making your assets load from assets/{TargetWithoutPath}}.png if you just rename the file to match the Target
that falls under the category of things i don't understand so i prefer to just do what has worked in the past for me
Something like:
{
"Action": "Load",
"Target": "{{ModId}}/ShopIcon, {{ModId}}/WFox, {{ModId}}/VFox, ...",
"FromFile": "assets/{{TargetWithoutPath}}.png"
}
It just takes the word ShopIcon, and loads it from assets/ShopIcon.png
i can try it but i think ill mess something up invevitably
Yeah, not saying you have to use it, but it's just one of those nice features there for your convenience
Since writing all of that can get repetitive, and lead to more mistakes
i just copy and pasted the content from my old mod and started changing things
oh yeah i guess i should ask since im gonna ask later anyway
that part where i was trying to do an action on apply. i was trying to do a trigger action that removes certain debuffs by singling out their buff ID and i got distracted and forgot about it is why it was unfinished, but was i on the right track to put it there? because i only wanted it for that specific truffle
I have a weird design process,
I needed 2 more warp locations for this map to make it more easily traversable, but i was using cave entrances as warp outputs from the warp map so that it doesnt take up map space, so now i'm making 2 more cave/sub-maps.
I don't see ActionsOnApply documented here, so I don't think that's a vanilla thing
https://stardewvalleywiki.com/Modding:Objects
Looks like that belongs to Buffs which is a separate edit from Objects
hmm i could have sworn i pulled it from somewhere
Data/Buffs not Data/Objects
@tawny ore Just in case it affects you, I'll be releasing my mod updates with the Iconic Framework integrations within the next half hour.
Thanks. Just in time for the complete rewrite to support StarControl (only kidding)
oh so i'll have to make a new action for that right?
You can create a custom buff with a custom ActionsOnApply, and then have that buff apply to the object
Look here for that: https://stardewvalleywiki.com/Modding:Buffs
yeah thats where i got the actions on apply thing
I think SpaceCore has a thing where you can add a custom action to objects if you want to depend on that
i dont think i need to
how to make a new item the player drank, and did not eat lol
because something from actions on apply is that i can "addbuff" and "removebuff" right
in the trigger actions
New trigger actions
spacechase0.SpaceCore_OnItemUsed- use item GSQ conditions to check the right item, make sure to setUseForTriggerActionin ObjectExtensionData (see further below) for that item to true
spacechase0.SpaceCore_OnItemEaten- use item GSQ conditions to check the right item
@brittle ledge: do that (4h ago)
SpaceCore does a bazillion things so I'm not totally in the loop on all of them
am i able to do it without messing with spacecore though? i just think im not ready to jump into that yet
im already struggling pretty hard with the built in stuff
tbh I'm not sure how some of the buff/action stuff would work without testing it
SpaceCore isn't more work than what you're already doing
It's there to try to make some of that stuff easier
If you're willing to learn, then there are people here willing to help you
But that's up to you
i am willing to learn i just think im still not at the stage where i physically can learn it yet because im still building up my knowledge just like with the base stuff i can do without c# or dependencies
Fair enough. You can try what you think it right, and if it works then great. If not come back here. Ultimately you may run into an issue that isn't possible without depending on something like SpaceCore.
I can't confirm if this is one of those things, so you'll know once you try it out.
i have a pretty good feeling that this is within means of what content patcher can do on its own
Similar to the buff thing, SpaceCore would just be targeting a path exactly like what you're doing now, and editing the action in for your object
So SpaceCore dependency is still a Content Patcher mod as far as you're concerned
So if it's a food item to eat
You can have buff
In vmv there's edible books for this reason
can anyone tell me how to overwrite another mod's portraits with my own? I have a mod that adds an NPC who has four expressions, and I'm trying to add more. I know how to use them, just not how to load the file correctly to overwrite the original
Did you take a look at this other mod's Data/Characters
i like doing patch export Data/Characters for this kind of thing
Tbh I would get into contact with the mod author for this
i'll try that, thanks
it's just a side mod my wife and I want to make and play with, I'm not publishing it
@lucid iron sorry for ping, but do u know how to make an item drinkable instead of eatable ?
I just want to demystify the idea that using SpaceCore for this purpose is complicated. This is basically what that would look like in your content.json file:
{
"Action": "EditData",
"Target": "spacechase0.SpaceCore/ObjectExtensionData",
"Entries": {
"YourObject.Id": {
"UseForTriggerAction": true
}
}
},
{
"Action": "EditData",
"Target": "Data/TriggerActions",
"Entries": {
"{{ModId}}_ItemUseWhatever": {
"Id": "{{ModId}}_ItemUseWhatever",
"Trigger": "spacechase0.SpaceCore_OnItemUsed",
"Condition": "ITEM_ID YourObject.Id",
"MarkActionApplied": false,
"Actions": [
"AddBuff example",
"RemoveBuff example"
]
}
}
}
(Though buffs when eating/drinking are built-in to Data/Objects.)
Does that include adding a buff to remove a buff?
Yeah I have adding buffs figured out I guess it just doesn’t seem possible to remove buffs when eating
IsDrink
I wasn't sure if buff to do action to remove buff would work
Yeah, removing a buff isn't supported through Data/Objects (except the duplicate buff which happens automatically).
There you go, eat an item and instantly sleep /lh
Dang I really thought it could work
Anyway my sample code would probably accomplish what you're trying to do. Depending on SpaceCore does not mean writing C#.

