#making-mods-general

1 messages · Page 536 of 1

lucid iron
#

Yeah changing their DisplayName is sufficient

#

There's a Strings/NPCNames asset

glossy jacinth
#

hii! how can I set up tilesheetinator so the tiles have their properties and also the animations?

brave fable
#

the tilesheetinator is purely for the tilesheet image, not the tileset data; you'd need to add the tileset to your map first with the data you need, or add it manually after

#

ideally you'd start with a map that you know has a tileset with all the tile properties you need, such as the Forest if you need animated light-dirt-waters-edge tiles, or the Mountain if you need animated dark-dirt-waters-edge tiles (important note that not all maps that have a tileset with the same tilesheet image will have the same tile properties)

#

if you didn't start with a map that has the tileset (or data) you need, you can export it from that map in the tileset viewer with the 'export tileset' button to create a TSX tileset file, and then import it to your map with the adjacent 'embed tileset' button in your own map

#

if your map has a tileset with the correct tilesheet image but the incorrect tileset data, such as missing animations, you can use the 'replace tileset' button in the tileset viewer to replace the current tileset with an exported TSX tileset

tranquil surge
zenith steppe
#

In a cooking recipe, if I use -6 in the ingredients, that'll use the entire milk category right? Any milk?

#

THANK YOU! heartspurple

calm nebula
#

Now I'm double checking if it's true lol

#

Yup, should be, but it might not render correctly in a tooltip

sinful pasture
#

Wondering if this is the right place to ask this -- sorry if not. @ivory plume I would like to make a feature request for and then code a new feature for the Lookup Anything mod. Where exactly would this feature be designed/broken down? I would like to add a section regarding where an item can be purchased from, under which conditions it can be, and for what "price".

lucid iron
#

this is the right place for discussing

#

you can discuss and then submit a pull request to pathos on his github repository

ivory plume
#

Hi! Yep, here is good for the initial discussion.

Do you already have an idea of how you want to implement it? It's a common request, but it hasn't been done already because item sources are often hardcoded in a way that Lookup Anything can't reliably extract. For example, even if we only look at shop data (so we don't need to worry about items hardcoded in the C# code), there's a lot of dynamic game state queries, item queries, randomization, conditional Content Patcher patches, etc which make it very difficult to have any degree of comprehensive list.

brittle pasture
#

I think for shops we can reuse much of the machine stuff

sinful pasture
#

I am new to modding stardew, so i do not have implementation details figured out yet. but i am willing to lab some stuff to try and see what we can do! my friend mentioned it to me and i thought id try to come up with something.

ivory plume
#

Contributions are certainly welcome, and feel free to ask if you have any questions! That'll be pretty complex for a first modding task though; I recommend starting with something easier unless you really want to jump into the deep end from the start.

lucid iron
#

imo its ok if we dont account for content patcher/other runtime data changes

#

and gsq we can just show like machine rules

sinful pasture
#

I do want to jump into the deep-end, no worries. Hopefully I do not drown haha

brittle pasture
#

definitely reference the wiki for how item queries/shops/game state queries work

sinful pasture
#

Will do -- thanks, you all.

lucid iron
#

selph do u want the CSSM api still

#

i feel like i'd just add thing to get how many item per row but u can also just get that number if u do shopMenu.forSaleButtons.Count / 4 blobcatgooglyblep

#

no reflection needed

midnight sand
#

Hi!
In GMCM is there a way to make the AddTextOption larger?

lucid iron
#

not really

#

if u have dire need then alas custom option time

midnight sand
#

🙁

calm nebula
#

Tbh even with "custom option time" I'm not sure of a sane way to draw bigger text

#

Does text have a scale attribute?

lucid iron
#

u can draw them bigger it'll just look bad, but i assumed alan wanted something akin to textarea

midnight sand
#

Yeah, a bigger text area

#

I will just copy all from the text option and just modify the area

calm nebula
#

I'm pretty sure I've used \n before in text

brittle pasture
lucid iron
#

ok my official answer is pls divide shopMenu.forSaleButtons.Count by 4 when cssm is installed

brittle pasture
#

but yeah I think I can just do calc

#

yes

lucid iron
#

i remake all the for sale buttins in a transpiler of ShopMenu.Initialize so the bounds should be right by the time u do any draw

#

am also about the make the problem worse AnnelieStare

#

it looks a lot more sensible in chinese lol

#

literally more info/text width

#

this is optional config default off so no need to bother accounting for it

calm nebula
#

Chinese SDVpufferheart

lucid iron
#

@west thunder fyi i added special case Skeleton Mage for to monster variety 0.7.1

red basalt
#

Well, after having no ideas lol, I made a small update by adding little things to the tool
https://www.nexusmods.com/stardewvalley/mods/41213

Nexus Mods :: Stardew Valley

Stardew Valley Map Creation Utilities ModDesigning maps for Stardew Valley can often feel tedious, especially when it comes to copying animations, setting up layers, or fixing tilesheets. This mod is

weak anchor
brittle pasture
#
  • your dialogue code is also wrong but we'll get to that eventually
weak anchor
#

I dont care to gate them behind an event

brittle pasture
#

I believe you need valid gift tastes data for their social functions to work

weak anchor
#
{
  "Changes": [
    {
      "Action": "EditData",
      "Target": "Data/NPCGiftTastes",
      "Entries": {
        "{{ModId}}_JulieNPC": "Oh my gosh! @, I LOVE this! It's perfect! Can I give you a hug?$4/91 105 68 223 279 424 115 904/Ooh, yellow and useful! Or just tasty. Thanks!$1/69 73 107 139 229 350 542 549 559/Oh... um... I don't really like this. Especially if it lived in water. Sorry.$2/-4 348 346 614/Ew! No! Get it away from me!$5/342 426 436 438/Oh, thanks./"
      }
    }
  ]
}
#

this is my current gifttastes

brittle pasture
#

that looks fine. what happens when you try to give her a pendant at 10 hearts?

weak anchor
#

Generic "Dont want to marry you" dialouge

#

I can date her

brittle pasture
#

is your farmhouse upgraded

weak anchor
#

omg no it isnt

#

is that why

brittle pasture
#

that'd do it lmao

weak anchor
#

oml im so stupid

#

Ive been fighting this for hours

#

While im here

#

She doesnt do my custom text

#

"AcceptGift_(O)458": "Oh, a bouquet? For me? @, I... I accept! I've kinda fallen for you since day one.$l",

#

for dialouge.json

brittle pasture
#

yeah dialogue doesn't go in Data/Characters

#

you need to load a blank into Characters/Dialogue/YourNpcId, and then edit that asset with your string

calm nebula
#

Isnt that the engagement dia

#

Dialogue

weak anchor
#
    {
      "LogName": "Load Blank Files",
      "Action": "Load",
      "Target": "Characters/Dialogue/{{ModId}}_JulieNPC, Characters/schedules/{{ModId}}_JulieNPC",
      "FromFile": "assets/data/blank.json"
    },
#

This?

calm nebula
#

It's like smth like data/engagementdialogue too

#

Like I'm not convinced accept gift will be uses there

#

There is a separate asset for it

weak anchor
#

idk

brittle pasture
#

I think EngagementDialogue is only for the immediate post-acceptance dialogue?

#

you can edit that to if you want

weak anchor
#

Okay

calm nebula
tiny zealot
#

yeah the bouquet response is in StringsFromCSFiles for stardew reasons

weak anchor
#
{
      "Action": "EditData",
      "Target": "Data/EngagementDialogue",
      "Entries": {
        "{{ModId}}_JulieNPC0": "Oh, a bouquet? For me? @, I... I accept! I've kinda fallen for you since day one.$l",
        "{{ModId}}_JulieNPC1": "You want to marry me? Yes! A thousand times yes! I can't wait to start our life together and cuddle every day!$h#$b#I feel like im going to blow up into a million billion trillon tiny pieces!$h"
      }
    },
#

Put this in my content.json?

tiny zealot
#

you may want those entries, but those are for daily dialogue during the three days you are engaged before the wedding

weak anchor
#

ah

tiny zealot
#

the bouquet response is in Strings/StringsFromCSFiles and the key is "<NPCName>_Engaged"

#

in your case, "{{ModId}}_JulieNPC_Engaged"

azure raven
#

need help. using cp, how can i make a custom craftable item unstackable like quality bobber item

urban patrol
#

as far as i know, tackle gets its unstackableness from being category -22

#

i think spacecore can change what category things display as if you want to make it secretly -22, but there may be other effects

fathom hound
#

hiii, its been a while since i came here! i kinda have a complicated question..

azure raven
fathom hound
#

basically just want to know how/if its possible, pls ping tysm! SDVpufferheart

merry river
#

set mod B as false depedency for mod A i think

#

then you can still add configs from mod B but mod A does load first if you dont change any configs

#

someone correct me if i'm wrong

brittle pasture
#

edit the asset spacechase0.SpaceCore/ObjectExtensionData just like you would edit Data/Objects, then set the MaxStackSizeOverride field

fathom hound
#

oh, like the config itself disables the override?

#

I forgot to mention it gets a little more complicated. Is there a way to only enable a specific tile in the asset from mod B?
pls ping

azure raven
fickle thicket
#

@fathom hound so you already have ILspy installed?

fickle thicket
#

okay, open it and click view -> options and scroll to the bottom you should see a section titled 'Other'

#

then enable 'always qualify member references'

fathom hound
fickle thicket
#

it should be at the top of your screen

fickle thicket
#

SDVpufferthinkblob i dont think thats the right file to download

brave fable
#

did you install the ILSpy VS extension, or the standalone app?

fickle thicket
#

I think she downloaded the former

fathom hound
brave fable
#

is this a website

#

oh there it goes lol

fickle thicket
#

Just opened it, that leads to the VS extension download

fathom hound
#

im on last step i think idk how to build/run

fickle thicket
#

download it from the GitHub repo i sent you if you wanted to decompile game code

#

idk how the VS extension works

brave fable
#

ctrl+F Installer to go to the installer downloads, you'll want x64.msi on windows

#

or preview2.vsix for the VS extension (ILSpy.AddIn.VS2022_10.0.0.8282-preview2.vsix specifically)

fathom hound
#

idk why but my fkn ctrl F isnt working

fickle thicket
#

you can just scroll down to the topmost entry and open the 'Assets' dropdown, theres a list of files just search for the one blueberry mentioned ending in x64.msi

fathom hound
fickle thicket
#

yep

brave fable
#

yep, for the standalone app

fathom hound
#

kk ty

#

i want the appyea

#

yea that was sm easzier ty guyhs ahah

#

i folrgot holw to looloki sdv vode?

#

dont mind my spelling rn

fickle thicket
fathom hound
#

oh oh i didnt see ty

fickle thicket
#

also make sure the language is set to C# in the drop-down

#

then just open the Stardew Valley.dll

fickle thicket
fathom hound
fathom hound
hard fern
#

</3 I wish i could do gel nails but im apparently allergic to it smh

fickle thicket
fathom hound
#

nvm found file p;ath

#

fingies crolssed

#

wsait /: coulodnt find it

#

oh its only the shortcut sigh

hard fern
#

:(

#

Can you search "ilspy" in file explorer

#

And see what it shows you?

brave fable
#

can you not click the shortcut SDVdemetriums

fathom hound
fathom hound
brave fable
#

are you looking for the stardew filepath or the ilspy filepath

fathom hound
#

ilspy

brave fable
#

D:\Downloads\ILSpy-master is looking pretty good

fickle thicket
#

I think that was the old one she downloaded

fathom hound
#

thats the extension

brave fable
#

ah it's the master branch ofc

hard fern
#

🤔

fathom hound
#

master branch vs noob cheeto who wins

fickle thicket
#

I've only used a windows once and it was a very confusing experience

#

Did you find it?

fathom hound
#

i swear my olld pc it wasnt this colmplex

#

no D:

fickle thicket
#

Click the downloads tab and look at your most recent download, it should be there

proud wyvern
#

this is the source code for ILSpy, not the binaries

fathom hound
#

o i got it from right cloicking in the taskbar :3

hard fern
#

oh

fickle thicket
#

ah so i was right SDVpuffersweats

#

sorry Anaira you need to go back to github and get the binaries download

proud wyvern
#

on GitHub, you should look here, to the right

brave fable
#

she's already downloaded the msi file

proud wyvern
#

ah

brave fable
#

and hopefully then installed it

fathom hound
#

i did

proud wyvern
#

hopefully the correct one

#

since there are two

fathom hound
fickle thicket
#

SDVpufferthinkblob im confused. so binaries is for the source code?

brave fable
fathom hound
#

wait duh i caN just file and open from in the program

#

._. im sleepy

brave fable
#

binaries are compiled source code

#

as in, the app

hard fern
#

SDVpuffersweats i'll admit im learning something here lol

brave fable
#

as in, the file is now binary instead of the source

hard fern
#

whenever im on github i just go "OK now i do this" and hope i do it right

fathom hound
#

oki fk my life i got the dll in here TY

#

now how do i8 look folr cfask inf o pls SDVsobastian

#

cask info9

proud wyvern
fathom hound
#

why doesnt the cask wiki have where the info is in the code likie all other pages z:(

#

WAIT

#

I DIDNT NEED TO DECOMPILE THIS WHOLOE TIME SKISKISKSKSKK

#

welp useful to have anyway SDVsobastian

#

i forgot i just needed to go in sdv files for machine info </3

#

ty all pufferheart

hard fern
#

i thought casks were cursed and different though

dawn ore
#

I'm having an issue adjusting my NPCs scedule. At the moment they start of in their 'warp room' (an idea borrowed from SVE, don't know how widely its used), then use a warp to travel to the railroad, and then i want them to walk here to the bottom right of the spa, but they just walk up off screen. I have restarted, slept (for a week straight) and it doesn't work:

"Thu": "610 EngWarpRoom 3 0 1/620 Railroad 25 39 2/640 Railroad 4 51 3/650 Railroad 1 55 3/700 Railroad 0 55 3/730 WindTurbineArea 40 26 2/1300 WindTurbineArea 50 22 1/1700 Saloon 37 33 0/2030 BusStop 22 9 0",

there are warps in the maps that mean i can warp to and from the WindTurbineArea very reliably and with no issue.

fathom hound
#

ok now im confused again SDVemoteconfuse why is everything xnb where do i find the data

fathom hound
hard fern
#

🤔 im not trying to kid

dawn ore
#

they just march offscreen!

fathom hound
#

alright fuck this cask then... im giving up. i do want to know why i cant see any json files though

hard fern
fathom hound
#

TRUE

hard fern
#

im not a cask expert but they have some kind of special magic to them that has them work in a certain way

dawn ore
#

I'm still very stuck! if anyone knows why my guy is walking off the edge of the map please let me know!

hard fern
#

SDVpufferflat i once had my npc walk through the walls into a circle

hard fern
#

the npcs need time to get to their locations

dawn ore
#

I just spaced them out by an hour, he had plenty of time to get there, and then just walked offscreen a bit later!

gentle rose
#

are you sure all your warps are where they should be and he doesn't walk across any other warps?

dawn ore
#

hmm, yes I can walk there just fine, no other warps. is it to do with conditional map patches?

#

like this:

#

the EditMap command works fine for me both visually (i added a little path) and with the warps, but do the NPCs not 'see' it? How do i make them 'see' it?

fathom hound
#

Can multiple mods affect the same configuration?

hard fern
#

wdym?

fathom hound
#

like if I wanted to choose the texture of a certain asset, can it pull from 2 different mods? I wanted two different textures from two different mods in the same drop-down menu.

#

(i’m using multiple re-textures for the same mod) @hard fern

dawn ore
#

hang on, there are to ways of adding a warp, the way i did it in the screenshot above and via the Tiled data:
Do NPC treat them differntly ?

dawn ore
#

well, I can't figure it out!

#

On a differnt note, is there a way to check if the player has Mining Mastery? like a flag etc?

west thunder
#

I feel like mush and I feel like I have an illness catching on.

#

Could anyone check if this Extra Animal Config mod's content file seems alright? I'm too fatigued to check.

#

That's what I get for not taking a break from updating my monster mod.

dawn ore
#

would this work:

"When": {
"HasFlag": "PLAYER_HAS_CRAFTING_RECIPE Current Heavy Furnace"
}

merry river
merry river
#

wait im not sure about the formattimg but doesnt CP have a native way to check for recipes

west thunder
dawn ore
#

basicly I want a way to add another recipe when the player has mining mastery, open to whatever way I can do it, flags, actions whatever

uncut viper
#

Zombifier is Selph.

gentle rose
#

I recommend testing it in-game before pinging selph

west thunder
#

I can't test it, because I'm sick.

#

And tired.

merry river
#

"When": { "HasFlag": "PLAYER_HAS_CRAFTING_RECIPE Current Heavy Furnace: |contains = true": true }

but this seems overly complex

uncut viper
west thunder
#

That

#

That's why I'm asking if anyone could lend a hand.

merry river
#

wait i have seen queries used like this before. i think. whack me with a broom

gentle rose
#

seeing if this works may need to wait until you feel better then? so if it doesn't you have the capacity to fix it

west thunder
uncut viper
#
"When": {
  "HasCraftingRecipe": "Heavy Furnace"
}
#

(Assuming "Heavy Furnace" is the ID for the recipe)

#

Game State Queries are never used in When conditions unless you use Esca's Modding Plugins, which adds a specific token you can use them in.

west thunder
merry river
#

ahh so there is a built in token for cooking recipes

gentle rose
#

alas, the udl will have to wait until you've taken care of this energy crash SDVpufferpensive /lh

uncut viper
#

(You should never release a mod without testing it yourself anyway, even if someone does tell you it looks fine.)

west thunder
#

Naturally.

gentle rose
#

(but seriously, bad enough energy crashes DO often come with cold symptoms etc. go take care of yourself!)

west thunder
#

Just wanted to know in advance whether I'll need to lift a finger after testing or not.

#

Very well, thanks besties.

#

In the meantime I'll go, like, download all the mods for my new save since I'm basically done with modding.

#

Not like I could code any further in this withered state.

uncut viper
#

Remember to drink 700 gallons of water SDVpufferchicknight

dawn ore
west thunder
fathom hound
#

That would make it easiest I think

#

I'm gonna try tm gonna sleep now tho

merry river
fathom hound
#

What's CMCT?

merry river
#

i'd send you a link if my internet would load nexus

#

but it's a framework that lets you grab tokens from other mods

fathom hound
#

Ok ty! Trying tm. Gn SDVpufferheart

merry river
merry river
hard fern
#

SDVpufferflat even when i do test mods something goes wrong

fathom hound
#

-# I'd just post & wait for bug reports SDVpufferwaaah (for mods with a lot in it)

lucid mulch
# merry river if you dont mind me asking, when do I even use the `contains` part in a when che...

Two main cases:

  1. Wanting to check the negative
"When": {
   "HasCraftingRecipe |contains=Heavy Furnace": false
}
  1. Checking the same token in an AND relationship
"When": {
    "HasMod": "Pathoschild.ContentPatcher",
    "HasMod": "Pathoschild.Automate"
}
``` is illegal json / only one will survive due to repeated keys, but the following is fine
```json
"When": {
    "HasMod |contains=Pathoschild.ContentPatcher": "true",
    "HasMod |contains=Pathoschild.Automate": "true"
}
  1. Due to the prior two, just using it for everything for consistency sake
merry river
gentle crane
#

I am a fool who wishes to bash his head against something for several days/weeks.

So I am starting to create my own mod hopefully!

I have programming experience with other languages (a couple proprietary languages) and have made a ton of ahk scripts from scratch (including one that my previous job adopted, a few groups in a branch with the groups responsible for about 150 people)

...but I have no knowledge of c#

I have modified several other mods to more fit the needs of my wife and me (adding new features, adjusting features etc) but all fairly simple.

I want to implement crop levels like in the old Harvest Moon DS Game (which I LOVED)

Primarily I enjoyed the benefit of fast crops being able to level up faster than the slow expensive crops, making them more competitive (I understand that in this game it isn't as needed. Fast crops are competitive because they are cheap and you get the money quickly so you can scale. I still want it <3)

If anyone could let me know if I am being dumb about my plan ahead of time I would appreciate it! (I know trying without C# knowledge is dumb, I don't intend to add my unstable mess to nexus to pollute the water)

It looks like the easiest solution isn't supported anymore. There was a DynamicGameAssets framework that would have let me create mass number of seeds and crops, but the community has moved away from this for reliability and compatibility and so now most things should use content patcher to add items?

So my thought process was to create the jsons with an AHK script using an excel file that I can populate with formulas
Crop levels 1-100
IDs HMLC_Parsnip_Lvl001 (for Harvest Moon Leveling Crops) then the base crop, then the level
Price and edibility scaling based on level

gentle crane
# gentle crane I am a fool who wishes to bash his head against something for several days/weeks...

Then using a C# mod using visual basic with the pathos addon on net 4.7.2 to implement crop leveling features
(on harvest, percent chance to upgrade crop level based on decaying sigmoid function)
(Fertilizer needed to progress past level "gates" and also slightly improve chance to upgrade)

Then hopefully using base seedmakers to create the seeds for each crop like vanilla (need to add recipes to base seedmaker?)

Any obvious dumb choices? Any recommendations?

spice inlet
#

I don't know where you got all this knowledge from, but it seems to be partially dated, partially misguided.

#

You can very easily add items to stardew by modifying the asset stardew reads.

#

Content Patcher is just a framework that does the modifying for you using jsons as instructions

#

you can use SMAPIs API to do the same using any .NET language

#

generally C# is advised as most people here know it and most examples are made in C#

#

if you decide to use VB.net you'll need to figure out a lot of stuff yourself

#

the .net version currently used is .net 6 for pc and .net 8 for android iirc

#

it's explained in the c# guide section of the wiki

#

!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.

gentle crane
#

Mostly reading old reddit threads and old modding guides, a few youtube videos where people tried to setup a first time mod (for pathos etc)

"You can very easily add items to stardew by modifying the asset stardew reads."

I would rather not touch the base files as much as possible. Am I understanding you are saying modding those?

Content Patcher seems to be a very easy way to add things no? Yes I could do it without but... wouldn't it be harder? This way game updates would also most likely be fixed by content patcher, and my jsons would stay the same unless content patcher changes their format?

I would rather not bother people here for help. I am doing this to myself and don't want to burden anyone else. Just at the start wanting to make sure I wasn't being too dumb

spice inlet
#

generally as a programmer (not sdv specific) i advise against using vb.net ever since microsoft broke feature disparity between C# and VB

gentle crane
#

You don't like visual basic at all? What do you recommend using as an alternative?

spice inlet
#

for sdv, C#

gentle crane
#

Ah, showing my incompetence here.

From my understanding "C#" is the language of the actual programming. VB was an "IDE" or software that makes working with languages easier

So to my brain, I am using VB to write C# code? Is that not the case?

#

Like I use Processing which is a language (built on Javascript) and has its own tool, and AHK is a language which I use Scite4 to write (as opposed to being a savage and using notepad or notepadd++)

spice inlet
#

you might be confusing VS (Visual Studio) and VB (Visual Basic)

gentle crane
#

Yup, that is it.

#

I have no idea why I said basic/ changed to basic. I have Visual Studio 2022

spice inlet
#

Just to clarify. When your problem can be solved using Content Patcher, it is usually best to use it.

somber kernel
#

Would you guys recommend visual studio code or notepad++ for a beginner?

whole raptor
#

I'd say VSC

old edge
#

I am trying to find out how to make my code avoid blocking the inventory tool menu at the bottom of the screen. When I click to change to an item it triggers my codespeen

round dock
iron ridge
old edge
#

Is everyone else constantly troubleshooting

iron ridge
round dock
#

That’s a relief to hear atleast

somber kernel
#

I’m not a huge fan that VSC seems to use AI in a big way

iron ridge
#

well yes microsoft would shove their own ai products into it

gentle crane
iron ridge
#

just turn off the inline suggestions and don't use the voluntary bits

whole raptor
#

Hm? It's just the "Use copilot, we won't shut up about it" part

somber kernel
smoky wing
#

Question, do I have to completely replace entry by entry a character's dialogue through the editdata action, or is there a way to completely replace the json file containing the dialogue with another edited one?

fickle thicket
somber kernel
whole raptor
fickle thicket
smoky wing
#

Looking at the dialogue files

#

What do the constant "#$b" etc do?

iron ridge
#

portraits iirc

smoky wing
#

Oh so its like a trigger?

gentle crane
fickle thicket
fickle thicket
# smoky wing Ohhh thank you

For example you could do something like this

"Hey farmer!#$b#How are you doing today?"

but to add a portrait code you do it after the dialogue line ends, and before the separator. like this:

"Hey farmer!$1#$b#How are you doing today?"

smoky wing
#

Got it got it

#

Rn im trying to make a redacted/censored text dialogue, but its bothering me cuz I wanna censor it by changing every letter/character in the dialogue with a full block symbol but it would take WEEKS to finish

#

So idk what to do

fickle thicket
#

you want to change a character's entire dialogue file to a block symbol?

smoky wing
#

Not a block symbol PER dialogue

#

A block symbol per EVERY character

#

So hello = ✅️✅️✅️✅️✅️

whole raptor
#

Well.. you could probably change the font and not mess with dialogues (no clue what your end goal is here tho)

smoky wing
#

Its just one character

#

Not the entirety of the npcs

fickle thicket
#

Whose dialogue are you editing?

smoky wing
whole raptor
#

Ah, then yeah

fickle thicket
#

Huh yeah that would be a lot of work if you approach it that way SDVpufferthinkblob

#

trying to use my brain to think of an easier way

round dock
#

Correct me if I’m wrong but the goal here is to change all of Haley’s dialogue in totality to symbols?

smoky wing
#

the same symbol per every character

#

so the dialogue is still the same ammount of characters, just the same one

whole raptor
smoky wing
#

Also I can't find where the being hit by the slingshot dialogue is stored

whole raptor
#

Name is a bit misleading, since it was created for that mostly, but can be used for anything

whole raptor
#

But that's just for dialogues you know are her's, events would still need to be mostly manual

smoky wing
#

I'm thinking about just turning the dialogue into " " instead

#

Would be easier

#

Though it would remove the eerie factor of it

#

Like it would just be empty

fickle thicket
fickle thicket
smoky wing
#

Have you heard of DDLC?

fickle thicket
#

oh yes! ive played it. I take it you're trying to make something similar?

smoky wing
#

Yep

#

My plan is to censor haleys whole existence

#

Quite literally

#

Already finished all the sprites

#

Special event assets

#

Im moving on with the dialogue rn

fickle thicket
#

ah i see then. that's cool SDVpufferthumbsup

smoky wing
#

Tuy

fickle thicket
#

if that's the case you might want to remember to look for when other characters mention Haley, + events that include her

smoky wing
#

Yeah I'm aware of that

#

What mostly worries me is her dialogue itself

#

Since shes a bachelorette she has a HORRIBLE AMMOUNT OF DIALOGUE

#

I feel like I'm gonna grow roots by the time I'm finished

fickle thicket
#

Yeah. i suppose you could just take all her dialogue and search and replace each character with a block symbol in notes so you can automate the process a bit faster? like using ctrl+f (what i'd do)

#

but yeah, also try using the converter Nomori sent

smoky wing
fickle thicket
#

not really, right? just search for character 'A' and replace every instance with a single block symbol, then do the same with B and so forth

smoky wing
#

Ohhh

#

Well it would be faster

#

But still gotta go through the whole alphabet

fickle thicket
#

I just think that's a simple, faster way. But of course, whatever approach you want to take, you should go ahead

smoky wing
#

Yeah

#

So update

#

The full block symbol

#

It just turns into the angry symbol thing?

#

Like this thing: 💢

fickle thicket
#

oh, right. that's because the symbol isnt in the stardew font

smoky wing
#

Its interesting cuz it just happens on the menu

#

Cuz everywhere else it just shows up as empty

#

Do any of you know any alternatives?

fickle thicket
fickle thicket
# smoky wing Do any of you know any alternatives?

You could try unpacking the game assets yourself and having a look at all the font pngs. then you could see what symbols are in and what arent, and try testing out different ones to achieve your desired look

smoky wing
#

And I dont really think I'd be able to code a whole new font just for one character

#

So i dont know what to do

fickle thicket
#

i havent really read the description but try having a look

smoky wing
#

And it would just be black squares so

fickle thicket
#

SDVpufferthinkblob That's just one of the ways to achieve what you envisioned. There's always alternate ways to communicate a single message, and if you feel like it's too much for one character you could always just look for another way that doesnt involve replacing all her dialogue

#

I personally don't think it'd be too much if this was a central part of your mod. It's one extra dependency.

smoky wing
#

Another thing I wanted to add was the custom letter design

#

Cuz I noticed all the wizard's and Joja's letters have a special ui design just for themselves

#

And I was wondering if that could be implemented to another character

#

's letters i mean

fickle thicket
smoky wing
#

Ohh tyy

#

Would a gif instead of png break it tho?

#

I wanna make animated designs

iron ridge
#

it would

smoky wing
#

Sigh

iron ridge
#

you need to use spacecore for animated textures iirc

round dock
#

Grounding on what laurie suggested earlier, if it’s a bit far too complicated, maybe you can convey what you want through simpler things - like an event for example.

fickle thicket
#

It's up to you to decide how far you want to go to achieve what you envisioned

round dock
#

!anyonecancook

ocean sailBOT
#
fickle thicket
#

ughhh how many awesome commands do i not know of??

smoky wing
#

preview so far, what do yall think

fickle thicket
#

looks very eerie SDVpufferthumbsup maybe next time put a spoiler on the image so as to not disturb the easily disturbed

smoky wing
#

oh sorry :( its just the haley dirty sprite i didnt think it would be that bad

fickle thicket
#

it's not a problem, just some people might think it's disturbing since the black and white could be interpreted as blood or other

hard fern
fickle thicket
#

well idk why i said that now im captain obvious

valid folio
#

Hi!
Is there a way to guarantee that the fruit harvested from a fruit tree has a specific quality? For crops, I know it’s:

"HarvestMinQuality": 0,
"HarvestMaxQuality": 0

But for fruit trees, I haven’t seen anything like that mentioned.

hallow prism
#

try looking at item fields

#

i successfully had a tree bearing more fruit per fruit using those fields and i think there's one for quality too

#

so try and see!

tiny zealot
#

all i know is fruit trees age and, at least by default, the age determines the fruit quality, so if you have some way to get a tree of a particular age you could do it that way

hallow prism
#

to my knowledge, most of the stuff using the item fields respect those if they specify stacks, quality or things like that, the most notable exception being fishes because some things are behaving in a strange way

#

(more accurately, some of those fields may work but the stack argument will be ignored for fishes), i'm not aware of other limitations which means there's a good chance it'll work

valid folio
#

Yes, I knew about the quality being determined by age, it’s just that I’m doing something really crazy and I want to see if it works. It worked with crops, so I’ll check those fields you mentioned.

Thanks everyone, if I manage to make it work, I’ll let you know.

valid folio
somber kernel
#

Is there any mods I need to make testing easier?

tiny zealot
#

debug mode, noclip mode, and cjb cheats can come in handy, although you don't need any of them as long as you have console commands (which you should, since it's bundled with SMAPI)

fickle thicket
#

debug mode

tiny zealot
#

console commands i would consider the indispensable testing/debugging mod

somber kernel
#

Ty ty

merry river
#
            "LogName": "Trigger action: Learn recipe upon item use",
            "Action": "EditData",
            "Target": "Data/TriggerActions",
            "Entries": 
            {  
        "{{ModID}}_LearnHeartMelonCandyRecipe":
                {
                    "ID": "{{ModID}}_LearnHeartMelonCandyRecipe",
                    "Trigger": "spacechase0.SpaceCore_OnItemUsed",
                    "Condition": "ITEM_ID Data/Objects (O){{ModID}}_OldRecipe",
                    "MarkActionApplied": true,
                    "Actions": [
                        "MarkCookingRecipeKnown current {{ModID}}_HeartMelonCandy true"
                    ]
                }
            }
        },```
trying to get this little thing to work, the player is supposed to learn a recipe after using this item but it doesn't work yet
#

what happened to my formatting here lol

brittle pasture
#

for SC item used you want Input

merry river
#

ahhhh lol

#

i wasn't sure from how it was worded in the wiki

#

would there have been a way for me to look it up, generally speaking?

brittle pasture
#

do you mean this on the wiki

#

ngl i thibk spacecore should have used Target ssry casey

merry river
#

nevermind i mixed things up because i was looking at this, but i only just noticed this is for the <location> argument

#

one day my brain will function. today is not the day.

brittle pasture
#

(it also literally accepts the strings on the right, like Target or Here)

#

(left)

merry river
#

don't question my thought process, selph. just don't. chances are high everything is muddled and mixed up and i still somehow manage to put out working things, sometimes

#

(and thanks SDVpufferheart )

torpid breach
#

sorry, I'm pretty new to stardew valley modding, but I'm tearing my hair out trying to figure out how to update my farmer portrait during an event or dialogue with content patcher, using the Farmer Portraits mod.

EditImage's earliest update rate is when time changes, so if I'm reading this correctly I can't load an image onto the "aedenthorn.FarmerPortraits/portrait" target at all during an event?? Since time can't change. and I can't manipulate dynamic variables or do interesting non-eventy things during events.

I thought trigger actions would be my saviour but the..only trigger action documented for content patcher is for..updating a mod..

somebody please help, my poor brain cells. I was currently trying to use mail letters as a sort of global variable so I can LocalMail change_the_portrait_please true and have that handled outside of the event, but that's not working either.

#

tl;dr is there a really no way to editimage right meow, mid dialogue or event?

merry river
#
viewport {{Viewport}} clamp true unfreeze/
pause 200/
move farmer {{Coordinates_Move1}}/pause 500/
emote farmer 8/pause 500/move farmer {{Coordinates_Move2}}/
{{Coordinates_Move3}}/pause 800/
emote farmer 16/pause 500/
removeObject 28 9/pause 100/
itemAboveHead {{ModID}}_OldRecipe true/pause 1200/
addItem {{ModID}}_OldRecipe/pause 300/emote farmer 32/pause 500/end"```

and what am I doing wrong in that case? the event doesn't trigger when entering the Woods during green rain, works when using debug ebi though. ![SDVpufferlurk](https://cdn.discordapp.com/emojis/591022278955761676.webp?size=128 "SDVpufferlurk")  dynamic tokens are for different coordinates/commands between SVE and vanilla
gentle crane
#

Sweet. Got content Patcher to load, and display modconfigmenu options.
Managed to add pngs for the item in inventory, seed, and the crop in the ground
Looks like Content Patcher automatically does the pickles/wine for us

So basically items are adding fine. Just need to fully fill out all of the other levels, and then make my code handle the upgrading (which I imagine is the hard part)

tiny zealot
lucid iron
#

(the jelly/wine rules are generic and applied to all fruit)

torpid breach
lucid iron
#

Be warned that patch update is very expensive

#

It is better if farmer portraits itself supported texture changing but idk who is developing it

torpid breach
#

I love the mod but it has no modding documentation that I can see, nothing doing what I want...lots of nice templates for users to set up, auto changing portraits for seasons and such, but nothing about updating the portrait manually for modders

lucid iron
#

Yeah it would be a feature request

tiny zealot
#

i don't know a lot about farmer portraits but i don't think it's aimed at modmakers

tranquil surge
tiny zealot
#

you gave an array to something expecting a single value

#

an enum, which expects to have one of a defined set of allowed values

#

your screenshot unhelpfully truncates the error message, but since it's in Fish i'm guessing looks like it's your values for Season in your fish list

#

oh nvm it's not cut off, i just can't read. it's season

tranquil surge
#

Yeah, I think I know which one. At the very end, I wanted a specific fish to be available in two different seasons (spring and fall). It is possible to say that a fish is available in two seasons, right? How would I right that if not in an array?

#

For the record, these are the two arrays in question, located on lines 496 and 538...
"Season": ["Spring", "Fall"],

How else am I meant to write them so that I don't get the error?

tiny zealot
#

you will have to use Condition instead

tranquil surge
tiny zealot
#

i think you want "Condition": "LOCATION_SEASON Here spring fall", (borrowing from vanilla)

smoky wing
#

Will the top/bottom of the mannequin texture get clipped?

#

And yes that is a haley mannequin

#

I just realized the feet are backwards lmfao

tranquil surge
#

So I'm noticing some strange sharp edges whenever my custom map turns winter. Is there any particular reason why I'm getting sharp edges like that? I've attached screenshots of the same spot in all 4 seasons, and Winter is the only season that this seems to be happening...

gentle rose
tranquil surge
gentle rose
#

no, unfortunately not

tranquil surge
hallow prism
#

there are maps when i started with winter to ensure there would be no weird lines

ornate drift
#

i still dont know how to make a warp

#

🥀

#

like this is all i have rn

smoky wing
ocean sailBOT
#

@smoky wing You leveled up to Cowpoke. You can now speak in our voice channels and share images in all channels!

smoky wing
#

Im worrying the wig is gonna get cut off

#

In the texture

hard fern
smoky wing
smoky wing
lucid iron
#

The main way to avoid this is to draw your maps in winter

ornate drift
#

how do i make it so that "Layers" appears here

#

or like up here

smoky wing
#

How do I make it look more like a pin going through a voodoo doll?

#

Also ignore the ugly shading on the pin, ill change it later

merry river
smoky wing
#

Alr!

merry river
gentle crane
#

I would think you would want the pinhead to be slightly smaller, and thus have some further space between it and the doll to show the shaft of the pin better

vernal crest
ornate drift
#

i added

#

it

#

ty

vernal crest
ornate drift
#

no the window just wasnt there at all

merry river
#

aba why are you still up

ornate drift
#

i oculd only see tilesets

#

i had to go into views and toolbars

#

to add it back in

merry river
#

isnt there a "view" tab on the top that lets you set the windows you want to have displ- ah

ornate drift
#

anyway is this where i start?

autumn tide
smoky wing
#

Im sorry if the question is stupid but do yall know where the item textures are in the content folder?

#

Like the ancient doll

vale stream
#

They're in "Maps/springobjects"

smoky wing
vale stream
#

Also-- hi, I have a custom (SMAPI) tile action that warps the farmer depending on conditions/etc. However, every time I load a save I get a warning:
[game] MAP_NAME (51, 50) has unknown warp property 'mistyspring.mistycore_ConditionalWarp CustomWarpData MAP_WARPED_TO 15 9', parsing with legacy logic.
(replaced some of the names so it'd make more sense without context)

I was wondering what's the legacy logic / what to use instead of Game1.warpFarmer, because I'd rather get rid of the 18 warnings that players would get in the mod

#

I could use CP to patch the warps in instead, but the thing is, if the warp fails the players get a message of why it failed (and etc, like doing trigger actions on warp). So I don't think using CP would be a full alternative

calm nebula
#

Literally just dont call it warp

tiny zealot
#

based on the message, this sounds like a case of the property being improperly assigned, rather than you using the wrong C# code in the handler

calm nebula
#

Legitimately just don't use the word Warp

#

If you call it ConditionalMoveFarmer it wouldn't show that error message

tiny zealot
#

are we in string.Contains("Warp") territory here

calm nebula
#

It's not the warp code, it's the npc pathing code

vale stream
fathom hound
#

i can add configs for diff textures on same tilesheet right

#

(im not gonna do cmtm multi mod config, gonna just make it 2 diff mods override n caLl it a day)

ornate drift
#

do cliff edges go in the Buildings layer when making a map?

smoky wing
#

how do i make a character not have a schedule at all? like they just stand in their room all day and all night without moving

late pewter
ornate drift
smoky wing
ornate drift
#

feels kinda dead

#

tbf this is my first map ever so

#

wait what layer would these tiles go in???

smoky wing
#

thats the leaves of the trees that hide the edges of a map

ornate drift
#

yeah i wanna use those

#

do i put them in Front?

#

or Buildings

#

oki oki

urban patrol
fathom hound
ornate drift
#

what about fences

merry river
fathom hound
#

thank you SDVpufferheart

urban patrol
ornate drift
#

ah alright

#

ty for the tip

#

huh, vanilla uses two copies of the same layer....

merry river
ornate drift
#

but they just use it for shadows????

iron ridge
#

yeah now that more layers ia vanilla feature its not uncommon for the newer maps to use them

unreal spoke
# fathom hound THANK YOU <3

If you want to do what I think you want to do, just rename your image files so they contain the name of the relevant config and then load the image using the config token.
Say, your config is named style and the options are original and VT, you can name your files "sprites original" and "sprites VT" and then load the spritesheet from sprites {{style}}.

west thunder
ocean sailBOT
#

Log Info: SMAPI 4.5.1 with SDV 1.6.15 build 24356 on Windows 11 (10.0.26100.0), with 101 C# mods and 170 content packs.
Suggested fixes: One or more mods are out of date, consider updating them

west thunder
#

If I were to take a guess, does it have to do with the formatting of the sound files..?

#

They're all in mysterious ominous XSB and XWB formats.

unreal spoke
fathom hound
fathom hound
tiny zealot
ornate drift
#

how can i copy tiles and paste them onto another layer

iron ridge
#

rectangle tool then the usual ctrl+c i think

ornate drift
#

alr thank you

unreal spoke
tiny zealot
# west thunder what dat men

it probably means the mod isn't coded correctly to handle this situation (hence the error). i have heard of similar problems with this mod before

west thunder
#

tf do i do then

tiny zealot
#

if you want more help, #1272025932932055121 , but there may not be anything you can do about it besides not use stardrop

quasi crow
#

is there a way to make the manifest get the version from .csproj, or vice-versa in VS? I always forget one or the other...

west thunder
#

Right, of course, sorry.

gentle rose
tiny zealot
gentle rose
#

uh. ModManifestBuilder? maybe?

ornate drift
#

how come when i open a map in vanilla stardew on tiled its animated

#

like theres animations

gentle rose
#

the animations are a part of the embedded tilesheet, stored in the map file!

ornate drift
#

oh so its not necessary for mine to be animated or

gentle rose
#

it’s never necessary for you to animate things unless you want them to be animated in game

tiny zealot
#

embedded animations is one of the reasons we are always recommending to copy a vanilla map to start from when making a new map

ornate drift
#

well i dont want the water to look static

gentle rose
tiny zealot
#

i know a lot of things i wish i didn't know! /lh

gentle rose
#

I once made a version with unified animations!

#

(I would have also made a version with unified properties but alas, that’s not possible, they contradict)

urban patrol
merry river
#

every day i miss the tilesheetinator

gentle rose
merry river
#

sometimes i can still hear his voice

gentle rose
patent lanceBOT
calm nebula
#

Plz kill me now

gentle rose
merry river
# gentle rose you… miss it?

i had to downgrade tiled because apparently there's a bug with the animation window in some of the newer versions and i have been informed that the version i am currently using doesn't support javascript SDVpufferweary

gentle rose
#

remind me what the bug was?

uncut oriole
#

Hey guys. I am working on a launcher to get the PC Stardew Valley dll working on Android devices (just a launcher - Im not shipping anything that violates licenses/promotes piracy so proprietary dlls are not included like Stardew Valley.dll). I'd like to port over the TapToMove code from Mobile Stardew to PC Stardew but that would obviously violate copyright. Without needing to implement my own tap to move (long, tedious), how would I get permission to do so?

gentle rose
uncut oriole
gentle rose
#

there is android smapi SDVpufferthinkblob

merry river
# gentle rose remind me what the bug was?

my version of tiled suddenly stopped opening the window for tile animations and i had some custom tilesheets i wanted to use the animations of. i couldn't really find out a reason why, did a fresh install and still had the issue. found out some other users had the issue too until they switched to an older version

uncut oriole
ornate drift
gentle rose
#

no, I have not. not ideal?

ornate drift
#

oh yeah i should probably fix some of those tiles

uncut oriole
gentle rose
#

hmm, interesting

I would assume for permission you would need to attempt to contact CA?

ornate drift
#

is there a way you can colorpick a tile on a map?

like for example artists have a color picker on their drawing and want that specific color
but instead i wanna copy a tile

uncut oriole
merry river
ornate drift
#

oh!

#

tysm

gentle rose
ornate drift
#

hmmmm

these tiles look off

#

like you can see some of them have shadows and the others dont

tiny zealot
uncut oriole
iron ridge
ornate drift
#

.....yeah

#

think this looks better tho

uncut oriole
#

"most mods" is the caveat because IL differences between COR and Mono runtimes

ornate drift
#

ok i think im done with decorating for now

now how do i make it so that you can enter the house...?

gentle crane
#

Am I nuts?

I don't see tea bushes anywhere in the data folder for base game. Are they hidden somewhere else? I checked Crops definitely not there, not in Wild trees or Fruit trees either?

royal stump
#

for w/e reason, code-wise tea bushes are actually a type of bush (like the berry bushes/etc around town)
their sprites are in TileSheets/bushes

gentle crane
gentle rose
gentle crane
#

Yeah what was up with cursors, it had way more in it than cursors

fossil osprey
#

that's cursors

gentle rose
#

wait until you find out about the other two cursors

royal stump
#

it became the "any sprites that don't already have a dedicated sheet" pile at some point in development

gentle rose
#

cursors1_6 and cursors2

calm nebula
#

I have a theory that there was a sprite sheet packer used at some point

gentle rose
#

I disagree, I think this is 100% human tilesheet madness

hard fern
#

why is it called cursors when there's only one curs in the ors

patent lanceBOT
unreal spoke
#

… at least there’s no unconscious Shane in there.

tiny zealot
#

i have written a box packer (for font smasher). no way cursors.png was a box packer. ape placed every one of those images lovingly by hand

gentle rose
unreal spoke
#

Or Seb’s bike. Or a mine worker. Or…

merry river
tiny zealot
#

now the vanilla spritefont files? those were done by a box packer

unreal spoke
#

Cursors. Good old cursors.

gentle rose
gentle rose
blissful panther
#

I can't believe I'm saying it, but... cursors is way too organised to have been a texture packer in my mind.

ornate drift
#

!warps

#

oh guess there isnt a cmd

round dock
#

@gentle rose Hi

gentle rose
#

yeah, the problem with cursors is that clearly SOME thought was put in SDVkrobusgiggle

gentle rose
unreal spoke
gentle rose
ornate drift
#

theres nothing about warps there

gentle rose
autumn tide
#

do you have the modding search thingy?

gentle crane
#

Looks like changing tea bush behavior is more involved than trees or crops so I think I am going to leave that alone 😄

autumn tide
#

..yeah that

ornate drift
#

alr ty

royal stump
#

though now I noticed it says aba updated it for 1.6, so it probably is SDVkrobusgiggle

calm nebula
ornate drift
#

wait so if i wanna add my own map to the game
i need to replace it with an existing map in the game?

royal stump
#

no, but you'd need to alter an existing map in some way or the player would have no way to get there
that or use one of the bus/train/etc mods to add it as a destination, iirc

ornate drift
#

cant i theoretically use debug

#

ok nvm that doesnt work

royal stump
#

if your map exists in-game, i.e. you have a Data/Locations entry for your location, then yes

lucid iron
#

You can debug warp location

#

But player probably rather not

smoky wing
#

Can you add more random interaction responses to npcs? Or can you just replace the existent ones

lucid iron
smoky wing
lucid iron
#

Ah daily dialogue

round dock
#

So just dialogue then? You can replace them.

lucid iron
#

You can randomize them with content patcher

smoky wing
#

No like I dont wanna replace it

round dock
#

(hi chu)

smoky wing
#

I wanna add MORE to it

#

Like more possible dialogues

round dock
#

Based on what? Like what triggers it?

smoky wing
#

Talking with them daily

round dock
#

No, because talking to them daily would raise their hearts, no? Bc certainly you can technically still add dialogue based on vanilla keys that don’t necessarily correspond to a vanilla line.

smoky wing
#

What are you talking about

#

Im talking about adding more possible dialogue lines when you interact with them

hallow prism
#

i think there's some misunderstanding going on, maybe look at how adding dialogue currently works

#

then see if it works for you or you need something else and return with a more detailled and informed question?

round dock
#

I was asking on what basis - like season, hearts, finishing an event, etc. because those have corresponding dialogue keys that will make it easier for you

quasi crow
#

don't suppose anyone has ideas on what I do about this
The "ProjectVersion" parameter is not supported by the "DeployModTask" task loaded from assembly: SMAPI.ModBuildConfig, Version=4.1.1.0, Culture=neutral, PublicKeyToken=null from the path: C:\Users\sully\.nuget\packages\pathoschild.stardew.modbuildconfig\4.1.1\build\SMAPI.ModBuildConfig.dll. Verify that the parameter exists on the task, the <UsingTask> points to the correct assembly, and it is a settable public instance property.

smoky wing
#

This is what math looks to me

round dock
#

But yeah, Lumina’s advice is your best bet - look at the dialogue wiki and see how dialogue is generated

smoky wing
#

Can anyone link it please rq

lucid iron
#

I think head is 4.4.something now

quasi crow
#

Oh it does say that doesnt it.

#

which is extra annoying, cause i started down this train by updating that.

#

VS says its 4.4 ....

#

well now im extra confused.

lucid iron
#

Nuget cache mysteries i suppose

#

I don't personally use the project version feature bc i just use mod manifest builder instead

quasi crow
#

i just installed that lol

#

part 2 of what prompted this.

calm nebula
#

There is a cache somewhere that I had to track down once

#

And manually delete

ornate drift
#

modding is exhausting sometimes

#

i can never get something finished

quasi crow
#

clearing the cache appears to have worked, cheers

fathom hound
ornate drift
#

bro i still have like a ton of steps left

#

before my npc is finished

fathom hound
#

i dont but it feels like i do

#

just bc its been so long since i modded (and my claws for nails)

ornate drift
#

its my first time modding

#

xd

fathom hound
#

gl!

vivid anvil
#

Hey yall, any tips for coding mods? Watched a tut for making a mod, but it only showed how to change in game characters. Trying to add my own characters into the game. I understand this will be a long process and everything probable can't be said at once. Art should be no problem for me it's just the coding SDVkrobusgiggle

ornate locust
#

Unfortunately video tutorials are rarely up to date, since they take a lot of time to make.

#

!npc I think

ocean sailBOT
#
Creating a Custom NPC

Keep in mind that making NPCs is a complex process that requires learning many different aspects of Stardew modding.
Here are a few links that can help get you started on all that you need to know:

ornate locust
#

ayooo I remembered a thing

fathom hound
#

-# BRUH that was literally my initial guess

#

i thought it would be that or !customnpc but i doubted SDVpetcatsad

vivid anvil
#

thanks guys!

fathom hound
#

im definitely missing something here.. and im too SDVpufferflatbread to figure out what it is

#

is it "When"?

brittle pasture
#

you can put the token in the fromfile directly and it will get turned into the config value

fathom hound
#

oh wait i have that already dont i?

#

so i need to add the other 2 in "Target" right?

merry river
#

I think what’s missing is something the config

brittle pasture
#

I don't see you using the "Galaxy Textures" token anywhere

merry river
#

Wow great English today

brittle pasture
#

you just only defined it

fathom hound
#

yeah that is what i am missing SDVsobastian

#

silly me

brittle pasture
#

we make silly mistakes all the time in this channel

fathom hound
#

its been a while for me too and im already slow as is SDVpufferflatbread

#

ty for the patience

merry river
#

I’m literally here so as long as I am, you will never be the silliest one SDVpufferheart you got this

fathom hound
#

thank u SDVpetcatsad ...erm... where do i find where to makie token again p;ls SDVsobastian

#

the tokenizable strings wiki page doesnt feel like its the right one

brittle pasture
#

if you have a config you can put it as a token anywhere and it will get replaced with the appropriate value

#

e.g. {{TargetWithoutPath}}-{{Galaxy Textures}}.png turns into Objects-Kenosia.png

#

and then you just ensure the pngs in your mod folder are named appropriately

#

this is the simplest method to load different images depending on the config value

fathom hound
#

OHHH okay i get it now tysm selph!

#

also i can remove the "Texture" fields right? since it loads from the target?

brittle pasture
#

from fruit tree data? no, keep it

#

that's how you tell the tree what texture to use

fathom hound
brittle pasture
#

your config object is malformed

#

that's also not how you refer to a config value

#

(you had it right the first time)

fathom hound
#

ohh

brittle pasture
#

you're also not following my instructions for using the token

fathom hound
#

OH crap i edited the olld one (sorry)

#

-# i removed the texture fields before so i went to old code to add it back SDVpufferflatbread

brave fable
brittle pasture
#

(and no need to apologize for being wrong haha, that's why we're here)
(I though will apologize for the fact that I'll go to the gym in a few moments and cannot help with more code SDVpufferpensive )

merry river
#

get absolutely ripped, selph SDVpufferthumbsup

fathom hound
#

-# have a nice sesh! ty for everything aSDValexlift SDVpufferheart

merry river
brave fable
#

i can't imagine what changed

merry river
#

I am beginning to think it might be some sort of driver issue, maybe

fathom hound
#

this took me so long for something so simple lol

#

at least ik for future, since its gonna be handy for the next mod i make rn

grave flint
#

Gratz!

fathom hound
#

ty!

grave flint
#

What’s the mod for?

fathom hound
grave flint
#

Oh nvm there’s a link

swift falcon
#

its you!

grave flint
#

?

fathom hound
ocean sailBOT
#

Log Info: SMAPI 4.5.1 with SDV 1.6.15 build 24356 on Windows 11 (10.0.26200.0), with 7 C# mods and 2 content packs.

brittle pasture
#

per the log, you have two separate mods trying to load into the same texture

#

do you mean for Star Crops and Star Crops - Vanilla Tweaks to be separate or

fathom hound
#

oh sorry ignore that part

#

i forgot to add priority there

#

the textures forjust star crops pls

brittle pasture
#

well that's the only issue I see in the log SDVpufferlurk

fathom hound
#

OH

uncut viper
#

In very many cases, the only reason for the errors after the first is because of the first

fathom hound
#

ohhhh okay makes sense ty!

#

-# thats good to know, maybe i can start having a lil more confidence in reading error logs aSDVemoteheart

#

i think this is outdated

uncut viper
#

It is not outdated.

fathom hound
#

early/default/late didnt work for me

uncut viper
#

Loads and EditDatas have different priority systems.

fathom hound
#

oh, what do i put instead for the priority? i tried both

    "Format": "2.0.0",
    "ConfigSchema": {
        "VTVersion":
        {
            "AllowValues": "v1, v2",
            "Default": "v1"
        }
    },
    "Changes": [
        {
            "Action": "Load",
            "Target": "Mods/StarCrops/Crops, Mods/StarCrops/Objects",
            "FromFile": "assets/{{TargetWithoutPath}}-{{VTVersion}}.png",
            "Priority": "High"
        }
    ]
}```
uncut viper
#

Look at the documentation for Action: Load

#

It'll have the same section you screenshotted a moment ago but with Load specific changes

fathom hound
#

i found it tysm!!

#

YIPPEE IT ALL WORKS! ty all! SDVpuffermusic

ocean sailBOT
#

Log Info: SMAPI 4.5.1 with SDV 1.6.15 build 24356 on Windows 11 (10.0.26200.0), with 7 C# mods and 2 content packs.

golden basin
#

Now to add allll those pages

#

my gide is getting a big update

#

guide*

fathom hound
#

okay ^-^ ill makie anothe load sedction

uncut viper
#

For starters, it's breaking a patch. For seconds, users don't like errors in their logs.

fathom hound
#

ohhh okay, also truee

okay NOW im done, YIPPEE! lols

valid folio
#

Hi! I didn't have success with the qualities of fruits harvested from fruit trees, but it doesn't matter, I managed to do the other thing I wanted, so it's better than nothing. A question: in an item delivery quest, is it possible to turn in two items, or is it only possible with one? For example, having the NPC request one unit of two different fruits

uncut viper
#

You are strictly limited to what it says you can do on the wiki page for quests i.e. no, you can only do one item.

#

You may have more luck with a special order though, but I'm not as familiar with those.

valid folio
brittle pasture
#

special orders can definitely do multiple item turn ins, but their limitation (before 1.6.16 comes out) is that they must have a time limit

valid folio
valid folio
brittle pasture
#

make the tree older

#

otherwise nop

#

fruit tree drop quality is solely determined by tree age

#

a workaround is make your shop sell tree saplings with quality (they mature faster)

#

if you need your fruit trees to drop quality goods quickly as a perk

valid folio
brittle pasture
#

the sapling still has to grow, high quality saplings just grow faster

#

but yeah what you want isn't possible unless you dive into the C# mines

valid folio
valid folio
brittle pasture
#

if you want to then sure, but tbh my opinion isn't magically more valuable than others (I prefer keeping things public if possible)

valid folio
uncut viper
#

thank you 😌

tranquil olive
#

hello, is it possible to make an edible crafting recipe without C# (like how the field snack works)? I attempted one and it has edibility/health + stamina, but I can't eat it...it only places down/picks up like a furniture item SDVpufferthinkblob

brittle pasture
#

looks like you're using the wrong category

#

if you're using -8 that'd make it placeable on the ground lol

#

for regular items with no other special behavior 0 will suffice

tranquil olive
#

I have it as this since I saw the field snack had it

"{{ModId}}_SmoreGem": {
                    "Name": "{{ModId}}_SmoreGem",
                    "DisplayName": "{{i18n:SFC.SmoreGem.name}}",
                    "Description": "{{i18n:SFC.SmoreGem.description}}",
                    "Type": "Crafting",
                    "Category": 0,
                    "Price": 665,
                    "Texture": "Mods/{{ModId}}/objects",
                    "SpriteIndex": 26,
                    "Edibility": -105,
                    "IsDrink": false,
                    "Buffs": [
                        {
                            "Id": "Food",
                            "BuffId": null,
                            "IconTexture": null,
                            "IconSpriteIndex": 0,
                            "Duration": 60,
                            "IsDebuff": false,

                            "CustomAttributes": {
                                "MagneticRadius": 30,
                                "Defense": 2
                            }
                        }
                    ],
                    "ContextTags": [
                        "color_dark_red",
                        "food_sandwich"
                    ]
                },
ornate trellis
#

try -7

tranquil olive
#

would -7 keep it in the crafting menu?

ornate trellis
#

tho idk bouit the type being crafting instead of cooking, hm

#

well you set the type as crafting

#

and you i assume have a crafting recipe for it

tranquil olive
#

okay I'll try that SDVkrobushappy

brittle pasture
#

I don't think you should set to -7 if it's not a cooking item

#

or is it only a problem if it has a cooking recipe? I'll be damned if I could remember

ornate trellis
#

tho how nonedible is -105

#

i wish i could remember too

#

alas, my mind is like a sifter

tranquil olive
#

enough to hurt, but hopefully not send the farmer to harvey-
I want to have it switch to +105 when the player has a mod installed though
-# I haven't reached that point yet, but eventually-

brittle pasture
#

browsed the code a bit more, and Type Crafting is definitely making it placeable

#

try switching to Basic

#

though I have no idea how the field snack is Crafting but not placeable afaik

tranquil olive
#

ah okay, because I don't mind it being placable on a table or something, but it was definitely placing like it was a chest and I was like SDVpuffershocked

brittle pasture
#

oh yeah, edibility

#

the field snack's edibility being positive is saving it from being placeable

#

if (this.type.Value != null && (base.Category == -8 || base.Category == -9 || this.Type == "Crafting" || this.isSapling() || base.QualifiedItemId == "(O)710" || base.Category == -74 || base.Category == -19) && (this.edibility.Value < 0 || this.IsWildTreeSapling()))

#

tl;dr switch to Basic for your Type

calm nebula
#

Are wild tree saplings edible

tranquil olive
#

Okay, I'll try Basic SDVkrobushappy thank you both for looking into this

brittle pasture
tranquil olive
#

Basic worked woo SDVkrobushappy

calm nebula
#

What's item 710

brittle pasture
#

Crab Pot

#

my eternal nemesis

#

one day we shall duel under high noon etc etc

old edge
#

How do I add a glow around player with C#?

autumn tide
#

hmm, not a C# person but have you checked out the glow-ring code?

lucid iron
#

just make LightSource

azure raven
#

yeah i assume, light source would follow the player's location every game tick

brave fable
#

i think one lazy option is to broadcast a multiplayer TAS with an attached character set to the player and a lightsource set to your new light. but i don't remember if that works

#

otherwise you have to manually update the light position and add/remove from locations with the player

#

i'd search the unpack & decompile for the glow ring item ID and buff ID

old edge
#

Oh good one

urban patrol
#

https://smapi.io/log/f22f030f37774b10ac854f5bc40777dd
https://smapi.io/json/content-patcher/8448a6968c9b43388a3725ac4502328f
i'm trying to add EAC functionality to a custom farm animal. the EAC docs say IMPORTANT: This asset will be pre-populated with every animal in game, with every values set to default. To ensure compatibility with other mods do not add new entries to the asset (ie. use Content Patcher's Entries without TargetField); instead, always use either Fields, or Entries with TargetField to edit it., but i'm getting an error about it not matching an existing target. am i misunderstanding this warning, and i need to just use plain ol' Entries?

ocean sailBOT
#

Log Info: SMAPI 4.5.1 with SDV 1.6.15 build 24356 on Windows 11 (10.0.22631.0), with 22 C# mods and 1 content packs.
Suggested fixes: One or more mods are out of date, consider updating them

uncut viper
#

What is the patch in the first warning adding? Because if it's trying to add radical.reindeer_Reindeer, it ain't working, so it's not going to be part of the every animal in game list

urban patrol
#

oh duh i forgot that i need to retry after fixing that

#

instead of "ooh let me fix everything at once"

#

yep no more error. although the animal isn't at marnie's so now i get to figure out why things silently fail, my favorite

brittle pasture
#

House should be Barn

#

if you want to gate them behind Big Barns use the required building field

urban patrol
#

got it thank you! i had Big Barn for both

glossy jacinth
#

does anybody knows if in the events that take place inside the farmhouse, is there a way for the game to automatically recognize where the bed is, using only CP? similar to one of elliot's event when he returns home

brave fable
#

unfortunately it's hardcoded by default for that event only, i'm not sure if any frameworks offer the same feature

glossy jacinth
#

well, i'll just drop the idea then

#

thanks anyway!

brave fable
#

sorry, hopefully someone will drop in and ping you with a framework that does!

iron sky
#

whats the limitation of content patcher? can content patcher add stuff instead of replacing? for example, adding crops, npcs, areas? or do i need to code to add that?

lucid mulch
#

Cp can add entries to existing vanilla asset and provide new maps and textures.

hard fern
iron sky
#

okay thanks yall

fickle thicket
lucid mulch
#

The tldr is anything that is in the unpack, cp can edit and add new entries to.

But if it's not in the unpack then you can't use cp to do it unless a different framework exposes it.
For example custom monsters or trying to control how stuff spawn in the mine

iron sky
iron sky
#

btw i wanna ask how ethical is it to have another mod's code (not art) as a template? or is it best to just ask the modder for permission?

vernal crest
# iron sky btw i wanna ask how ethical is it to have another mod's code (not art) as a temp...

If you're referring to json rather than code (CP mods are made using json), generally the etiquette is that if it's essentially indistinguishable from the json in other mods of the same kind it's fine to copy because it's most likely the only way it can be written in order for the patch to work at all. If it's code (C#), you will need to refer to the licence in their repo, if they have one.

gentle crane
#

Sanity check?
Using Content Patcher to add crops with levels (like the old harvest moon ds game)
They all add great. Yay. Unique ID for each item so no stacking problems. Wines juices etc work great. They make their seeds. Their seeds grow, and give the same leveled crop back.

I was trying to get crops to level up on harvest (which felt more natural and can look at fertilizer used, unlike using a modified seedmaker to occassionally boost output)
Using a C# script with Visual Studio 2022

But it seems the way I have to do this is pretty heavy handed harmony patches
A prefix to look at when things are harvested to get data like fertilizer etc, not actually changing anything just storing data
A prefix to edit Game1.createObjectDebris() so that when it is creating crops it intercepts the created object and occassionally upgrades the crop level

Does this sound right? Am I targeting things poorly? Is there a better way?

gentle crane
# iron sky alrighty, thanks!

I have successfully added some crops to the game that work, if you want to see what I did. I can try to explain what each step is doing as well. DM me if you want. I am also a total beginner though, so mine is probably not very good.

I strongly recommend decompiling the code and extracting the assets so you can see all the base stuff. Like crops have WAY more attributes than certain mods add (like cornucopia) . So if you are only looking at a mod you might not realize the power/options you have

gentle crane
# gentle crane Sanity check? Using Content Patcher to add crops with levels (like the old harve...

Alternatively I thought about looking at items added to inventory, and it looks like they have a tag hasBeenPickedUp that I could use? If crop added to inventory and it hasn't been picked up, run logic.
Only problem being if I ever add new sprites to higher levels that look very different it wouldn't show the right one dropped on the ground, but I don't care much about that (and would probably do it gradually, like GettingOverIt gold pot slowly getting gold as you complete it)

proud wyvern
#

if they're harvested with a scythe, then maybe, i don't remember
but if they're not?

silent sigil
#

Does anyone know how to use sprites from springobjects.xnb in Advance Melee Framework? I saw that in a new patch it says 'spriteFromObjectSheet' was obsolete in 1.6, being replaced with something called 'shotItemId', does anyone know what shotItemId is?

UPDATE: It's just 1.6 item id stuff, can use without "" for objects, for stuff with like (BC)1 obviously requires "" because its a string. "spriteFromObjectSheet" does nothing. shotItemId overwrites "parentSheetIndex"

gentle crane
final arch
#

I think, never got so far :^)

cant you check in crop.harvest() or whatever ots called? why do you specifically intercept the itemdebris?

brave fable
valid folio
#

Hi! Is it possible to make an item obtainable from a treasure chest? I’d like to have an object that the player can find, then donate to the museum to receive a reward and some instructions, just to vary the quests in my mod a bit. I think I know how to handle the donation part, but I’m not sure about the treasure chest part.

shut edge
#

"FriendsAndFamily": {
"Pierre": "[LocalizedText Strings\Characters:Relative_Husband]",
"Abigail": ""

#

guess that means they are considered friends

#

same for demetrius and maru

brave fable
#

both entries are valid for revealing gift taste dialogue, but pierre's will use a separate dialogue referring to him as the contents of that string. if that's what you're asking

shut edge
#

just looking into how things work

#

clint is friends with emily but not the opposite, good

#

"Sam": "[LocalizedText Strings\Characters:Relative_EldestSon]",
"Vincent": "[LocalizedText Strings\Characters:Relative_YoungestSon]",
"Kent": "[LocalizedText Strings\Characters:Relative_Husband]"

#

but then

#

"Jodi": "[LocalizedText Strings\Characters:Relative_Wife]",
"Sam": "[LocalizedText Strings\Characters:Relative_EldestSon]",
"Vincent": "[LocalizedText Strings\Characters:Relative_YoungestBoy]"

gentle rose
#

the data isn't exactly consistent, I wouldn't read too much into it

brave fable
gentle rose
#

like I think Jas calls Marnie her aunt but Marnie doesn't call her her niece? or the other way around

shut edge
#

maru is not friends with penny, rip

brave fable
#

you'd need a C# mod to add unique drops

#

it doesn't necessarily mean they're not friends, just that they don't know what the other likes

shut edge
#

Relative_LittleBabyGirl for penny via pam

merry river
shut edge
#

lol leo being called ParrotBoy

valid folio
gentle rose
brave fable
#

oh i'm well beyond ideas at this time of night haha

gentle rose
shut edge
#

yeah

#

i'm just being amused at the data nothing deep happening

brave fable
#

how unfair that leo is parrotboy and birdie is in fact not a bird

#

if i were to brainstorm an idea it'd be something ridiculous like making a specific shop in a new location run by five npcs and a dog that gives you an item if you sell 10 seasonal seeds

#

roughly that stupid and time consuming

shut edge
#

i made gift boxes animals produce in a mod of mine

#

the boxes can have different items inside

#

took a few dependacies to do tho

calm nebula
brave fable
#

don't give me island-adjacent ideas at this critical moment SDVdemetriums

blissful panther
#

If we have a crop fairy to grow planted things, why not nocturnal birds to drop seeds and plant random things?

#

(Not it... maybe it? Actually sounds kinda fun.)

golden basin
#

Hey everyone is there anyone interested in proof reading what i have so far for my mod?

calm nebula
#

Look i like birds, I like New Zealand, I'm a nerd, you should get me started on the unique ecosystem

golden basin
#

ill dm you

merry river
#

How do I properly format CustomFieldsin Data/Locationsusing MMAP? Would it be like this:

    "mushymato.MMAP_LightRays <texture>", "mushymato.MMAP_WoodsLighting <T|day color>" 
]```
merry river
merry river
#

Oh thanks, I somehow didn't see there's examples!

lucid iron
#

I been mega procrastinating on having them inline with docs alas

#

So this is more a testing mod monS

#

Something to be mindful of when using custom fields is, use TargetField to edit them if it's not your location

#

Otherwise you overwrite everyone else's fields