#making-mods-general
1 messages Β· Page 186 of 1
It's just because of where I'm putting him specifically - I want him to sit at the end of the maze which means I have to look at all of the mazes
in theory my npc should be compatible as-is if i do the pathing properly
I've already done a few things for SVE compat - including his schedule (which is finally done! woo!), a weapons thing because i forgot that SVE changed galaxy weapons, and then a few dialogue things
Festival locations and Events are going to send me into the shadow realm I fear
oh no i forgot about those
Events
I have events that are going to take place in the secret woods and having to redo the locations completely is going to be annoying... same with the forest
ehh... but i dont even play with sve... i dont have to worry about compat... i can pretend its not real
I also had to recalculate the times for some of the schedules because of how big the maps become :|
I would just not do SVE compat but I feel like that would be weird considering I'm an SVE admin ... and also I literally always play with SVE so it would ... be very weird
XD
But dont feel pressured to! It's never required
Could ask Flash to add more configs for stuff
Ah he's a busy guy, If I did need something specifically I'm sure I could ask and he'd be willing to help but most of this is really just 'map different :('
I do hate how he did the festival maps though, all of them are ... like? individual? so manually listed to year 99 (which is weird, and what if I get past year 99 ... unrealistic but feasible)
For the schedule times, if you put the letter a in front of the time and set that time to be 'arrive by' rather than 'leave at', the game will calculate how long it takes your npc to get there have the npc leave at whatever time is needed to arrive by then. Helps a lot with changed maps :)
You are so very right, it's a bit unfortunate because it's kinda an issue of 'this mod is ancient and it would probably take several hundred hours to fully rewrite to be within the parameters of 1.6 stuff'
And an entire team to do that too no less
you... can do that?
Yup! Here's what it looks like for one of my npcs
Well.. when I send this out for beta testing if I get mentions that he cant make it to his designated locations I will definitely do that oh my goodness
Right now I just want to get the SVE festival locations done so I can tick that off the list and start doing the Events - since that's the primary thing left
You can also use dynamic tokens in the schedule strings to make them easier to change (like if you need slightly different coords for sve vs non-sve)
out of curiousity did npc pathing ever get better?
In theory
if you ever want to change that, FF can do it for sure
Does anyone know how to fix the problem of using the controller for gameplay opening a dialog box that keeps popping up. Someone suggested under my mod that they are experiencing a problem with the QuestionDialogue popping up in a loop! But I don't have a controller, so I can't reproduce and test this kind of problem. I use the OnButtonPressed function to pop up the QuestionDialogue.
Okay, @dusk mulch. Here it is! Do note that this also contains the farm animal spawning fixes, which are only around 95% tested at this point. It should all be solid, but I wouldn't call it rock solid yet. So keep save backups!
This is the basic JSON structure:
"Changes": [
{
"Action": "EditMap",
"Target": "Maps/SeedShop",
"MapTiles": [
{
"Position": {
"X": 8,
"Y": 18
},
"Layer": "Buildings",
"SetProperties": {
"Action": "MEEP_InteractionGetItem MEEP.Test.Pickup.PierreTomatoThing"
}
}
]
},
{
"Action": "EditData",
"Target": "MEEP/ItemPickups",
"Entries": {
"MEEP.Test.Pickup.PierreTomatoThing": {
"ID": "MEEP.Test.Pickup.PierreTomatoThing",
"ItemID": "(O)256",
"Quantity": 4,
"DaysToRefresh": 3,
"LocationName": "SeedShop",
"Tile": {
"X": "8",
"Y": "18"
}
}
}
}
]
Noting that the days to refresh part doesn't do anything yet. That's just going to be bundled in with the multiplayer stuff!
Should be fairly self explanatory based on those examples, but to summarise:
- Patch the tile property on the tile you want.
MEEP_InteractionGetItembeing the action name, andMEEP.Test.Pickup.PierreTomatoThingbeing what tells MEEP which item pickup data to look at. - Patch
MEEP/ItemPickups, something matching the example. In this case...
MEEP.Test.Pickup.PierreTomatoThing should match what you have in the tile property patch. It should be the same in both places in the model! Everything else should be fairly self-explanatory.
Ping away if anything's unclear!
Thank you sm!
What does (O) do?
Denotes an object
Ohhhh I see
(It'll also work with (T)IridiumPickaxe for tools, (BC)13 for a furnace, etc.)
Flash loaded the original copy of the Woods map so you can add a changeToTemporaryMap and use the same event as vanilla. I forget the map name exactly but its probably still in there.
On right, sorry. I saw Qi and thought it was the new Qi mod on Nexus.
there's another?
EN: Mister Qi is now a real NPC, with dialogues, schedules and heart events.PT: Senhor Qi agora Γ© um NPC real, com diΓ‘logos, horΓ‘rios e eventos de coraΓ§Γ£o.
If you discover that someone has made or is making a mod with a similar concept to yours, don't stress! Our community promotes the idea of "two cakes", where two versions of the same idea can peacefully co-exist. Your mod will have your own unique stamp on it that makes it special.
Yeah, just because someone else has done it doesn't mean you shouldnt
can you attach two different items in one letter?
perfect π
@fast urchin so just to confirm, Qingfeng's C# got broken out and is now in Red Panda Bazaar?
Hi,
I'd like to ask, how does a way of debug-triggering the Summit scene (event ID -1) look like when having SVE installed? I have separate safe files for modding, so I don't mind doing some dangerous things to my save...
I tried debug perfection (https://stardewvalleywiki.com/Modding:Console_commands#perfection) and debug marry StrojvedouciDenis.Eleanor (https://stardewvalleywiki.com/Modding:Console_commands#marry; StrojvedouciDenis.Eleanor is my internal code name for my NPC), but when I used debug warp Summit to go to the Summit (as normal walking leads to accessing Custom_SVE_Summit map (or something like that)), I had ||illegitimate access scene with Mr. QI and broken Summit map from that scene||. BTW, the wedding was missing some dialogue, but I think that is a problem on my end, in my mod...
And debug ebi -1 (as DebugMode says that || both the illegitimate access scene with Mr. QI and|| the Perfection scene has this event ID) won't work either, as the game thinks there is no event with this ID.
I want to test some dialogue edits from my mod. Thanks in advance and ping me if you need more info!
Any good an patient soul to help a complete newbie to mod to try something for particular uses? (Asking cause it would involve modifying an existing mod and I don't want disrespect or post anything, just use to my enjoyment and learn in the process)
!startmodding Depending on what you want to change, you can look through the tutorials and guides on the regular wiki & modding wiki to find resources
Making mods can be broadly divided into two categories:
- Content packs are formatted text files, and don't need any programming knowledge. They can add/edit NPCs, maps, new items, shops, and more. To get started, see the list of framework mods, the wiki tutorial for Content Patcher, and there might be relevant guides on the tutorial wiki.
- C# mods use programming code to change fundamental game mechanics. See getting started with C# modding.
Usually itβs easier to start with making content packs, since you don't need to learn programming.
( @ivory plume how do you want to deal with mods that are uploaded using some other mods uniqueid in the future? https://github.com/Pathoschild/SmapiCompatibilityList/pull/40 )
Don't be surprised if people don't want to help with a personal edit though
it may be easier to look at what you want to do and ask for generic help yeah
like "how can i change a dialogue" or "what can i do to change the price of an item"
quick question, does Introduction dialogue trigger when talking to an npc for the first time, or is there a set period for it?
aw
I think mine is a bit complicated. Of course I'd love to make it available to others but since it's a beloved mod from an amazing author I felt it's not my place to, that is if I ever figure out how to do it haha
It only lasts the first 7 days unless you use Lasting Conversation Topics
mods usually do their own CT trigger if they need that and the mod can be installed mid save
yeah, so i'll just have to add my own CT in then, just wanted to double check to be sure
Since it's a personal edit, you can't redistribute it at all without permission
the issue isn't helping, or the quality of the mod, but that mods have permission
some people may not be comfortable helping with edit of a mod not allowing that permission
they would also be displeased to see a mod released without permission if they contributed to that without knowing
and even, i would say that if someone tell me it's for personal use, then release it, i may be 'well i would have done it myself" if the permissions allows it
you said "i'd love to make it available to authors" right now?
so i'm clarifying basing on what you just said
if they'd allow me but I wouldm't do without permission
never, I understand how hardpeople work on mods
It's just me trying to change a beloved mod to suit my needs and I'd never bother the aurhor with something that small
so I'm trying to work it out on my own
Glad to hear it π We're just making sure that people understand about personal use since it's very often the case that they don't, and your comment earlier that "since it's a beloved mod from an amazing author I felt it's not my place to" made it sound like it would be okay if the edit was of a mod that wasn't so beloved or amazing
yeah a lot of people treat permission like vague recommandations, and it's hard to know the knowledge of anyone asking here
anyway you have more elements about the whole stuff now π
Hey, how can i block a specific outdoor area of my map from growing gras?
oh I'm sorry I just wanted to show extra respect cause it's an amazing mod lol
I'd never do anything without permission with any other mod as well
Or can i remove all gras from the area that i patch i to a map?
grass don't grow on non dirt area, but i'm not sure you can remove it by a map patch
Tell users to do reset terrain features
Ok, i dont get why it appears in the first place because i patch like non dirt tiles with non dirt tiles
can you show what is the grass you speak about?
because grass is quite confusing term, as it can be grass (ground) grass (animal food) weed and so on
verify you have nothing on path layer, as they can force spawn grass
(if they have the grass symbol, of course, not just any stuff on path)
For my patched area this is true but the map have some of this in other areas
The original mod 'owns' the unique ID as far as the mod compatibility list is concerned. So only the original mod should be listed, with a use [Build Endurance Resurrected](https://www.nexusmods.com/stardewvalley/mods/31049) instead summary if the original is broken. Also I'd normally post a message on the mod page asking them to change the ID.
(I can handle that one if you want.)
Also, is there policy for "mod used to be a C# mod and is now a content pack?"
Yep, those get removed from the compatibility list.
Can anyone confirm how different scythes area work?
Cause I'm standing in a field testing each one's AoE and they all seem identical to me.
I even patched it and increased the AoE by +400 and still no difference
i have no idea, i always half felt that greater range was placebo effect
thank you! I can handle the two remaining PRs when I get home tonight
The end credits Summit event is called in code, it doesn't have an event ID, the -1 is just what the game puts for any event that doesn't have an ID. I've been trying to see if there's a way to make it happen without C# but so far I can't get the Game1.player.team.farmPerfect.Value to become true with just CP shenanigans
https://www.nexusmods.com/stardewvalley/mods/26217
has an enchantment that increases range
Not sure what debug perfection is missing that isn't causing it trigger when you next sleep
What Scythe Enchantment does is patch in a new set of coords for the extra radius enchantment
The radius in weapons data might only apply to monsters, not sure
I linked above
oh didnt see
not sure why embed ded
Discord is always happy to provide you with the opposite experience of what you want
looking at MeleeWeapon.doDamagem the added AOE should be affecting scythes and stuff
its in there
// calcualtes area, which calls Rectangle.Inflate(addedAoe, addedAoe)
Rectangle areaOfEffect = getAreaOfEffect(x, y, facingDirection, ref tileLocation1, ref tileLocation2, who.GetBoundingBox(), who.FarmerSprite.currentAnimationIndex);
// does damage
if (location.damageMonster(areaOfEffect, (int)((float)minDamage.Value * (1f + who.buffs.AttackMultiplier)), (int)((float)maxDamage.Value * (1f + who.buffs.AttackMultiplier)), isBomb: false, knockback.Value * (1f + who.buffs.KnockbackMultiplier), (int)((float)addedPrecision.Value * (1f + who.buffs.WeaponPrecisionMultiplier)), effectiveCritChance * (1f + who.buffs.CriticalChanceMultiplier), critMultiplier.Value * (1f + who.buffs.CriticalPowerMultiplier), type.Value != 1 || !isOnSpecial, who) && type.Value == 2 && PlayUseSounds)
{
who.playNearbySoundAll("clubhit");
}
// removes grass and stuff
foreach (Vector2 v in Utility.removeDuplicates(Utility.getListOfTileLocationsForBordersOfNonTileRectangle(areaOfEffect)))
{
if (location.terrainFeatures.TryGetValue(v, out var terrainFeature) && terrainFeature.performToolAction(this, 0, v))
{
location.terrainFeatures.Remove(v);
}
if (location.objects.TryGetValue(v, out var obj) && obj.performToolAction(this))
{
location.objects.Remove(v);
}
if (location.performToolAction(this, (int)v.X, (int)v.Y))
{
break;
}
}
(look at "get list of tile locations for borders of non tile rectangle"
it's bonkers af)
hm it returns a fixed number of tiles
question, when an outfit is loaded via appearances, is there a way to reference which outfit is loaded currently?
can you give an example of use?
okay, so using appearances, I have three spring outfits. It will randomly pick one of the three. Now, I want have the one that is currently loaded be overwriting the vanilla character sheet of the character but have it able to change depending on which outfit is loaded. I have been shown one method with tokens, but while I'm here, I'm seeing if there are alternatives or just what degree of versatillity/control I have over different aspects of this appearances modding and what I can get it to do
Hi Rokugin. Last night, I pinged misty and told them what was going on with the mod. Hopefully they can help me later today.
By the way, the extension-assembly hack worked for eliminating the mod dependency. The build process is a little clumsy right now since I have to build the solution and then rebuild the main project to deploy the correct extension version, but SMAPI won't touch it as long as it's loaded via Assembly.LoadFile, so I can put all the Publicizer hacks, Harmony patches and junk in the extension, then yank out GMCM from the mod list and everything else still loads fine.
hey folx! been working on my dialogue mod, specifically compatibility with the Gender Neutrality Mod
@serene tapir CFDE seems to have a clear & comprehensive Dynamic Tokens system for GNM, would it be okay to use that code directly and of course credit you, if so?
Of course! I also highly recommend airyns tutorial on using gnmt on the .gg wiki π
Is there any way to reload a Furniture Framework mod without having to leave the game? I tried using patch reload, but it didn't work because it was not a CP mod.
You will need to set gnmt (the tokens mod that goes with gender neutrality mod) as a false dependency and pass tokens through if you use i18n (which i do recommend doing if you haven't already!), and that tutorial makes those things very straightforward
FF would have to provide it's own commands to do so
have you looked at FF's docs?
I didn't know mods can just add their own command so I didn't bother to check. Don't know why I assumed they couldn't though in the first place.
Content Patcher is a mod that added its own patch reload command
I am stupid sorry
why is it that ive been using monogame and making my own games in it, but when i try to mod sdv it NEVER works π
am I the problem?
you're not stupid! im just pretty sure FF does have its own command, i just dont know it off the top of my head
When you make a game you are design systems
Here in sdv modding you have to obey sdv's systems, some of which are cursed
i guess
Is there a way to make SMAPI always active even when it's minimized?
that's just a vanilla game option
Hey, I am running into a issue with chest loading in a building like the mill all the items are loading correctly including the building but i can't get the input and output chest to work, here is my json file any advice or help would be welcome thanks! https://smapi.io/json/none/fd8346aa00674f948392d8a4dfe466cc
So the issue is that debug perfection (and friendship/friendAll) only set friendship for NPCs who currently exist. The actual perfection check looks at Data/Characters, and if any NPC could ever be friended ("CanSocialize" isn't "FALSE", "PerfectionScore" isn't false, etc), they still count toward it.
To fix that through CP, you'd probably need to edit one of those fields to false for each NPC manually. Debug enabling all their social + unlock conditions could also work, or messing with joja's perfection waivers somehow.
Hm, I see. So I know where I went wrong with my mods but I wonder what mods Dennis has that are causing issues too
So I have a strange problem with my game, I need help trying to fix it. Every time I collect honey there seems to be a random change that I also get Fiber or fiber seeds. It applies to any source you collect honey from modded machines or Vanilla Machines. I originally thought it was my modded machine causing the problem. So now in trying to narrow down what is causing it. So my question is: it is a C# mod doing it correct? as I don't think CP could mod all sources of honey including modded machine.
I disabled CanSocialize on an NPC I'm working with but missed PerfectionScore and it seems like a crafting recipe I added didn't get crafted, probably because of it's unlock requirements
Though, my other ones were still crafted so that's weird
Oh wait, no yeah, that one is different
So I just need to make it always present but change its delivery time
@acoustic summit : for ex, VMV use Lumisteria_MtVapius_Forest as one of it's location context. So you may want to check if it's a location name then context or context then name?
they may with the right framework
Extra machine config allows extra products from a machine
the chest command for building me and howl arent sure why its not loading like how the mill works, not sure if its the chest tile not working or there is something wrong with our item conversion codes TwT
it was written for before 1.6 and we're trying to update it
(maybe in the same way allows to exclude locations like !locationnameorcontext? but currently i have no plan of using it, while i may use the context thing)
(The upcoming Central Station mod now integrates with Train Station if it's installed.)
(a new pathos mod, it's an event nearly as big as the 1.6 modding additions)
will the CP pack to add destination be a part of TS or CS?
Central Station lets you add destinations through Content Patcher. (Train Station still requires its separate Train Station content packs.)
ok!
Sorry, are you meaning that it would be good to check for location contexts and location names? I'm not too familiar with location contexts and how they differ from locations
Your "ItemConversions" is looking for "{{ModId}}_BagelDough" tags, but I don't think that tag naturally occurs, unless you're adding it somewhere else. It needs to be "id_o_{{ModId}}_BagelDough" instead. (Also your ItemConversions entry should have an "Id" field, but if the console hasn't complained about that, it's probably not causing issues.)
yes! location context are basically a tag that one (or more) locations can have
oh! I see!
for example ginger island maps all share a location context (allowing them to have effect like a specific weather)
it's not uncommon for a mod to have all the maps having one common location context
oh thanks i will try it now π
That seems like an easy change, sure! just adding a possible check for the code being the same as the GameLocation.GetLocationContextId()?
Do you support GSQ in spawning your critters?
i don't know about the technical
I'll test it to make sure it works, thanks for the suggestion π
oh if you add GSQ support then a lot can be done by that including checking context
(but i imagine it can be more complex? but also i don't do C# so... )
Yep gsq my beloved
I have no idea how GSQ's work 
I'm sure if I knew how I could add an access point to spawning creatures by code name
No it's quite simple, the main question is whether it fit with how you are doing spawns rn
I already have a debug command to do so
Thats a trigger action instead which probably would be useful too
Framework mods refers to C# mods that add new functionality to the game's code, and allows content mods to make use of them without having to make their own C# component. They usually work by reading custom data set in content mods and then apply their changes accordingly.
This page details the various...
These are basically a predicate (function that returns true or false) that can be accessed from various places in the content
For example shops have Condition that determine if they should sell a thing today
You can make your own and tell content mods to use it
Or check any gsq that the content mod provided
GameStateQuery.CheckConditions
The location context thing lumina asked about has a vanilla gsq for it
I shall figure out how to add support for it
That does open up so many customizations for spawning conditions, so I will work it out. Thankyou!
sorry I was just wondering if the id_o u referenced is my item id or just as is thanks
I don't suppose anyone here is familiar with Farmer Portraits for 1.6?
Your item ID for the dough. SDV automatically adds some tags like id_o_ + your item ID for each object, etc
LOCATION_CONTEXT <location> <context id>
ah thank you :3
Since they can only spawn in the current location, just comparing the players current location's location context id should be good, no?
Yeah sure, i just wasn't sure if u be spawning these on start of day like it's forage
Yeah you just gotta locate the located location's locate.
If you say "locate" enough times, it stops sounding like an actual word lmao.
is there a guide on how to create a mod that removes a mechanic? i wanna make my own mod and i have a great idea
there cant really be a guide on that bc any guide to do that will only apply to the single mechanic the guide is for
Guide: Harmony Prefix + Skip Original
it will depend on what exactly you want to remove but the answer is likely C#
We can have guide on altering specific mechanics
Can't have one on adding/removing any mechanic cus it doesn't slice that way
You are going to have to specify your mechanic if you want any helpful advice
altering one mechanic may not teach you anything useful at all for altering another
its akin to asking "any guides on how to make a mod that adds something?" without explaining what the something is
basically i wanna make a mod that makes it so you dont lose ANY gold from passing out, just energy
i can teach you how to see but i cannot teach you to open your eyes
(I don't know, just sew.)
oh, sew. well that ruins my whole joke
(Okay. So, like. Let's break it down. Do you want to sew stretch or woven fabric?)
anyway, making everywhere safe to pass out in should be as easy as just adding a map property everywhere
but will still be C# territory
i would like to be taught how to see [squints]
(atra, as long as you're here, hows the efficiency on EditMap actions? better to edit every single map in AssetRequested to go full harmony-less or better to harmony patch the passout code?)
Unless you want to be insane about it and manually patch every map 
You're only doing it once it's finneeeee
You can if you just make thousands of compat updates
to me that could be an answer in favour of either option 
Shouldn't take more than a few years
itd be one EditMap but for every map tho
you can do that with CP by having a letter with higher priority than the default one that make you lose gold
that's the amount of time it takes me to make a mod anyway /j
note that not all letters make you lose gold
just the ones that take ur gold by default
Yeah. But it's on the initial load and this doesn't force a reload from disk
and mods may have their own letters
keep in mind some maps are reloaded every time though. like Mine maps. they go throujgh AssetRequested every single time you go to a new mine floor
its true!
mine maps are insane
i had to deal with that when making Graveyards
PLEASE tell me they unload their tilesheets correctly when unloaded
its also one of the more likely places you'd pass out in
i have no idea how id even check
Does this change in multiplayer?
welp, I stand by mine edits not being a problem if they don't cause the game to load maps MORE OFTEN than it DOES ALREADY
also jesus christ
I swear I've used multiplayer to be able to visit the same maps with ladders spawned to check functionality of a mod
i dont think it changes in multiplayer
you can visit the same maps
the client will reload the map
I really need to get that map render device rewrite out, eh?
OK, thanks. And sorry if I'm interrupting someone else's problem or some discussion, I can wait, don't worry.
Looks like I wasn't clear - I don't mind the code being only in CP. I don't even want to change it, at least not right now...
I was asking about triggering the event itself in-game. I know I was already able to debug it (to check how the "EndSlideShow": "TrailingGroup" in Data/Characters looks like. As I wrote, I tried debug perfection, but the Summit event wouldn't trigger at all, the Summit looked like in that ||Mr. Qi cutscene||, which I was able to trigger... Strange...
also need to buy more dish detergent and caffeine pills
just edit the save. set farmPerfect to True
(also never feel the need to wait for fear of interrupting!)
debug perfection is uh brokenβ’οΈ
I mentioned the probable cause here, fwiw, but fixing it involves editing NPC data or debug adding their unlock/social conditions
so yeah, save editing is probably quickest
okay looking at the guides and such for CP mods,, im very confused
yeah you can bypasss all that shit by just setting the flag via save edit
(me being stupid the whole time)
...
Yeah, that makes sense. Thanks, will try out right now!
Oh that reminds me, I was in the middle of scooping this NPC out of my mod to see if I'm actually the problem here
not knowing something isn't stupidity
I tried changing my PerfectionScore to false and that didn't work
it's pretty annoying tbh since you almost think setting the Farm_Eternal mail flag would work
Hey Rokugin. I'm just waiting for @vale stream to respond. I hope you're having a nice day.
I'm sure Misty will see the first ping when they have time
Yeah, I know, it is just that feeling when you have such a simple and elegant solution and you can't think of it...

that should instantly affect the perfection detection
public static float getMaxedFriendshipPercent(Farmer who = null)
{
if (who == null)
who = Game1.player;
int maxedFriends = 0;
int totalFriends = 0;
foreach (KeyValuePair<string, CharacterData> pair in Game1.characterData)
{
string npcName = pair.Key;
CharacterData data = pair.Value;
if (!data.PerfectionScore || GameStateQuery.IsImmutablyFalse(data.CanSocialize))
continue;```
can relate
I made a little block of C# that can trigger it but I was hoping for something in just CP lol
Alternatively, you could just add to Event Tester 
(though sleeping's required for it to check total perfection etc, I imagine you tried that part)
no
yeah maybe i should just stick to false dependancies for now..
we'll ask Pathos if he wants to add it to CJB Cheats
(this won't catch modded location contexts, though)
(hey @ivory plume any chance of setting FarmerTeam.farmPerfect.Value from CJB? )
Possibly, though you can also just run debug perfection in the SMAPI console window, no?
Game1.player.team.farmPerfect.Value = true;
Game1.addMail("Farm_Eternal", true, true);
Game1.player.mailReceived.Remove("Summit_event");
These three things would do it
that doesn't affect conditionally social NPCs
the discussion was BECAUSE debug pefection wasnt working
wasnt it also only NPCs that currently existed somewhere, too
(slightly more description in this post)
(meanwhile, it IS in scope for Event Tester to handle running the C#-events, I just need to think of a good stucture for it.)
as the farmer is warped to lvl 220 mineshaft to drink snake milk
Yeah, scooped my NPC out and it's still not 100% so I guess someone else has an NPC I can't see
I think they need to actually exist in-game for debug commands to boost their friendship, yeah
oh, weird
Nah Dwarf is good with debug perfection
dwarf respects the console commands
so unlock conditions would presumably affect it (SVE_Henchman is missed on new saves with debug perfection), and any conditionally social NPCs
theres nothing in the Friendship Points setter that blocks anything
that must have been fixed after later
no, but changeFriendship would block that shit
would a debug command really go thru that and not touch the friendship directly tho
The debug command FriendAll uses this
public static void ForEachVillager(Func<NPC, bool> action, bool includeEventActors = false)
{
Utility.ForEachLocation(delegate(GameLocation location)
{
foreach (NPC current in location.characters)
{
if ((includeEventActors || !current.EventActor) && current.IsVillager && !action(current))
{
return false;
}
}
return true;
});
}```
to set friendship
Which is the command perfection calls
So they have to exist in a location
Manually adds Kent and Leo, Dwarf always exists which is why I think it's fine now
i think we can measure atra's exasperation levels based on the number of zags in the red "look here" line
Only 3 and not even one "fucking"
"not great, not terrible"
Small miracles 
I can't find my old stash of caffeine pills and the brainfog is pretty bad
(I don't understand why it works, but I did test it, debug perfection triggers perfection in vanilla & dwarf wasn't one of the problems with mod NPCs installed)
(what is the goo?)
(runner bullshit)
it works bc it gives you special items first
not the books, though, strangely
they cost like a buck and a half each
oo
they're meant to be used mid-way in long races to give you a hit of caffeine and sugar
I find them too expensive for normal training but I do take them out on long races
I'm wanting to learn how to create a mod to add a tool. There's documentation on the wiki for setting up the framework, which I've done, but nothing on creating a new tool. Anyone know a good place to start?
doom awaits you
Doom can wait its bloody turn, I want to do this
I want to add a saw. Once that's added, I'll figure out how to animate using it, then figure out how to add planks as an item. One step at a time though.
Yes, I have the frame and manifest set up in Visual Studio. I'm trying to learn while doing.
You want a tool for this and not a machine?
Correct.
so adding items is not that bad, need to make content edits to Data/Tools and Data/Objects
Have you decompiled?
Looking at how the game handles tools is probably the best place to start
Yes
And then looking at how others have worked off of that, atra added a shovel
Only went slightly insane doing it
That sounds like it could be extremely useful to cheat off of. What's the mod called?
as for anim maybe you can steal the milking animation
Yeah, this just says adding a new asset is basically the same as replacing, except without the replacing bit. So that's it, then? Just say "edit objects/tools" and go?
anything to do with FarmerSprite is a lotβ’οΈ
look at #Edit_a_game_asset
some people also just use content patcher for this part, even if they do plan on doing c#
definitely steal animations that already exist
or at the very least, use frames off farmer that already exist
i would 0% reccomend making new farmer frames (in part because I don't even know how to start doing that)
Worrying about animation is another day's problem, for now I figure out how to add a tool. Thanks for the help everyone, I'll be back when I'm next stumped.
oh yea if you plan on subclassing you need to use spacecore
register your new type so that save files don't explode
or track and despawn/respawn them every single time the game is about to save
OK. Something is not correct. Save has farmPerfect set to true, I even got the in-game achievement. But the event itself, NOWHERE...
Including a picture of what my summit looks like...
I'm excited to learn that the hard way
That Summit is a bit cursed 
BTW, the only way to get to vanilla Summit is with command debug warp Summit.
okay, you need to walk off the map, type debug seenmail FarmEternal, then warp back
I don't think SVE blocks that event
you may also need to unset Summit_event
How to do that?
uh, looking that up
You can access the summit a lot earlier in SVE though. It's part of Sandy's heart events.
That won't work, still getting SVE summit location instead.
what's the best free pixel art program?
wiki chooses now to die
!software
Here's a list of software for pixel art and JSON text editors we recommend: https://gist.github.com/ishanjalan/c8efb21afa21f74a052293176db107f7
For making SMAPI (C#) mods, see the Requirements section here for which IDE to install https://stardewvalleywiki.com/Modding:Modder_Guide/Get_Started#Get_started.
holy crap this server has so many commands
Yep
Correct command. Not that it helped...
I'm headed off to work now, you'll need to input everything I said, in order
also for the love of god just don't test with SVE in there
debug warp svesummit gets to the other summit map, though it edits both & idk what other steps may be involved
(edit: the credits event triggers at the regular summit, not this one)
doesn't cjb cheats have separate warp commands for the pre perfection and post perfection summits when sve is installed?
well there's plenty to choose from but i reccomend using multiple programs! my go to for free is paint and gimp. if ya wanna put money asperite is good and it's free if ya compile the source code yourself
Someone is having trouble getting my Heart's Delight mod to work after updating it to the newest version and gave me their smapi log.
Is there any one here who can help me make sense of it?
Everything is working on my end and I don't know enough about the inner workings of smapi to even begin to know what other questions to ask or to tell them what's wrong based off the log.
https://smapi.io/log/5abff5d3d0e5474a8b6a66d01406c142
And if this isn't the right place to ask-- which channel should I go to?
this spring_CR_outdoor tilesheet, did you load it?
its your mod, right? so if its somethin with your mod to fix thatd be this channel
I added it the same way I added all the other tilesheets to my map-- New Tileset -> Preface the name with zz and embed in map.
did you then delete it from your mod folder before publishing?
by load i meant did you use content patcher to load it
I did, since I'm pretty sure that's what I was supposed to do. I also downloaded the files I uploaded to Nexus to make certain I was using the same version they had. It's working on my end.
It was working for them before the 1.0.4 update
if they are custom sheets and you deleted them, then they no longer exist. the game cant load a tilesheet that doesnt exist
oh actually
if they are custom, you should be keeping them in your folder and Loading them with content patcher as chu says
They are part of a required tilesheet mod
if its from a mod then thats different
are these kisaa tile sheets
Yes
regrettably i cannot memorize the name of every tilesheet png from every tilesheet mod ever
does your mod manifest have false dependency on crystalinerose Tilesheets
No, my dependencies are all set to true
genuinely might be the case
I just can't figure out if this is on my end, or there's and how to help them fix it. This is my first mod ever so I just. Do not know.
did you rename the png or something before using it
Not the png no. I did as I was instructed and prefaced it with zz_ when adding it to tile, but otherwise didn't change anything.
what mod loads kisaa's tilesheets?
hello! i have a quick question. where can i find documentation on the content.json file specifically for making a custom farm map? ive managed to launch without getting any errors with what i have, but im not actually sure how to access it from the new farm screen, or how to add it. (ive gone over the cp content.json documentation a few times but i must be missing what im supposed to do for specifically this situation)
the first one sets up a new entry in the new game where you pick farm
the second is about general map making
aaaa I really don't know what to tell them. I guess I can suggest the tried and true "turn it off and on again" advice
tell them to try without no more lag tbh
Okay, I'll suggest both things and ask if either of those fixed it for them.
and ig tell them to reinstall your mod and kisaa tilesheet mod just in case
Thanks for the help! Guess we'll wait and see.

How
Previously I'd been forgetting to make Jorts and Jean spawn and had 96% when doing debug perfection this time I waited until Fall 1 and get 94 with them spawned and maxed
after patching i get like this kind of gras in the wall in backwoods
Reset Terrain Features (https://smapi.io/mods/#Reset_Terrain_Features) is a mod that lets you reset, clear, or generate everything that spawns on a map using an in-game menu. That's especially useful when changing maps mid-save, as the debris will otherwise use the old layout (causing things like trees in the water or bushes blocking exits).
if you start a new save then it won't happen
does anyone know why* the game won't allow rugs + tables to rotate properly? (*not "what piece of code makes this true", but rather "why was this coded in the first place"
as it is now, rugs and tables with 4 rotations will rotate fine for the first turn, but then skip the second turn and skip right to the third rotation. plus, when they have a square size (2x2, 3x3, etc) with only 2 rotations, they won't rotate at all, they just stay at 0 rotations.
and is there an existing mod that changes this and allows them to rotate normally?
I assume since there's only 2 unique design orientations
Generally the reason why something is coded the way it is, is because CA had exactly one vision for how things would work and went with it
i think kailey knows a lot about rotation
but more from practical experience than code reading
I think instead of rotating a square rug 4 times u can just make 4 rug
Furniture (usually) doesn't cost any money in the end
You have to make sure your rotations on the sprite sheet are laid out exactly how the normal Furniture.png does them as well, the code expects the height/width to swap for certain rotation positions.
@gaunt heath rotation georg, rotation georg, rotation georg
This tutorial explains how to add custom furniture using the new 1.6 game update features and Content Patcher. The tutorial assumes you already have the game unpacked and that you have some basic familiarity with the Content Patcher format. The mods referenced as examples in this tutorial are Bonsai Trees (formerly Bonsai Trees for DGA) and Magi...
if it helps, my verbose perfection-checker is still set up in this 
~test in the console
paintings can rotate normally even though they never get a rotation in vanilla. its just a very odd thing to specifically have only rugs and tables not rotate properly
(incidentally, I guess removing SVE un-perfects the wizard)
adding furniture is not the issue; i know how to do that just fine. its that the game code singles out rugs and tables to not rotate the same way as other furniture. i was just hoping someone knew some random lore about it if it had been brought up with CA before
the link I gave explains how rotations work internally
At this point I'm actually lost on what I was originally doing lmao. I have achieved what I wanted which was making a mod that lets me just watch that event whenever I want but I don't know why I did it now
I was able to check that my little drone guy shows up in the event, which is neat but not really necessary
now u can send in a PR to cjb cheats
so everyone can watch that event whenever they want
Ugh, only if there's an option for doing so that doesn't involve adding new UI shit
it doesn't explain why it was created that way for rugs and table.
You won't really get a why, CA didn't bother explaining his choices
i don't think we have secret CA lore on that
you are going to have to ask CA and based on experiance of coding things it's prob just
"this was the first solution that worked out for all my use cases"
Most of Stardew follows the "Make it work, ship it" method
Yeah, just saw it π I got sidetracked with another mod's bug yesterday, my bad
From what I saw you couldn't get it to work even with the template, right? I'll have to install the template and check what's wrong
Hey all, can anyone help me with a problem I'm having? I'm trying to learn how to make a Content Patcher pack, but I'm struggling with a specific issue: I can't figure out how to change the sell prices on artisan goods who inherit their sell value from the ingredients/flavor
I managed to get it working with the template but when I changed my config settings to match Xero's it didn't work in the intro
I figured out how to change the base wine sell price, but only for the "wine" item with no flavor. the wines made from fruits aren't affected
That said, I tried it again later and it worked no problem in the intro and elsewhere
So I'm not actually sure what the problem is
i believe the machines for vine/pickle/jelly/juice use c# for the calculation
so it was working on and off? That's harder to figure out
you may need C# to change them, or change the rule
Yeah, I hate trying to troubleshoot inconsistent problems 
I was hoping I could fiddle with the config and find a setting that was triggering it but didn't have any luck
...It does remind me of an inconsistent bug I came across during testing
But I don't think they're related
Last I heard, Xero was still having issues with the pack they made for it, but I'm unsure if it's related as I haven't actually seen the code for that
Hmm, I'll have to give it a look then- hopefully I can replicate the issue they were having
I found a mod that I believe does something similar all through content patcher though. Is the price set in the machine? because I can try to fix it from there. I thought I needed to change the value of the item itself
kinda, as i said it's using C#
it is possible to have a machine with a rule like "multiply this price by 2.5" but changing the vanilla rule may impact or be incompatible with some mods
ah, alright. thanks π
I still cant understand why the new building/mill wont take items or have the tile act as an input tile : https://smapi.io/json/none/41f773e3422f4bb2921b38d37e8915a6
context? you're making the mod?
yeah so im trying to make the bread oven buildable from robin and have it work like the mill
why are you separating stuff in two patches?
its an old mod that im trying to update for 1.6
ah i was trying something to see if it worked since it didnt before
it used to be base of a framework but i just want it for CP now
i think it was SF solid foundations
most of it should be CP compatible
thats what i thought
(i also believe it should still be working?)
but copying and pasting the code just wont trigger the input chest
the main difference i spot
is that my converting building has a
"ActionTiles": [
{
"Id": "Default_OpenInputChest",
"Tile": {
"X": 1,
"Y": 1
},
"Action": "BuildingChest Input"
},
{
"Id": "Default_OpenOutputChest",
"Tile": {
"X": 3,
"Y": 1
},
"Action": "BuildingChest Output"
}
],```
LoadChestTiles isn't a field
Nor CollectChestTiles
I suggest checking the unpacked files to see how the Mills fields are set up
i see that was what i sued for SF back then
!vmv fruit press is also an example of modded building using the feature
Visit Mount Vapius (https://www.nexusmods.com/stardewvalley/mods/9600) is an expansion mod that adds a new region in the mountains. Accessible by train, you'll enter the hamlet of Glimsap, with its tight-knit group of villagers, that holds a market twice a week. You'll get to explore new places, fight monsters, get new crops and forage, trade local coins for exclusive goods, and complete tasks to unlock special items, including machines, buildings, and animals.
so i need to change them into actiles like above
oh thank you
assets\others\buildings.json
thank you so much
sure! sometimes it helps me to compare vanilla/modded to see what is used by both and so guess what i need this way
("DestinationsChest" is also misspelled in the ItemConversions, it should be "DestinationChest")
@uncut viper do you have any plans to add more actions and triggers to BETAS?
Hi Esca! Hi Lumi!
What are we rotating 
I'm currently testing and can confirm the introduction doesn't work for me either- I have no clue why the behavior is on and off, though, seeing as I also installed the template (albeit the one without reactions).
I'll have to look into the intro minigame to see how portraits are being created
i see that now tyyyy
There is hard-coded behaviour for rugs and tables specifically that you are running into
If you're able to fix this issue, that would be amazing because that means I'll finally be able to officially start my playthrough
Try the forbidden 3 rotations
The "why" is that rotations code is an eldritch nightmare and this was probably done as a Band-Aid for a specific desired behaviour
sure, i'm going to check if the config does anything (one last time) before going inside the code
I checked the config. It didn't change anything.
3 will pass one check but fail another, sneaking by some hard-coded limitations on table and rug rotations. I know the wiki says it's not a valid value, but it works
Alternatively, put "EndTable" in your item's internal ID name. That'll cause other, different unusual behaviour that you can exploit
yeah, just noticed- it loads the farmer but not the picture that should go on top
I have 3 rotations working as a valid value for the small table in Feast of the Sun
In conclusion, the rotations code is a glimpse into the infinite void. Thank you for coming to my ted talk.
I don't remember having this much trouble with the mod when I was using it in April.
Also you can rotate paintings
Back then the intro loaded my custom portrait just fine.
i see, i don't use the mod so i couldn't tell how it was at the time. IIRC i haven't touched the code much (asides from adding farmer emotions)
3 rotations lets a square rug rotate twice at least, but it doesn't let any size rotate four times properly
Oh also putting the unsigned integer limit as a rotations value parses as 3 due to a mod4 check. Don't do this, but like you can
Do you know if you'll be able to do something about the issue?
I'm not sure if it's possible to rotate a square rug 4 times without an additional framework, and I don't know if that framework exists. I have a tool made to check quickly, one moment
Can I add randomize to this so it would randomly pick between one and three?
{
"Action": "EditData",
"Target": "Data/Characters",
"When": {
"Weather": "Sun",
"Season": "Fall"
},
"Fields": {
"Penny": {
"TextureName": "Penny_Spring_Sun"
}
}
},
Yes, there's an entire toolset for randomization. See the conditions and tokens docs on the content patcher github
likely yes- i found that the drawing code checks
if (PortraitTexture != null && Config.UseCustomPortrait) to draw it, and it's loading the portraits on save loaded.
so that's why it's not being called during the intro
Ohh that explains it
or, would this method work better for randomizing?
{ "LogName": "Penny Calendar Sprite Edits", "Action": "EditImage", "Target": "Characters/Penny", "FromFile": "assets/characters/Penny_{{Season}}_{{WeatherType}}.png", },
Both achieve the same end goal, but the prior version would not use appearance settings which I am unsure how big of a deal that is. Is CP trying to push more outfits to go towards appearance editing over the other style or does it not matter?
now i only need to check if there's an event that grabs the intro (and if not to load them in game launched)
I'm glad you found out what was causing it cuz I can not live without this mod.
This is the most amount of rotations you can have in plain content patcher for a 2x2 rug (rotations set to 4). It will be: rotation A, rotation B, rotation B mirrored, and rotation A again. Rotation B being the 4 tiles immediately to the right of your main rug sprite. As best I can tell, there is no way to have 4 'true' rotations with 4 unique sprites
sure, as long as i can keep thinking of ones that might be useful and not hyperniche
Avi: π
no immediate (read: within the next few days) plans though
@hallow prism i figured it out in CP, i didn't need C#
you were right though, in that I had to modify the machine's recipe rather than the item's sell price
I was thinking of some I would like to use in the mod I'm making to replace the dead The Perks of Being Married.
I wish we had some options:
Triggers: ItemHold, PlayerHealthDropped (possibly one for energy as well) - for example PlayerHealthDropped 50 - so if the player health dropped to 50 or lower - the action triggers
ItemEquipped happens whe the player switches to holding a tool, and there is a DamageTaken trigger
(oh hi trent π )
You sent this right as I went to sleep so I have a few follow up questions, all I need to change is the layer, tilemap, tile position, item ID, Quantity, Refresh and name?
BETAS also adds GSQs for checking player health (both current and max)
Oh didn't know that was possible, about the DamageTaken - I understood it would calculate on top of the amount of the damage you've taken in that instance, or am I wrong?
the triggers dont really calculate anything. If you take damage, the trigger happens and will look for things you've added to Data/TriggerActions that await it
it happens any time you take damage
you can check how much damage was taken with a GSQ on the Data/TriggerActions entry inside the condition
Oh, so I could do something like:
"Action": "EditData",
"Target": "Data/TriggerActions",
"Entries": {
"ExampleTriggerAction": {
"Id": "ExampleTriggerAction",
"Trigger": "Spiderbuttons.BETAS_DamageTaken",
"Condition": "Spiderbuttons.BETAS_PLAYER_HEALTH 50",
"Action": "Spiderbuttons.BETAS_SetHealth 100"
}
}
}```
Is it possible to have categories in catalogs?
I think the layer would need to remain Building for this version, at least. Although I'm not certain, actually. If Action tile properties work on the back layer, then that should also work.
Other than that, yup! Item ID is obviously the ID of the item you want, the ID field is just an identifier for MEEP essentially. Refresh is currently useless, and quantity specifies how many of the item you'll get!
that will cause the Player's health to be manually set to 100 any time they take damage and have at least 50 current health
apparently that didn't work /: i'm not sure why though, since it's all there. i'll keep making tests to see what's wrong though
That would simulate a healing effect (of course in this example player becomes immortal)
the PLAYER_HEALTH query takes a min and a max
So it would be building no matter where I use it? Backwoods, cindersap, ect?
if you want it to happen whenever the player goes Below 50 health, it would be Spiderbuttons.BETAS_PLAYER_HEALTH Current 0 50
when implementing, I'll make this happen once per day
(though, i cant guarantee that if damage takes a player from like, 100 straight to 0 that the death wont happen first. ive not tried)
Cool, I'll try it while developing
also, another mod manually setting health lower doesnt count as damage taken either (for example, Spiderbuttons.BETAS_SetHealth 10 wont count as DamageTaken)
the point was that you were setting 50 to the minimum, not the maximum
meaning, even if the player has 250current health and takes 1 point of damage, that triggeraction would fire
because they have at least 50 health
"Action": "EditData",
"Target": "Data/TriggerActions",
"Entries": {
"ExampleTriggerAction": {
"Id": "ExampleTriggerAction",
"Trigger": "Spiderbuttons.BETAS_DamageTaken",
"Condition": "Spiderbuttons.BETAS_PLAYER_HEALTH Current 0 50",
"Action": "Spiderbuttons.BETAS_SetHealth 100",
"MarkActionApplied": true
}
}
}```
That should do it to give them a one time heal, yep
well
add Current before the 0 50
since it takes a target player
Yup! That's just the tile layer. Action is as far as I know sort of hardcoded to only work on that layer, which is a bit unfortunate.
You could definitely make a Buildings layer tile passable if you need it to behave like it's not there, though.
thanks!
you also dont need to specify MarkActionApplied true, its true by default
yep
but yeah that looks correct to me
Alright, ty so much! Are any of your mods under the donation program on nexus?
thanks a lot, all my questions were answered, thanks for your help and for the amazing work - I guess all the stuff I wanted to do is covered
if you ever think of another trigger or action or query or somethin you need that BETAS cant currently do feel free to ask about it, even if i cant guarantee ill do it 
(like the energy trigger, for example. while useful, i would be concerned about how often it would happen since stamina tends to drain very rapidly when its in use)
.
They are! Though DP isn't actually donations, it's just like... passive ad revenue from Nexus every month essentially?
Strange choice of name. 
Oh, bit misleading on their part.
you can donate your own donation points to other people, so it almost makes sense 
Technically you can enable donations on your mods too
(or charities, etc)
I think they mean theyβre donating to the mod authors? lol
but yeah, actual person-to-dev donations are through Paypal links or whatever's in their description; DP is nexus profit-sharing
Thanks, if something else comes up I'll let you know - so far the ones I've though was a healing effect once when you HP drops Low, a Speed Boost after petting animals (which is already covered) and a magnet (which is why I needed the itemHold)
(I've gotten donations through Nexus, but it's exceedingly rare.)
i donβt have a paypal π₯²
(The upcoming Central Station now automatically includes stops from both Bus Locations and Train Station if they're installed.)
I wonder if they want it to be treated as a βdonationβ from nexus to mod authors so that people view it more favourably or something and thatβs why they call it that
or so that they have an excuse if they nerf it because it was never guaranteed payment, just them kindly donating
B I think
(i imagine its probably a lot easier tax-wise too)
yeah, they reserve the right to withhold it for no reason at any time, they don't provide tax forms for it, etc
They may have named it donation points because they were trying to distinguish from paid mods, which I recall was a recent controversy at the time.
yeah, they still take a very hard stance against that, right? like banning the word βcommissionβ because technically commissions can be used to paywall mods or something
(Fwiw, I personally would prefer if people donated to Against Malaria over donating to me)
Not that anyone would
But in the past, some people in #modding-help have offered, and that was always what I told them
(You can donate or forward DP to Against Malaria in the Nexus store if you want.)
I am sorry if I am being annoying, but is there really no one who knows the answer? π₯Ή
You can't change the shop tabs with content edits, but you can do it through C# by calling methods on the opened ShopMenu. (The catalogues use the shop UI internally.)
ok thanks
Hello, everyone. I'm migrating an older mod to 1.6 and am a little stuck on how to update the strings. Could someone point me to the correct documentation, or even an example?
This { "LogName": "Magic Text", "Action": "EditData", "Target": "Strings/StringsFromCSFiles", "Entries": { "Wand.cs.14318": "Rune: Revertetur", "Wand.cs.14319": "This crystal is mystically bound to your home. Activating it's power can return you to your doorstep.", "TitleMenu.cs.11721": "After upgrading your dig spell or rain rune, hold down the tool button to increase the area of effect!", "Tool.cs.14299": "{0}ra", "Tool.cs.14300": "{0}raga", "Tool.cs.14301": "{0}raza", "Tool.cs.14302": "{0}razaga", "WateringCan.cs.14324": "Rune: Rain", "WateringCan.cs.14325": "Conjure rain to water crops. Charge by absorbing essence from any water source.", "WateringCan_enchant": "In your hands, this rune will never run out of water.", "WateringCan.cs.14335": "Out of water essence", "Pickaxe.cs.14184": "Spell: Crush", is a bit of what I want to migrate.
there is no need to spoiler a codeblock as it doesnt make it smaller
but i believe Tool related strings are in Data/Tools themselves now i think
(or well, Strings/Tools)
Can the mill have a timer to finish products like a big craftable? even tho i've set minutes until ready to bee 20 it makes me sleep for the process to finish
So, I think I have everything working but to make sure. Does the command I have in quotes below the hyperlink effect portraits as well? I didn't think it would, but it is showing the corresponding portrait and nothing else effects fall in my content file. My only other explanation I can think of is that the edit data does only pull that character sprite, but then since that sprite is pulled, it loads the outfit in appearance data? https://smapi.io/json/none/e55f4bfbc4e443aa951ac9990d8cf2b0
{
"Action": "EditData",
"Target": "Data/Characters",
"When": {
"Weather": "Sun",
"Season": "Fall"
},
"Fields": {
"Penny": {
"TextureName": "Penny_Spring_Sun"
}
}
},
I mean, like, you can c# your way out of that but it comes down to "is it worth the effort"
TextureName means it will look for "Characters/Penny_Spring_Sun" and "Portraits/Penny_Spring_Sun" if no Appearances are currently applied
yeah i wouldn't know how to do that either haha ty anyways
it changes the default value to look for from the name of the character to whatever you write there
so it will affect portraits
this means that you do need a "default" appearance
assuming you want it to use a specific default outfit under those circumstances
okay thank you very much. I wasn't sure how that fully worked since the target is only characters.
@blissful panther I am so sorry for bothering you but the console says: "[Mapping Extensions and Extra Properties (MEEP)] Couldn't find the pickup data in MEEP/ItemPickups. Did you remember to patch in the data?"
This is the json (I have done the involve action in the content json) https://smapi.io/json/content-patcher/06c0d5dd9bd8471bb1fe3cad4f08f77a
(I am new to map modding)
nvm
i had to sleep
Woo! 
Also the Pierre tomato thing is just an example thing, just to be clear. That could be something like... YourMod.Pickups.BackwoodsLog or something more clear.
Just something unique!
Oh, alright!
I'm not at my computer so I don't have a log yet, but does anybody know if it's possible to unmaster a skill from the cave and reset the level, I made the mistake of mastering my farming level before I finished prestiging all the way in Walk of Life, please at or reply if possible
debug action IncrementStat mastery_0 -9999 might do it maybe, no guarantees tho
it wont reset youback to level 0 farming though, just remove mastery if anything
I can always try, I need to make sure to make a backup copy of my save though
what does "asdf" define in the "Type"?
it means "this was probably a placeholder that became too permanent"
Is this in a map lol
no, items have asdf types
secret notes, lost books, artifact spots, i think normal books even
yeah all the power/skill books are also asdf
Β―_(γ)_/Β―
It shows up in maps too
i thought that was asdfghjlkl
it seems thereβs a naming scheme going here
im not even joking iro
it is a very artist naming scheme
@vale stream Have you figured out the cause of the issue yet?
An atra packed a healthy dinner
I genuinely canβt tell if youβre referring to a game thing or an irl thing atp 
Constantly pestering them isn't going to make the process any faster, I'm sure they'll post the update to the mod page when it's ready
I know, I was just curious.
Last I saw, they did know what the issue was, just had to do some other checks/testing
It takes time to update a mod
Fair point.
@blissful panther I only want the interaction to be a 1 time thing, like you get the item once then you can't do it again, can I do that with the mod? If so how?
I give up. I have spent hours trying find why my beehives make fiber and fiber seeds along with the honey. The next step is to tried the 50/50 split. And that is too much of a pain.. I would rather just think of it as my bees make rather fiberous honey because they are special.
Do you have Better Beehives?
Yes
skillful clothes* revamped (Maybe?)
Did you check the config settings for that?
There's config options for making honey out of anything
i feel like such a nerd with all these lines of code and random characters
They are not making honey out of fiber. But when I harvest honey there is about a 1/3 chance I also get fiber seeds. At first I thought it was the mod I am making doing it. Thats how I found the bug. But it does it even without my mod.
1/3 chance def sounds like skillful clothes
Wearing anything with the beekeeper buff? (Bees sometimes pollinate)
Skillful cloth.... I did not even check that. I will check that when back on my computer
Never even thought of that mod.
Space Helmet, Classic Overalls, Spring Shirt
Those are the clothes which have beekeeper
Thank you so much
I've never heard of it before now
It was even happening with new games I tested. I was getting so frustrated. But I always just used the default gamer as I was just trying to trouble shoot. And default farmer comes with the classic overalls
Is this kind of thing just not possible? It doesn't seem to work { "LogName": "Pam custom gift response", "Action": "EditData", "Target": "Characters/Dialogue/Pam", "Entries": { "AcceptGift_(O)346": "testing", }, "When": { "LocationName":"BusStop" }, "Update": "OnLocationChange" }
can someone send me the .tmx file for the backwoods tilemap?
i messed up the original
dialogue is chosen at the start of the day
so by the time you've edited the entry its already been loaded
I don't actually know if we're allowed to send around unpacked files, I know we have a pass on unpacking and decompiling ourselves but I think redistribution is a bit sketchy depending
i am also iffy on that so just re-unpack your stuff
I definitely thought you meant Picky from Nexus was a taboo word 
Modding is such a weird gray area
I guess not, though I've never really been a part of another fan content like this
(Tbh it does seem unwise to rely on money from the Nexus, etc.)
Yeah, especially with how weird things have gotten with them being so anti-commissions
Hard to even be on there without wondering if some artist is gonna get banned any random day
i mean i feel like the anti-commission stuff is probably for legal reasons, like AO3
so i dont really blame them for that
It got really bad over the whole Bethesda thing
like you say, modding is a gray area. dont want a company to get fussy if you're facilitating people making money via that gray area
I wouldn't want Microsoft breathing down my neck either
at least with the DP its kind of a loophole where they arent mak9ing money for the content itself, just driving people to their page
i am no lawyer though. not yet
Neither do I! Speaking of Microsoft, has anyone seen that (Minecraft enemy who's name I forgot) blanket going around ravelry?
Also tbh I always have wondered what CA thinks of the stardew socks (a paid pattern)
awwww man
Creeper is the most popular one usually, not sure what ravelry is
that is indeed why i hesitated to say it
OK, thank you, and these are the only built-in triggers, but in theory I could create a trigger in c# for when a gift is given at a particular location?
/lh
boy do i have news for you
(Ravelry is a site that hosts knitting and crochet patterns)
please, make my day
yes, you can make a custom trigger. BETAS in fact adds 30 of them. one of them is GiftGiven
also @blissful panther Can you upload the MEEP json you gave me to nexus so I can link your mod as a requirement?
That makes a lot of sense actually 
however a trigger that activates on gift given wont reload their dialogue
like it wont make CP do a patch update and even if it did, the dialogue was still already loaded
Tbh I would have just gsq in the acceptgift
but if you're just looking to run an $action then a trigger is fine
that is also another way, i forget theres an If action a lot
Yeah the dialogue is not the main point, i was just using the dialogue as an $action vehicle
There is a gsq option in dialogue now
that too
You can just gsq for location name busstop
how does the GSQ branching in the dialogue command work
can you do a conditional action with it?
it doesnt just break at the #?
have YOU seen that one stardew valley crochet thing that caused a massive controversy a few years ago apparently π
Content Patcher > C#
Thank you I didn't think of that I will explore that option
for starters content patcher IS C#
Yessssss
for seconds it is as trivial to edit dialogue in C# as it is in CP and thats all you'd be doing
No, it breaks at a | iirc
ah
(honestly the confidence of thinking they invented cross-stitching onto crochet is kind of impressive)
basically my objective is to open a conversation topic when the player gives pam a beer (or ideally any alcohol item) at the bus stop
Newton (and Leibniz): am I a joke to you
hey! i know im a starter but it still hurts
Just don't try to make a whole NPC in C# 
is that a challenge
Yes
(i am unsure if theres an implied /j there but in case not i wasnt calling you a starter or amateur or anything!)
i almost tried to do that but gave up before i started because if i had other things to do
i only use CP
Content patcher is a strict subset of C#, and particularly if you aren't doing crazy stuff with cp tokens it's near identical anyway
It's perfectly doable, just way more work than it needs to be lol
now time to go torture myself in GIMP
All content patcher at its core is, is an implementation of the AssetRequested family of events
this works for me by itself. are you sure its not just being overridden by smth else?
that does not work for you bc it cant. you cant affect dialogue with an update rate after the day starts
Did I write something wrong or why aren't these matching up? First two days they matched up but day 3 said no match. Maybe I just got lucky first two attempts?
https://smapi.io/json/none/d482e22c11574594b2e13014587d7e7d
Β―_(γ)_/Β― i have no other content packs loaded
\r\n\t\t\t\t\tCharacters/Penny_Spring_Sun looks concerning
Were you in bus stop when the day started
did you start the day in the bus stop?
no
started in farmhouse, went to bus. if i gift her outside the bus stop she has her usual dialogue
if you gift her something outside the bus stop and get the usual dialogue, then go to sleep and gift her something at the bus stop, does it work?
or just talk to her normally without a gift in town, and then gift her in the bus stop
i imagine her dialogue is probably not actually being loaded until you first interact with her
What code is in charge of loading dialogue?
though, thinking about it, i suppose it should work differently for AcceptGift things
and i might just be misinterpreting the known limitations section on the CP docs
gifted outside of bus. talked to her. slept. talked to her outside of bus stop. went to bus and gifted and she still gives the changed dialogue
all other dialogue was the usual
"Dialogue is set when the day starts, so setting a custom update rate won't affect dialogue after the day starts. (You can use location-specific dialogue keys to circumvent that though.)"
this is where i got it from, for the record, on the CP docs
but i suppose AcceptGift stuff is loaded on the fly
so i stand corrected and now i wonder why it wasnt working for sdvhead
@warm imp thank you so much for double checking me. It wasn't working for me because I forgot I had disabled a config option in order to end a conversation topic and forgot to turn the config option back on. The code I was testing was also a part of the include that the config turned off
It's working for me now 
(and my apologies prometheus for jumping to conclusions)
sooo instead of using the objectid can i use AcceptGift_alcoholitem or what is the way to use the context tag
all good 
should work
AcceptGift_alcohol_item I mean
can anyone explain to me why my character will not dance at the flower dance when debug festival-ing, UNLESS I patch reload?
To be clear: nothing changes in the files between initial boot and patch reload
are there any conditions attached to the character related to them dancing or the flower festival in general
I have a sprite reload for the dance but that's it
(mind, patch reloading in the middle of the festival breaks other stuff since they start walking like they're on their schedule and give daily dialogue before the prompt to dance)
OK I guess I need to find examples of using $action in dialogue because this is just putting my command in the dialogue box "AcceptGift_alcohol_item": "{{i18n:Pam_AcceptGift_BusAlcohol}} $action AddConversationTopic {{ModId}}_Pam_DUI 0",
I don't trust debug festival
I've always just set the day to the day before
And then slept into that day
need a # between dialogue commands/dialogue/things
And THEn changed the time and warped to the festival
(Or, current atra testing methodology: upload a beta to SMC and wait for bug reports)
I thought for sure you were gonna say "knit instead"
Hey, I'll do my own testing...eventually
Is the Producer Framework Mod not needed any more. It seems like CP can do everything it does now?
Still doesn't work when I do this 
I patch exported my data/characters and it shows true still
Van see code?
does butter in 1.6 have an item code? i cant seem to find it online in any search
or does it not exist and im going crazy
right thats where it came from
(or VMV or Cornucopia π )
my data/characters or my dispo.json?
FlashShifter.StardewValleyExpandedCP_Butter
i dont need to know what it is
wrong person see above
π tyty
All relevant code
Altboufh I am going to drive home
And probably not see it until tomorrow
want me to put it in SMC instead?
do you still need help with this
the animal house shouldn't matter
Much of PFM is folded into the game, yes
the rest can be handled with Extra Machine Configs
I gave up. I could not get it to work. I am putting my daughter to bed but am willing to give it some testing in about 30 min if you want. If you care to figure out why it was not worker.
do you have code
Yup
selph can i pick your brain on something? I want to peel my trees. either like harvesting moss or with a custom MTF tree machine. do you have any ideas on swapping a tree sprite between peeled/unpeeled depending on some machine or tree state?
I was hoping to use the moss feature for this but it seems hardcoded to just make moss
I remember there were discussions but I cant remember what related tools were made
there's this
https://www.nexusmods.com/stardewvalley/mods/26220
Someone made a moss framework
there we go
you can also make it shakeable and have the sprite for "has 'seed'" be different
and have the actual "seed" be another extra shake drop
I thought about it
What tree needs perling? Oh wait, rubber trees are peeled I think.
cinnamon
i wonder if I can do witchcraft to make a machine that you can place on a tree to autonatically peel it
you can, though it wouldn't interact with the moss/seed peels
I actually dont know
Hi, I have a question about Farm Animals and custom buildings to house them. In the "House" field, can there be only one, Highlander pun aside?
I'd like an animal to be able to be housed both inside the barn and a custom building, but if I put both their ids in the House field, SMAPI doesn't like it.
If I put them between [], SMAPI loads but then the animal isn't available in the shop, and SMAPI tells me there's an unexpected array start at house.
I don't know specifically how, but if no one knows check Frog Friends' code - it takes both Coop and Terrarium (their custom building)
only one, yes
a workaround is having your custom building accepts barn animals as well
like what frog friends is doing with the coop/terrarium
I did try the Frog Friends method, but then it accepts all coop animals, and for immersion purposes, I would prefer it for some specific animals.
No workaround for that, then?
you can do the inverse where the coop accepts animals from your house
but that would require patching every coop upgrades, including modded ones
now, if you're willing to use an extra framework mod, Extra Animal Configs can solve your problem exactly 
Yeah, I have extra animal configs! So make a content pack for it, then?
it's a CP asset so it can be part of your existing pack, no need for a new one
you would Target the custom animal extension asset, and use Fields to set the ExtraHouses field on the entry of your animal
OK, thank you very much for the explanation.
I have another semirelated question. For some reason, SMAPI tells me the sprite of the animal needs a 64 width instead of 128, but as far as I can tell all farm animal sprites have a 128 width?
What can explain that?
you should share the exact message
The exact message SMAPI gives is [game] Farm animal 'Custom' has sprite width 128px, but it should be exactly 64px.
And then the animal looks very funky.
what's your animal size
as in the SpriteWidth and SpriteHeight field
Yes.
that doesnt sound right. coop animals are 16x16 while bigger barn animals are 32x32
can you post your animal data
I'm gonna check that.
I am at my computer this my json. Not use why it did not work. but all the turkeys where born with the Brown color. just like without the mod
https://smapi.io/json/none/fdbc3f2504074e2487a483c88c62e819
^
you're missing the (O) before the key
the asset expects qualified ids for the egg
Let me try it again then.
Just to be sure
"Entries": {
"(0)Mizu.Turkey_TurkeyEgg": {
"AnimalSpawnList": [
correct
that's a 0
thats a zero not an O (letter)
(Don't worry vanilla did that too.)
0
If you put it in a code block then zeros gets dots
Thanks, Selph, your comment made me realize the problem. I wasnΒ΄t careful with the sprite data and left the wrong sprite size out of inertia. I tested and itΒ΄s fixed now.
i keep getting weird harmony patch orderings lately
where i dont see the error unless i go out of my way to add after bc the patch is ordered different on linux vs windows
Weird
probably mod load order actually mattering (rare), combined with (if memory serves) windows traversing directories in alphabetical order vs. linux's inode order
that fixed it. thanks
Interest
Is this not proper formatting or some other mistake? Set weather to rain and will not apply rain sprites. File name for rain sprite is "Penny_Spring_Rain "
"Action": "EditData", "Target": "Data/Characters", "Fields": { "Penny": { "TextureName": "Penny_{{Season}}_{{Random:Sun, Sun_2, Sun_3}}" } } }, { "Action": "EditData", "Target": "Data/Characters", "When": { "Weather": "Rain, Storm, Snow", }, "Fields": { "Penny": { "TextureName": "Penny_{{Season}}_{{Random:Rain, Rain_2, Rain_3}}" } } },
This particular case mmap always went first for me on Linux while flip buildings always went first on windows for avi (and ppl who reported bug)
Today i got a similar case with scythe enchants and springmyst
I'm not involved in the development of Qingfeng and it doesn't use C#. But Qingfeng will only be updated on Red Panda Bazaar from now on.
Got it! Just fyi, the mod compat repo only tracks c# mods
Does anyone know how to edit the animations for tools? I've been trying to migrate (Crowley's Arcane Tools)[https://www.nexusmods.com/stardewvalley/mods/5699] to 1.6 and using SpaceCore for animations, since CPA is currently a little borked. SC works fine for my other currently used mod (animated inventory tabs), but none of the textures/animations are applying for Crowley's. π
You mean mod compatibility list repo?
Compat is shorthand for compatibility yes
That means I need to delete Qingfeng from my commit, thank you guys
That repo should pickup your mod automatically
Might not pick up source repo link tho
It recognized my mod as another mod and I needed to change it
I think it is check for unique ID which is why i really should have changed identifiable combined rings unique id 
Speaking of Content Patcher Animations, there was an unofficial update by Aussiemon last week, but I didn't see it mentioned on the unofficial SDV forums a lot, or elsewhere. Does it mean it's technically flawed?
Just keep "Red Panda Bazaar Code", "Red Panda Bazaar" and "Qingfeng" need to be deleted
got it, thank you so much!
Thank you for helping me
The only person who would be able to answer that is the one who did the update, unofficial updates don't really get discussed here
You should change to spacecore animation if it your own mod
Even before cpa exploded the system in spacecore had been more performant
(no worries! Pathos is the busiest human on the planet, if I can take any load off him it's good.)
Says the second busiest person on the planet 
Ok, I'll keep that in mind.
FarmHouseEntry corresponds to the bottom of the door of the farmhouse...right?
I believe it's the tile right in front of the door
The spot you would stand when leaving the house
Hey so I'm just now getting into mods and I'm trying to download smapi for Android but for some reason whenever I hit the install button it won't go any further than 10%
Hm, do we have a section for Android support? Is it just mh?
!smapiandroid
There is an unofficial port of SMAPI for Stardew 1.6 to Android. Please see the wiki instructions for more information.
IMPORTANT: This is a highly experimental build and may be prone to glitches, bugs, or incompatibilities. We are not able to provide support if you run into trouble or compatibility issues; please use the discord linked on the Android SMAPI github.
Do not harass mod authors to make Android specific compatibility patches.
use the other discord
I tried downloading an older APK and also just turning my phone off and on but neither of those worked
Oh an entirely separate Discord lol, nice
ok the entire time people have been mentioning the "thai sdv discord server" i thought you were actually talking about the thai sdv discord server, which is an entirely different server
this one is called "Stardew SMAPI Thailand" so the confusion is understandable (i didnt know there was another thai server)
Ok I think I got it
this is my first time trying to make a custom farm map, and every time i launch it, it opens to day 0 anniversary weather with no furniture or farmer. is there a property or coordinate that needs to be added in tiled im missing?
I'm pretty sure I actually have smapi downloaded at least
Though if I want to start adding any actual mods that's another story
this is a sign something catastrophic went wrong and your log is bleeding rn.
its apparently looking for my farm's xnb file in the content file... but i havent read anything about any xnb files and my understanding of the content json is sketchy at best, so i guess its back to step one LOL
the game will always look for an xnb file, thats the format it expects. you should send a log
!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 (and probably your 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.
yessss it's working... that's actually really cool that you can set a specific gift response for giving a specific kind of gift at a specific location, leading to an event trigger
So Chu 
Feeling good today, time to get some work done 
https://stardewvalleywiki.com/Modding:Maps#Farmhouse_interior
For custom Farms you need to design the interior itself,
And Honestly You might want to download someone elses custom farm and take a look at how they did it, I have a few. Though I think Dray's Desert Farm, is probably my simplest CP wise as an example. https://www.nexusmods.com/stardewvalley/mods/17376
I have others, but some of them do extra stuff that might confuse you. Technically even my Desert Farm adds 2 sub-maps.
oh, i didnt know you had to do anything to the interior, thank you! ill go paw through all of this info =DD
Honestly that Mapping Page has a LOT of the info you need for making a Farm map.
and if you're ever confused about a Framework, Check their Github, often they have a lot of really good examples, or ask here of course.
ive been going over and over the wiki documentation, but im not sure how to put a lot of it into practice so ive been fumbling through it all week haha
You can always ping me if you get stuck or need help with farms, I Primarily Design Farms as my mods 
and like i said above, have 0 shame about opening up someone else's mod and seeing how they did it, most of us do that, or thats how we learned in the first place
i really appreciate it! im an artist by trade and im really not technically minded at all LOL would you be comfortable if i sent you a dm, so i dont lose track of you when this chat picks back up?
go for it
is there a way to get something to trigger whenever there is not a weather type? Trying to make it more robust for modded weather. Can I do something like
when: {
Not: {
weather: "rain, storm, snow"
}
}
gimme a sec
I think it would be
"When": {
"Weather |contains=rain": false,
"Weather |contains=storm": false,
"Weather |contains=snow": false,
},
But i'm not the greatest at Not Conditions.
you can just do |contains=rain, storm, snow
okay, i wasnt sure if it would take multiple or how to properly phrase it, but i remembered how to do the singular
thank you. Hope this fixes what I think it should
Wouldn't "weather": "rain, storm, snow" work as well, or nah?
yes, if you want it to happen only when it is raining, storming, or snowing
they want the opposite
so, I have two edit datas and the second does use that but it is not applying. I'm seeing if I make the other to not work during storms that the other will actually apply
Ahhh
"Weather": "rain, storm, snow" // This will happen when it is currently rain, storm, or snowy outside
"Weather |contains=rain,storm,snow": false // This means Weather must not be one of those things
I was told by another person who tested it that this does work, gonna try it now. Thank you!
this will teach me to rush mastery, there was a note at the bottom that said "you have not achieved full mastery" but I didn't know what it meant
It had to have been pointing to Walk of Life I guess
oh now i can't find my golden scythe...
Remind me in 18 hours to check for tilesheet invalidation at season change
... (#6497265) (18h | <t:1738018471>)
oh it does work, cool
Hi all, choosing to ask this here since it is me messing around with files to try to create something myself and less a random issue. I really like the greenhouse featured with 'Grandpa's Farm,' So I've been trying to isolate that map and load it alone in my game without loading the rest of the farm. I managed this, at the cost of losing Grandpa's Shed off in the bus stop. I decided it might be easier to use another solo greenhouse mod and replace the tiled files with the ones from Grandpa's farm, but now they just won't load in and I have the default greenhouse. Can anyone help me out?
Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Home, with 60 C# mods and 104 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
Yes, I know I need to update a gazillion mods. I had to reset everything recently due to an error and it knocked everything back - but none of them are the relevant mods.
remind me in 17 hours to remove the atracore dependency listed for Less Mini Shipping Bin
mmmmmmmmmmmmmmmmmmmmmaybe (#6497286) (17h | <t:1738015678>)
I know SVE has a bunch of coding and custom stuff that goes on with it's integrated maps. so it might be breaking because of that. I know that normally you'd just yoink the greenhouse map file, but I dont know how much extra shenanigans SVE has going on it theirs
So I know I can use Content Patcher to 'edit' the game's json assets, can I also just 'read' them? Like could I look up data/characters/someNPC.loveInterest and then put that data in a dynamic token?

