#making-mods-general

1 messages ยท Page 22 of 1

rain lion
#

because I made my mod before the 1.6 update

#

is there a guide for refactoring a JA mod to CP?

cosmic skiff
#

so I'm trying to get my edit of the farmhouse to load in but its loading in like this, with the vanilla farmhouse loading over it. there is no errors in my smapi log, I've been following the content patcher guide exactly, but I can't get it to load right. Does anyone have an idea of what is going on? if I grab a different house mod and replace the maps with mine it loads in just fine

rancid temple
ocean sailBOT
#

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.

cosmic skiff
#

its not finding any errors there

rancid temple
#

If you share the link then we can see how you're doing it

cosmic skiff
#

ah okay

rancid temple
cosmic skiff
#

I will try that!

rancid temple
#

Another good suggestion that I never follow is making sure your mod list is reduced down to only the mods you need for testing, to rule out conflicts

cosmic skiff
#

i may have to try that if it doesn't work. rather not have to yeet all the mods but at least stardew is easy when it comes to moving mods

rancid temple
#

If you do want to do that, you can rename the folders with a . (period) in front of the name and SMAPI will ignore them

#

Also, you can slap them all into a folder with a . in front of it and it'll just ignore that whole folder

calm nebula
#

Tbh I used to have like four mod folders

#

And k would just rename the folder lol

#

Mods (dev)

#

Mods (save name)

rancid temple
#

I did that when I was testing what was going on with the fishing pond and RSV issue lol

brittle pasture
#

I use Stardrop's profile feature, though I think that doesn't work with live debugging. then again I'm on Linux and live debugging never worked for me lol

rancid temple
#

For the most part, I just chaos goblin it and hope for no conflicts lol

tiny zealot
#

my secret is to play with almost no mods to begin with, so there's nothing left to remove /lh

cosmic skiff
#

edit map did not work so mod yeeting it is. then id have to figure out what the conflict is

rancid temple
cosmic skiff
#

if all else fails ill just have to keep it for personal use and hijack the lune farmhouse mod since it loads in fine when I replace those maps with mine

rancid temple
#

I dunno what the normal concessus is, but I feel like CP mods can only be so different, I'm not really sure how you would even know if someone was reusing your code

#

Unless there was a bunch of comments in there like //this mod made by rokugin - no steal

cosmic skiff
#

yeah I looked at a few house mods to see if I was messing something up with mine and they all looked pretty similar

rancid temple
#

Are you adding this to an existing save?

cosmic skiff
#

Yes, as well as trying with a new save. same results either way

vernal crest
#

I have four mod folders. Play, Dev, Messy, and Vanilla (for vanilla but with SMAPI and console commands).

rancid temple
#

I dunno if I have an example of patching the farmhouse, but I can check when I'm back in front of my PC

vernal crest
#

Not too difficult though because it uses addMailReceived which is easy to search for.

#

I think yes to the world state IDs too

#

I can help once I finish my questions tutorial

cosmic skiff
#

honestly since getting a basic grasp of tiled I spend half my day at work thinking about making edits rather than playing the game

rancid musk
#

Very weird

calm nebula
#

I'm very confused

#

Is it like knitting a sock?

#

God I'm so tired lol

rancid musk
#

Knit a pillow and go to sleep

calm nebula
#

I walked ten miles and then donated blood so I guess tired makes sense

#

(Two separate days.)

rancid musk
#

I'm glad you included the word then so I didn't think you were giving blood as you walked ten miles. Tired does make sense. It's been a while since I donated blood but it definitely left me tired.

cosmic skiff
#

Ive never donated since i dont meet the weight requirements but last time i had blood drawn i thought i was gonna pass out in my car.

#

okay wow i had forgotten how fast stardew loads when you dont have a few hundred mods in

#

but im still getting the same results

calm nebula
#

I nkticd you are only editing farmhouse2

#

I'm not sure what farmhouse2 looks like anymore

rancid temple
#

It's the one with the cellar

cosmic skiff
#

yeah its only an edit of that one. the cellar is only technically there as I couldnt get the exit warp to work so i made a cellar with pif to take its place

rancid temple
#

Well I guess the cellar is optional there

#

Lemme compare

#

Bigger bedroom and crib

ocean sailBOT
#

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:

  1. Open this page: smapi.io/log.
  2. Follow the instructions at the top of the page to upload the log file. (Don't copy & paste from the console window!)
  3. 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.

cosmic skiff
#

I will have to get a log when my pc is done moving all my mods back into the mod folder

vernal crest
#

What's the size of your FarmHouse2 map? Dimensions of the map, not file size.

cosmic skiff
#

70 by 32 in tiled

#

here is what it looks like

vernal crest
#

That's smaller than the vanilla one. I wonder if that's a problem?

cosmic skiff
#

if it was then I would think when I use another person's house mod to load it in id have the same issue. its only when I tried to make its own content pack that the issue started

rancid temple
#

FarmHouse2 is the one that takes all the renovations, so it's a bigger map

#

Did you ever share your EditMap content.json?

cosmic skiff
#

let me grab that

vernal crest
#

Hmm that's true.

rancid temple
#

I would actually expect it to have issues, but mostly with the renovations

cosmic skiff
#

the only renovation that would work with mine is the attic

#

i thought about making some of them work with it but i wanted my house to be in a nice symmetrical rectangle

vernal crest
#

Can you link to the Nexus page of the farmhouse mod that you can use to get your map to work?

cosmic skiff
#

its that one

vernal crest
#

Do you have the main one or V2?

cosmic skiff
#

main one

vernal crest
#

And you just replaced this with your map to get your map working?

    {  
      "Action": "Load",
      "Target": "Maps/FarmHouse2",
      "FromFile": "assets/FarmHouse2_{{FarmhouseStyle}}.tmx"
    },
cosmic skiff
#

I replace the large farmhouse maps with mine

#

I don't edit the content file to change names

vernal crest
#

Including FarmHouse_CellarLarge.tmx?

cosmic skiff
#

yes

#

here is my smapi log

ocean sailBOT
#

Log Info: SMAPI 4.0.8 with SDV 1.6.8 build 24119 on Microsoft Windows 10 Home, with 93 C# mods and 329 content packs.
Suggested fixes: One or more mods are out of date, consider updating them

vernal crest
#

I am trying to figure out what could be different, because their json is the same as yours, basically

cosmic skiff
#

thats what is stumping me as well

vernal crest
#

Does yours look funny when you test it without the cellar?

calm nebula
#

What is your mod caled

#

Yeah that is weird tbh

cosmic skiff
#

its looks the same with or without the cellar, and its just called simple house right now

calm nebula
#

And it doesn't work in isolation

cosmic skiff
#

could it be cause of the cabins?

vernal crest
#

I don't think so. I just tested doing a farmhouse map where I made it smaller than the vanilla farmhouse and got this

cosmic skiff
#

that is so weird. well I'm gonna have to see if there is something in the lune mod that lets me load it in

toxic birch
#

Does anyone know where the spritesheet that contains the joja cola sprite is located in the file directory?

rancid temple
#

Maps/springobjects

toxic birch
#

Thank you.

rancid temple
#

Right side, nearish to the top

vernal crest
#

It appears that loading a custom farmhouse2.tmx is insufficient to properly edit the farmhouse at houseUpgrade 2.

#

My patch export of farmhouse2.tmx looks like this

#

But standing in my house, it looks like this (note the bedroom length and the weird gap in the right-hand side hallway wall)

blissful berry
#

is there a way to alter time through an event? i.e adding an hour to the current time by the end of an event to somewhat bypass the effect of time freezeing (in single-player mode)

#

or is that a bad idea to pursue with npc schedules

cosmic skiff
vernal crest
#

It probably has something to do with renovations.

rancid temple
#

Hm, that was fun, opened SDV and it set my monitor to a resolution I can't set through my settings

vernal crest
#

Bespoke resolution

rancid temple
#

Oh, maybe I can, it's the only setting above 1920x1080 lol

#

I forgot this monitor is nicer than my other one

ocean sailBOT
#

Log Info: SMAPI 4.1.0-beta.1 with SDV 1.6.9 'beta' build 24248 on Microsoft Windows 10 Pro, with 62 C# mods and 23 content packs.
Suggested fixes: One or more mods are out of date, consider updating them

vernal crest
#

My bedroom became the proper length when I edited the vanilla southern room renovation to move it further down.

#

Which, if custom farmhouse creators did that instead of just replacing the renovations with blank maps, would allow people to use renovations with differently sized and shaped farmhouse maps.

#

I could release my test farmhouse mod as a new custom farmhouse /j

rancid temple
#

Oh, third time launching the game and it didn't destroy my resolution, interesting

vernal crest
#

Long bedroom farmhouse mod

rancid temple
#

Honestly, the easier answer to the map issue is probably just make the map the right size

vernal crest
#

That only really works if you want a map in the exact shape and size as vanilla though lol

#

Or with differences only in the very few bits that aren't affected by renovations

rancid temple
#

Yeah, I mean there's definitely not much room with the renovations, they did also say their map was only compatible with like one renovation

#

So they need to disable them anyways

#

Or edit them all so they work with their map

#

Renovations are becoming a new nemesis

vernal crest
#

Yes, and they haven't been doing that so I think that is what their problem is. But when they put their map into the Lune farmhouse mod, the problem went away because the Lune farmhouse deals with renovations (makes all the reno maps blank) while their mod doesn't.

rancid temple
#

Ah, I didn't look at the Lune map

#

Just make your farmhouse map like that one gym from pokemon where you warp around to a bunch of tiny rooms, and extend it insanely to the right

#

[CP] FarmHouse Like That One Gym From Pokemon With Warps

vernal crest
#

Wouldn't you need something like the Farmhouse Fixes mod to dehardcode the warps? Otherwise you'd just warp to the front door every time

rancid temple
#

Oh I dunno, I've never actually tried to put a warp to the same map anywhere lol

#

Didn't know FarmHouse hijacked warps into it

dusty scarab
#

hello there, is anyone here familiar working with Json Assets? I wanted to make a mod that adds a new output item to the Dehydrator (and prevents the input items from being put into Kegs or Preserves Jars), but I haven't been able to figure out how to do it.
is this something beyond the scope of Json Assets that I would need to use Content Patcher for? (sorry to interrupt the current conversation)

rancid temple
#

You can use CP for almost everything JA did

vernal crest
#

My bathroom mod has me reappear at the front door instead of back at the bathroom door

rancid temple
#

And really should

dusty scarab
#

yes, but my brain vibes better with the way JA is formatted. I tried converting my mod over to CP in early April and realized that I have a smooth lizardbrain and couldn't figure out how to make CP work properly

drowsy pewter
#

so you would need to learn both JA and PFM formats if you want to do it with JA

#

or learn JA and CP format (CP for the machine part)

#

or just learn CP format

#

JA doesnt edit machine rules itself.

dusty scarab
#

I've got JA on lockdown, I just can't get my brain around making CP work

rancid temple
#

I was never around when JA was big so I don't even know how it differs lol

drowsy pewter
#

this would be te place to ask then

#

i have plenty of examples for you in Cornucopia - Artisan Machines

#

I think if you try and do it with JA and CP together, not many people will be able to help with the JA-CP integration

dusty scarab
#

fair enough. I've picked apart a couple of CP crop mods trying to figure out how they worked, but part of what makes JA easier for me is that every crop is isolated in its folder, which makes editing them much easier, while CP tends to have everything in giant files. is it possible for every crop to have its own folder in CP, or no?

drowsy pewter
#

its possible, imo its annoying but if you personally like the format there is absolutely nothing stopping you from doing that

rancid temple
drowsy pewter
#

the nice part about CP is that you can organize mod files however you desire

rancid temple
#

Makes it way harder to help troubleshoot too

drowsy pewter
#

whereas JA limits you to a very specific format

dusty scarab
drowsy pewter
#

you can use them individually

#

like i said, CP organization is totally up to the author

#

SVE uses individual textures (which gives me hives but lol)

fiery cobalt
drowsy pewter
#

For preventing your item being used in kegs and stuff, i would suggest just setting their category to be a non-fruit non-vegetable, but if you really want to keep them as a fruit or vegetable then you can ping me for help later since you'd need very specific code

fiery cobalt
#

Speaking of I think it's ready if someone is willing to do a play test to make sure all the shop/ buy conditions work right

dusty scarab
#

for example, Peppercorns, at a base sell value of 50. put into a Preserves Jar, that gets Peppercorn Jelly after two days of time for 150g per jelly, but if you put them into the Dehydrator, that would get Dried Peppercorns that would sell for 750g after one day's time. if that makes sense

drowsy pewter
#

i think you mistyped but yeah

dusty scarab
drowsy pewter
#

i mean theres no reason to ban them from the keg or preserves jar if you dont need to, since players would realize its unprofitable. But your other option is to set it to some random category internally and use spacecore (or JA i guess) to have a custom category!

#

we also do that in cornucopia for our herbs

dusty scarab
#

that's what I was going to ask next, there's a command in JA to mask catagories so you can add in catagories like 'herbs' and such, and wanted to know if that also existed in CP

drowsy pewter
#

players need spacecore for it, but the code is written in your CP mod

#

so you only need to "ship" it as a single mod

dusty scarab
#

I figure if I need CP to make the new Dehydrator additions work, then I may as well transfer my entire mod over to CP just to keep things simple. (the Dehydrator is criminally under-utilized!)

drowsy pewter
#

My stance is, if you learn how to use CP to do something, you unlock every single thing that CP can do! Adding new items, trees, events, etc etc

#

So if you feel stuck, just come here for help

#

it's worth it

fiery cobalt
#

Everyone here is super nice and helpful

dusty scarab
#

I don't suppose anyone offers classes on CP for Smoothbrains? XD I'll study up on the links I was given, then come back to ask further questions. hopefully, I won't need someone to hold my hand and I'll be able to figure it out on my own, but thank you very much for the help so far!

drowsy pewter
#

have you made a working CP mod yet at all?

dusty scarab
fiery cobalt
#

Would you like me send you the CP mod that I just made? It's fairly basic, just adding crops. A remake of my old published JA mod

vernal crest
dusty scarab
fiery cobalt
#

I'll send it. Also your icon is so cute

dusty scarab
#

thank you :D it's a luna moth caterpillar!

fiery cobalt
#

Oooh I love those

#

Sadly haven't seen any in a long time

mossy arch
#

im sorry to interrupt but does anyone use StardewXnBHack for Content Patcher mod creation? I'm brand new to mod making :,))

vernal crest
#

You don't use StardewXnbHack to create anything, you use it to unpack the game's content files so they're in .json or .png or .tmx format instead of .xnb

rancid temple
#

!startmodding

ocean sailBOT
#

Making mods can be broadly divided into two categories:

Usually itโ€™s easier to start with making content packs, since you don't need to learn programming.

vernal crest
#

And you use the unpacked contents as references or (with images and maps) to copy to use as starting points for your own assets

mossy arch
#

ah! thank you guys!! the wiki is a lil confusing :,))

XnB won't read my SMAPI files i believe? so i am unable to unpack the files needed, i think

vernal crest
#

Why would you want it to read SMAPI files?

mossy arch
#

hold on i think im just explaining it wrong give me a second to figure out why i need smapi for XnB to begin with

vernal crest
#

Are you using XnB as shorthand for StardewXnbHack or to refer to the file format?

rancid temple
#

Did you move StardewXnbHack out of the folder it comes in into the same folder where the game exe is?

mossy arch
#

yes for shorthand i'm sorry i'm very very new to all of this

vernal crest
#

That's okay, just clarifying so we're all talking about the same thing. You don't need SMAPI to unpack your game files (edit: I was wrong, you DO need SMAPI to unpack with StardewXnbHack), though you do need SMAPI to run mods. Like roku said, did you move StardewXnbHack out of the folder? It should just be sitting inside your main Stardew Valley folder, like this (ignoring how many copies of StardewModdingAPI.exe I have)

rancid temple
#

MagicWarp and Warp in the house

#

I will have to create something to test warping from other maps into the farmhouse

vernal crest
#

Ooh sorry I was wrong, the wiki says you do need SMAPI installed to run StardewXnbHack.

mossy arch
vernal crest
rancid temple
#

It's funny how long magic warps are

vernal crest
#

Can you spoiler your gif please roku? It's quite flashy

rancid temple
#

I did but you have to switch channels

vernal crest
#

Ah cool

#

Sorry if you already did and then I clicked on it and forgot xD

rancid temple
#

I wish the eye would just always appear on gifs

vernal crest
rancid temple
#

All gifs should be spoilerable live

#

Or fuckin' pausible, anything

#

Okay, took a minute but indeed setting up a warp from another map to the farmhouse the farmhouse just ignores the provided coordinates

mossy arch
lucid iron
#

do you have the right stardewxnbhack

#

one of them is for 1.6.9 beta

rancid temple
#

Yeah, 1.1.1 is for the beta isn't it?

mossy arch
brittle pasture
#

yeah 1.1.1 is the wrong version

#

you want 1.1.0

mossy arch
#

my bad, guys! i'll try that now, thank you!!

#

running now guys, thank you for helping with my dumb mistake :3

inland cedar
#

my mod is pretty much good enough for me to retired SDVpufferthumbsup

rancid temple
#

I just don't understand how you can exit the cellar properly

#

I tried setting a warp as a map property and that didn't work

rancid temple
#

Oh I found where it's doing it, indeed if you arrive in the farmhouse from not the farmhouse or the cellar it resets your position to the entry location, that's wild

uncut viper
#

(well that explains why my warp action was behaving strangely with the farmhouse...)

rancid temple
#

FarmHouse.resetLocalState

calm nebula
#

Hospital door at 10, 5 energy tbh

rancid temple
#

Some of the hardcoding I would love to know if there's a story involved

lucid iron
#

wow its still there

rancid temple
#

@vernal crest I tried to remove the add and remove southern room renovation and that didn't work at all lol

#

I still need to try making changes to what the actual renovation does, at the very least I guess the price can be set to 0 and then it at least won't cost anything to do nothing

vernal crest
#

How did you do it?

rancid temple
#

Just setting the entries in Data/HomeRenovations to null

#

They definitely get removed but I think it messes up the size the of the map

#

Or something, maybe there's some silent failing happening because it can't find the renovation anymore lol

vernal crest
rancid temple
#

Yeah, unfortunate to need another dependency for something that probably doesn't even need to exist anymore

teal bridge
#

Hey @uncut viper, I had an idea for a semi-original take on a not-so-original idea and was wondering just how granular your trigger framework gets; can it respond to very specific events like "bought item <X> from NPC <Y>" or "accepted current quest from board" or is that out of scope so far?

rancid temple
#

The defaulted values aren't even used after they're set, it feels like it was a catch for accidentally forgetting to set a position when warping the player to the farmhouse

vernal crest
#

I think the farmhouse2 map gets all the renovation_removed maps added to it which are what mess with edits to the farmhouse2 map even when someone doesn't get renovations.

brittle pasture
#

ActionsOnPurchase field in shop entries

rancid temple
#

I have some other testing I need to do revolving around removing those renovations or changing them

#

But I'm going to bed, so sometime tomorrow lol

teal bridge
#

I'm not sure if that's really what I'm looking for. I'm talking about adding a trigger for a specific purchase from a vanilla shop, not a custom shop.

brittle pasture
#

then you can modify the vanilla shop?

vernal crest
#

The way the Lune farmhouse mod does it works but it's quite a lot of extra stuff to have to have in the mod. It would be good to find a way around it.

uncut viper
#

its a field on every individual stock listing, so you can modify the vanilla one

lucid iron
#

Accept quest doesn't exist right

#

Or any kind of quest list changed

uncut viper
#

though, if someone else has already done that, you'd need to be careful not to ovwrwrite it, but luckily its a list which you can add to and not a single string

teal bridge
#

And CP mods can add a trigger action this way as opposed to just replacing all the trigger actions?

brittle pasture
#

vanilla quests are rather opaque in general

#

yes, it's a list of trigger strings

rancid temple
brittle pasture
teal bridge
#

I understand how the data is structured but typically in CP you can only get to modify root-level fields.

uncut viper
#

the questing trigger doesnt exist and like, it could be that granular, every one of my triggers is me going in and transpiling very specific points of code (with some postfixes) to call a specific trigger, so i could do that w hen someone accepts a quest from the board, though i think id prefer to just make it trigger on any quest accepted

teal bridge
#

(or so I thought)

rancid temple
#

Seeing as how I've already determined that the "easier" method doesn't work at all

uncut viper
#

you can use TargetField to drill down to any arbitrary field

teal bridge
#

And there's an "add to list" action for target fields?

uncut viper
#

you'd add an entry to the list the same way you'd add an entry to a root level list

lucid iron
#

Do u need to use "#1" for this?

brittle pasture
#

no, it's better now after version 2.3.0

#

you can use the string itself as the key

teal bridge
#

Ok, I guess that answers the shop question specifically. Sounding like there isn't an all-encompassing solution for all of these things. (And of course I understand that the framework is just a big pile of transpilers)

uncut viper
#

a general-case trigger could still be useful if you want to check for any item bought that matches certain characteristics, though, but if it really is just a specific item, adding to the ActionsOnPurchase list is best

brittle pasture
#

the tyranny of #-1 will haunt us no more

rancid temple
#

I thought the #-1 was clever lol

teal bridge
#

Suppose you added a trigger for "quest accepted", would there then be some way for a CP mod to determine it was the board quest?

latent mauve
#

To be honest, I've always wondered why the base farmhouse2 map doesn't have all the renovations visible and then add empty patches until the renovations are bought.

#

Could be as simple as "renovations were added later" though, for that one

rancid temple
#

I think mostly just because of how the renovation system works entirely

uncut viper
#

i could add a field to the trigger's fake item that includes whether or not it was specifically from the bulletin board, however doing it that way would require a lot more work, bc id need to raise that trigger from the specific board accept button, bc i cant just postfix addQuest bc i wont have any information about where the quest came from unless i hardcoded a list of questIDs that appear only on the board (gross)

#

which would then mean id need to do that everywhere a quest is accepted, rather than in a generic postfix

#

(also in case it wasnt clear since i forgot to specifically answer, doing it that way would let a CP mod determine the source, the GSQ you'd use in the trigger action entry would check for it)

teal bridge
#

In code I think it would involve checking for ItemDeliveryQuest and maybe some fields on it. But I guess CP can't go that deep.

uncut viper
#

i guess i could theoretically split it into two triggers, one an all encompassing "whenever a quest is added" trigger and one thats just "when you accept a bulletin board quest specifically"

teal bridge
#

There's even a dailyQuest field.

uncut viper
#

just addin a check f or the bulletin board quest would be ezpz, its just that i wouldnt want to leave it that specific
lwhich might sound weird bc a lot of my triggers are very specific, but usually only when there's not a more general case to look for

#

(or the more general case would happen like, constantly)

#

player.acceptedDailyQuest has a setter which you could postfix to check for it

teal bridge
#

Yeah I get it. I mean, CP is not code. The obvious flow is "trigger on quest accepted, then get details about this quest and check X and Y details" but that requires code.

uncut viper
#

all technically easy code, just major annoying to find every place it'd be needed SDVpuffersquee

#

if i release that "harmony patches defined by CP" addition to Special Power Utilities though you could postfix it yourself, though, lmao

teal bridge
#

Right. I could very easily write the code myself to do all these things. But that is not the point of the idea in my head; the point of the idea in my head is to enable content patches/packs to add a particular kind of functionality.

#

Easy code, but not easy (or possible) CP.

uncut viper
#

seems like the toddler might need that shotgun after all

teal bridge
#

Don't worry too much about it, this is literally still in the vaporware idea/brainstorming phase, not even at the point of a high level design.

uncut viper
#

(it also doesnt help me going back and forth on whether or not that feature is better in SPU or BETAS, bc it could just as easily go into both)

#

i only initially wanted to put it in SPU bc it would help it be more of like... yknow, a helpful framework for doing special power related things

teal bridge
#

It doesn't answer your general concern, but none of what I'm thinking of would belong in SPU. (It might not belong in BETAS either.)

uncut viper
#

incoming mod: Button's Extra Content Patcher Harmony Patching Utilities

#

Redux

brittle pasture
#

Accent Core Plus R

teal bridge
#

Nah, I think if it gets to the point of requiring the content authors to name actual methods, then the design (of my hypothetical mod) is wrong and needs to be reconsidered.

#

If it is not easy to use then it wouldn't gain any traction, and even I would see no point in using it myself since I could just write the code.

uncut viper
#

if harmony can let me find a method/property to patch without knowing what the method/property actually is then im all ears

lucid iron
#

I think it's not about finding stuff to patch tho

teal bridge
#

Not really possible with Harmony. Or with Stardew's architecture in general.

uncut viper
#

(i do mostly agree though, i dont think its very useful, im going overboard on it bc i find it fun tho)

lucid iron
#

For most people they just want to do X when Y and u r provide set of sensible Y

teal bridge
#

Yeah, I picked the quest board as an example because I figure that expansions like Zuzu or RSV might have their own daily quests - not that I play them, or have actually confirmed that.

uncut viper
#

yeah, and for a sensible Y thats easy to add id go "sure ill add that" in every case, id never actually recommend someone do the CP harmony patch thing

#

but theres a lotta functions and a lot of things that someone might wanna watch for a trigger and itd be difficult to ever account for them all

#

or in some cases i could account for them but just Don't Want To bc of the amount of effort it'd be

brittle pasture
#

RSV does have daily quests; IIRC it uses its own quest board class that subclasses the existing one

#

(or was that the special order board)

teal bridge
#

I figured. And mods might also add shops with rotating stock similar to vanilla desert trader, Krobus, etc.

uncut viper
#

i know it has a separate special order board, no clue if it also hasa daily quest board

brittle pasture
#

it does have daily quests, I just haven't looked at the code of that one

teal bridge
#

Special orders are somewhat less important but still worth looking at.

uncut viper
#

can you accept an RSV daily quest and a vanilla daily quest at the same time?

brittle pasture
#

yes they're separate

#

RSV daily quests are mostly just Carmen telling you to fish lol

teal bridge
#

I don't want to get too hyper-focused on quests per se, I just picked it as an easy example. Another one would be catching a particular fish, along with a condition for whether that fish can actually be caught.

uncut viper
#

i guess i could add a QuestAdded trigger, and in the GSQ you could check if the player was in an area near the daily quest board

#

i did add a FishCaught trigger!

teal bridge
#

Which I guess does speak to the "million little things and no general solution for all of them" issue. I just asked because BETAs kind of was tackling those million little things.

uncut viper
#

and it passes the fish itself to the trigger context, so you can check what kind of fish it is

#

among some other info

teal bridge
#

Right, I do remember you talking about the fish.

uncut viper
#

i do like tackling the little things, i just like em a little bit less when it involves catching the trigger in the 5 million different functions it happens in

teal bridge
#

I don't think that's the case with the quest though? Just "quest accepted" along with passing data about the quest in the trigger data.

uncut viper
#

in the case of addQuest, it happens in 20 functions if you dont count the debug ones

#

right, but addQuest itself doesnt pass any data about where the quest came from

#

its just a string quest id

#

so if i wanted to know where the quest came from, id need to trigger it where the addQuest call actually happened to know

teal bridge
#

Quest.getQuestFromId?

uncut viper
#

but how do i know it wasnt added from, say, a letter that gave that quest id?

#

or another trigger action?

teal bridge
#

Well, in this case the dailyQuest field would probably cover it. I think.

#

There's also a questType which I'd have to dig into.

uncut viper
#

but you could add the dailyQuest questId to your quest log with actions elsewhere

#

i also dont know what questType is

#

but if can cover it then id absolutely add the trigger

teal bridge
#

That's OK. That is, I obviously don't speak for everyone who could ever use it, but when I asked about the daily quest I wasn't really concerned about where it was accepted from, just the fact that it is in fact the daily quest.

uncut viper
#

if you just wanted that and not that it was specifically (reliably) from the bulletin board, then yeah, thats totally within scope

teal bridge
#

I am wondering how a daily RSV quest would differ from a daily vanilla quest. There must be some way. I completely agree with you that trying to hook every place where the quest could be added is not the right solution to that problem.

uncut viper
#

(interestingly, Quest has a function called isSecretQuest() that always returns false. i wonder what kind of secret quests were originally planned?)

teal bridge
#

SecretLostItemQuest

uncut viper
#

(oh, its a virtual one, that explains it a bit more)

brittle pasture
#

I believe it's at least used for the 'necklace found in the spa' quest

#

(basically a fetch item quest that has no log entry)

uncut viper
fiery cobalt
#

Playtesting

#

In one gif

teal bridge
#

I'll think on this. Maybe it's best I start with a high-level design translating into a "wishlist" and then I can circle back to see if you're amenable to adding some of the things that don't already exist.

uncut viper
#

(i just checked and yeah, the acceptedPlayTest field is the only thing the bulletin board checks for)

#

... acceptedDailyQuest. Mae incepted my mind for a second there

#

(more accurately it also checks if the quest actually exists and isnt null but i figured that wasnt relevant)

#

I am more than willing to receive a wishlist of triggers to add, for sure, so long as the person sending me the wishlist doesnt mind if I turn some down and wont take it personally SDVpuffersmile

#

The quest one I can already add, even if it was more hypothetical, because it can still be useful

teal bridge
#

Of course not. As I said I could always add all those things directly, but if there's already a framework mod to handle it, then why further clutter up the mod database, right?

#

I take very few things personally, approximately zero things that happen on Discord.

uncut viper
#

if nothing else it'd pull me away from this cp harmony patching hole ive dug myself into thats taking up too much of my thought process lately

#

which is a plus

teal bridge
#

I have to focus myself a bit too, probably... will not be so productive trying to work on this idea, the fishing helper, the mail mod and the logistics mod all at the same time, while still maintaining all the other Stardew mods and Beth tools. That's why I'm being vague, don't want to waste people's time with phantom feature requests.

gentle sleet
#

I wonder... Would it be possible (with a code mod) to have a map where you can place buildings yourself, then have custom NPCs move in and play like a little build sim? Would obviously be a bit more ambitious as a mod, but the idea intrigues me.

brittle pasture
#

that will need a bit of code yes

uncut viper
#

do you want possible or easy

gentle sleet
#

Possible. Not easy.

teal bridge
#

It's code, nothing's impossible.

uncut viper
#

then the world is your oyster

#

the SMAPI API and vanilla stuff can go far, and whereve it cant go, Harmony can go basically wherever you need to

teal bridge
#

"Have custom NPCs move in" sounds like you'd have to make custom NPCs which is 50 hours of work right there... unless that really means having vanilla or existing-mod-added NPCs do it, which is a lot more work on the code side as schedules are very finicky.

lucid iron
#

The easiest way to do this is prob fixed buildings as map patches yggy

teal bridge
#

But possible? Absolutely.

lucid iron
#

In a way you r kinda doing east scarp?

#

Something a bit harder would be custom farm buildings that npc can path in and out of ig, unclear how to impl off top of head, but it's not impossible (just need C#)

brittle pasture
#

if you're fine with not actually doing freeform building placing (like farm buildings) and have a static town layout that you repair overtime with resource quests and the like, it's achievable with just CP

gentle sleet
#

Yeah the NPCs is one thing. I do have some already finished, just need to re-make the schedules.

Perfect! Oh yeah Harmony, that's the only "scary" thing I didn't mess with yet. But I think my C# knowledge can carry me there.

Good to know. I will look at my possible solutions and come up with a decent working plan. It's definitely going to be a long term project, but now that I have the steam deck I can play the game more often especially on the way home. Which means I have now good reasons to keep working on mods!

Thanks everyone! SDVpufferheart

brittle pasture
#

signing off with these insane visuals I got while testing my animal multiproduce feature (credits to chu/e for the idea to make them debris instead of actual objects to not clutter the coop/barn)

#

||yes, they are flinging poop in the air the moment I enter the premises||

lucid iron
#

DokkanStare realism

vernal crest
#

Flying poop!

dusty scarab
#

so, I've been working on moving my mod over to CP (spring crops first since those are easiest to test) and so far, I've been able to get them to load in and be purchaseable at Pierre's.
however, when I go to grow them, they aren't using the growth .pngs that are supposed to be attached to each crop, they're using the Parsnip growth .png instead. is there something wrong in my code that the X_crop pngs aren't being recognized? SMAPI isn't throwing any errors, otherwise I'd share those, too

brittle pasture
#

can you post the json of both the crop code and the texture load code?

#

!json

ocean sailBOT
#

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.

brittle pasture
#

(ignore that sorry)

dusty scarab
#

no worries

brittle pasture
#

okay your asset name has assets but you're using asset in the crop code

#

missing the s

dusty scarab
#

....that stupid 's' has tripped me up in this thing so many times, I should not be surprised that it struck again. thank you, my eyes just weren't seeing it, thank you for being an extra pair of eyes

lucid iron
#

Btw you can use {{ModId}} token

dusty scarab
# lucid iron Btw you can use {{ModId}} token

I am sorry, you are talking to a walnut, I do not know what the difference between ModId and (I am assuming) TargetWithoutPath are. what is the difference, and why is one worth using over the other?

lucid mulch
#

rather than having RiftstalkerSekun.CropExpansion over and over again, can replace that with {{ModId}}

dusty scarab
#

ahh, that would save my fingers a lot of work, thank you

winged gust
#

im bored guys:(

dusty scarab
#

perfect, made the changes and it works great now! just one more question. Mangosteen seeds are supposed to be a year 2 seed, yet I am seeing them in Pierre's shop in year 1. is this not the correct syntax to have them only appear in year 2?

brittle pasture
#

Need a comma between spring and YEAR

#

since SEASON and YEAR are separate conditions

winged gust
#

ehhh mangosteen seeds so cool

brittle pasture
#

otherwise looks good SDVpufferthumbsup

dusty scarab
#

ahhh, ok, thank you again! ๐Ÿซ€

fathom hound
#

other than payouts being later on

velvet narwhal
naive wyvern
#

10k minimum wail i must grind

tame anchor
#

May I ask why I used the (Farm Type Manager) to add minerals to the mine in advance, and this situation occurred in the old file (the old file was originally normal, but when I came back a few days later to continue the production, it became like this), I opened a new file to check, and everything was normal in the new file, only the old file was like this.

gilded comet
#

i think it tried to continue spawning mine items every day

#

?

#

i've never used FTM for my own mods so bigggg grain of salt

tame anchor
#

Thank you very much! I'll check it out!

sharp hornet
#

Not technical question : where is the best place to fish for mod suggestions ? I plan to extend my mod to SVE but I never tried this expansion mod (I would still play it before releasing anything, though) I just wanna test the waters

hallow prism
#

you can have various setting so you can make chance lower or have condition or both

#

some of my spawn happen only 4 a month

fathom hound
#

But modded farmers is for any question relating to mods that donโ€™t involve making them SDVpuffersquee

sharp hornet
drowsy pewter
#

anaira is correct, mostly because most of us here don't even regularly play the game, so we dont have good feedback (need help making a mod? sure! need help wondering how to integrate your mod with SVE? crickets.)

#

you can also ask in the SVE server, which may get you more feedback

sharp hornet
#

@drowsy pewter Oh I forgot SVE has a server ! I totally should go there, thanks

sleek aurora
#

Question about the CustomBush mod - when creating a custom bush, do you need to specify a change in texture according to the season or is it enough to just load the texture?

rancid temple
#

Outside of using a separate conditional patch to change the Texture field, I'm not seeing any way with the framework itself to change texture according to season

drowsy pewter
#

they have seasonal changes automatically

#

follow whatever i did in Growable Forage

rancid temple
#

Github has decided I'm done, I guess (turned into a loading simulator)

#

So yeah, it's not the framework itself that switches the season, you're doing the conditional texture load

sleek aurora
#

Are there any requirements for the name of the texture file for bushes?

rancid temple
#

It's just using CP, so same rules that CP uses

#

Or I guess, Growable Forage

cosmic skiff
drowsy pewter
rancid temple
#

Still good to have an example, was surprised to find there's basically no documentation for the framework lol

drowsy pewter
#

my mod is basically the documentation

rancid temple
lucid iron
#

!cornucopia when

calm nebula
#

Documentation isn't fun

#

You know

rancid temple
#

Fair enough

calm nebula
#

I had to mess with the connector for one of my boards and find myself having to document my BS today lol

silver snow
#

Documentation isnt very fun but still critically important SDVpufferthumbsup

#

I forget even what some of the things in my utility library are meant for after long enough

#

Speaking of reading docs though, the wiki describes the selection of fish in an area as:

A fish is selected by combining this field (the Fish field in a Location) with the equivalent field on the Default entry, sorting by Precedence value (and randomly shuffling entries with the same precedence), and then choosing the first entry whose fields match.

plucky reef
#

I love documentation because I am thinking ahead to when Future Me looks at the documentation and thanks Past Me. You have to imagine the gratitude but it will be there.

silver snow
#

To use some example lists to show how I'm processing this, if Default has fish [a, b, c] and location Forest has fish [d, e, f], Would the following seem right?

  1. Same precedence = [a, b, c, d, e, f] => Randomly shuffle all => [b, f, e, a, c, d]
  2. All entries of each individually have equal precedence, but Precedence of Forest fish is greater than Default ones
    = [d, e, f, a, b, c] => Randomly shuffle same precedence (a/b/c shuffle, d/e/f shuffle) => [f, d, e, a, c, b]
silver snow
#

Its a constant process of thanking oneself for the current doc comments and repaying it by writing new ones

rancid temple
silver snow
#

Okay, nice, this means my next question is worth asking. Another thing I've been wondering about is how the game builds fish for sub-areas (FishAreas in locations).

If I have Town and Fountain, where Town has Fish fields [a,b,c], Default for the game has [d,e,f], and Fountain has [g], it's my current understanding that fountain should have [a,b,c,g], but I'm wondering if it takes the default for the area and/or the game, which could also create [a,b,c,d,e,f,g] or [d,e,f,g]

#

I see Areas with a Position value have priority over those without. as a descriptor for the Position field in FishAreas, which suggests it might be everything, but ordered with Fountain over Town+Default, which would always be like [g,a,b,c,d,e,f] regardless of precedence(?)

rancid temple
#

It's funny that every field in FishAreas is optional

silver snow
#

Yeah, can just straight up have a fish area of "Nothing": {} i guess

rancid temple
#

I'm really confused as to how FishAreas would work without a position, is it just the whole map lol

#

Oh yeah, null is anywhere

silver snow
#

SunRoom supposedly has it yeah

rancid temple
#

So if a, b, c don't have specific FishAreas, then they should show up everywhere by default, and same for d, e, f in the Default Location data, so if you're fishing in the fountain you would get a, b, c, d, e, f, g

#

And if any of those specify a FishAreas that isn't Fountain, it shouldn't show up in Fountain

#

Since it should still be building the total Fish list from both the current location and the Default location

silver snow
#

Huh, neat, and for the sake of it, if it has a defined position and whatnot, should the ordering not put g in the front of the queue upon setup?

#

Ignoring whatever Precedence may be

rancid temple
#

I would have to look at the decompile to see which one goes first in that regard

silver snow
#

Ahhh ok. I might be able to look at it myself too, assuming I can get my hands on it

rancid temple
#

!decompile

ocean sailBOT
silver snow
#

Ah nice, that's not too bad. And C# is at least familiar

rancid temple
#

Sometimes helps to poke around the code, though when you're working in CP it's mostly a curiosity lol

#

So looks like it sorts by the position first and then precedence

calm nebula
#

Not exactly

#

Precedence, then randomized in ther

rancid temple
#

But position is still before that?

next plaza
#

Wow, SMUI really just took SpaceCore's UI and edited it, huh

silver snow
#

guh?

#

not sure what that means, but i am impressed that ilspy was that easy to use

rancid temple
#

Didn't even rename it a little bit

silver snow
#

I see the resemblance, I just haven't touched either I suppose ๐Ÿคทโ€โ™€๏ธ

#

But dang ye

#

especially the same name

lucid iron
#

whats SMUI

rancid temple
#

It seems to be a copy paste of SpaceCore's UI stuff, posted just this morning lol

next plaza
#

...they put it on nuget too

plucky reef
#

well sheesh

brittle pasture
#

per the terms of the MIT license they are required to attribute you in every file they copied and in the license itself. it does not seem like they did

next plaza
#

Yeah, Pathos mentioned the same thing. I'm trying to decide which way I want to do this

rancid musk
#

They have a repo for Valley Reminders.

next plaza
#

Oh, hmm

#

Did that take the code too then?

lucid iron
#

im kind of confused about this thing, it seems to be library but also has a ModEntry?

silver snow
#

Oh, well, checking the decompile was nice too since it shows that errors/null just fish up trash anyway

rancid temple
#

These commit names lmao

next plaza
#

I mean, I have bad commit names a lot too

next plaza
#

Oh boy

rancid temple
#

I don't think I've ever named one "Holy shit it actually works"

rancid musk
#

This person doesn't seem to understand code licensing at all

pine ermine
#

Honestly, I would just make a pull request where you add your license as a file-level comment in the files that are applicable.

rancid musk
#

My biggest concern is that people will see their nonsense on nuget and think using it is a good idea.

pine ermine
#

And say something like "hey, the license says you are allowed to use this, but you also need to include the license notice."

rancid musk
#

And then eventually, version conflicts.

brittle pasture
royal nimbus
#

hey so im wondering about how to go about something graphic wise. so if i want to make a card like on this example, should i just go ahead and make it or would something like this have to be in pieces and be specific sizes like how map tiles work?

silver snow
#

True, it is MIT

royal nimbus
#

been wanting to make it but havent yet because im not sure how to go about it and i dont want to end up making something i wont be able to use

pine ermine
plucky reef
#

how do you do the attributions for an MIT license? In comments in the code or a readme?

cosmic skiff
#

here is a new sorta issue, when the spouse room is added it adds this part of a beam to it, and when the corner room is added the beam is added onto. however, there is nothing in the spouse room map that adds it, nor the corner room map. does anyone know what map is adding these?

lucid iron
#

ive seen it done in a module (file) level comment

brittle pasture
next plaza
lucid iron
#

and also as a NOTICE.txt

pine ermine
plucky reef
#

good to note

pine ermine
#

The MIT license doesn't have rules about how attribution should be made like some other licenses.

#

It just says there should be attribution

#

And that the license should be "included"

tiny zealot
#

it actually does. it says The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software., which is pretty explicit

next plaza
#

(This is part of the reason why I'm hesitant to make future mods like MMR open source)

silver snow
lucid iron
silver snow
#

I'm also partially trying to understand this, licensing stuff like this is something i more or less see happen than work with

rancid musk
#

(This reminds me I never got around to writing a custom anti-curseforge license for my stuff.)

silver snow
#

In any case, an eugh to plagiarizing from me

tiny zealot
#

more restrictive licenses are possible, and indeed the norm for software. usually you get a black box

silver snow
#

yea

lucid iron
#

if they didnt obey MIT as described then the only way is to keep your stuff closed source LilyDerp

pine ermine
#

You could just put a license notice at the top of all your own files. Then the only way someone could possibly mess it up is if they intentionally removed it.

silver snow
#

mhm, thats what I did for the one and only thing I made open source so far

#

though ig i might want to relicense that upon second thought..

#

Eh, I used CC BY-NC-SA. That describes credit needs to be given to me, no commerical products from it, and all under same terms

brittle pasture
#

I should start doing it lol, I'm not even putting a notice into the license

#

though should I use my real name or my internet name, and which internet name

silver snow
#

I just have a blurb of Copyright (C) 2024 Romayne (Contact @ https://...)

#

I see no reason to doxx myself for copyright lol

#

just goes to my github

lucid iron
#

these have placeholder room for spouse room

lucid iron
silver snow
#

๐Ÿคทโ€โ™€๏ธ maybe? I wouldn't know the why of that

#

Ah

#

it came up pretty easily in results. Ok. Might need to then LOL

brittle pasture
#

if you're doing -BY it's better to use MIT/Apache, and if you're adding -SA it's better to use GPL
as for -NC, it's kinda a legal mess where software is concerned, not the least of which that your software is technically not open source if you're using -NC so there's no license for that

silver snow
#

I guess GNU AGPLv3 is nice

#

Yeah

plucky reef
silver snow
#

Thankfully I only need to change one file SDVpuffersquee

plucky reef
#

CC licenses do not contain specific terms about the distribution of source code, which is often important to ensuring the free reuse and modifiability of software. Many software licenses also address patent rights, which are important to software but may not be applicable to other copyrightable works. Additionally, our licenses are currently not compatible with the major software licenses, so it would be difficult to integrate CC-licensed work with other free software.

#

I've been using GNU AGPLv3 because I am using other mods that use the same license for reference so I must.

rancid temple
#

Just know that your previous commits will still have the old license

silver snow
#

Yeah, it seems reasonable

#

Eh thats fine, the code quality of the aforementioned project is dubious at this stage, if someone really wants to go ahead and do that I dont think id be mad. Good point though, just gotta do smth about it sooner than later

rancid temple
#

The only thing I would have liked to have done before was whatever I need to try to deter AI training, as if they don't just ignore that

silver snow
#

I treat that as a lost cause honestly

tiny zealot
silver snow
#

Good luck even knowing who scrapes the repo

plucky reef
#

robots.txt needs to be enforceable.

#

I tried ChatGPT for some Euler's problems that I had already done and was unpleasantly surprised that it spit out my exact code uploaded a few years ago for the answer to questions 1-3.

#

I tried asking it one of the questions I hadn't done yet and it completely fumbled it.

silver snow
#

Sounds about right lol

rancid temple
#

Working as intended

plucky reef
#

One thing I was wondering, if art is commissioned for a mod, how does that copyright work with a copyleft license? The mod author "buys" the copyright from the artist and then transforms it into the copyleft when it gets added to mod assets?

next plaza
#

Typically only code is under the code license, not assets SDVPufferThink

brittle pasture
#

yeah I use Apache for the code and CC for the arts I make myself
Old commercial games that are made open source usually does not include the assets in the license

plucky reef
#

Feels like it would be easiest to do my own art to avoid that headache of copyrights for assets.

tiny zealot
#

working out the license terms with your commissionee ahead of time is important, i think

silver snow
#

trash has how much precedence? what the

brittle pasture
#

Doom for example is open source, but the assets are still under copyright by id software so if you want to build Doom you still either have to buy a legal copy to get the assets or draw everything yourself

silver snow
#

Trying to understand this, if trash has 2000 precedence and is a part of the "Default" keyed fish data, would it not go to the front of possibleFish each time?

#

Or is it ordering in reverse, somehow

rancid temple
#

Precedence is negative first

#

Or lower first

#

You can go negative with it

silver snow
#

Ok, thank you for the sanity check

#

I thought it was higher number better

#

That's all the fish for a location that it gets, so presumably it is only the default location and the current area by ID

silver snow
rancid temple
#

And randomized if they're the same precedence after that

silver snow
#

Yep

#

That's actually a huge help, thank you so much SDVpufferheart

#

The current algorithm I have for getting the base proportions of fish in an area is O(N!) and I haven't had luck getting it down to O(N^2) even after a lot of hair pulling, so being able to go from sets of 21 fish (1000+ years to calculate, owch) to a few seconds is critical

#

Each segment of identical precedence should be much more ordered, I would hope at most 9-10 fish in a row of the same precedence for an area like the beach would be the case

calm nebula
royal nimbus
#

yeah it def seems pretty complicated so fair if no one knows how that would work, graphic wise at least. for the coding, yeah im likely gonna have to cmmmission someone if i can afford it. poor so. we see

#

perhaps it would also depend on how it gets coded

tiny zealot
old edge
#

hello

royal nimbus
teal bridge
#

Any of you folks have experience trying to scale a speech bubble? I was thinking "just nine-slice everything but the tail, and draw the tail unscaled", like so (first image). However, because there's a gap in the center, that gap widens and the edges of the tail don't actually meet (second image). It doesn't really matter where I try to segment the tail sprite vertically, it's always going to look like this.

Is there a solution other than just grossly stretching the entire sprite without a nine-slice?

#

(Discord previews did some awful cropping there, need to click on them to see correctly)

#

I'm sure I've done this before, successfully, but it must have been with the tail farther to the left or right, not having one perfectly centered bottom pixel.

tiny zealot
#

at that size in particular, it doesn't look bad enough to bother me, but i'm sure at others it would

teal bridge
#

Really? The grey not meeting the black would drive me nuts, personally.

tiny zealot
#

probably because it's on a dark background

rancid musk
#

This seems like a good opportunity for a ten slice.

tiny zealot
#

i would keep the nineslice but probably special-case the bottom-middle one to draw the whole thing with the bottom border. then draw the tail with the extra pixel on it to include the gap

teal bridge
#

Never even heard of a ten slice, what is that?

rancid musk
#

Slicing it into ten instead of nine draw calls, lol. The tail would need to be drawn with a tenth call in order to scale that correctly.

#

Yeah I don't think there's any way you could draw that with less calls.

teal bridge
#

Oh, I get that - I mean, that's the idea, there will be ten calls with a separate one for the tail.

rancid musk
#

Unless you wanted to write a custom shader just for nine slicing without nine slicing.

teal bridge
#

But even with the ten calls it will look like the image on the right side.

tiny zealot
teal bridge
#

Unless you mean scale the tail as well (just stretch it)?

rancid musk
#

The source texture should have the tail separate from the rest of the balloon.

#

Then you should draw the tail on top of the balloon where appropriate.

teal bridge
#

The issue is that there isn't a continuous line. The edges of the tail have to (or, IMO, should) meet the edges of the balloon.

#

The balloon is open at the bottom, if I'm making sense here.

rancid musk
#

If this entire region is a separate part of your texture, then you can just overlay it wherever.

#

Or even flip it to put it on different sides.

teal bridge
#

I think I'm not explaining this well - with the image you just posted above, what happens is that when the bottom-center slice of the bubble part (not the tail part) is stretched wider, the black edges are pulled to the left and right. They no longer meet the static tail.

rancid musk
#

I'm not explaining well either I suppose.

#

I'm saying, your source texture should be like this.

#

Completely solid bubble. Completely separate tail.

teal bridge
#

Ah. Close the bubble, and then use the tail to reopen it.

rancid musk
#

Yes.

teal bridge
#

Yes, that works when there's no transparency... Stardew's sprite isn't that, so I'll have to think about where this leads in terms of recolors and such.

#

Trivially easy to make one but then it's no longer using vanilla. Or I could hack in a staminaRect somewhere but it might be invalid if someone changes the bubble shape.

rancid musk
#

Which sheet is the vanilla bubble in, so I can look at it?

teal bridge
#

Boils down to - can't really be done well without changing the sprite in some way, huh? I mean, I couldn't think of a way either, clearly.

rancid musk
#

Cursors?

teal bridge
#

Cursors, of course, lol

#

at 141, 465

lucid iron
#

Is this the emote bubble?

tiny zealot
#

emote bubbles are baked into the emote spritesheet

#

is this for textAboveHead? how does the game handle it?

rancid musk
#

My only other suggestion is to draw the entire bottom using just a couple pixels to the left side of the tail.

#

But that obviously could break for other reasons

teal bridge
#

I think textAboveHead might be the less-oppressive bubble at the bottom of the cursors sheet.

rancid musk
#

Yeah, using the bigger bubble would definitely help.

tiny zealot
teal bridge
#

I'd like this to be consistent with what many other mods already do, like the crop bubbles and so on.

#

I'm not sure I understand the difference between the second suggestion and the first one.

tiny zealot
#

first suggestion: change source texture so bottom slice has full border.
second suggestion: use 3 or 4 pixels of the bottom slice (where the border is) instead of the whole slice, since it will stretch cleanly (for the unmodified vanilla texture)

teal bridge
#

I think I see. It's a little wacky, but essentially a kind of "reverse 9-slice" inside a regular 9-slice.

#

And that's... way too small to see anything.

#

Just took a screenshot. In this strange alternative patch, the center is the only part that isn't scaled.

rancid musk
#

I mean just stretch this bit horizontally for the whole width.

teal bridge
#

Yes, I believe that's the outcome of what I posted above - the left and right columns of the green table get stretched, center doesn't.

#

Of course I could also just take that entire 1-pixel-high segment as its own sprite and draw it between the two layers (above the nine-slice, underneath the tail). Probably would be the same result in terms of compatibility or not-very-compatibility.

#

(my guess is, works well with recolors, breaks down for major sprite changes)

rancid musk
#

At a certain point you have to give up and just let things look weird for major sprite changes.

teal bridge
#

True enough, an extreme re-spriting could just invalidate the fundamental nine-slice dimensions in the first place.

#

Stretching the entire segment across seems to be the easiest, as long as I also re-paste the tail on top with a 1-pixel overlap.

teal bridge
#

"Eleven-slice" looks like the way to go, thanks for the suggestions you two

obtuse ivy
#

Hii I want to ask- is making a custom NPC send a mail to farmer difficult?

#

If its easy, does anyone know how to do it

cosmic skiff
#

if you need me, ill be screaming. everything else is working as it should, EXCEPT THIS BIT

#

so you know what im just modding that bit back into the build, im tired of fighting it

lucid iron
#

Oh that's the dining room renovation

cosmic skiff
#

dining room addon was deleted

lucid iron
#

It's got both the room itself plus open close wall

#

Need to handle close wall I think

lucid iron
cosmic skiff
#

or maybe it wasn't, let me see if that works

lucid iron
obtuse ivy
#

just a simple one where npc tells farmer to meet them at their house tonight

lucid iron
#

Those are through day ending trigger actions iirc

velvet narwhal
#

you can do daystarted

obtuse ivy
#

lemme read it for a sec..

#

do i have to make a new folder called triggeraction?

velvet narwhal
#

you can put it into your content.json

obtuse ivy
#

ohh

velvet narwhal
#

you just have to also have an editdata -> data/mail

obtuse ivy
#

whats that? :o

velvet narwhal
#

for your actual letter

obtuse ivy
#

blinks..

#

so i do editdata > data/mail and put this one right?

#

"Robin": "Hey there!^I had some extra wood lying around... I thought maybe you could use it. Take care! ^ -Robin %item object 388 50 %%[#]A Gift From Robin"

cosmic skiff
# lucid iron Oh that's the dining room renovation

you were right. its fixed now. i still cant figure the other glitch but the house is now working in its own content pack and i should probably not be doing my actual job and modding at the same time

velvet narwhal
#

let me see if i can pull up my ref

obtuse ivy
#

for this one, it says modId... whats that?

obtuse ivy
iron ridge
#

a token for your mod id

#

leave it as {{ModId}} and it'll fill it in automatically

velvet narwhal
#

{{ModId}} is a content patcher token that takes from your manifest.json of your Unique.ID

obtuse ivy
#

ohh that one

obtuse ivy
velvet narwhal
obtuse ivy
#

do i just have to put that in content.json ?

#

and the triggeraction one right

velvet narwhal
#

you can put it wherever you want, if you make a new .json for it, you have to include it as an action inside of your content.json

obtuse ivy
#

ok ok.. so i have to do triggeraction and data/mail

#

is that right?

velvet narwhal
#

yeah

#
    "LogName": "Trigger Actions: Base",
    "Action": "EditData",
    "Target": "Data/TriggerActions",
    "Entries": {
        "{{ModId}}_LETTERID": {
            "Id": "{{ModId}}_LETTERID",
            "Trigger": "DayStarted",
            "Condition": "GAME STATE QUERY HERE",
            "Actions": [
                "AddMail Current {{ModId}}_LETTERID now"
            ]
        }
    }
}```
this is for the condition: <https://stardewvalleywiki.com/Modding:Game_state_queries>
obtuse ivy
#

for "GAME STATE QUERY HERE" it'd be PLAYER_HAS_MAIL right?

velvet narwhal
#

well you said you wanted the npc to send it, you have to have something that causes that unless it's quite literally "meet me here"

#

if it's relationship based, you use the PLAYER_NPC_RELATIONSHIP one

#

if it's heart event related, PLAYER_HAS_SEEN_EVENT etc

obtuse ivy
#

ohhhhhhh!!

#

i see that theres PLAYER_HEARTS thingy and i think thatd suit what im trying to do better

#

ok tysm! i will do my first trial run n see how it goes ... ๐Ÿซก

ivory ridge
#

Hey, if I use the editimage fuction of content patcher, will transparent portions of the image I'm using overwrite things on the source image?

brittle pasture
#

Yes. If you don't want that to happen set patch mode to Overlay

ivory ridge
#

Okay cool

#

That makes things way easier

#

Oh, and if I wanted to target multiple files (I'm replacing the bridge in the fall/spring/summer/winter outdoor tilesheets), would I be able to do that in one action? The documentation seems to say it is but I'm not certain on the syntax

#

Like would I do ""Target": "Maps/fall_outdoorsTileSheet", "Maps/spring_outdoorsTileSheet", "Maps/summer_outdoorsTileSheet", "Maps/winter_outdoorsTileSheet""

rancid temple
#

All in one "" pair, so

"Target": "Maps/fall_outdoorsTileSheet, Maps/spring_outdoorsTileSheet, ..."//etc
ivory ridge
#

Gotcha

tiny zealot
#

for this you can probably also use {{Season}} instead of specifying all the filenames, but that's mostly academic

ivory ridge
#

Same effect but a bit cleaner

tiny zealot
#

(there are edge cases where it makes a difference, but not in typical gameplay)

hallow prism
#

well, the main advantage of using the season token is if the file you want to use has seasonal variant too, in which case you can do all in one patch

ivory ridge
#

Yeah, I'm making a mod that changes the color of a lot of the wood in the game based on my own personal texture edits, so that could come in handy if I decide to edit some of the winter ones

tiny zealot
#

yeah, you will likely be using {{TargetWithoutPath}} or something like it in the FromFile no matter which way you do it

rancid temple
#
"Action": "EditImage",
"Target": "Maps/{{season}}_outdoorsTileSheet",
"FromFile": "assets/{{TargetWithoutPath}}.png"

and then just make sure your png source files are named the same

#

Though you will probably want to specify a from and to area

#

Rather than replacing the entire thing

#

Or I guess if you're doing a lot, Overlay instead

ivory ridge
#

(On Discord)

rancid temple
#

!codeblock

ocean sailBOT
#

You can embed code in Discord using a series of three ` :

Your code can go here
Even if not a haiku
Just an example

For syntax highlighting, add the language code on the same line as the first (with a space between, like json). The usual codes are cs (C#) and json.

rancid temple
#

Lol, still broken

velvet narwhal
#

they massacred my boy

rancid temple
#

It's the backtick `, same button as tilde ~

#

If you're on an English keyboard anyways

lucid iron
#

The codeblocks command looks fine for me

rancid temple
#

The first backtick isn't properly escaped it looks like to me

#

Which is breaking the rest of the block

lucid iron
#

Oh I see, yeah same here

#

I thought it was meant to just show the 3 ticks lol

rancid temple
#

I'm not sure how to edit commands

ivory ridge
#
            "Action": "EditImage",
                "PatchMode": "Overlay",
                "Target": "Maps/{{Season}}_outdoorsTileSheet"
                "FromFile": "assets/QuarryBridge.png",
                "ToArea":
                {    "X": 0, "Y": 1114, "Width": 272, "Height": 102}
        }```
rancid temple
#

Now if only discord didn't eat spacing

ivory ridge
#

That's what I've got so far

rancid temple
#

So not doing any of the color grading?

ivory ridge
#

Not yet at least

rancid temple
#

As long as your goal is to have the same source image overlayed onto the individual seasonal outdoor tilesheets, then that's probably fine, assuming your rectangle info is correct

ivory ridge
#

Yeah that's what I'm aiming for

rancid temple
#

And that your source image is that size and not the size of the whole outdoor tilesheet

ivory ridge
#

Yeah lol

rancid temple
#

Are you using a text editor with validation?

ivory ridge
#

Notepad++

rancid temple
#

Only thing left I can suggest is testing it then

#

Endless testing

ivory ridge
#

Possibly today, we shall see

lucid iron
#

Rmbr to turn on json plugin for np++

ivory ridge
#

I've just been going without plugins ngl

velvet narwhal
#

(does mod author let me into seeing smapi patchnotes cause i wanna see how that i18n splitter goes)

ocean sailBOT
#

New command added! You can use it like !codeblock.

rancid temple
#

!codeblock

ocean sailBOT
#

You can embed code in Discord using a series of three ` :

Your code can go here
Even if not a haiku
Just an example

For syntax highlighting, add the language code on the same line as the first (with a space between, like json). The usual codes are cs (C#) and json.

velvet narwhal
#

nope

rancid temple
#

Hm, didn't fix it, that's weird

#

Maybe embeds have a different way to escape characters

ivory ridge
#

What's dumb is that I have a mod basically ready to be posted to Nexus but I just haven't taken any screenshots or anything for it

#

And I've been procrastinating it solely on that

rancid temple
#

I just make sure I have one that can act like a title and then maybe one or two that give a basic idea of what it's doing, unless it's some kind of mod author focused mod

ivory ridge
#

Yeah I just haven't bothered to figure out what to use since all the things I edited are items

rancid temple
#

If it's art focused, just take some screenshots of the items in game

velvet narwhal
#

i go with the always works: items raining from the sky

rancid temple
#

As for the words, nobody reads shit, so put whatever

lucid iron
rancid temple
#

You'll either have to keep explaining what you already wrote anyways or just ignore users

ivory ridge
#

My first mod just starts with "I literally made this in response to a Tweet"

#

Somehow it's been downloaded by 1300 people

plucky reef
#

What's the mod?

ivory ridge
#

Another one that makes Shane not a drunk post-marriage

#

I don't even have any personal investment in it

velvet narwhal
#

i was always bothered that his spouseroom is a mess

ivory ridge
#

Yeah I just removed the mess and edited his dialogue

fathom hound
ivory ridge
#

Gin***

fathom hound
#

Bahah

ivory ridge
#

With wonderfully written lines like "Bad_8": "Yeah... hic ... Sure, honey. Whatever you say... hic. Sorry, I've got hiccups."

latent mauve
#

I have to keep resisting the urge to procrastinate on my big mod and make another minimod to make Pierre less terrible

obtuse ivy
ivory ridge
#

Or "spring_1": "Ooo... my throbbing head. I rolled off the bed last night..."

#

Hangover? Nah, brain damage

rancid temple
#

Same difference lol

ivory ridge
#

Real

rancid temple
#

God I wish I knew anything about how discord bots work

lucid iron
#

do u think &#96; would work

#

or \0060

rancid temple
#

No idea, technically that \ is there on the website where you can see all the commands, but it apparently isn't doing anything in the actual embed

#

It escaped itself and was pleased

lone ice
#

hi all! anyone know if there's a way to make events repeatable?

#

I made an event that lets you sleep over with the person you're dating, but i want that to be an option any night

velvet narwhal
pine ermine
#

There's a specific command that makes events repeatable I thought

velvet narwhal
#

it's probably in trigger actions, i have waffle in mouth

pine ermine
#

No, in the event script itself

velvet narwhal
#

oh

lone ice
#

i'll check back later if anyone had additional thoughts on this, i'm late for class ๐Ÿ˜…

#

thank you!

ivory ridge
#

Me with class in 40 minutes

#

(I have yet to shower)

velvet narwhal
#

SDVpufferclueless i'm not seeing it

pine ermine
#

/eventSeen <event_id> [true|false]

#

It's not documented on the wiki

velvet narwhal
#

oh well that makes sense

pine ermine
#

I've used it plenty of times though

velvet narwhal
#

i can shove it into the wiki right now if you want

pine ermine
#

Go for it

#

It defaults to true btw

#

And it has special logic where if the event ID is the current event, then it prevents the current event from being marked as seen when it ends or is skipped if it was set to false.

velvet narwhal
#

let's see if i remember how wiki format goes

pine ermine
#

I've seen it syntaxed as [true|false] in other places

velvet narwhal
#

oh fair

#

i honestly copied and pasted hideShadow <actor> <true/false> lmao

pine ermine
#

It seems inconsistent actually

rancid temple
#

A community run wiki is nothing if not inconsistent

pine ermine
#

viewport is the only one that doesn't use slash, so keep the slash I guess

velvet narwhal
#

viewport is a strange beast and i don't like using the other options unless i pull up the decompile to read what it do

#

i wish i could repro how i made the viewport hook onto my farmer though

ocean sailBOT
#

New command added! You can use it like !codeblock.

rancid temple
#

!codeblock last try

ocean sailBOT
#

You can embed code in Discord using a series of three ` :

Your code can go here
Even if not a haiku
Just an example

For syntax highlighting, add the language code on the same line as the first (with a space between, like json). The usual codes are cs (C#) and json.

velvet narwhal
#

buzzer noises

rancid temple
#

Yeah fuck it I guess lol

pine ermine
#

I would change the description to say, Used to prevent a mutually exclusive event from being seen

rancid temple
#

I'll have to bug someone who actually understands this bot

pine ermine
#

Because it default to "true" and makes an event as "seen"

#

You could mention later that it can be used to make events repeatable though due to the special logic.

velvet narwhal
#

nah if someone asks what that wiki means we'll just be like, "it's used for repeatable events"

#

i'm around enough to be like, "it do what it do"

#

(i just don't wanna edit the wiki a 3rd time)

uncut viper
#

a person should not need to come into the discord to be able to understand a wiki

pine ermine
#

The game never used it for that purpose though from what I've seen.

#

It only ever used it for mutually exclusive events.

velvet narwhal
#

fine i'll edit it a 3rd time

rancid temple
#

But reading a wiki is hard, it's much easier to read what other people tell you the wiki says

uncut viper
#

doesn't all the other stuff not even say what the commands are used for, just what they do?

velvet narwhal
#

yeah, there's also a lot of blank spaces that don't describe the optionals

#

i will not undertake that until my midterms are over, i already planned to migrate 1.6 npc changes into npc

uncut viper
#

if all the command does is mark an event seen, that's what I'd personally put in it and not say it's "used to prevent mutually exclusive events" because that implies it's the only use

pine ermine
#

There were a few other event commands I saw that were undocumented.

velvet narwhal
#

okay my waffles are consumed, i'mma change one last time because i was copying and pasting rather than actually reading

pine ermine
#

/action
/showItemsLost
/locationSpecificCommand
/unskippable
/setSkipActions
/playPetSound
/stopSound

velvet narwhal
sleek aurora
rancid temple
#

MK_ChampagneGrapeCrop in Data/Crops should be MK_ChampagneGrapeSeed

pine ermine
noble jolt
#

I'm back! Finally have a second monitor again! Ready to tackle making a greenhouse that can be upgraded.

velvet narwhal
#

it didn't like me touching that so i'mma leave it for now

#

Remind me in 48 hours to fix the event wiki addins

patent lanceBOT
#

hahahaha what? are you serious? I'm a bot not an alarm clock but okaaaaaay (#6224789) (48h | <t:1725738408>)

warped spade
#

Hello there, I'm trying to make my mod apply some patches only when certain files are present in its folder. The idea is to allow users to choose which patches to install without clogging the gmcm menu as currently each patch is its own mod. I've attempted to use dynamic tokens and HasFile, to no avail ๐Ÿ˜”
...
"DynamicTokens":[
{
"Name":"FarmersMarketPatch",
"Value": "true",
"When": {
"HasFile: patches/mrssiFarmersMarket/shop_marnie.json, patches/mrssiFarmersMarket/shop_willy.json, patches/mrssiFarmersMarket/shop_clint.json, patches/mrssiFarmersMarket/shop_sophia_sve.json, patches/mrssiFarmersMarket/shop_susan_sve.json, patches/mrssiFarmersMarket/shop_andy_sve.json": "true"
}
},
{
"Name":"FarmersMarketPatch",
"Value": "false"
}
],
"Changes": [
{
"Action": "Include",
"FromFile": "patches/mrssiFarmersMarket/shop_marnie.json, patches/mrssiFarmersMarket/shop_willy.json, patches/mrssiFarmersMarket/shop_clint.json",
"When": {
"HasMod": "br93.FarmersMarket",
"FarmersMarketPatch": true
}
},
{
"Action": "Include",
"FromFile": "patches/mrssiFarmersMarket/shop_sophia_sve.json, patches/mrssiFarmersMarket/shop_susan_sve.json, patches/mrssiFarmersMarket/shop_andy_sve.json",
"When": {
"HasMod": "FlashShifter.StardewValleyExpandedCP, br93.FarmersMarket",
"FarmersMarketPatch": true
}
}
]
...

pine ermine
# pine ermine `/action` `/showItemsLost` `/locationSpecificCommand` `/unskippable` `/setSkipAc...

These are all the commands in the latest stardew version that aren't documented on the wiki:
Action
ShowItemsLost
LocationSpecificCommand
Unskippable
SetSkipActions
PlayPetSound
StopSound
PrecisePause
ResetVariable
WarpFarmers
IgnoreMovementAnimation
HostMail
Null
AddSpecialOrder
RemoveSpecialOrder
WaitForTempSprite
BgColor
ElliottBookTalk
RequestMovieEnd
RestoreStashedItem
AddWorldState
TranslateName
ReplaceWithClone
PlayFramesAhead
ShowKissFrame
DrawOffset
AnimateHeight
SpriteText
QuestionAnswered
GainSkill
MoveToSoup

sleek aurora
teal bridge
#

Can't believe there's a dedicated MoveToSoup command.

unreal spoke
teal bridge
#

(Also, Null SDVpufferpain )

uncut viper
#

there's a Null trigger action action too

warped spade
unreal spoke
#

In that case, itโ€™s probably that the hasFile that doesnโ€™t work the way you want. Like I said, though, I donโ€™t know how it works, so someone else will have to take over.

velvet narwhal
#

i assume by checking in the folder, you want the user to drag and drop these files in? i'd just clog the gmcm tbh

warped spade
rancid temple
#

I think HasFile can only check one file at a time

#

Any commas are counted as part of the name

unreal spoke
#

Oh, wait โ€“ are you the guy who made the compat patches for that realistic shop inventory mod?

rancid temple
#

You could probably do something with Query to check for multiple

warped spade
rancid temple
#

Based on the wording on the documentation, I think it's only a single file per HasFile

velvet narwhal
#

roku is correct: If the input has commas like HasFile: a, b.png, they're treated as part of the filename

#

you could be extremely asinine and make them separate optionals, set their own manifest.jsons and do HasMod

#

that's the super painful way though

warped spade
rancid temple
#

You could try FirstValidFile

velvet narwhal
#

well if someone wanted multiple patches it'd only take 1 right? or are they all incompatible with each other

rancid temple
#

So

"HasFile": "{{FirstValidFile: assets/fileName1.json, assets/fileName2.json}}"

It would in fact return the first one it found

warped spade
rancid temple
#

If you want multiple you'd have to do

"HasFile:assets/fileName1.json": "true",
"HasFile:assets/fileName2.json": "true"
```etc
#

So FirstValidFile you can use to match against any of the desired files at all, and the second would be specfically against the ones marked as true

#

Where you could also mark some false if you wanted to set up very specific combos

velvet narwhal
#

op- textbook finally downloaded, SDVpufferwaaah goodbye i'm off to study

warped spade
#

Thinking back on it, checking just one file per patch should work as users probably wouldn't delete random files ๐Ÿคฆโ€โ™‚๏ธ

versed moss
#

hello guys

warped spade
#

Hiii

rancid temple
#

Hm, well, I'm forced to accept that making changes to the bots might not be instant lmao

#

Or maybe changing an alias doesn't work?

#

Maybe I should make myself a thread for spamming stupid bullshit lmao

rancid temple
#

I got a complaint on Nexus on one of my mods because the person assumed they could just delete one of the folders I shipped it with

rancid temple
#

So they just straight up deleted half the mod and were surprised pikachu when it didn't work (I think I lost access to the puffer surprised pikachu when I lost the discord emoji subscription, sad)

uncut viper
#

that has also happened to me

warped spade
sleek aurora
#

Do I understand correctly that in which plant sprites are described, it must be called crops and located in the data folder and nothing else?

rancid temple
# versed moss why?

I've been trying to fix the dumb codeblock command and I've just been putting unnecessary crap in chat with it, would be better to just have a thread where my rambling doesn't mess with helping people lol

rancid temple
#

If you mean the entry key of your crop, it needs to be unique across all the mods you have installed, hence why there's many suggestions to use the {{ModId}} token

velvet narwhal
rancid temple
#

If you mean your json files, you can name those whatever you want as long as you have a content.json, manifest.json, and are including the extra jsons properly in the content

#

I did start doing command stuff in there, just not sure how spammy I can get with the testing lol

velvet narwhal
#

(i mean for my reload action we kept trying for like 10 messages so iunno)

rancid temple
#

Good enough for me, probably will just get a warning if I get out of hand lol (hopefully)

drowsy pewter
sleek aurora
#

How does the game even understand what sprite of a plant should be when planting a seed? By the same part of the identifier?

rancid temple
#

!codeblock it lives!

ocean sailBOT
#

You can embed code in Discord using a series of three ` :
```
Your code can go here
Even if not a haiku
Just an example
```

For syntax highlighting, add the language code on the same line as the first
``` (with no space, like ```json).
The usual codes are cs (C#) and json.

drowsy pewter
#

i dont understand your question

rancid temple
#

Data/Crops entry keys are the unqualified item ID of the seed object, the crop sprites you set in the data

warped spade
#

Thank you so much for the help @rancid temple SDVjuniheart It finally works ๐ŸŽ‰

rancid temple
#

So the crop is tied to the seed by that unqualified item ID and the sprites of the crop are set in the data

#

(SDVpuffershocked I found it, it has neither pikachu nor surprised in its name)

inner harbor
#

if it is night time in game but you want to run an event that is set during daytime (ie: a flashback or a post-festival event) is it possible to set the event to have daytime light levels?

sleek aurora
#

This means that I correctly understood the logic of the connection between plants and seeds. But the landing doesnโ€™t want to work ๐Ÿ˜ฉ ๐Ÿ˜ตโ€๐Ÿ’ซ ๐Ÿ˜ต

next plaza
#

Do monsters have invulnerability frames after taking damage? (Iโ€™m at work and canโ€™t check myself)

inner harbor
#

Th eonly thing I van think of is making the map as an indoor map, but I think even those are affected by nightfall?

uncut viper
finite ginkgo
next plaza
#

I didnโ€™t realize that was a command

finite ginkgo
#

i had an inkling i had read it once on the event wiki page; yup it was there

inner harbor
#

(and that the part we participate in actively is but a small portion of it)

sleek aurora
#

Phew, finally figured it out. By evening the brain already refuses to think ๐Ÿ˜…

scenic tinsel
#

Downloaded mobile sdv to have something keep me entertained on a train during the long weekend ride and accidentally got addicted SDVkrobusgiggle

And it inspired me to work on mod a bit before sleep ๐Ÿ’ƒ๐Ÿฝ

old edge
#

anyone got a good event moving directional guide?

scenic tinsel
# old edge anyone got a good event moving directional guide?

i am not sure what you mean but if you want to know where and how far to move characters, i advise DebugMode mod!! It shows you coodrinates of every tile everywhere. You just need to go to that location and turn walk with your farmer and note down! it looks like this

#

x and y axis

#

so when you write your event to make npcs or your farmer move, you write move [NPC] x y z
with z being the direction you want them to face at the end

lone ice
#

... /end newDay/eventSeen etc"/,

#

Also thank you so much!!

uncut viper
#

can you put event commands anywhere in the script? im not an event person, but if i understood correctly before you might want it at the start? bc if the person skips to the end of the event with the skip button before that command happens, it wont work
someone can correct me if im wrong toh

lone ice
#

Ohhh good point

velvet narwhal
#

something link said earlier, hold on

lone ice
#

Perfect ok

#

Thank you

#

I've done so many things I didn't even dream of before all you guys helped me ๐Ÿ˜ญ๐Ÿ’–

velvet narwhal
#

it's a maybe for throwing event commands anywhere, obviously it reads left to right, and you might wanna throw some flags somewhere that'll trigger specific switch events, and i think skippable acts... strange... if it's too far along in the queue

scenic tinsel
#

they're not skippable by default

uncut viper
#

ah, did not know that, good to know thank you SDVpufferthumbsup
i imagine an event thats repeatable is probably one you wanna let be skippable tho

scenic tinsel
#

but also yes you can put them pretty much anywhere, as long as you defined things like written in guides ๐Ÿ’ƒ

#

modding wiki has some amazing tutorials on how to write events

#

suuuuper helpful

inner harbor
#

I might have a play with ambientlight to see what happens

hallow prism
#

you can add skippable command at any point, you can even have a command to make it unskippable, some mods use that to alternate

#

and pathos added a command to set what should happen if the player skip before a certain point but i didn't look too much into it

faint ingot
#

waiting around here like an idiot to check on my NPC schedule changes which never happen because instead of "spring_Thu" I wrote "sprint_Thu"

hallow prism
#

the worse part is that capitalisation matters

#

i had schedules not working because i named them Summer_something

lone ice
#

Yeah I had that problem with end NewDay

#

It was newDay

#

And visual studio constantly automatically adds brackets or spacing where I didn't expect it

pine ermine
dreamy cedar
#

Am I correct in thinking that once a quest is completed, it's removed from the 'questLog' and there's no way to test if a player has, at some point in the distant past, completed a quest with a given ID?

uncut viper
#

completing a quest starts a conversation topic with the format questComplete_[questID]

#

so you can check past dialogue events if you're in C#, or spacecore has a GSQ for it

#

(iirc)

lucid iron
#

you can add mail flags in the complete dialog too

uncut viper
#

that is an easier way to go about it yeah. so long as you control the quest in question

hallow prism
#

yeah if it's your quest add a check in the dialogue

#

it's wayyyyy easier and canbe used for several things anyway

young mist
#

Hi, Iโ€™m player for this game with modding

#

I have a question
I want to know have any mod that let player can wear or using thing from Scottish culture?

lucid iron
hallow prism
#

maybe elaho

uncut viper
#

you probably wanna ask in #modded-stardew but theres probably a Fashion Sense pack for it somewhere

sudden scroll
#

Hi
Is there an event or something to modify how much energy is lost when losing energy or do I have to use harmony lol

hallow prism
#

i don't remember if there was stuff for farmer in addition of elliott wedding outfit

lucid iron
#

so for tool energy use

#

increasing your skill level increasaes efficiency

#

iirc thats 0.5 less energy per 1 efficiency

sudden scroll
#

0.1 less energy? I think?

lucid iron
#

possibly, i'd have to look it up in decompiles

young mist
lucid iron
#

what is your use case?