#making-mods-general

1 messages · Page 509 of 1

small kindle
#

I need some help if anyone could. So I am trying to make a Dialogue Display Framework Continued mod that replaces the portraits for Marry Lantana mod. I got them working with just PolymarySweet, the base mod, I even got the portraits working for Spring/Summer/Fall but whenever I check winter(and presumably the beach one but not sure how to check that yet) it bugs and displays the entire base portraitsheet at once. Ive checked like a billion times the paths are correct and SMAPI does not give any errors when I load into the game. I am absoluetly stumped

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.

lucid iron
#

Can you post your json via website

small kindle
lucid iron
#

hm you should really load these to Portraits/{{ModId}}, but that's a later issue

lucid iron
#

can u do patch export Data/Characters and check MermaidLantana's Appearance section?

small kindle
#

I copied it here. That orginal mod has an appearance section which I copied most of over to my mod. This is my second mod and the first one someone else made the json so kinda winging it trying to go off working jsons and ai which sucks lol

lucid iron
#

yea since they have existing appearance section, you'd want to just edit it directly

#
{
  "Action": "EditData",
  "Target": "Data/Characters",
  "TargetField": [
    "MermaidLantana",
    "Appearance"
  ],
  "Fields": {
    "Winter": {
      "Portrait": "Portraits/Portrait_Winter",
    },
    // and same for all other entries in Appearance ...
  }
}
#

the result should be that u end up with Winter/Beach/PelicanBeach but their Portrait fields are replaced

lucid mulch
#

or have your entries with a lower precedence if you want different conditions to be checked first

lucid iron
#

alternatively you can replace the entire Appearance section

#

if u dont care about what original mod is doing at all

#

that'd just be like

{
  "Action": "EditData",
  "Target": "Data/Characters",
  "Fields": {
    "MermaidLantana": {
      "Appearance": [ /* all your appearance entries go here */ ],
    },
  }
}
#

but yea pls do not load to just Portraits/Portrait_Winter

small kindle
#

But that wont load like the beach ones correctly or would it?

lucid iron
#

load to Portraits/{{ModId}}/Portrait_Winter

lucid iron
#

in the second case you provide the entire section

lucid mulch
#

the appearance system doesn't care about the portrait/sprite asset names at all, but you do want to ensure they are globally unique

small kindle
#

Do I put actually {{ModiD}} just type it like that? would that change the folder path?

lucid iron
#

you need to change the Target in your loads to match whatever you put in Appearance

#

but the actual value you put is arbitrary

#

{{ModId}} is a token that resolves to your mod id

#

which appears to be dakotag.MarryLantanaPortraits

#

im kinda assuming you need a Load to new target bc u are doing HD portrait with more mermaid per mermaid here

#

so the png is wider

lucid mulch
#

replacing

    {
      "Action": "Load",
      "Target": "Portraits/Portrait, Portraits/Portrait_Winter, Portraits/Portrait_Beach",
      "Priority": "High",
      "FromFile": "assets/Portraits/{{TargetWithoutPath}}.png"
    },

with

    {
      "Action": "Load",
      "Target": "Portraits/{{ModId}}/Portrait, Portraits/{{ModId}}/Portrait_Winter, Portraits/{{ModId}}/Portrait_Beach",
      "Priority": "High",
      "FromFile": "assets/Portraits/{{TargetWithoutPath}}.png"
    },

wont change how it needs to be on the filesystem due to how {{TargetWithoutPath}} only cares about whats after the last /

small kindle
#

Correct

#

Ok why ifI can ask does this matter?

#

the modid thing

lucid iron
#

if another mod also tries to Load Portraits/Portraits

#

both of you explode

small kindle
#

Ah

lucid iron
#

the asset name is global so try to make it unique if possible

lucid mulch
#

{{ModID}} is just a convenient way to ensure no two mods will accidently use the same asset name

lucid iron
#

helps with debugging too

small kindle
#

Well that might explain another issue I am having lol

#

So Id set the folders up the same just include modid in the json.Cool

#

Ok cool, I appreciate the help from both of you

#

The load modid is just for the load function or would I add it anywhere I pointing to the portait folder?

lucid iron
#

Once you have Load something, all references to the portrait must use what you wrote in Target

tiny zealot
#

if you are adding anything to the game (an asset name, an item id, an NPC, etc.) and the game lets you, you should include your mod id in its id somewhere, typically at the beginning

lucid iron
#

In other words yes replace all Portraits/Portrait

lucid mulch
#

the red needs to match, green needs to match, blue needs to match, and black needs to align with filesystem

small kindle
#

Ok gotit, thank you

#

I need to make some changes to my other mod apparently lol

west geyser
#

Do I need to make a json for the schedule and dialoge of every NPC I make? Just asking, cuz I ain't sure.

vernal crest
#

You don't need to make a separate json because you can keep everything except your blank json in the content.json.

west geyser
#

Mk, thanks.

devout otter
#

People ususally do it for organizational's sake.

loud sandal
#

I took a break from Pokemon to work on a new mod, finally done, now I can sleep lol
https://www.nexusmods.com/stardewvalley/mods/40937

Nexus Mods :: Stardew Valley

Allows the player to see their stats real-time, such as Speed, Immunity, Defense and all the stats from the currently equipped weapon.It also adds a new tab 'Farm Information' that helps visuali

autumn tide
loud sandal
autumn tide
#

..loading

#

yayyy

loud sandal
#

Awesome! Just have to wait and see what compatibility I need to do for it, but after a lot of testing it's finished lol

#

Working on it on the side ever since Khloe put out the Better Game Menu

autumn tide
#

congrats on release :)

loud sandal
#

Thanks!

opaque field
hard fern
#

eh'

#

link die

vernal crest
#

You're missing an s in Mods in your Load patch

opaque field
#

So I am

vernal crest
#

Your ShopTexture also doesn't have the s so if you add one to the Load patch you'll need to add it there too

#

(Don't forget that this needs i18n)

#

Or more LocalizedText if you're wanting to use that

#

Although translators won't really know how to work with that, so you might have to be prepared to give instructions

opaque field
#

wow typing is hard lmao

#

haha I'm planning to stick with i18n, I just copied over data from generic farm animal data as a template and haven't cleaned it up just yet

vernal crest
#

Ah ok fair enough

late pewter
#

Odd question and I am fully prepared for the answer to be no: Is it possible to make it so if you try to give an NPC an item, they reject it and give you back a different item?

vernal crest
#

Yes

late pewter
#

How hard would that be to implement?

worn dawn
#

I want to make a npc sprite retex, does anyone know where to find files for npc in emily's fashion show event?

vernal crest
late pewter
#

That gives back the same item, from what I've read?

vernal crest
#

It'll give back the item you tried to give them - that's the rejecting part, but you can also just put the give item dialogue command in to give whatever item you want

#

If you want them to not give back the item you gave them, then they're not rejecting it. In which case you want the AcceptGift keys.

devout otter
#

Basically you can put both AddItem and RemoveItem trigger actions in your dialogue to emulate trading items.

late pewter
vernal crest
#

So you don't want them to reject it

devout otter
#

I'm guessing they don't want it to count as a gift for the day.

vernal crest
#

Rejection keys don't use up your gift for the day

brittle pasture
#

I suppose you can use reject dialogue + remove item action to emulate giftless gifts

late pewter
#

They kind of have to reject it since I what I'm thinking of trying to do is have an NPC that is Single, and Datable, but when you try to give them the mermaid's pendant, they don't take it and trigger the Marriage process, they give you a long speech about not wanting to be tied down, and then give you back... a very convincing fake replica of the Mermaid's pendant.

#

(This might be outside my skill level, but thought I'd check if even doable before attempting)

devout otter
vernal crest
devout otter
worn dawn
late pewter
#

!NPC

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:

polar escarp
#

Issues 1 and 2 should now be resolved with Fashion Sense v7.1.1. Thank you for reporting those issues!

Regarding Issue 3, the problem ended up being with the patch. Specifically, StartingPosition.X needed to be shifted by 20 for each of the hat's season (since the mod's spritesheet was put together that way).

I edited the patch to add a new local token XOffset for each season patch, but you likely will know a better way!

// XOffset Spring: 0, Summer: 20, etc.
{
    "Action": "EditData",
    "Target": "Data/PeacefulEnd/FashionSense/HatData",
    "TargetField": ["{{ModId}}/Hat/{{IdSuffix}}"],
    "Fields": {
        "BackHat": { "DisableGrayscale": true, "StartingPosition": { "X": "{{XOffset}}", "Y": 60 } },
        "RightHat": { "DisableGrayscale": true, "StartingPosition": { "X": "{{XOffset}}", "Y": 20 } },
        "FrontHat": { "DisableGrayscale": true, "StartingPosition": { "X": "{{XOffset}}", "Y": 0 } },
        "LeftHat": { "DisableGrayscale": true, "StartingPosition": { "X": "{{XOffset}}", "Y": 40 } }
    },
    "When": {
        "Available": true
    }
}

If you encounter any other issues, please do let me know! Seasonal Hats will be the first mod making use of this part of FS, so there may be other bugs.

west thunder
#

@lucid iron Your royal monster variationess, I need assistance once more.

#

Sorry for disturbing.

#

To waste no time whatsoever, do you know under what category the assassin bug falls under?

#

Dangerous or none?

ivory plume
# polar escarp Issues 1 and 2 should now be resolved with [Fashion Sense v7.1.1](<https://githu...

Thanks! That was just a workaround for the null field handling (issue 2), so ideally I'd just remove it.

It seems like all the hats use the same sprites unless I manually specify the offset now though? You can reproduce with the content pack I sent you by only overriding the specific fields in the second patch:

"Fields": {
    "BackHat": { "DisableGrayscale": true },
    "RightHat": { "DisableGrayscale": true },
    "FrontHat": { "DisableGrayscale": true },
    "LeftHat": { "DisableGrayscale": true }
},

Or by removing that second patch entirely.

lucid iron
#

its the calico special bugs right

west thunder
#

Because those exist, apparently.

west thunder
lucid iron
#

if ur worried u can always just add the same data to both SMCPufferjail

west thunder
#

Also, is it true that if I were to put all my monster sprites into the MV variation format regardless if they have those or not, they'd be compatible with other MV mods?

lucid iron
#

well u know how there's a Varieties field and a DangerousVarieties field

#

you can just put the same data in both to have something apply to both normal and dangerous versions of that monster

lucid iron
west thunder
#

Thank you then.

#

I'll try converting everything to that format then.

#

Except Krobus, because that's not an enemy now, is it?

brave fable
#

interesting. shirt sprite index is serialised and loaded, so shirts have their appearance broken if sprite index is changed (such as when moving shirts to a new sheet). funnily enough, mousing over the shirt in the game menu is enough to restore its appearance.

rain oracle
#

Elo folks. Its been a SOLID while since I talked in here lol. I am in need of guidance.

I was notified of an issue with my greenhouse map mod. ("Personal Greenhouse" on nexus if anyone needs that info),
And whenever the player planted a fruit tree and broke it, you seemingly cant plant another one.

I've tracked it down to being how my flooring is handled.
I added a config to let you visually change the grass to be another season's colors for fun, but anytime the winter grass is selected, this problem happens.

All tile variants have the same properties, locations, and methods for getting them in, but its seemingly just broke. I hope I explained this well enough

#

(They only use the Diggable and Type properties, "T" and "Dirt" respectively.

merry river
#

I'm currently preparing to release my NPC and while testing, I noticed that my schedule strings are still kind of messed up :( I really need some help because my random schedule strings used to work before I converted everything to i18n, but now, it's just doing what is shown in the screenshot

Schedule strings: https://smapi.io/json/content-patcher/101f032e6c0a459ca792c5c2af6879ad
Schedule: https://smapi.io/json/content-patcher/a7698d23d0de4a0fb9b59e12cd639155 (the log name should be PeiMing Schedule Alternate House Location With SVE, the schedule key should be Mon. Tueor Wedbut the other schedule entries aren't working properly either)
i18n lines that should be in use: https://smapi.io/json/content-patcher/273aebcce3164abcafaacb3f0382accd
content: https://smapi.io/json/content-patcher/e012a62530a842be91ffefc015a29e3d

lucid iron
next quarry
devout otter
polar escarp
lucid mulch
merry river
lucid mulch
#

if a patch uses an invalid token then the patch doesn't run at all.
patch export Strings/Schedules/{{PeiMing}} (manually unroll what {{PeiMing}} should be) would show it be empty until the token is fixed

merry river
#

I see! I fixed the typo. Let me see if it works now

#

nope, the patch still is empty and the string isn't loading

ocean sailBOT
#

Log Info: SMAPI 4.3.2 with SDV 1.6.15 build 24356 on Microsoft Windows NT 6.2.9200.0, with 19 C# mods and 10 content packs.
Suggested fixes: One or more mods are out of date, consider updating them

merry river
#

I know, Governor. I know.

lucid mulch
#

PeiMingPartnerSummer.000 has same issue

devout otter
deep karma
#

i'm sorry if this was already answered somewhere, is it possible to translate the manifest with i18n, like the mod name or the description?

lucid mulch
#

no

deep karma
#

ty

merry river
lucid mulch
#

I would have expected CP to give some yellow text yelling about the invalid tokens but it didn't for some reason.
it might have shown up in patch summary

west thunder
#

Yet another Monster Variety issue. Joy.

#

Converted all of my monsters to the MV format.

#

And from what I've tested (though not fully, so there may be one or two more), the shadow sniper and lava bat are missing their sprites.

#

As in, they're the Vanilla ones, not mine.

#

@lucid iron erm

#

does one have a millisecond

lucid iron
#

Are those guys actually dangerous

#

But hm why did u just put the vanilla Texture?

hallow prism
#

i would say it's better to phrase your issue as you having a problem in making things work than a framework issue, because well, it's usually the case

molten helm
#

quick question for 3ds version demake accuracy, does stardews camera zoom stay constant all the time

#

so i can avoid writing zoom for my engine

west thunder
#

Just mine.

#

As in, the Vanilla textures show up in game, not mine.

lucid iron
#

Ah I see i was confused by the "Default": entry

#

You shouldn't need that entry but it is not the direct cause

#

Can you get a log where you encountered the shadow sniper and the lava bat?

ocean sailBOT
#

Log Info: SMAPI 4.3.2 with SDV 1.6.15 build 24356 on Microsoft Windows NT 10.0.26100.0, with 109 C# mods and 192 content packs.
Suggested fixes: One or more mods are out of date, consider updating them

west thunder
#

shhh

ocean sailBOT
#

Log Info: SMAPI 4.3.2 with SDV 1.6.15 build 24356 on Microsoft Windows NT 10.0.26100.0, with 109 C# mods and 192 content packs.
Suggested fixes: One or more mods are out of date, consider updating them

lucid iron
#
    Try ApplyMonsterVariety on 'Shadow Sniper' (StardewValley.Monsters : Shooter 'Characters\Monsters\Shadow Sniper' HardMode:False)
#

Shadow sniper is indeed not HardMode aka dangerous

#
Try ApplyMonsterVariety on 'Frost Bat' (StardewValley.Monsters : Bat 'Characters\Monsters\Frost Bat_dangerous' HardMode:True)
lucid iron
#

Is Frost Bat_dangerous the one you wanted to change?

lucid iron
west thunder
#

The dangerous frost bat works superbly.

calm nebula
lucid iron
#

I don't see a lava bat on this log

calm nebula
#

How are you handling the lighting

lucid iron
#

Ah nvm found it

#
Try ApplyMonsterVariety on 'Lava Bat' (StardewValley.Monsters : Bat 'Characters\Monsters\Lava Bat' HardMode:True)
#

Lava bat is considered dangerous

west thunder
#

WHAR?????

#

HOW

#

IT APPEARS IN THE REGULARMINE

lucid iron
#

I think the dangerous thing is more related to their stats going up internally SMCPufferjail

hallow prism
#

game is not always consistent

#

i know i am often annoyed by all the different slimes versions and how different quests handle them differently

west thunder
#

Oh, so there's a secret dangerous lava bat variant I'm not aware of?

hallow prism
#

i'm not sure what makes you reach this conclusion?

lucid iron
#

Well they look visually the same

#

But they are just marked dangerous if u see them in dangerous mines i think

#

Once again feel free to just put in same data in varieties and dangerous varieties

west thunder
#

Well, since there's a stat change between mine variants and that MV has the ability to change both the regular and dangerous variants of a monster regardless, I could in theory make my own.

#

But I'm way too damn tired to sprite a bat, those things take eons to make.

west thunder
#

Thanks.

west thunder
lucid iron
west thunder
#

Thanks.

west thunder
#

Just checking.

#

This should be the last of 'um.

lucid iron
#

You shouldn't need "Default":

#

There's no special logic for that key iirc, it was used for visual enemy variety mainly because that mod intentionally includes the actual original texture

west thunder
lucid iron
#

Ye that should be enough

west thunder
#

Or are there any specifics with the }, that I'm missing?

lucid iron
#

"{{ModId}}_Lava Bat_dangerous/texture_0"

#

You never use this loaded target either so u can yeet that

west thunder
#

What do I write instead then?

west thunder
lucid iron
#

Nothing

west thunder
lucid iron
#

I think you misunderstood the meaning of you don't need it kyuuchan_run

west thunder
#

As in, the whole { }, ?

#

Just the "Sprite" bits underneath the variety categories?

lucid iron
#

So the "Sprite" field is the place that defines the texture asset name

#

Atm you got 1 "Sprite": "{{ModId}}_Lava Bat/texture_0"

#

You have no entries that say "Sprite": "{{ModId}}_Lava Bat_dangerous/texture_0"

#

The game will access "{{ModId}}_Lava Bat/texture_0" when that entry applies, and that triggers the corresponding Load, all good

#

The game will never access "{{ModId}}_Lava Bat_dangerous/texture_0" as you have no entries that call upon it, so that Load is not needed

lucid iron
west thunder
#

And I value your willingness to help little 'ole me.

#

With that being said.

#

explain this to me like i'm a marmoset

lucid iron
#

Tbh i thought i already explained it as clearly as possible but pls understand i am programmer brained here kyuuchan_run

hard fern
#

What's a marmoset

#

Im guessing it's a little furry creature

lucid iron
#

The concept of Load isn't really MV specific either

west thunder
hard fern
#

O

lucid iron
#

All assets in the game are fetched from Content when game actually request them

#

For example Portraits/Krobus is loaded when you actually have to see the portrait, e.g. you talked to him

west thunder
#

Mhm.

west thunder
#

Is that a good or bad thing?

west thunder
#

sorrie

#

I need to be 1000% sure.

next plaza
#

summons my last brain cell trying to remember which discord user matches this github PR author

#

@lucid iron I somehow completely missed your PR

tiny zealot
#

casey i would tell you that my github account matches my discord one, but that is so far proven not to be helpful /lh
(maybe more helpful: i haven't sent you any PRs)

gray bear
#

chu's github is the same as their nexus user right?

#

mushy....something

next plaza
next plaza
#

But also yeah the PR is from mushymato

tiny zealot
#

chu is mushymato on nexus/github

#

and getting out ahead of it, selph is zombifier

next plaza
#

Also @urban patrol are you still having problems with spacecore setpieces? I can't look right this moment, but now that I've spoken here the pending pings have reset 😛

gray bear
#

chu user is mushy 🍅

hallow prism
#

i believe nic hasn't yet figured the issue, yeah

gray bear
ivory plume
gray bear
#

cough cough

hallow prism
ocean sailBOT
#

Log Info: SMAPI 4.3.2 with SDV 1.6.15 build 24356 on Microsoft Windows NT 10.0.22631.0, with 20 C# mods and 1 content packs.
Suggested fixes: One or more mods are out of date, consider updating them

gray bear
#

-# i should add my github user. and also upload my mods on github

hallow prism
#

(not pinging you because well, you don't have time right now and nic may want to provide extra/more recent info)

gray bear
#

didn't know chu had all of those numbers in their discord user

next plaza
#

Unless firefox ctrl-f is broken

#

Also sudden idea

hard fern
#

(i think. Im no math )

gray bear
#

i mean did u add urself casey

next plaza
#

I'm pretty sure I predate said list

gray bear
#

yep ur not on there

next plaza
#

Also, I know I was on there in the past

gray bear
#

smh add urself

next plaza
#

Because "3 notable mods"

gray bear
#

ur user is kittycasey right

#

on nexus

next plaza
#

spacechase0

#

I checked current name and old name

lucid iron
urban patrol
gray bear
#

yep there is no you

hallow prism
#

maybe it was cleaned at a moment when you were on break or something? like not on maincord

next plaza
patent lanceBOT
#

sorry, our offices are now closed. Please ask for a reminder during our business hours, 10AM-10:01AM on the 6th Tuesday of the month. Thank you for your understanding. Cue defiant jazz music. (#7022288) (6h | <t:1767827142>)

ivory plume
#

You were there at some point, otherwise your Mod Author role would have been removed last time we synced them. Maybe someone accidentally deleted you. SDVpufferthinkblob

gray bear
#

can u check like, past edits

lucid iron
#

I did at one point just reverse derived what the scale mdoifier would be from source size override while not actually using it for source size override but that seems confusing hence new field

gray bear
#

otherwise i can add u back if u want

lucid iron
lucid iron
#

Seemed less confusion to just keep existing api as is while implementing the new path

woeful lintel
#

technically FF has a "variant" feature to make the same furniture with different sprites, but it creates a furniture type per variant. I have a proper skin feature on my todo list tho

next plaza
#

Breaking news: @ivory plume hates me, specifically (or did on August 27th, 2023, at least)

next plaza
gray bear
#

as much as "adding more furniture" works as a solution i really do hate the cluttering is causes. like yay variants but also oh no variants how do i find anything

ivory plume
heavy pewter
#

Guys, how do i fix this error? My attempt to fix it doesnt seem to work so idk

gray bear
#

i mean casey is a mod criminal

gray bear
#

same brainwave

lucid iron
next plaza
lucid iron
#

Perhaps I can make it so that

  • not full sheet mode
  • no source rect override
  • yes scale modifer
    -> a source rect override is calculated from the scale modifier at data level
next plaza
#

Admittedly I'm not sure how them stacking could make sense

lucid iron
#

So the logic remains similar

next plaza
#

Yeah that would work

woeful lintel
lucid iron
#

Kk I'll do that later and ping when im done

lucid iron
#

How it works is that each variant has a catalog

gray bear
#

ohhh

lucid iron
#

So u get the oak furniture from the oak catalog

gray bear
#

that is, a very elegant solution

lucid iron
#

But honestly I don't feel it's that hard to find things even with the hhd everything catalog

woeful lintel
#

with FF (spacecore might be required) you can even make a catalogue where each tab is a variant

gray bear
#

i have issues with finding anything, really

#

my brain is full of bees

next plaza
#

I have been restored to my rightful place

woeful lintel
next plaza
#

Once stardew3d comes out I'll unfortunately be replacing Spenny with it

lucid iron
#

spenny3d

ivory plume
next plaza
#

lies

#

I will never stop the crimes

woeful lintel
#

actually I just realized that since FF adds catalogue tabs automatically with spacecore, it might conflict with custom ones added by a pack author...

#

welp, if anyone runs into this, I'll fix it

next plaza
#

Depending on how you did it, they might could overwrite yours with patch priority

lucid iron
#

When i am autogenerating some kind of data on an asset not owned by me I usually use Early

#

It means ppl can edit the generated data easily

next plaza
#

I like how this makes it look like I released my first mod (which was only like 10-15 lines of non-boilerplate, maybe less), and in the next 4 days I made the entire MP mod

iron ridge
#

FOUR DAYS FOR MULTIPLAYER???

next plaza
#

I did say "it looks like"

gentle rose
lucid iron
#

Nah it must have taken at least 5 days

next plaza
next plaza
ivory plume
#

(You coded the entire multiplayer mod without source control???)

next plaza
#

Yep

iron ridge
#

I will choose to believe it took less than a week

next plaza
#

Of course the first versions were even more limited than the final ones

ivory plume
#

(I retract my earlier statement. You can keep the code crime queen title.)

next plaza
#

Like, "no UI, literally just a windows popup when selecting a save"

lucid iron
#

codecrimescasey

iron ridge
#

9280 (lines?) Is less than I expected tbh

next plaza
#

I think the most recent version is more

#

But yeah, it's not as insane as you might think.

#

Especially considering we didn't have Harmony back then

lucid iron
#

What is the server used for this

#

Or is it like LAN only

next plaza
#

...your PC?

#

Ah

lucid iron
#

Do u need public IP

next plaza
#

LAN only at first, people often used hamachi.

#

I eventually added support for steam networking

#

Around the time I added an actual UI for it

#

I poked around at TCP NAT punchthrough at one point but couldn't figure out how to get it working

#

To be fair I didn't have a central server to use

lucid iron
#

Recently I had various cases where I wish i could suppress a net sync on a net field

next plaza
#

You can if you cheat a little

#

SpaceCore does it

lucid iron
#

So far i just been making sure I unset whatever it is before the tick is up SMCPufferjail

iron ridge
#

Is yours udp or tcp

next plaza
iron ridge
#

Interesting

next plaza
lucid iron
next plaza
#

Net fields did not exist back when I made the MP mod, so it's literally just manually checking for changes each frame and syncing them when that does happen

next plaza
lucid iron
#

To

next plaza
#

Then that's what the code I linked does

#

It makes the netfield not realize any changes were made, so it thinks there's nothing to sync

lucid iron
#

Ah i see how terrible

next plaza
#

That being said, 1.7 will likely have some things that make optional data syncing more bearable

lucid iron
#

My value is just for drawing so I am just living with setting all the values on rendering and unsetting all on rendered

next plaza
#

Why are you using the existing thing at all then? Because ConditionalWeakTable is slow, or because you don't have a patch actually doing the rendering (ie. just hijacking vanilla stuff)?

lucid iron
#

I didn't patch draw yeah

#

So im just making the value what i want temporarily

next plaza
#

Ah

#

You could probably replace references to said field with a transpiler

lucid iron
#

I could have done it on draw but it's literally just that 1 number

next plaza
#

I don't know if we have the harmony version that supports infix patches or whatever they are called

lucid iron
#

grass.grassSourceOffset.Value

lucid iron
next plaza
#

Code from before I acclimated to C#

#

Other signs include:

 // And once again, this would be much easier with templates :P

and naming generic parameters like you would C++ template paramaters

public class SpecificMonitor< BASETYPE, TYPE, STATE, PACKET > : Monitor
#
            // This could be done even better with macros.
            // (Although it wouldn't be as bad in the first place if I could use templates.)
            // Sigh. Still cleaner than copying those methods for every new TerrainFeature/Object type.
next plaza
#

Matrices. Not even once (if you can help it).

rain oracle
west thunder
#

I'll just delete the defaults and call it an update.

patent lanceBOT
tender bloom
next plaza
tender bloom
#

don't worry, i have!

#

what a title

#

just rolls off the tongue

#

can't change my name until i fix my car tho

next plaza
#

"Official unofficial Jadga fixer"

#

...you still have a low tire pressure light???????????

tender bloom
#

yeah

#

it's not like it's a problem

#

i mean it's a little problem

#

the car tires are fine they just are throwing a hissy fit

calm nebula
#

Yeah, you just need new sensors right????

tender bloom
#

yup

patent lanceBOT
next plaza
#

No spaces around the colon though

tender bloom
#

is that better

next plaza
#

JA/DGA is what has the low tire pressure light?

You know what, the checks out

calm nebula
lucid iron
rain oracle
#

The winter tiles for the “treespots” as i call them, are all together in the same file with the other seasons.
Winter isnt separated since that would make for more file management :p

As a result, they have the same properties, yes.
(Or should ig.)

lucid iron
#

I'd check these in game with lookup anything just to be sure bolbthinking

rain oracle
#

My only guess is that its not patching them in correctly since its just not using the properties at all

lucid iron
#

When i made a greenhouse with seasonal config i actually just used SeasonOverride

#

It worked mainly because I also made the greenhouse outdoors

rain oracle
#

I used SeasonOverride for the sounds and textures to work properly but i just replace the tileset for the floor itself on condition

lucid iron
#

Yeah you could try making greenhouse treat as outdoors

#

And not do any editmap for the tiles

rain oracle
#

The grass works perfectly with how i did it, my problem is that 3x3 of border grass and dirt i put on top of it

compact dragon
#

hiya!
If I do something such as changing the prices of a crop midgame, will it update automatically or not?
And if not, what do I do about it (if I can I'm not really good at coding haha)

lucid iron
#

They have special logic in greenhouse

#

But yeah for now i would check if the tile props r there on the winter version

compact dragon
calm nebula
#

Sell price is baked in more but may be able to be reset with BETAs

#

Buy price should be updated live

compact dragon
#

Ty.

simple crest
#

I have a glorius mouse does anyone kno how to get the animation cancel macro on it >

brittle pasture
#

this seems like more of a question for stardew-spoilers

#

and/or the speedrunning server

#

actually I think AC macros are banned in speedrunning lol

gray bear
#

i just use faster animations

calm nebula
#

AC?

gray bear
#

animation cancel

calm nebula
#

Tbh I first thought alternating current

#

Then air conditioning

gray bear
#

i thought the second one until reading the message just now

rain oracle
#

As for making them stone type, while it may have funky properties in greenhouses, ill ideally avoid that since it both didnt fix my issue, and messes with the sound effects, which isnt ideal.

lucid iron
#

You can enable tile lookups

#

The purpose here is to make sure that the problem is the tile data and not season override for some reason

rain oracle
#

I have the mod but im not sure how to enable that?

lucid iron
#

It's in config option

rain oracle
#

and the SeasonOverride property is a newer addition. the bug was present before that

lucid iron
#

Ah ok blobcatgooglyblep

elder scarab
#

Excuse me, how do I make a cutscene or event, and how many hearts are needed in my Stardew Valley mod?

urban patrol
#

to make an event, you’ll need to use [[Modding:Event_data]]. you can determine the heart level by setting the preconditions

urban patrol
#

are you familiar with content patcher?

rain oracle
# lucid iron The purpose here is to make sure that the problem is the tile data and not seaso...

So... Its weird.

The top section reflects the map properties appropriately.
I edited the SeasonOverride to be summer for examples sake and disabled the cosmetic config option that changes the floor incase it was causing overlapping problems.
No issues here.

In the ssecond section, its appropriately targeting the right tilesheet map, cause thats how I have it. But the properties... just arent there?

#

(Apologies for possible spam btw. SDVpufferheart )

lucid iron
#

Ok it's good that we definitely confirmed the problem

#

I think the easiest way is probably just gonna be, add the Type props with map properties and call it a day SMCPufferjail

rain oracle
#

?

#

You mean like directly add the dirt and diggable coordinates in my code?

molten helm
#

hey

#

once again

#

are there fr animated tiles under things you cant even see 😭

#

also i wonder if that positioning is correct

#

also for context this is my own 3ds thing, not the actual game

#

so im writing the rendering stuff

ivory plume
ivory plume
gilded flame
#

Hey everyone! 👋 I’m new to the modding scene, but I’ve been hard at work creating a large catalogue of assets for a passion project called Fae And Folk.

The Vision: A witch-themed expansion for the valley featuring magical items, new NPCs, custom crops/trees, and new foraging mechanics.

What I Bring: I am strictly an asset creator. I have a massive library of pixel art ready to go (forage, special powers, character portraits, etc.), but I lack the coding knowledge to implement them.

What I’m Looking For: I’m looking for a collaborator (C# / SMAPI / Content Patcher) who wants to handle the technical side while I handle the visuals. This is a free passion project, so I'm looking for someone who just wants to build something cool together.

I’d love to show you the asset sheet if you’re interested! DM me if you want to team up. 🍄✨ Here's some examples of assets I've created, two of the characters for this mod. If this isn't the right place to ask, I apologize if spamming. I just don't know where to look for people who'd be interested. Thank you for reading.

ivory plume
gilded flame
#

Also! Very cool meeting you pathoschild!

ivory plume
#

Yeah, AI isn't very good at creating mods yet (at least partly because mod code mostly isn't part of the AI training data sets, especially for content packs).

autumn tide
#

afaik it's also against the rules in the server

gilded flame
#

yeah, I noticed haha, it knows stuff and can make basic mods, but its hard to do anything complex, it gets confused too easiy, well I am no longer supporting the AI mod

#

I want to make something real with real people

autumn tide
#

i have a lot of stuff im working on already, but here are some resources!

#

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

autumn tide
#
Stardew Valley Wiki

Mods are packages of files which change Stardew Valley in some way. Mods can add features (like showing NPCs on the map), change game mechanics (like making fences decay more slowly), make cosmetic changes (like making your house look like a hobbit home), and much more.

gilded flame
#

very cool! Thank you for the info!

autumn tide
#
Stardew Modding Wiki

Interested in making a mod for Stardew Valley? Then you've come to the right place! Check out the list for step-by-step tutorials to make your very own SDV mod.
Have you made a mod before and want to share what you learned? Awesome! Just create a new page on this wiki, call it "Tutorial: How to do a thing," and put in your advice, screenshots ...

#

ofc :)

polar escarp
ivory plume
#

Thanks! There's no hurry; Seasonal Hats depends on a change in Content Patcher 2.9.0, so it'll need to wait until that's released later this month anyway.

pine elbow
#

Hi, I’m running into a problem in Tiled. Any property I add as TileData doesn’t seem to work in-game. For example, I set Action Door but the door won’t open. It’s on the Building layer, and I did set the coordinates in map properties. Honestly, I’m not sure what’s wrong.

urban patrol
#

(assuming you mean for a door like to an NPC's bedroom)

pine elbow
#

Yeah, I did follow that tutorial, but it’s still not working

urban patrol
#

can you share what you have so far?

pine elbow
urban patrol
#

and the bottom tile of the door is on Buildings, and the top 2 tiles of the door are on Front?

pine elbow
#

Yes

urban patrol
#

oh i see the issue

#

your TileData isn't snapped to the grid

pine elbow
#

Oh yeah, you’re right, thanks a lot!

rain oracle
#

In tiled, whats the difference between adding properties to the tile layer vs the object layer? (i.e: the Blue vs pink ones.)
I moved my broken ones (from the earlier issue) onto the object layer and its.. seemingly fixed??

autumn tide
#

afaik the tile layers are for placing the images, and the object layers are for putting interactions in the map, like those lil message things that pop up when you click on a specific item in vanilla

urban patrol
#

by properties do you mean TileData?

rain oracle
#

yes.

#

In this case, i tried moving the "Diggable" and "Type" properties there, and it applied them just fine. Doing the same on the tile did nada

Hence, im a bit confused.

hallow prism
#

tiledata like that can be applied to the whole tile in the tilesheet property (affects all tile) or as tiledata

#

but i don't believe they can be added to the individual image

lucid iron
#

I'm sure the root cause is very intriguing but it's the easiest fix i think

opaque field
ocean sailBOT
#

Log Info: SMAPI 4.3.2 with SDV 1.6.15 build 24356 on Unix 6.14.0.37, with 26 C# mods and 13 content packs.
Suggested fixes: One or more mods are out of date, consider updating them

polar escarp
autumn tide
opaque field
urban patrol
opaque field
#

I saw it another mod and it works with the pronouns so I thought it would work here too 😭

uncut viper
#

yes you can, and people do, though I don't personally recommend it because it can lead to very difficult to debug errors

#

(case in point)

opaque field
#

Yeah. I think I might… just revert back to the previous version at this point

#

Haha this is making me nuts

urban patrol
#

i think i'm mostly confused why you would combine all of those things into one token lol

uncut viper
#

it's an "easy" but very fragile way of getting the token value you want imported into an i18n token

urban patrol
#

ah i see

opaque field
#

yeah, and just lumping this together so instead of having to do the multiple tokens in my thing I could just put {{NicknameandDescriptions}} and that would cover all of them

#

but it's not worth it at this point - I'll leave the pronouns since that works but going back to separate nickname and descriptors

uncut viper
#

(i personally very much dislike it and refuse to debug issues with it)

#

(not your use specifically and personally charcoal I just mean in general)

ornate locust
#

I swapped over to localized strings when I figured them out

#

avoiding the passthrough in general where I can

patent lanceBOT
ornate locust
#

Only current problem is they don't work in mail

urban patrol
#

maybe that can/will be addressed in 1.6.16/1.7

molten charm
#

Hi! I wanted to make a little personal edit to the Make Marlon Real mod (permissions say it's ok) to add seasonal outfits for Marlon, since I have custom sprites for him that I want to use for each season. I'm lost on how to add seasonal outfits for modded characters though. Any advice on how to go about it?

urban patrol
molten charm
#

Thank you!

valid folio
#

Hello, quick question. Do you know if it’s possible to set an EMC rule that accepts more than one context tag or more than one ItemID? If it is possible, is it done like in the example line below?

"selph.ExtraMachineConfig.RequirementTags.2": "category_egg, item_egg", or

"selph.ExtraMachineConfig.RequirementTags.2": "category_egg", "item_egg",

brittle pasture
#

you need a separate output item entry

#

fuel tags are AND

valid folio
# brittle pasture fuel tags are AND

Do you have an example at hand? My idea is that an item can be crafted using cow milk, goat milk, a dinosaur egg, and any egg. I know I could use category_milk or milk_item for milk, but I need it to be only milk of animal origin. If I include iplant_milk_item, would that work? Also, the dinosaur egg doesn’t have the category_egg` context tag.

brittle pasture
#

unfortunately I don't
your outputitem list would have two identical items, but one accepts category_egg and the other accepts item_egg

brave fable
#

(while not relevant to your implementation, if this is for a fuel item, it feels a little risky having a machine that can automatically consume a dinosaur egg instead of a regular egg)

valid folio
valid folio
brittle pasture
#

it's just one extra entry in OutputItem, it's not that bad aside from maybe clogging up Lookup Anything

valid folio
brittle pasture
#

sure

valid folio
#

In the case of eggs, I was thinking of changing category_egg to egg_item

valid folio
true coyote
#

hi hello Ive been gone for a few months and come to find a report that the AT scissors aren't working with my donkey mod, a la "no texture for current season" and I dont know where to begin as my brain has already dumped all modding related info out of my head, but Im fairly sure animals don't have .... seasons

#

and I dont think I specified them as seasons -- nope

vernal crest
#

It just means that the name for your donkeys in the AT mod doesn't match the name in your CP mod. It uses the same message whether or not you have seasonal variants.

true coyote
#

dont know how it would break in the 3 .. 4? months since I posted it, and it was working fine for me then. Alas

#

I'll have to update and check it out at some point

lucid iron
#

Yeah gotta repro to know what's up

true coyote
#

the AT has a small cp component just for the shop icons, but it wasn't throwing any weird stuff at me then

lucid iron
#

So are the AT donkey targeting something else

true coyote
#

doesnt look like birdb updated the original mod either so it shouldn't have changed the target stuff

#

this looks like a problem for future me, stares at 50+ mod updates

lucid iron
#

hm i wish to get some opinions

#

mainly from @next plaza but also in general

#

in the current PR up for spacecore's texture override there is new field scale modifier

#

to make a 64x64 portrait use 256x256 texture ala HD portraits

#

the actual number one must put is scale modifier = 0.25

#

i wonder if it'd be more intuitive to invert that from the start

#

so that you put scale modifier = 4f and then I divide that at some point blobcatgooglyblep

#

maff is the same after this 1 division, so it is about what is more intuitive

#

reason why it's currently 0.25 is because this is a modifier on scale, which is usually like 4f (but sometimes 3f, it's not fixed number), and 0.25 brings it to 1f

uncut viper
#

why not have em supply the desired width/height and calculate the modifier from that

lucid iron
#

that's already there Dokkan

#

but this mode is added specifically for case of wanting to replace entire sheet

uncut viper
#

then i would make the modifier required in that example be 4f

#

and base it off the asset and not the draw

lucid iron
#

why would it be based on asset bolbthinking

uncut viper
#

as in the underlying png

#

the literal asset found in the unpack

#

portraits are 64px wide in the png

#

therefore to make them 256 that should be 4x

lucid iron
#

hm i guess i dont rly think there's a distinction here blobcatgooglyblep

uncut viper
#

the distinction is exactly what you were asking for opinions on

lucid iron
#

yea i mean i think mathwise the underlying png is also accounted for

#

i gotta remember wtf 3 weeks ago chu is on about though let me try to write it out

uncut viper
#

my opinion is that the content pack mod author should not have to care what the draw code they cant see assumes or does

lucid iron
#

yea that's fair Bolb

#

hm so i think what i was doing is, aim for the same draw area

#

e.g. if game was drawing a 16x32 texture of something to 64x128 actual pixels

#

i always ensure we r drawing 64x128 actual pixels, but the source rect is adjusted by the modifier

#

this is a division on source rect, and a multiply on scale

lucid iron
#

that seems reasonable and now scale modifier can be accurately described as source rect modifier instead

lucid iron
woeful lintel
#

the best thing about changing year is that it's easier to see if I have new posts on my Nexus mods

urban patrol
#

i'm finally getting around to this but i'm having a brain fart about how to fix it. when i open the .tmx in N++ it shows the source as <image source="tilesheets/spring_handwrittenhello.dbda_Lighthouse.png" width="256" height="304"/>, and when i try to change it in tiled by clicking Edit on the Image field, it makes me choose a filepath. i can't just have it be spring_handwrittenhello.dbda_Lighthouse.png

uncut viper
#

If the image you select is in the same folder as the .tmx you are editing, it won't make it a file path.

urban patrol
#

so do i have to move it up a level out of the tilesheets folder, change that, then move it back?

vernal crest
uncut viper
#

You can do that, you can edit in N++, you can run it through the map fixer

urban patrol
#

gotcha thanks both of you

vernal crest
#

And if you added it originally using the tilesheetinator then I think you set that up incorrectly

urban patrol
#

i thiiiink the map is from before tilesheetinator. i started making it ages ago, probably april or may?

#

no it would have been before that even, i released the mod in april

vernal crest
#

Then you probably just did add it the normal way and didn't think about the folder being part of the image source so as long as you use the tilesheetinator in future you won't have this repeat

urban patrol
#

yeah, i haven't had any other issues with maps since (except for the stupid mistakes like tilesheet climbing that i really should know better but forget to check all config options :P)

golden basin
#

my noc just wont reject the movie ticket and i dont know why can someone help me

#

this is how i have it written

vernal crest
ornate locust
#

It's not just dislike, is it? There's a Reject

#
                            "Tag": "spring_movie_0", //Brave Little Sapling
                            "Response": "reject",
                            "Whitelist": [],
                            "SpecialResponses": {},
                            "ID": "reaction_0"
                        },```
This is how I have mine done
proven spindle
boreal cliff
#

without modifying a mod's files, if a map i wanna EditMap has a period in the file name, do i include the file extension

#

bc i think smapi thinks that anything after the period is a file ext

brave fable
#

you use the same Target that the other mod used when using Load for that map; you're editing an asset, not a file.

boreal cliff
#

thankiess

pine elbow
#

👋

iron ridge
#

oh no not another one

sleek flint
gray bear
#

what happen

iron ridge
gray bear
#

ooh

#

wish u could prove these guys are bots somehow

sleek flint
#

Do you think they could be bots?

gray bear
#

i mean im pretty sure they send the same message at the exact time

iron ridge
#

not quite

iron ridge
boreal cliff
iron ridge
# iron ridge not quite

2026-01-08T10:10:26.619Z
2026-01-08T10:10:26.277Z
2026-01-08T10:10:04.053Z
for the 3 from this one

boreal cliff
#

but i found a workaround anyway so all gucci SDVpufferheart

gray bear
#

wait rlly? mine show the same timestamp

iron ridge
#

yeah discord round sto minute

gray bear
#

still, suspicious yknow

iron ridge
#

but the id can just be decoded to get the actual time

brave fable
boreal cliff
#

wowiethese are,, some new ways to strings words SDVpufferfear

sleek flint
#

I don't think this is an actual bot. I think this is a real account that got hacked.

brave fable
#

well on the other hand, if what you've got works then don't worry hahah

sleek flint
#

When you check its links it looks way to legit.

#

@iron ridge Hold on, you can mod on switch???

iron ridge
#

yeah

proud wyvern
#

Depends on what you’re expecting from modding

trim sand
#

Silly question;
When spawning an item via animal produce, can it be assigned flavor information somehow in its item spawn fields?
Trying to make a farm animal that "digs up" honey, and I'd like to when spawning it to scan the area for nearby flowers like a bee house to set flavor/price data

vernal crest
latent flame
#

<@&239770080378880001>

golden basin
golden basin
#

i fixed it!

brittle pasture
final arch
#

what was the switch2 bug? 😄

final arch
#

yeah

#

wondering what went wrong SDVkrobusgiggle

hard fern
#

crafting menu is hungry

brittle pasture
#

according to the s2 the horse flute is a valid ingredient for blue grass starter (among other items)

lucid iron
#

How does this happen bolbphase

brittle pasture
#

iunno but I'd also love to look at the decompiled code

modest dagger
#

instructions unclear; planted flute, grew a horse

untold oriole
#

Hi! Where can I see the item IDs in the game?

tiny zealot
golden basin
#

{{Relationship:FC.Valerie:Married}}
Is this a workable token or am i tripping

tiny zealot
#

the token is {{Relationship:FC.Valerie}}, and one value it can have is "Married"

golden basin
#

then how abuot this one

tiny zealot
#

so if this is for a When block you want
"Relationship:FC.Valerie": "Married"

golden basin
#

if i do it like the new one, how owuld it be written in a i18n like im trying to make dialgoue for the festival but only for when youre married

tiny zealot
#

i do it this way:
"{{Lacey}}": "{{i18n:festival.{{TargetWithoutPath}}.{{Relationship:{{Lacey}}}}.1|default={{i18n:festival.{{TargetWithoutPath}}.1}} }}"
(and i have similar ones for _y2 and _y3 (dialogue keys only, friends, don't panic) which use .2 and .3)

golden basin
#

i dont want to have every relationship status only marriage cause the npcs only go there when married

tiny zealot
#

i only have married and regular (there's a default you maybe didn't see?)

golden basin
#

i see the default yes

#

so if i dont have those entries and theyre not at the festival anyway i dont need to worry about it even though its coded to have every relatinship status?

tiny zealot
#

so this checks for e.g. festival.spring24.married.1 if you are married. or festival.spring24.dating.1 if dating, etc. but i only define married so if you're dating you just get the regular one

golden basin
#

I know how to do it that way im asking if theres a way to do it for only if youre married in the code, cause i wasnt sure if having it coded to make repsonses to every relationship status would cause any issues

#

since theyre only ion the festival when married

tiny zealot
#

this technique hasn't caused me issues for approaching two years. i'll let you know if it does

lucid iron
#

Oh yeah u can use default key now too

#

Which just means ichor can remove 1 layer of i18n: in the default

tiny zealot
#

oh that's nice, i might do that (old mod syndrome lol)

tiny zealot
brittle pasture
#

Lookup Anything can also help

#

if you just need vanilla IDs there's a site for that

untold oriole
#

thanks

brittle pasture
untold oriole
#

Okay, thanks!

bitter coyote
#

Hi Guys, I am super super new to modding, but I decided to give it a shot. I’ve run into a couple issues, and I am seeking advice, but I don’t want to just dump them in the channel if there’s a better way to address them? I totally will if that’s what is easiest, I just don’t want to inconvenience anyone.

icy yoke
#

Omg I was abt to ask the same thing

lucid iron
#

@bitter coyote @icy yoke just dump your questions in the channel

#

That's what this place is for

icy yoke
#

Ok banger

bitter coyote
#

Okay! Thank you

My biggest question is trying to get a stupid custom map to load. All I did was edit the existing saloon map and add a new bedroom for my custom NPC. But it will not load.

I used vanilla tilesheets, I put it in the content folder in my CP mod folder.

Nothing

I downloaded TMX toolkit to see if it would help

It did not

My NPC is floating in an inaccessible void outside the bar storage room currently

Please advise

lucid iron
#

!json use the site linked here

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.

lucid iron
#

This is also where I gotta warn you against putting NPC house on existing map, saloon real estate is a struggle

bitter coyote
#

Fair enough. I will run it and see what it says. Thank you!

latent mauve
#

Please consider using either Saloon Second Floor (assuming there is still space) or Pelican Valley Loft NPC Apartments if you want to avoid the real estate struggle!

#

Both mods are meant to provide spaces for new NPCs to live without the mod author having to try to find empty space on the map, which also improves compatibility.

vague crag
#

Helper.Input.Send is upcoming in SMAPI 4.4.0, is there any way to achieve the behavior of simulating a button press now?

lucid iron
vague crag
lucid iron
#

Oh i think starcontrol does that, it's mit so u can take a look at it

bitter coyote
lucid iron
#

It suppresses vanilla button press with SMAPI and then patches the gamepad state things to manipulate what rest of game sees as button inputs

bitter coyote
vague crag
lucid iron
#

That'd be the harmony patches I linked

#

That said, this mod was made over a year ago and i think 4.4.0 will be out very soon

#

What if you just wait a bit blobcatgooglyblep

bitter coyote
#

Also, since there are multiple maps that compile to create the new area, how would I get it to use and access all of those files?

rich geyser
#

Alright I came here to get back into modding. I once created a Transformers Mod, but I abandoned it. I am here to start with a simple mod edit. I wanted to display the heart of the marriage candidate like in SoS or Harvest Moon but not only that give them colors as well.

#

Would that be possible?

rich geyser
lucid iron
#

Hm so changing the heart for everyone is not so bad

#

The texture is just somewhere on cursors i think?

#

Changing for only some characters is hard bc there's only 1 heart texture to edit

#

So you'd need C# for that

rich geyser
#

I see

icy yoke
#

I did have a modding question but lowkirkenuinely gave myself a scare by moving around my game files and thought I accidentally deleted it all so I need to build back up my confidence 💔

rich geyser
#

I should probably get to work adding character mods to SDV starting with some DBZ Characters\

last plover
#

Hi there,
I could need some help with editing a specific solid foundations mod (New Building Winery) to have seasonal and a different sprite. Whatever I tried so far myself did not work whatsoever :/

brittle pasture
#

what did you try?
not a lot of ppl is going to be familiar with SF unfortunately but I think it piggybacks off vanilla building data now so maybe we can do something about it

last plover
#

basically I changed a few things in the content.json withing the CP folder of NBW to edit the building.png located in the SF folder of the mod. But it did nothing. With other changes to the content.json just to try if I could only edit the description of the building at Robin it did nothing as well

#

think my pathing is somewhat off but I looked into the wiki of SF and could not figure it out right. basically just trial and error to be honest because I have barely more knowledge then logic

brittle pasture
#

!json pls

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
#

(but tbh what I would do is patch export Data/Buildings, look at the final building data object and edit that with a new content pack instead of dealing with the outdated existing code)

last plover
#

let me open it real quick again jett_think

lucid iron
#

Do u wanna just convert it to CP

last plover
#

the CP is written already in the base mod. I want the medieval look of Gwen on there 😅 that's the main thing I try

brittle pasture
#

not all of it, the mod's deferring the actual building functionality to SF

#

this can be rewritten to just be pure CP

last plover
#

|| {
"Action": "EditImage",
"Target": "{{PeacefulEnd.SolidFoundations/BuildingTexture:rzd.NewBuildings.Winery}}",
"FromFile": "assets/DNEarthyRecolour/{{season}}{{WineryOption}}{{WineryFoliage}}.png",
"PatchMode": "Replace",
"ToArea":{
"X": 224,
"Y": 432,
"Width": 176,
"Height": 144
}, ||

#

Those are the lines I tried it with

brittle pasture
#

why the ToArea

last plover
last plover
brittle pasture
#

you don't need those if you're replacing the entire image instead of just patching over an area

#

(and the area you specified looks like it's way out of bounds)

lucid iron
brittle pasture
last plover
#

the whole image at Robins is quite out of bounds for the main mod, but did not quite bother with that yet xD

ocean sailBOT
#

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

lucid iron
#

Here's another winery building mod, it's all content patcher

brittle pasture
#

(it would not be any work for me at all but that's because I'm very familiar with the whole thing)

last plover
last plover
elder scarab
#

How to add a new NPC

brittle pasture
last plover
brittle pasture
#

you'd need to use tokens or when conditions

#

your code above is using the {{Season}} token which gets replaced by the season

last plover
brittle pasture
#

and thus changing which png gets picked

#

via CP

#

tl;dr yeah you should probably start reading the CP docs

last plover
brittle pasture
#

post your code + the name of the pngs you added and their location

hallow prism
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:

last plover
brittle pasture
#

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

upload to that site and post the link here

last plover
#

Main part of this is the original mod's thing. I only added the Config at the top where some tokens pulls inspired by Gwen's code (token thingi)
and added those bottom 2 options, with the lower one kind of trying to be a "finder" for if i can even change the description

#

the .png are named "summer_2_more" kind of style

brittle pasture
#

so first, remove the FromArea block entirely, as stated
next, you're telling the code to load the files from assets/DNEarthyRecolour/{{season}}_{{WineryOption}}_{{WineryFoliage}}.png; are they in the assets/DNEarthyRecolour folder?

#

to check that they work look at your log; there should be some big warnings in there if the patch fails for whatever reasons

last plover
#

.png are located in assets/DNEarthyRecolour, yes

last plover
brittle pasture
#

!log post it just in case?

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.

last plover
ocean sailBOT
#

Log Info: SMAPI 4.3.2 with SDV 1.6.15 build 24356 on Microsoft Windows NT 10.0.26200.0, with 60 C# mods and 60 content packs.
Suggested fixes: One or more mods are out of date, consider updating them

last plover
#

ignore that outdated one... it's a recently published and one day later updated mod I still need to fix 😅

brittle pasture
#

and this is after removing FromArea?
I'm seeing the mod has two copies of the building assets, one in the CP folder and one in the SF folder, and in the absence of further knowledge of how SF works I'm concluding that it's only actually using the latter copies

last plover
brittle pasture
#

no, but since IIRC SF piggy backs off vanilla building data now you can maybe find the final asset it's using and edit that

last plover
#

actually I have to add the content.json in CP also edits the map depending on the config, which works fine with the maps being in the CP directory

last plover
brittle pasture
#

run that command in the SMAPI console, look at the file it generates, see what the Texture field of the winery building is and edit that asset (put it as the Target in your patch)

last plover
#

give me a hot minute for that... quick reminder for me smapi console is the thing which just opens, when I start the game?

brittle pasture
#

yes

last plover
#

ooh i found something 😮

#

finally a hint of the base texture... xD

#

errrm...

#

at the bottom 🤔 think that's the best way to share atm

brittle pasture
#

"Texture": "rzd.NewBuildings.Winery_BaseTexture"

#

yeah you'd load new textures into that second string

last plover
brittle pasture
#

EditImage block, Targeting that asset name

last plover
#

so I have that "EditImage" in my content.json
guess I should change the target? to what specifically? the "rzd.NewBuildings.Winery_BaseTexture"?

brittle ledge
last plover
#

ummm... It kind of worked but is cursed because the SlimeHutch doesn't match the size xD

#

I might be able to fix that with an old file of Gwen with the old bigger Slime Hutch in mind jett_think

brittle pasture
#

you can also try resizing the building in data (that's in the SF portion of the mod)

#

currently it's coded as 11 tiles wide and 4 tiles high

last plover
brittle pasture
#

and change the human door location as well

valid folio
#

Hello, how are you?
Is it possible to make a wild tree created by someone produce flowers and/or fruits like a fruit tree?

brittle pasture
#

sure, there's the shake drops field

valid folio
last plover
#

I set the blueprint to 4x7 which still doesn't fully fix the size to Gwens art but main problem now is getting that old winery drawing gone from behind there

brittle pasture
#

hmm your patchmode is replace right

last plover
#

it is

#

quick fix in my mind would be to just replace that original thing with a set slime hutch design but I name it the exact same?

brittle pasture
#

try Loading the texture instead of editimaging it

#

revert if game explodes

lucid iron
#

What if u just resize ur image

#

To match the original

#

Fill what u don't want with transparency

last plover
calm nebula
#

Stupid questions time

#

Why not just make a new building

#

Of the right size

#

Just copy a shed

last plover
#

ok I tried my own little workaround first, it seemed to work 😅
testing different seasons real quick

last plover
lucid iron
#

Well that was also why I linked another winery mod Dokkan

#

Most ppl here are amateurs

calm nebula
#

You've now spent longer than it would take to copy the shed tbh

last plover
last plover
lucid iron
#

Sort of, you need to use EditData to put in info about your building

#

Plus Load for the appearance

#

And Load for the inside map too ofc Bolb

last plover
#

basically writing a new CP building which Selph suggested? 😅

lucid iron
#

There's a learning curve for content patcher when you have to figure out what does it mean to "put" data into game

#

After you get over that you can make basically any kind of CP mod

#

Whether you wanna do all that is your choice but you are in the modder channel here Dokkan

#

Ppl will generally help you do what you want, whether it's get SF replace working or make new building or anything else

last plover
last plover
#

Have an awesome rest of your day and thanks again kiriko_heart

bitter coyote
lucid iron
bitter coyote
#

Yes

I just edited the original in tiled

lucid iron
#

And are you testing on a minimum mod list

#

No other mods besides your mod + dependencies

bitter coyote
#

The only dependency I set was for SDVE because it was the only thing I could think of that would change the map

I don’t know what other mods I would need to set dependencies for

#

I haven’t disabled other mods because it would take an hour to .
all of them

lucid iron
#

You can just rename the Mods folder for that

#

But the reason why I ask is because your edit may be overwritten

bitter coyote
#

Okay

If that’s the case

How do I figure out which mods are doing it for compatibility?

#

Just add in one at a time?

lucid iron
#

You should send your log

#

!log

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.

lucid iron
#

But it is just easier to test with fewer mods (until you need to look at compatibility

bitter coyote
#

That’s the wrong link

Hold on

lucid iron
#

Why didn't gov upload that blobcatgooglyblep

#

Use this link

bitter coyote
ocean sailBOT
#

Log Info: SMAPI 4.3.2 with SDV 1.6.15 build 24356 on Microsoft Windows NT 10.0.26100.0, with 38 C# mods and 26 content packs.
Suggested fixes: One or more mods are out of date, consider updating them

bitter coyote
#

It is still missing events and schedule

I need the coords from the new map to do those

#

It did not fix it when I ran it vanilla with only my mod, Content Patcher, and CJB cheats

lucid iron
#

Hm it doesn't look like your edit is getting applied at any point NotteThink

#

Can you do a patch summary <your mod id>

bitter coyote
#

Sure, how do I do so?

calm nebula
#

Which one is your mod?

bitter coyote
#

New Bachelor Dan

ocean sailBOT
#

Log Info: SMAPI 4.3.2 with SDV 1.6.15 build 24356 on Microsoft Windows NT 10.0.26100.0, with 2 C# mods and 1 content packs.

bitter coyote
#

here is a new log with unnecessary mods removed

lucid iron
bitter coyote
lucid iron
#

Pls just send log

bitter coyote
ocean sailBOT
#

Log Info: SMAPI 4.3.2 with SDV 1.6.15 build 24356 on Microsoft Windows NT 10.0.26100.0, with 2 C# mods and 1 content packs.

calm nebula
#

patch summary Author.Mod

#

(You should change that uniqueid btw)

bitter coyote
#

I Just changed it

#

Let me redo

calm nebula
bitter coyote
#

Sorry, I am completely inept at the moment

scarlet warren
#

Does anyone know what a "i18n" folder is for?

bitter coyote
ocean sailBOT
#

Log Info: SMAPI 4.3.2 with SDV 1.6.15 build 24356 on Microsoft Windows NT 10.0.26100.0, with 2 C# mods and 1 content packs.

bitter coyote
#

That is the log with ID updated

calm nebula
#

What are you editing, exactly

#

Because I'm not seeing any changes reflected in the log

lucid mulch
urban patrol
bitter coyote
#

Replacing an existing map is the goal. The NPC spawns, the new map just isn't showing up

lucid iron
calm nebula
#

Chue, the mod id currently is Author.Mod

lucid iron
#

Ah how terror

#

The thing we call mod id is the "UnqiueID": "Author.Mod" bit in your manifest.json

bitter coyote
lucid iron
lucid iron
bitter coyote
#

Ok. Im so sorry

lucid iron
#

patch summary NewBachelorDan

calm nebula
bitter coyote
ocean sailBOT
#

Log Info: SMAPI 4.3.2 with SDV 1.6.15 build 24356 on Microsoft Windows NT 10.0.26100.0, with 2 C# mods and 1 content packs.

calm nebula
#

Because the second log also listed Author.Mod

#

Yup

lucid iron
#

Yeah you need to actually put your edits into Mods folder

calm nebula
#

So I'm trying to take a step back and verify - editing correct version of file?

lucid iron
#

Are you using any kind of mod manager

bitter coyote
#

no to mod manager. Just a moment, I will replace the files

ocean sailBOT
#

Log Info: SMAPI 4.3.2 with SDV 1.6.15 build 24356 on Microsoft Windows NT 10.0.26100.0, with 2 C# mods and 1 content packs.

bitter coyote
#

it looks like it actually recognized it this time

lucid iron
#

Yeah so u can see all your patches

#

But the saloon map edit is not there

#

Double check your content.json?

calm nebula
#

Awesome, we're seeing changes now

#

But I dont see a saloon edit at all

lucid iron
bitter coyote
#

Oh my god. I did the same thing with content. I changed it externally and not in the actual file ion the mods folder

calm nebula
#

Fair! Happens

lucid iron
#

And now u know how to debug ur patches in the future

summer spoke
#

Okay, I think I have a few minutes free. Can I ask if my first line is right?

bitter coyote
#

Thank you very much. Will update once I re test

summer spoke
#

Also, if I'm playing a modded game of Stardew right now, are those mods now must haves for the mod I want to make?

rich geyser
#

Like my yan rung mod needed the Bus Stop Expansion

hard fern
#

If you want a mod to be a dependency for yours, you list it as one in the manifest

summer spoke
#

Right, thank you.

rich geyser
#

I should update the mod. Because the Bus Stop Mod isn't updated

summer spoke
#

Can I ask what happens then? If the mod isn't updated? Can it still run?

lucid iron
#

If a mod you require is not installed then you also can't load

hard fern
#

That being said, if you utilize something from another mod (ex: a tilesheet) and you don't have the mod installed it will also fail

lucid iron
#

A mod being broken = cannot install

summer spoke
#

Right, okay. So, since I'm using the mod that lets you stop time and another that lets you see the tile number, does that make them dependencies?

hard fern
devout otter
lucid iron
#

You do have to go out of way to use other mod assets

#

It's all on you the author to declare

summer spoke
#

So, if I want to install, for example, Stardew Expanded to make sure my mod works on it, it's not a dependent, but it is going to work?

devout otter
#

Yes.

summer spoke
#

Right, okay, I undersand now, thank you for your patience.

devout otter
#

But if you put your mod in a location that only exists in Stardew Expanded (like Crimson Badlands, for example), then you'd need it as a dependency.

urban patrol
#

compatbility: these mods both work together!
dependency: this mod MUST be installed or mine won't work/load

bitter coyote
#

Okay. It is now saying that my map does not exist.

calm nebula
#

Progress! Does it exist

bitter coyote
ocean sailBOT
#

Log Info: SMAPI 4.3.2 with SDV 1.6.15 build 24356 on Microsoft Windows NT 10.0.26100.0, with 2 C# mods and 1 content packs.

bitter coyote
#

to my knowledge, yes

#

I checked file names too

hallow prism
bitter coyote
urban patrol
#

you may have forgotten the file extension

#

.tmx

bitter coyote
#

when I try to lod it in tiled now it also says it doesn't exist

calm nebula
#

!fileext

bitter coyote
#

where do I input that?

hard fern
#

!fileextensions

ocean sailBOT
#
Hidden File Extensions

Windows and Mac hide most file extensions by default. If you are creating or updating mods, it's helpful to show file extensions so that you can be sure all mod files are named correctly.

To show file extensions on your computer:

On Windows 10, open File Explorer, click on the View tab, then check the File Name Extensions box.

On Windows 11, open File Explorer and click on View > Show > File Name Extensions.

On Mac, open Finder, and in the menu bar, click on Finder > Settings (or Preferences) > Advanced, then check the Show all filename extensions box.

bitter coyote
#

let me try it

#

I now get this wall of red text

ocean sailBOT
#

Log Info: SMAPI 4.3.2 with SDV 1.6.15 build 24356 on Microsoft Windows NT 10.0.26100.0, with 2 C# mods and 1 content packs.

hard fern
ocean sailBOT
#

When creating or editing maps in Tiled, one common error is tilesheet climbing, marked by red text containing "invalid tilesheet path '../../..'. This is caused by SMAPI not being able to find the tilesheets needed by the map file. To prevent this error, make sure that you have a copy of all necessary tilesheets in the folder containing your WIP tmx file. Copies of vanilla tilesheets can later be deleted, but must be present while working on your map.

If you get this error with a completed map, an easy way to fix it is to open your tmx file in VS Code or a similar text editor, find all of the places with <image source=, and remove the filepaths to so that only the tilesheet names remain. For example, if the code says <image source="Content (unpacked)/Maps/townInterior_2" width="512" height="64"/>, change it to just <image source="townInterior_2" width="512" height="64"/>.

bitter coyote
#

let me try it. Thank you

urban patrol
#

!mapfixer is another handy link

ocean sailBOT
#
Stardew Valley Map Fixer

There is a map fixer tool by Spiderbuttons that can fix common map errors such as tilesheet climbing.

Upload your map file(s) as .tmx and click FIX to run. Your fixed maps will be downloaded as a .zip file and will need to be extracted in order to replace your old versions.

Feel free to let Spiderbuttons know if you run into an issue it can't fix.

summer spoke
#

I'm trying to make a manifest, but I know that both SMAPI and Content Pack are going to be used for this. Which one should I pick, though?

hard fern
#

you need smapi for pretty much every mod out there anyways

summer spoke
urban patrol
#

"SMAPI mod" refers to a mod made using C#

hard fern
#

is your mod a C# mod?

urban patrol
#

you're making a content pack mod, so you would follow that example (and put it in the "content pack for" field)