#making-mods-general

1 messages · Page 38 of 1

lucid iron
#

r people out there building per locale

brave fable
#

probably something to do with food

calm nebula
#

Dman

#

Your mod has more culture than I do

brave fable
#

i think i went overboard on the sunset since now instead of doing stuff i just sit there watching it

velvet narwhal
#

that's a good thing

teal bridge
#

Culture is the same as locale, and yes, people do build for locale, although not on the scale we generally discuss in this channel. es-MX is completely different from es-ES, fr-CA is completely different from fr-FR, etc. Sometimes it's the actual "content" that needs to be localized, e.g. some local or pop-culture saying that just doesn't make sense in other locales. Sometimes it's difference in idioms and slang. Sometimes the common grammar in one locale (fr-CA) is considered to be rude and abrasive in another (fr-FR).

#

It's sort of the inverse of what happens in the Asian locales where there are many different dialects/scripts under a single country code.

lucid iron
#

oh so its not about how numbers are formatted

teal bridge
#

I guess there is that too, though I don't know all the details. In general, the entire text can be different for two locales that are technically the same language.

teal bridge
#

Also A++ on the item sprite work.

calm nebula
#

Every time someone says locale

brave fable
calm nebula
#

I remember this tweet

lucid iron
#

ah i borked the scrollable view somehow blobcatgooglyblep

teal bridge
teal bridge
lucid iron
#

the child menu needs to be IOverlay then

teal bridge
#

Oh, you're using child menu - yeah I haven't really attempted to do anything with those.

#

There's a base class, FullScreenOverlay that does most of the work for you.

#

It's how the keybind editor and HUD position editor are both implemented. But focus return also works with any other overlay, like the dropdown list.

#

If there's no overlay then I suppose you'd have to save the position and/or View that was clicked on before opening the child menu, and set the focus back to it afterward.

lucid iron
#

oh i was just going to wrap the view in a overlay

#

the scroll problem with this is that i cant scroll down on gamepad
its ScrollableView > Grid > MachineCell : Frame > Image

teal bridge
#

Mainly what FullScreenOverlay gets you is modality, centering, etc... it behaves very similar to a child menu. Regular overlays aren't meant to hide what's underneath.

lucid iron
#

yea i was ctrl+f for modal but didnt find it blobcatgooglyblep

teal bridge
#

It even lets you click outside the border of the overlay view to dismiss it (wish Stardew vanilla had that - stupid tiny "X"es that I can never hit)

#

I dunno about the scrolling. If you're still using ScrollableFrameView and think the library broke it then I can check the latest code against one of my older mods still using it; the implementation is quasi-deprecated. (The class will continue to stick around, but it should be implemented using the newer ScrollableView and not the hacky nonsense that's in there.)

lucid iron
#

overlay is exactly what i wanted DokkanStare

#

i am use ScrollableView

#

oh then i'll refactor away the ScrollableFrameView i was using still

teal bridge
#

You don't have to, like I said, the class itself isn't going anywhere, just its implementation.

#

If it's still working then you can keep it.

lucid iron
#

i was feeling on the fence already

teal bridge
#

But I'm not sure how scrolling could break, then. Did it break when you updated or was it just broken to begin with?

lucid iron
#

anything to put off writing nexus page tbh

teal bridge
#

Haha, I know how you feel, I spent way too much time on that today...

lucid iron
#

it works as expected with mouse scroll

teal bridge
#

Only times I've ever seen scrolling behave badly myself are ones where there aren't any focusable elements, or the distance between any two focusable elements exceeds the entire scroll distance.

lucid iron
#

maybe its cus my top level IView is a Grid rather than a frame

plucky reef
#

bathhouse is 10stam per second right? The wiki says it is but my mod is behaving differently in farm cave hot springs and bathhouse.

lucid iron
#

i thought that's what you wanted

#

normally it doesnt require C# to do heal stam in water

teal bridge
#

If that's happening then it seems like the scroll height must be wrong. It doesn't scroll because it doesn't think you're moving past the scroll boundary.

plucky reef
#

well I put the config in to make it work either only in farm cave or in both farm cave and bathhouse.

#

It works as expected in farm cave, 50%, but goes to negative stam regen in bathhouse

teal bridge
#

Either that or the scrolling part (that is, not the scrolling content but the scrolling container) is larger than its own container.

#

I'd be surprised if it has anything to do with being a grid, but I can check... at some point, if you aren't able to figure it out. Assuming your source is up.

lucid iron
#

ill try some stuff and make a gist Bolb

wise berry
lucid iron
#

did you want to draw at 4x

wise berry
#

Yeah ahaha

#

Though my original previews actually use 3x

#

Working nicely

calm nebula
#

Remind me in 20 days to remember Canadian Thanksgiving is on the 14th

patent lanceBOT
#

Oh okay, atravita (#6255789) (20d | <t:1728698145>)

teal bridge
rose forge
#

Hey so I gave this a try but the farm animals are still grouping on top of each other, I'm not sure if I did it right but here is how it's set up. (and I did put the framework in game)

lucid iron
#

oh hm i guess i have to account for animals bigger than 1 tile

rose forge
#

is it possible to make it so animals will not be allowed to spawn on top of each other? like they have to find an empty tile? or is that too complicated?

lucid iron
#

although what you can do with current version is only put 1 mushymato.MMAP_AnimalSpot per pen

lucid iron
rose forge
#

oh LOL

#

my mod shouldnt need the coop animals to spawn, its the barn ones that are the problem

#

but if its a feature i could do that for chickens too

lucid iron
#

still the intended usage was to put 1 mushymato.MMAP_AnimalSpot per pen area so that the animal start there bolbthinking

#

rather than cover the whole pen

rose forge
#

got it, ty for the help! will try that

lucid iron
# teal bridge I checked the Pen Pals `GiftMailView`, which is a `Grid` inside the scroll view,...

my min repo smol enough for discord

// in a subclass of WrapperView
protected override IView CreateView()
{
    Sprite questionIcon = new(Game1.mouseCursors, new Rectangle(240, 192, 16, 16));
    return new ScrollableView()
    {
        Layout = LayoutParameters.FixedSize(400, 400),
        Content = new Grid()
        {
            Children = Enumerable.Range(0, 200).Select((i) =>
            {
                return new Frame()
                {
                    Content = new Image()
                    {
                        Name = i.ToString(),
                        Layout = LayoutParameters.FixedSize(64, 64),
                        Sprite = questionIcon,
                        IsFocusable = false
                    },
                    IsFocusable = true
                };
            }).ToList<IView>(),
        }
    };
}
#

it works as expected if Image is focusable and Frame is not

#

just single Image doesnt work either, but maybe for different reason

protected override IView CreateView()
{
    Sprite questionIcon = new(Game1.mouseCursors, new Rectangle(240, 192, 16, 16));
    return new ScrollableView()
    {
        Layout = LayoutParameters.FixedSize(400, 400),
        Content = new Grid()
        {
            Children = Enumerable.Range(0, 200).Select((i) =>
            {
                return new Image()
                {
                    Name = i.ToString(),
                    Layout = LayoutParameters.FixedSize(64, 64),
                    Sprite = questionIcon,
                    IsFocusable = true
                };
            }).ToList<IView>(),
        }
    };
}
thin remnant
#

How do you get the amount of stones left in a mines floor/convert NetIntData to int? I'm trying to update a mod with an outdated function and I don't know how to replace it. It says that it returns a NetIntData and throws an error because that can't be compared to an int.

lucid iron
#

use .Value

uncut viper
#

you would just do netStonesLeftOnThisLevel.Value but also MineShaft just has a non-net version of that field

thin remnant
#

ok awesome

brittle pasture
#

this is done in dev version of EMC (not uploaded yet) for any interested parties. now you can have NPCs gift ancient fruit wine in dialogue!

lucid iron
#

and snail honey!

past knot
#

I am still embarrassingly confused on how to add custom npc spouse portraits

brittle pasture
#

Post what you have?

teal bridge
# lucid iron my min repo smol enough for discord ```cs // in a subclass of WrapperView protec...

I can repro. I think the "main" problem was a simple logic error where the ScrollIntoView call forgets to include the lowest-level target in the path, so it's actually always scrolling to the parent, and surprisingly I've never run into an issue with that even though it's clearly wrong.

There's a secondary issue which I'm getting too tired to really dive into right now, which is that the Y position of the grid's child is also incorrect (offset by the scroll position) only when it is a direct child, but fine when it's a lower-level descendant. Probably another 1-line fix once I can actually figure out which line it is.

plucky reef
#

so for the manifest, I put the link with this number into it?

wispy bramble
#

how do I editdata multiple things?

lucid iron
#

The Changes field is a list, just put more {} blocks

plucky reef
#

Now to re-re-do the farm map one.

half tangle
#

@ivory plume I have a feature/fix request for 1.6.9: when a tile index is checked, make sure the intended tilesheet is being considered. More details and specifics:

In various classes there is a definition of checkAction that overrides the one in GameLocation.cs and in each of the following list that method calls base.getTileIndexAt(tileLocation, "Buildings") (or similar) but does not check the tilesheet where that index is being checked. This presumably means that any tilesheet can be used which can lead to unexpected behavior. I know you recently addressed the fridge in the farmhouse (one of two of the cases of this in FarmHouse.cs's checkAction method - though that also comes up in FarmHouse.setMapForUpgradeLevel) so I thought I would look for more (since I came across one of these myself while working on a mod).

AdventureGuild.cs, Beach.cs, BeachNightMarket.cs, BusStop.cs, Cabin.cs, Caldera.cs, CommunityCenter.cs, DesertFestival.cs, FarmHouse.cs, Forest.cs, IslandFarmHouse.cs, IslandNorth.cs, MermaidHouse.cs, MineShaft.cs, Mountain.cs, Railroad.cs, Sewer.cs, Submarine.cs, Town.cs, VolcanoDungeon.cs, Woods.cs

There is also one case in GameLocation.cs's checkAction itself that involves the "SkullCave".

(I really hope this is all accurate...)

dusty scarab
#

my crop mod... has been published! now onto the next pie-in-the-sky set of ideas... does anyone know what program people use to make stuff like farm maps, building interiors, etc, off the tops of their heads?

uncut viper
#

Tiled

#

!mapmaking

ocean sailBOT
#

If you want to make mods that add or edit maps:

  1. Use Tiled (https://www.mapeditor.org) to edit .tmx or .tbin files.
  2. Refer to the Maps wiki page (https://stardewvalleywiki.com/Modding:Maps) for details on how maps work in Stardew Valley.
  3. Use Content Patcher to load in new locations (https://github.com/Pathoschild/StardewMods/blob/stable/ContentPatcher/docs/author-guide/custom-locations.md) or make specific map edits (https://github.com/Pathoschild/StardewMods/blob/stable/ContentPatcher/docs/author-guide/action-editmap.md).
dusty scarab
#

awesome, thank you :D

#

so, I've never made a map before, so I don't understand what it means by 'break the layering'. does that mean that maps cannot be larger than 155x199? is there a way to fix layering if it is broken?

velvet narwhal
#

it's not recommended if you have never used tiled

brave fable
#

'layering' here refers to the back-to-front order in which things in the world are rendered, not to layers in your tiled document. past the arbitrary coordinates at 155x199, the calculations often end up at a layer depth over the limit, so things get all weird

#

in any case, 155x199 is absurdly large, so you wouldn't make a map that size anyway

dusty scarab
#

that's fair, I was just wondering what that meant

faint ingot
#

uhh why does my npc refuse to pass linus to get to her schedule destination? \

finite ginkgo
#

This isn’t the right channel for this question, this channel is for making mods.

velvet narwhal
unique sigil
#

my mod didn't break anything!! yeahh!!!

#

this is my first time doing a CP furniture mod so i'm glad it worked first try. the amount of stuff to deal with in the content.json is daunting lol

unique sigil
#

yay it's finished! vanilla recolors of the 1.6 hatch and ladders using AT + a PIF version that adds dimension door functionality SDVpuffersalute
https://www.nexusmods.com/stardewvalley/mods/28057/

Nexus Mods :: Stardew Valley

A set of vanilla-matching recolors of the 1.6 decorative ladders and hatch + a new attic ladder furniture. Available as an Alternative Textures (AT) pack and as additional doors for PIF - Personal Roo

#

that's... quite a lot of self-indulgent mods i've made recently

golden bay
ocean sailBOT
woeful lintel
#

granted it's not really up to date

#

I can share the version I frankensteined for myself if you want, it has all the sprites published by Ohodavi for 1.6 from what I remember

woeful lintel
#

I don't know if I should share it here since I don't have the author permission

wise berry
pine elbow
wise berry
#

So excited to apply this fancy schmancy config elsewhere ehehe

next quarry
#

Looks amazing!!! KomodoHype

unique sigil
hallow prism
#

what's the current correct way to add tags to vanilla items?

royal nimbus
#

hey so i edited the grandpa's lines from the opening scene and it doesnt display properly because the line is too long so some gets cut off. is there a way to make one line into two if that makes sense. like where one portion is like this
xxxxxx
xxxxxx
instead of xxxxxxxxxx
i tried just doing it like that but it breaks it.

round dock
#

Did you mean #$b#?

#

#$b# breaks a sentence but continues on in the next box without the need to click on the object again.

royal nimbus
royal nimbus
calm nebula
#

\n might work

#

But that is a guess

royal nimbus
# calm nebula `\n` might work

i will try. also maybe it's different because it's not in a text box like when chatting with npcs. i will get a screen shot

finite ginkgo
hallow prism
#

thanks

#

yes, context tag 🙂

royal nimbus
slate quarry
stone crypt
#

Hello, I've seen that the Bathhouse's locker rooms have some object properties that make the farmer switch to swimsuit. Is there a way to make the farmer change to the swimsuit appearance during cutscene events, other than swimming?

sacred rain
#

Not modding the game but. I wonder how this page works under the hood. Does SDV really parse the savefile XML everytime?

brittle pasture
fathom rapids
#

Someone help. I have just found out that DayEvent returns a LOCALIZED value (as in, language the game is being played in). Can I somehow get a default DayEvent, or a localized version of any given DayEvent string that I know in English??

#

Please please help SDVpufferdead

ivory plume
#

DayEvent only returns a localized value if another mod introduces a bug by translating the values in the base Data/Festivals/FestivalDates asset.

fathom rapids
#

oh I see thank you

#

that person apparently also has duplicating NPCs so it's probably just their game

#

thank you very much!!!

tranquil socket
#

Hi, probably a dumb question but I'm starting out with making mods, is there a list of item ids and other data or do I have to unpack it from the game files to find it?

fathom rapids
#

Unpacking the game files is a good idea for a mod maker for so many possible scenarios, you're probably best off just doing that once and using it forever after.

tranquil socket
latent mauve
#

^^ the mod making bug/scope creep is real, you will probably end up using way more of it than you anticipate

tranquil socket
#

I can't remember how to do it tho, I remember there being an exe or something to use but I cannot for the life of me remember where I got it

sacred rain
tranquil socket
#

Wait I just found it

latent mauve
#

!unpack

ocean sailBOT
#

Follow this guide to unpack the game's content files in order to see and explore how the game data is structured.
It's helpful when making your own mods, or just to learn about how the game works!

latent mauve
#

Let me save you some trouble

indigo yoke
tranquil socket
#

Oh sweet even easier!

indigo yoke
#

these are custom C# machines

ivory plume
tranquil socket
#

I've modded minecraft before so this isn't my first rodeo but I'm still elarning how to do stuff for the first time

brittle pasture
indigo yoke
indigo yoke
plucky reef
lucid iron
#

Does custom C# machine mean machine with output method? Or is it custom big craftable with C# logic entirely unrelated to Data/Machines

brittle pasture
outer acorn
#

Hey, yesterday I was looking at implementing a simple tool as my first mod, but it seemed a bit complex. I'm now looking at potentially adding a weapon and have had much more luck getting it loaded into the game. I'd like to change the animation for it and expect that to be a bit more challanging so does anyone have examples of similar code I can read through to get a feel for what's involved?

plucky reef
#

Aedenthorn's Advanced Melee Framework is not updated for 1.6 but has custom special attacks and animations. It uses Harmony though.

#

I am struggling through trying to use spacecore to make a new subtype of melee weapon, that's another possible option. I don't have any details yet of how to do it because I'm still testing.

outer acorn
#

What is Harmony?

brittle pasture
next plaza
#

Harmony patches on MeleeWeapon is definitely viable for custom weapon type

#

gestures at old chakrams preview

plucky reef
#

Harmony can intercept or after-cept(?) core stardew stuff and make it do something else. But if you target the wrong thing you break a lot of other stuff so it's tricky.
https://stardewmodding.wiki.gg/wiki/Tutorial:_Harmony_Patching

Stardew Modding Wiki

The world of Harmony is a bit of a lawless land, but it's incredibly powerful. You can pretty much implement anything you want, but you can also break anything you want. With that in mind, you should begin by reading the main wiki's intro to Harmony to get you set up. This tutorial will focus on the actual patching and assumes you already unders...

rancid temple
#

"Harmony - a library for patching, replacing and decorating .NET methods during runtime." from the Pardeike website

#

You can also inject instructions directly into the IL

#

Which is where the real fun breaking happens

outer acorn
outer acorn
outer acorn
indigo yoke
#

hmmm, One is a CP machine with custom C# Output but people have still mentioned it doesn't work with automate. I might need to experiment then

#

tho that's going to need to wait a few months

#

not enough time atm

brittle pasture
#

If it's the machine that makes artifacts iridium quality then it works fine for me?

#

same with the display case maker, though I assume that's CP only

indigo yoke
#

curse those nexus comments

indigo yoke
#

the other one is the water sifter... shifter.... sifter.... the crab pots for artifacts

plucky reef
#

if a vanilla tilesheet has an animation, do I need to do the tsx thing or can I use the regular vanilla sheet? (the little fountain outside the bathhouse)

indigo yoke
#

@brittle pasture sorry for the ping but I just you more than nexus comments, if you have archaeology + automate, mind tossing a chest near water sifters to see if they work?

#

So the only true bug with the restoration table is UI infosuit displaying it taking 200000 years.

brittle pasture
#

ah I haven't tried that one, give me a moment
If that one is crab pot-like custom logic then yeah it might not work

indigo yoke
#

yeah, it uses fiber as "bait" and then returns ore / artifacts.

brittle pasture
#

yep it doesn't work
at the same time it shouldn't be too hard to add integration, let me see if I can cook up a PR by next week

indigo yoke
#

gotta enjoy it through watching streams till then.

wispy widget
#

Hi yall! Hey does anyone know when writing events, how to make character sprites layer in front of objects on the map?

glad zenith
#

(I've never played in a multiplayer save and I'm not familiar with it) For multiplayer worlds and single-player worlds there's only 1 mailbox..right? If so, then can all players access the mailbox and if one player reads the mail can other players also read it?

next plaza
#

Everyone has their own mailbox

#

And set of mail

glad zenith
#

Thanks!

bright panther
#

Hey not really for stardew modding but you guys here are the ones who know techincal stardew haha, anyone know what part of the code in Content.loadstring is defined in the game? I want to see how it works for my own games

#

I use monogame/xna aswell firGiggle

next plaza
#

Probably LocalizedContentManager

bright panther
#

alright ill look

#

Alright looks like it! thanks SDVpufferheart

glad zenith
#

Oh yea another thing.. so the player argument "All" would work best for mail? I want my mod not to just break in multiplayer or singleplayer

thin remnant
#

I've been trying update a mod - when starting the game the game throws an error at lines 55-59, saying "null method for <mod name>". If I comment them out the mod works fine outside of these methods. Based on some other parts it seems like the original parameter is being set to null somehow, but I don't know how or why. Does anyone have any ideas for how to fix it?

#

some relevant code parts:

final arch
#

it means it cant find the method

thin remnant
#

I see

final arch
#

"chooseStoneType" doesnt exist anymore in the class Mineshaft

#

so you basically need to figure out 1) what that and 2) which function does do that now

thin remnant
#

alright sounds good

#

thanks!

#

jesus it's 5500 lines

bright panther
#

Another thing I have questions about is how noninstancedstatics actually work, I know its an attribute and im assuming it makes the multiplayer game instances use the same statics, but like how does that work?

uncut viper
final arch
thin remnant
#

oh awesome

#

thank you!

bright panther
#

compared to some things i've seen in other games

glad zenith
# uncut viper the answer entirely depends on your use case

Basically its to send mail as soon as possible when the mod is installed and player loads into a save. It's this way because I don't want players who have already progressed into their save to wait on a certain date or players who just started to wait on a certain date. So no matter if its Y18 Summer 4 or Y1 Spring 1 You'il get the mail.

thin remnant
#

yeah

#

still a lot to look through though

#

so thank you shekurika for doing that for me

wispy bramble
#

The easiest way to change a line of dialogue in a vanilla event is to just replace the whole event, isn't it?

hallow prism
#

easiest short term, but tediousest long term with report about compat that may arise

wispy bramble
#

Is there a better way?

hallow prism
#

i believe you can target a specific field in the event, but i'm unfamiliar with how

wispy bramble
#

I guess I'll do everything else first and figure out events last

uncut viper
#

if it's the latter then you can still do that but can also probably just get away with just sending it to the host

glad zenith
uncut viper
#

if it's just a mail flag then there is no letter

glad zenith
#

It's a a normal letter which you can read.

uncut viper
#

then it's the former case, not the latter, and you should send to all if you want everyone to be able to read it and get its contents

finite ginkgo
glad zenith
#

'Kay then.

hallow prism
calm nebula
#

vanishes again

wispy bramble
#

Well for my mod I need to remove almost every mention of the word "mayor" and doing that involves a lot of changing "Mayor Lewis" to either "Mr. Lewis" or just "Lewis" depending on context.

finite ginkgo
#

Anyways, editing the specific event command to just change the dialogue would be something like

{
    "Action": "EditData",
    "Target": "Data/Events/<Location>",
    "Fields": {
        "<event id/preconditions>": {
            //field index starts at 0, each "field" is defined and separated by '/' so you'd need to replace the whole command, so you need to include 'speak X' as well
            "<Field Index>": "edited event command"
        },
    }
}```
hallow prism
#

i believe pathos would like dialogue in events to be in their own files

#

to help solve issue like translation having a different script sometimes and this kind of edit too

#

but i doubt it'll be in 1.6.9 (too breaking a change)

teal bridge
#

@lucid iron I've pushed a fix that should resolve all the focus-related issues. Tested against both variants of your repro case and my own recent AFS menu.

The FocusSearchResult code was just... bizarre. I don't know what could have been going through my head when I wrote it.

lucid iron
#

im glad you defeated yourself from the past

teal bridge
#

Aye, secret twist final boss.

plucky reef
#

When using another mod's tilesheets like daisynikos, where does it need to go? In the unpacked folder I assume, but in maps? The tilesheets out of their folders or the entire folder inside the maps folder? Or just in the general area of the unpacked stuff?

rancid temple
#

Assuming it's one that's added by the other mod: in the same folder as your map while editing and then removed when shipping

#

When it can't find it in your folders it will check Maps for it

#

(added to Maps by the other mod and by shipping I also mean loading it at all for testing and such, can rename it with a period . in front of the name while testing to avoid adding and removing it over and over)

dusty scarab
#

how do I get my mod to show up in the showcase? do I post it in this channel and use app-publish, or should I post it somewhere else like Governer's Mansion and app-publish from there?

uncut viper
#

you need the mod author role

#

you can ask someone with the role to do it for you
usually it is posted in either here or #modded-stardew and then published with the bot

glad zenith
#

How would add a entry in a list using content patcher? Text Operations?

uncut viper
#

same way you add to a dictionary, you still need to use a key

dusty scarab
glad zenith
velvet narwhal
dusty scarab
#

tagline?

velvet narwhal
#

something catchy just as a text to post alongside it unless you just want the description

dusty scarab
#

ah, the description is fine, thank you :D

#

thank you very much :D

plucky reef
uncut viper
#

specifically the manifest dependency will make sure your mod loads after theirs

#

but your mod doesnot check the other mods folders

#

most tilesheet mods will load their tilesheets into the game the same way you'd load your own, into the Maps asset

#

so then your map will be able to find it even if you dont have the pngs in your own folder, bc the game has them

plucky reef
#

ok so putting the custom tilesheet into the Maps folder in the unpacked stuff is copying what the tilesheet mod will do when it loads.

rancid temple
#

Unpacked has no effect on anything

uncut viper
#

you dont do anything with the tilesheet once you're done making your map, you delete it from your mod before publishing

rancid temple
#

You can move stuff into and out of unpacked just for your convenience

plucky reef
#

right

uncut viper
#

you only keepp the tilesheet in the same folder as your mapp so that Tiled wont complain at you and you can actually use it when developing

rancid temple
#

Like I move outside tilesheets into my unpacked Maps folder for editing since all the vanilla sheets are there

velvet narwhal
#

you throw the custom tilesheet into your working area, the unpacked folder, use it like you would any other tilesheet because they've probably appropriately appended their tilesheet names, then you can just yeet your tmx into your own loading folder for your mod after you're done

rancid temple
plucky reef
#

where I'm curious because I am running into a lot of different types of "we couldn't load this tilesheet" errors, if the exact pathing in that unpacked folder matters, if it needs to be in folder or out, etc.

velvet narwhal
#

it will only read from maps, it cannot climb folders with the exception of mines because mines is inside of maps

uncut viper
#

you should not be loading pngs from the unpacked folder if the .tmx you're editing is not also in the unpacked folder while you're working on it

#

(loading them in Tiled i mean)

#

bc if you try to load a tilesheet png in Tiled from a folder thats not the same folder as the .tmx, then Tiled will say like "Ok I want the png in C:/Stardew Valley/Unpacked/blabla.png"

#

which means when you run the game, it will also try to look at that specific folder, which wont work

#

if you load a png thats in the same folder as the .tmx, it just gets written down as "tilesheet.png" without the "C:/Stardew/etc etc" stuff before it

#

So the game just tries to load "tilesheet.png" and not a specific directory

#

which will work

plucky reef
#

ok, so daisyniko's tilesheets, which are in a folder, need to get removed from that folder and placed "loose" in the (unpacked) maps folder same as the custom farm map.

uncut viper
#

no, the daisyniko mod (i presume) is loading them into the game with content patcher

rancid temple
#

Pretty sure it's loading them, I had to install it for a different mod that uses it

uncut viper
#

you can temporarily copy the PNGs from the daisyniko folder into your own mod folder with your .tmx

#

if you have your own custom .tmx inside the Maps folder though then yeah itd be the same

latent mauve
#

To make things easier on myself, I usually just move the tilesheets to wherever the content.json says they're being loaded to in the Content (unpacked) folders, which is usually loose in Content (unpacked)/Maps so that I can then edit my TMX inside the Content (unpacked)/Maps folder and not have incorrect pathing when I save it.

uncut viper
#

(but the map would ofc need to be moved into your own mod folder after you're done)

latent mauve
#

And then I just copy my finished TMX over to the mod folder when I'm done

uncut viper
#

As rokugin said, the Unpacked folder has no effect on the game whatsoever. any changes to the unpacked folder do not matter at all for the game

#

you can delete the entire unpacked folder and nothing would change

plucky reef
#

No I understand that.

rancid temple
#

I think it's just concerning that you keep mentioning it lol

latent mauve
#

(I jumped in because it sounded like people were disagreeing about methods and causing confusion)

uncut viper
#

i dont think anyones disagreein about anythin

plucky reef
#

sorry that I am being imprecise with my language. Since the custom farm map being loaded into the game is requesting a specific file path for the custom tilesheet, how it's being edited in Tiled feels important when it gets copy-pasted into the mods folder from the unpacked folder.

uncut viper
#

just all trying to explain it but a bit disjointedly SDVpuffersquee

rancid temple
#

If Unpacked Maps is your working folder, that's fine, that's my preferred method, just gotta make sure you don't think it's important that it is

latent mauve
#

I agree Button, but it was coming across that way to my brain. 🙂

plucky reef
#

In this case, the content.json for daisyniko says this:
Which does make me think it's going "loose" into the Maps folder and then the other things in the content.json pull in the variants as needed.

uncut viper
#

nothing needs to go into the unpacked folder, ever

rancid temple
#

It shouldn't be requesting a specific file path

#

If it is, that means you didn't have the tilesheet in the right place when editing and you have tilesheet climbing

uncut viper
#

people will put their custom .tmx and tilesheets inside their unpacked Maps folder for editing bc it means you dont have to copy all the vanilla tilesheets temporarily either

#

but its just a convenience and not a requirement

latent mauve
#

The only reason I work from the Content (unpacked) folder is so I don't do a dumb and accidentally leave the tilesheet files in my mod folder when I publish

#

Because that's a very not good practice.

#

Last thing I want to happen is that I redistribute tilesheets without permission in my mod or I break the ability of other mods to edit them.

uncut viper
#

some of the confusion may also be coming from the not uncommon "asset names are folders?" confusion too

plucky reef
#

Ok so:
Custom farm map uses CP to insert itself into the base game's Maps folder.
Daisyniko's tilesheets use CP to insert themselves into the base game's Maps folder.
When in game, the custom farm map says "give me spring_daisyextras", and the game looks for "Maps/spring_daisyextras" and loads the relevant bits in.

So when I am in tiled and making the map, spring_daisyextras must be at the same folder level as the custom farm map, so that it doesn't try to climb out of that folder to another one when it goes to the mods folder to be loaded into the game.

dusty scarab
#

speaking of Tiled, I also have some questions that can be answered after Teoshen's.

  1. I made a copy of the vanilla farm map, moved it over to Tiled, and started playing around with the various tools, because the wiki says to always start from an existing map, and never make a fresh custom map. but one thing I haven't figured out yet, is how to increase the size of the map I started with. how do I do that? dragging the stamp tool over to the dark void on either side of the existing map doesn't seem to work to expand it.
  2. I can copy-paste selections of tiles, but for some tiles like Grandpa's Shrine, which have Tile Data associated with them, the tile data does not copy over. if I wished to move Grandpa's Shrine around on my new map, is it possible to copy-paste it using a different method, or should I enter that data in manually?
  3. I am still working on an unpacked version of 1.5, because right now I'm just getting my feet underneath me and using an older version to learn what tools do what shouldn't matter. I saw that the unpacker tool has a 1.6.9 version, and I was wondering, for anyone who's unpacked it to know, is there a difference in tilesheets between 1.6.8 and 1.6.9? should I wait to unpack 1.6.9 when it's released, or just unpack 1.6.8 now?
rancid temple
#

And also make sure you set a dependency for Daisy's mod on your mod

uncut viper
#

and dont forget to delete your copies of the tilesheets in the same folder level a s your custom map before publishing

plucky reef
#

And for ease of use, that folder when working in Tiled happens to be the unpacked folder. I copy-paste the .tmx for farm and farmcave to my mod folder when going to test.

uncut viper
#

(delete the vanilla tilesheets you were using too)

lucid iron
rancid temple
latent mauve
velvet narwhal
#

there are vastly more tools in 1.6 than 1.5 has, so you're better off learning and moving up since 1.5 is also still under the .tbin assumption and i haven't fully tested it, but i'm working under the assumption that tbins have a limit of TileData

rancid temple
#

Also some things that were in 1.5 might not be in 1.6

plucky reef
rancid temple
#

Just between 1.6.8 and 1.6.9 several unused tilesheets have been removed

velvet narwhal
#

yeah the weird 4x tilesheets got yeeted

dusty scarab
#

thank you, everyone! I'll get 1.6.8 unpacked. I was planning to do that once I learned how the Tiled tools worked, but wasn't sure if 1.6.9 would add more tilesets or something else worth waiting for

rancid temple
#

I don't think it adds any new sheets, just removes some

uncut viper
#

(speakin of, anyone know if that console port release date is also the 1.6.9 release date? are they being released at the same time?)

cyan marsh
#

Could I get some help in reupdating my Dear Diary mod.. it's the last one I need to reclaim my losses

dusty scarab
velvet narwhal
#

NOTE: The development and release of this patch does not have any effect on the timeline of the console and mobile ports. However, the features of this patch are planned to be available in the console/mobile ports upon initial release. Thank you for your continued patience. loud shrugging noises in the distance

cyan marsh
#

I've gotten it to be 1.6 updated.. i just got to get all the code from the uploaded mod re-done to my source so they are parallel again. I've been failing that DX

lucid iron
#

what do you mean by that? are you trying to push code to your git repo

dusty scarab
plucky reef
#

Yes, in [x y].

cyan marsh
lucid iron
#

oh i guess you can decompile your dll in that case

cyan marsh
#

Pathos helped me restore Event Repeater, and I was going to rewrite Investment and NPC Creator, and all UCRC needs is basic updates. I just need Dear Diary restored

plucky reef
#

the old way I was doing the map required doing all the warp replacements or something, or I just did them anyway and it was awful for compat, the new content.json way is so much nicer to just insert the new warps and not replacing all of them.

cyan marsh
rancid temple
#

Decompiling isn't very reliable if you want functional code, but it might give you the majority of it

lucid iron
#

yea "do decompile" is assuming you really cant recover the data directly

cyan marsh
dusty scarab
velvet narwhal
dusty scarab
#

that's fair. I might try it both ways, once I have more experience with all of the tools, though right now I'm leaning more towards having content patcher edit it in so that I don't have little grey boxes that say Tile Data popping up all over everywhere

plucky reef
#

expect to spend much longer than you think on it

cyan marsh
#
this.\u002Ector(1, 1, 1, 1, true);``` mostly the code is riddled with this
velvet narwhal
#

because i was dealing with custom locations, i nuked quite literally all of the data from my custom locations inside of the Tiled data because it was getting annoying trying to remember what was linked to what

plucky reef
#

I feel it's easier to make the change in the content.json than to open up the map and fiddle with tiledata.

dusty scarab
blissful plover
#

Just curious, my house is 100% expanded, Idownloaded this mod, and I don't see any options to add rooms, Did i miss something?

quaint moss
#

What should I put in location name here for the Flower Dance map? No idea what it's called internally "When": { "DayEvent": "flower dance", "LocationName": "town, temp" },

velvet narwhal
#

you can do whatever you want tbh, my first map was my own custom location and i had to break it in half to finally get it to work

velvet narwhal
quaint moss
#

My hacky workaround for festival outfits, with said hackiness not being relevant

velvet narwhal
#

you can use appearances

#

but even then, just dayevent is enough

plucky reef
#

my first custom map was a full map change making it 1/3 the size and that was a doozy but you learn a lot when diving into something big.

quaint moss
#

It's a workaround for a reason, hence why "not being relevant". Yeah but I like keeping location name as a security net

uncut viper
#

if theyre changing an outfit to a festival one then dayevent isnt enough if they dont want that outfit worn outside the event
appearances would be better
but regardless i think the flower dance map might still just be "Forest"

#

the name, anyway

quaint moss
dusty scarab
#

one last question for now. do farm maps always have to be square/rectangular, or can you have strange shapes like this one?

uncut viper
#

you can make them that shape but it will lead to visible swaths of pure black tiles if you dont put anything there

#

assuming you let the player get close to the edges

plucky reef
#

so I did this and it works ok in game, make it rectangular but block off sections.

dusty scarab
#

alright, that works. just gotta remember to make cliffs and extra cover so the black void isn't visible, then

plucky reef
#

the viewscreen does not go far enough to let them see the boring green

dusty scarab
#

yeah, that should work great!

lucid iron
#

i suspect this StardewJournal.UI is some shared thing but for now i put it inside DearDiary
ilspy
dotnet ilspycmd -p --nested-directories -r "path/to/steam/Stardew Valley" -o DearDiary "path/to/DearDiary.dll"

velvet narwhal
#

SDVpufferthink i wonder how farm events work if your farmhouse isn't set to 64/15, i don't actually use custom farm maps that often

rancid temple
#

You can move your farmhouse in the base game I thought

plucky reef
#

there are maps that do it for sure

rancid temple
# lucid iron

You're a freakin' wizard, I was looking at this with no idea what to do to fix it

lucid iron
#

my silly automate stardew 1.6.9 decompile excursion paid off

#

(it still refuse to decompile without root)

glad zenith
#

Uh, how do I fix this?

lucid iron
#

you need to use actions for list

rancid temple
#

You can drop the [] to make it a single action

uncut viper
#

(specifically the Action inside the entry you're adding)

#

(not the Action before EditData)

rancid temple
#

But I prefer just using Actions and only listing a single thing

uncut viper
#

you can even do both if you want

#

i wouldnt. but feel free

thin remnant
#

hey, I'm sorry to keep bugging you all. when this says itemID, does it just mean the item ID in string form ("111") or does it want something else?

#

I'm putting it in as "751" (for copper stone) and it's making errors

brittle pasture
#

that's the function for big craftables

#

but it's better to use ItemRegistry.Create

#

instead of using the constructor

thin remnant
#

ok i'll try

#

thanks!

#

is that for creating tiles? it seems like its for inventory items

gilded comet
#

the copper nodes are Objects afaik?

#

or wait

uncut viper
#

its for creating items in general, they dont have to go in the inventory, you can use GameLocation.setObject to place the object after

gilded comet
#

ah yeah ok

thin remnant
#

alright

uncut viper
#

generally i dont think theres ever a reason to use a constructor for an item directly vs ItemRegistry. but i wont say that definitively bc there might be like some edge case or somethin

lucid iron
#

the only one i can think of is colored items

cyan marsh
# lucid iron

did you take the code from my git? Or is this a full decompile

lucid iron
#

i decompiled nexus 1.6.4

#

then i made a new proj to put the decompile in

cyan marsh
#

i was using dotpeek.. is ilspy better?

uncut viper
#

(i did forget about colored items tbh)

lucid iron
#

probably? i am use ilspycmd just cus it works on linux monS

thin remnant
#

So I would do this? How do I convert from StardewValley.Item to StardewValley.Object?

Item var = ItemRegistry.Create("751", 1, 0, false);
Object object = var.(convert to object)
GameLocation.setObject(<tile>, object);

cyan marsh
#

but first

uncut viper
#

casting it to Object would probably work, but you can also do ItemRegistry.Create<Object>("751"))

#

i would qualify the ID though

gilded comet
#

i use avalonia ilspy bc im on linux

deep cypress
#

Hi loves! My laptop has been smitten, and is slightly dying a bit. Anyways, what's the reccomended gh of the processor which ought be used considering both VS and Stardew happening with a debigging?

brittle pasture
thin remnant
#

alright

lucid iron
#

i feel like memory might be more important than processor bolbthinking

tender bloom
#

RAM is definitely something to think about

#

If you can swing 32 gb that’s going to be more than enough, otherwise 16gb is typically the next lowest?

thin remnant
brittle pasture
tender bloom
#

Honestly I’m not an expert in computers but “something reasonable” should be fine for Stardew

brittle pasture
#

need to call it on a variable of type GameLocation

tender bloom
#

Stardew isn’t the most intensive game, and VS is a bit intensive but not super

brittle pasture
#

aka the location you're adding the object to

gilded comet
#

i’ve got 32 gb of ram but a horrible graphics card so like. a little of everything is important

#

(laptop)

brittle pasture
#

Yeah 16GB is a reasonable minimum for that kind of work

finite ginkgo
#

I have a relatively older laptop and the only time CPU was a bottle neck for VS + Stardew was when my VS glitched out and started using 100% of my CPU for some reason

thin remnant
#

what is v used for then? Is that just coordinates which is different from GameLocation in some way?

brittle pasture
#

That's the coordinates, yes

gilded comet
#

v is the coordinates

#

yeah

thin remnant
#

alright

brittle pasture
#

there are multiple locations (Farm, town, mines, Mayor Lewis's house, etc.)

thin remnant
#

that makes sense

round dock
#

Question, if debug ebi is for events, what's for dialogue? SDVpufferthinkblob Thank you!

deep cypress
#

Thanks loves!

deep cypress
round dock
#

AAAAA thank you SDVpufferheart

calm nebula
#

100% justified purchase

#

Also 4k monitor

thin remnant
#

forgive me, but how do I get the GameLocation for the mines level the player is in? All I can find is doing it for permanent areas

brittle pasture
#

Game1.currentLocation

thin remnant
#

awesome

zealous drift
#

idk if this is the place for it

ocean sailBOT
#

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

zealous drift
#

but i wanna change a certain sprite ina mod

#

i want to change a sprite in the earthly recolor mod\

#

how could i go about doing that

#

i just simply dont like the artifact spot sprite

uncut viper
#

you can edit the mod directly if its just for personal use if you want, or you can just edit the same sprite yourself with content patcher

zealous drift
#

so if i jsut delete the png for the artifact spot will it just return back to normal?

wispy bramble
#

If it has a config, then use the config.

uncut viper
#

it would probably give you a red error in your console when you play but if youre fine with just ignorin that itd work well enough

zealous drift
#

i just change digspot to false?

wispy bramble
#

Yes

brittle pasture
#

Also recommend installing Generic Mod Config Menu to change this (and other mod's) settings in game

wispy bramble
#

Generic Mod Config Menu (GMCM) is a fantastic mod to have and I highly recommend it.

zealous drift
#

bruh i didnt know thats how GMCM works ;-;

#

i went through the files for no reason

glad zenith
#

Well, I've fixed all of the errors but I can't get mail to send. ¯_(ツ)_/¯

uncut viper
#

you're only adding the mail if they already have it

#

with that condition

#

if they all already have it

#

add a ! at the start to negate the condition

glad zenith
#

then woudn't it be better just not to have the condition?

brittle pasture
#

trigger actions don't refire by default so yeah you don't need the condition there

uncut viper
#

the condition would be checking the Current player so you can account for playuers joining after the first day

#

i may have misunderstood/misremembered a bit exactly what you were worried abt with multiplayer earlier

brittle pasture
#

I just tuned in so I may be missing context but if all you want is "this mail enters the player's mailbox immediately when they start playing if they hvent received it so far, host or farmhand" then no condition is fine

uncut viper
#

if you do that you dont want to send the mail to All again though every time that happens

brittle pasture
#

yeah Current should work

glad zenith
brittle pasture
#

yeah that works

uncut viper
#

looking back at your original message from earlier today i think i suggested the condition initially bc i thought you wanted it to check to send the mail every time a save was loaded

#

not just the first time

glad zenith
#

so what you guys are saying is this:

#

@brittle pasture This dosen't work though...

brittle pasture
#

did you test on a new save

uncut viper
#

trigger actions by default apply once for the player, ever. if you were testing it earlier with the same ID in your entries and ever had the condition resolve to true, its already been applied and wont do it again

#

even if you change the actions or conditions after

glad zenith
#

I went on a different save it still didn't work.

uncut viper
#

are you making sure to sleep once to get to the second day

glad zenith
#

Nope! I should (probably) change the trigger.

uncut viper
#

if you dont specify which mailbox for the AddMail action it defaults to tomorrow

glad zenith
#

oh i thought it was because of this

uncut viper
#

yes, if you do it on the start of the first day, then tomorrow will be the second day

#

if you did DayEnding then it 3would be there when you woke up, but obviously that also doesnt make sense if you want it on the very first day

#

the first time you load into a save the DayStarted trigger will happen, it does count as a day start

patent lanceBOT
#

@next plaza: look into this (24h ago)

lucid mulch
velvet narwhal
#

i mean unless you're the stardew3d author SDVkrobusgiggle

lucid mulch
#

but with the changes to how stardew doesn't care about dpi scaling it lets me see the world

rancid temple
#

I could use 128 gb of ram to have all these tabs open

lucid mulch
#

it comes in handy here and there

#

I think the last time I actually hit real OOM was last years advent of code where I multi-processed the code a bit too violently

teal bridge
#

That's commitment. I don't think I've ever managed to use more than ~50 or so with 3 instances of Visual Studio, a hundred Chrome tabs and a DAW open.

next plaza
glad zenith
#

36 gb available? i wish

lucid mulch
#

...how

glad zenith
#

sorry for possibly flashbanging you guys with light mode task manager

next plaza
#

I only have 64 GB of RAM 😔

teal bridge
#

4 GB isn't even enough to run a modern operating system with no apps...

lucid mulch
#

it should be against the geneva convention or something to be <16gb ram, let alone be in range to still be on a 32bit os

glad zenith
#

mutliple tabs discord and vscode

teal bridge
#

While you're going for the whole antique vibe, why don't you grab one of those 5400rpm plate hard disks with less than 10 GB total capacity.

glad zenith
teal bridge
#

Does it have a VGA output? You could connect it to one of those 256-color CRTs.

glad zenith
#

hdmi is modern-ish

lucid mulch
#

but hdmi doesn't have the screws to make it so if someone trips on the cable, its the laptop thats destroyed not the cable

glad zenith
rancid temple
#

I think it's hard enough to unplug that'll still happen

teal bridge
#

You don't even really need to trip on the cable, just try to pull it out without thinking.

lucid mulch
#

you could pick up devices by the vga/dvi cable if it was screwed in

teal bridge
#

(and then watch your equipment fly across the room)

rancid temple
#

My cat ripped my entire monitor, tower, keyboard and mouse off my desk once because she got tangled in a cord

glad zenith
#

huge wallet burn

rancid temple
#

It was during my "my bed is my chair and it's on the ground" faze, so everything survived but still

brittle pasture
#

16kb ought to be enough for everyone

glad zenith
#

16kb???

rancid temple
#

In 1985

glad zenith
#

fr

teal bridge
#

What is that, UNIVAC or something?

#

That's before even my time.

rancid temple
#

It only takes 17 minutes to boot up to the first command prompt

glad zenith
#

floppydisc era

teal bridge
#

Floppy disks held way more than 16 KB.

brittle pasture
#

what's next, we're going to run out of IP addresses?

glad zenith
rancid temple
#

IPv8 when

teal bridge
#

To be fair, though, we wouldn't actually have run out of IPv4 addresses if like six companies weren't hogging 80% of them.

#

16 KB anything was not a thing in the floppy disk era, not even the 8" floppy disks, unless we're talking about the size of a file on one of them.

lucid mulch
#

(yes we would have, ipv4 only lasted as long as it did due to agressive NAT and CG-NAT)

azure hound
#

hiii Wave is anyone able to help me?
i'm making a farmhouse interior mod and it's changed the location of the entrance, how am i meant to find the warp location to leave the farmhouse?
it's telling me i need 5 locations(?) but i'm not really sure how i'm supposed to find those!

calm nebula
#

(ngl I'm not going to backread that convo on computer specs.)

#

hi! bye! Enjoy the third dimension!

rancid temple
tiny zealot
rancid temple
#

Original Warp info is at the bottom there

#

Which actually shows off that you can list those coordinates as off the map, though I only suggest doing that for the current X and Y, not sure you want to appear outside of the regular map bounds after all

#

If you don't see properties like that, try clicking Map > Map Properties

#

Easiest way to make sure your map has at least the baseline stuff is by just copying the map you're gonna be replacing and starting from that as a base

#

Especially since if you're replacing a vanilla map, you need to have specific tilesets present in specific order

next plaza
#

Remind me in 6 days to look into marriage schedules breaking with my 0 schedule fix

patent lanceBOT
#

for a moment there I was gonna say no, absolutely not. but kittycatcasey? yeah, yeah i will. (#6257575) (6d | <t:1727569896>)

glad zenith
#

does the bot have favoritism? lol

rancid temple
#

Nah, it's random (but it sure does feel like it sometimes lol)

azure hound
#

thank you!! @rancid temple i don't know why but when i was reading it up, my brain felt like complete soup
i've fixed the problem SBVGiggle

velvet narwhal
#

9.99/10 it's a hater

azure hound
#

man, i should've asked earlier. i was messing with it for like an hour purfecLost

glad zenith
rancid temple
#

The bot?

glad zenith
#

yeah the remind me thing

rancid temple
#

I don't think you need a specific role, but it only works in certain channels

#

You just have to start a sentence with remind me and then I think a time increment and what you want the reminder to say

velvet narwhal
#

i use it to remind me of remedial tasks in my own thread lmao

rancid temple
#

Remind me in 5 minutes to do a thing

patent lanceBOT
#

I love meanies, so for you rokugin? absolutely (#6257583) (5m | <t:1727052251>)

glad zenith
#

Remind me in 5 minutes to continue working on my mod

patent lanceBOT
#

Oh okay, taipronouncedtie (#6257585) (5m | <t:1727052275>)

glad zenith
#

oh

rancid temple
#

That said, I'm sure the mods would appreciate if we don't abuse it :P

glad zenith
#

oh yeah for sure

rancid temple
#

Farm computer bot has the cool wiki linking thing, but I dunno if it has to be at the start of a sentence or not [[Modding:Index]]

rancid temple
#

Guess not

glad zenith
#

[[Modding:Mail_data]]

glad zenith
#

oh

rancid temple
#

Not sure if I could be bothered to remember all the different names though lol

#

Easier to just copy paste when people ask for different things

glad zenith
#

yeah

patent lanceBOT
patent lanceBOT
lucid mulch
glad zenith
#

yup

rancid temple
#

Oh right, I do forget about that channel

plucky reef
ocean sailBOT
#

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

velvet narwhal
#

SDVpufferthink i have been contemplating minting cheetoification with my own command but i haven't done anything else substantial

plucky reef
#

It's the "reordered tilesheets" error and I renamed the tilesheet.

rancid temple
#

Original cave only has these two

#

So mine should be cave

lucid mulch
#

Fixed broken map replacement: Content Patcher loaded 'Maps/FarmCave' without a required tilesheet (id: cave, source: Maps\Mines\mine).

plucky reef
#

even if it's the actual mine map?

#

oh

#

huh

rancid temple
#

The name of the tilesheet doesn't matter in this case, it's the name of the tileset

#

Vanilla maps look for specifically named tilesets in specific order

lucid mulch
#

maps internally only operate on tilesheet order, not name. so reordering them desyncs things and causes a Bad Time™️ which is why smapi protects it

rancid temple
#

After it's satisfied that those are there, you can put whatever you want

#

You don't have to use the original sheets/sets, they just have to be there

velvet narwhal
#

oh i should give roku my monster disaster map

plucky reef
#

I must have over the last 20 iterations of this map nuked the originals and replaced them a few times and forgot it was supposed to be named differently

rancid temple
#

That doesn't sound good lmao

vernal crest
lucid mulch
#

smapi cares about the tilesheet ids matching what it knows about vanilla tilesheets

rancid temple
lucid mulch
#
            // when replacing a map, the vanilla tilesheets must have the same order and IDs
            if (data is Map loadedMap)
            {
                TilesheetReference[] vanillaTilesheetRefs = this.Coordinator.GetVanillaTilesheetIds(info.Name.Name);
                foreach (TilesheetReference vanillaSheet in vanillaTilesheetRefs)
                {
                    // add missing tilesheet
                    if (loadedMap.GetTileSheet(vanillaSheet.Id) == null)
                    {
                        mod.Monitor!.LogOnce("SMAPI fixed maps loaded by this mod to prevent errors. See the log file for details.", LogLevel.Warn);
                        this.Monitor.Log($"Fixed broken map replacement: {mod.DisplayName} loaded '{info.Name}' without a required tilesheet (id: {vanillaSheet.Id}, source: {vanillaSheet.ImageSource}).");

                        loadedMap.AddTileSheet(new TileSheet(vanillaSheet.Id, loadedMap, vanillaSheet.ImageSource, vanillaSheet.SheetSize, vanillaSheet.TileSize));
                    }

                    // handle mismatch
                    if (loadedMap.TileSheets.Count <= vanillaSheet.Index || loadedMap.TileSheets[vanillaSheet.Index].Id != vanillaSheet.Id)
                    {
                        mod.LogAsMod($"SMAPI blocked a '{info.Name}' map load: {this.GetOnBehalfOfLabel(loader.OnBehalfOf, parenthetical: false) ?? "mod"} reordered the original tilesheets, which often causes crashes.\nTechnical details for mod author: Expected order: {string.Join(", ", vanillaTilesheetRefs.Select(p => p.Id))}. See https://stardewvalleywiki.com/Modding:Maps#Tilesheet_order for help.", LogLevel.Error);
                        return false;
                    }
                }
            }
rancid temple
#

I guess in this case, the Id is the tileset name?

lucid mulch
#

in this case, smapi found the tilesheet straight up missing, fixed it, then found that the order was wrong anyway so hard blocked it

plucky reef
#

it is working now (loading without error and I can enter the map) but the animation is not so will see what that's about next.

#

man I can't imagine doing this without SMAPI.

rancid temple
#

All harmony patching

lucid mulch
#

(smapi itself doesn't do harmony patching for any of this)

wise berry
#

I'm trying to make a fully C# mod as a form of torture a learning exercise, and I'm stuck on getting some building assets to change after the config is changed

#

It does update when the game's reloaded

rancid temple
#

Like a data asset?

wise berry
#

Images if that makes a difference

rancid temple
#

I don't think it should actually, not sure why I was thinking like that

#

DId you invalidate it?

wise berry
#

Nope, guessing that's where I should start ahaha

rancid temple
#

Not sure if that'll make it happen in real time though, because the asset will only change the next time it's requested

#

Should be more frequently than reloading the game though

wise berry
#

Mmm alright, I'll give it a spin

tiny zealot
#

i think you can also load the asset once you've invalidated it

wise berry
#

Jeez that worked well, thanks lots to the both of you

plucky reef
#

hmm is it possible for a farm map to make stardew valley expanded to throw a tilegid error?

tender bloom
#

Trying to remember why tilegid errors happen—probably not but maybe?

#

I think those happen when the tmx files get screwed up?

plucky reef
#

I probably installed expanded wrong, but it does not like the bus stop.

tender bloom
#

But possibly when the tilesheets themselves go wrong

lucid iron
#

did you edit the bus stop?

plucky reef
#

No, just the warps in the content but that shouldn't do anything.

tender bloom
#

Try removing everything else—there’s little chance SVE release versions are broken. Add things back bit by bit until you find what’s broken.

lucid iron
#

are you use MapProperties instead of whole tmx for that

tender bloom
#

Warps can make some horrible errors

plucky reef
#

It's in the json, no warp tiles in the tmx.

#

It loaded a bus stop which I assume is the vanilla one.

tender bloom
#

Improperly formatted warps cause red errors on attempted map transition and black screen

plucky reef
#

I'll turn everything else off but the custom farm and get a fresh install of expanded and related mods.
Warps into and out of the bus stop worked.

#

So close to release... Then I can get back to the big one.

glad zenith
#

Could somebody explain to me what this means exactly?

tender bloom
#

Which part?

glad zenith
#

the uh top paragraph(?)

tender bloom
#

It sets the letter background (the picture behind the text)

#

You can give it new backgrounds in very specific sizes

glad zenith
uncut viper
#

you can name it whatever you want, its your custom asset

#

its saying whatever asset you point it towards should be a texture with those specifics

glad zenith
#

thanks

rancid temple
plucky reef
#

Hmm so not on my nap then, must have done the sve install wrong.

rancid temple
#

Yeah, your map shouldn't affect it, though I do wonder what exactly went wrong to make it happen

vernal crest
#

Did you open the sve map at any point?

plucky reef
#

I've been doing my modding by putting all my old mods in a separate backup folder so I don't have to sift through a bunch of folders when making edits to json (yes I also use stardrop), so when I went to test sve compact I just copy pasted.... June? version back into the mods folder. It didn't whine that it was missing anything.

#

Have not opened any sve maps.

#

But I know it's particular about how it's unpacked into the mods folder, maybe I missed something.

#

Doing baby night routine and then I can check.

vernal crest
#

(recommend using mod groups so you don't have to move stuff around all the time)

rancid temple
#

It's not very scientific, but any time anyone has a problem and they're using a mod manager I just blame that lmao

velvet narwhal
#

especially nmm SDVpufferpain

vernal crest
#

Nobody is even using NMM though. Do you mean vortex?

velvet narwhal
#

yeah that thing

plucky reef
#

Stardrop seems good, only thing I don't like is that it puts mods it unzips into a separate subfolder.

rancid temple
#

Is NMM still in dev?

vernal crest
#

I install my mods manually and use Stardrop to update them so it preserves my folder management.

#

No, NMM is incredibly old. You're thinking of NMA and yes that is still in development.

rancid temple
#

Oh yeah that

#

NAMM? (Nexus App Mod Manager lol)

velvet narwhal
#

so, in my findings i've found that patch reload is working on schedule animations, i don't know if it affects anything else outside of that though

rancid temple
#

I would guess that's because it's referencing the animation that's changed by the reload?

#

Since the schedule itself can't be changed by a reload

vernal crest
#

They decided to call it Nexus Mods App because apparently a lot of people get confused about the word "manager" and all the cool kids have "apps" these days.

rancid temple
#

Ah lol

#

I mean, with the advent of Windows 11, it's more accurate to their weird, bad phone-like architecture

calm nebula
#

Remember when vortex tried to enforce cultural invariance and broke SVE?

tiny zealot
#

no. do tell

calm nebula
tiny zealot
#

cursed

plucky reef
#

fresh SVE install worked fine, no errors.

plucky reef
#

I have never blocked a person on Nexus before, why is this person here?

rancid temple
#

Blocked by Unknown is interesting

velvet narwhal
#

were you given edit privileges to a modpage? SDVpufferthinkblob

plucky reef
#

I don't think so. I hope not.

past knot
#

question about making a mail framework mod. What exactly is groupID????

hearty moon
#

First time trying to mod with fashion sense framework, I made a change to the floppy ear sprite in another modpack since it + the animation sequence is so close to what i need. Problem is i made it a little longer, so it was cutting off at the bottom. So I moved it back into the 16x32 area in the spritesheet, but now the coordinates are set wrong. I don't know what to set them to? I'm having trouble figuring out why the current coordinates are the way they are to begin with. The wiki isn't really helping.

I made an album of captioned screenshots. Would very much appreciate the help!

https://imgur.com/a/TOZ1qH5

next plaza
plucky reef
#

huh

next plaza
#

Nexus mod Id

uncut viper
next plaza
#

Like the number in the url

plucky reef
#

how interesting

lucid iron
#

Wait why isn't it keyed by game + id KasumiDerp

unique sigil
uncut viper
#

most of MFM's features can be done with just CP now in 1.6

tender bloom
tiny zealot
tender bloom
#

suppose you want to send mail from your mod randomly, but no more than 1 per day

#

MFM allows you to do that in batches via the group ID

#

at least, if I recall correctly

past knot
#

oh thank the stars.

tender bloom
#

I thiiiiink I used that feature for my lunar new year foods mod

past knot
#

i just want sure how to add the custom letter bg to the content patch ver of the json

uncut viper
#

"{{ModId}}_Mail_JunimoScrap_Crop": "[letterbg Mods/{{ModId}}/Letters/junimoLetterBG 0][textcolor black]Test Text[#]Test Title",

#

heres an example from one of my mods

tiny zealot
#

however, if you want to do secret notes (a weird, different kind of mail), i recommend the framework for that, since those were not made easier to deal with in 1.6 >.>

uncut viper
#

(you dont need the textcolor part tho)

past knot
#

Thanks everyone! off i go to make mail i suppose

blissful plover
unique sigil
#

do you use GMCM? a mod without a config in the content.json wouldn't appear there. that does not mean the mod has not loaded

#

is this your first time using mods?

uncut viper
#

@vernal crest new version of BETAS just uploaded with the NpcArrived trigger you asked for
also along with some other stuff that im sure others are very excited about like the harmony patching /s
(i also added a GSQ for checking whether or not location(s) have specific furniture placed but i dont remember who it was that couldve used that for their limited purchase spouse portraits... so uh, i guess if anyone sees them around again, feel free to let them know?)

#

i finally got over the hurdle of writing the documentation for the harmony patching stuff by deciding to just go "heres the required fields, heres a couple examples, good luck"

faint ingot
#

@tiny zealot just noticed your secret notes framework tonight actually very much looking forward to utilizing that in my mod

fleet crystal
#

Hello I was wondering if anyone knew how to create your own temporary sprites for Stardew valley’s or if it’s even possible

blissful plover
unique sigil
blissful plover
#

oh. Ok I didn't notice those instructions. I will go back and read them again.

unique sigil
#

and yes, you can use PIF doors in other farm buildings, not just the farmhouse SDVpufferthumbsup

half tangle
#

@ivory plume The Backwoods map is missing a warp at 50 17 and currently allows the player to walk off screen (it looks like the .tmx has duplicate warps at 50 16)

dusty scarab
#

I am trying to get the animated waterfalls from the Forest map so I can use them in my Farm map. I've followed the instructions here to get the map loaded in Tiled so I can save the tileset as a .tsx file, as indicated in step 3, but I'm not seeing which tileset has the animated waterfalls on it. does anyone know what I'm doing wrong?

frigid hollow
#

the {{season}}_Waterfalls files, in Maps

dusty scarab
#

I found those, but will they come in already animated?

frigid hollow
#

you'll have to make the animations in tiled i believe?

#

if you open up an existing map that'll have the tilesheet with the animations on it you can see what the timings are supposed to be

mighty ginkgo
dusty scarab
#

that's the weird thing, though. the Forest map has the animated tileset for the waterfalls, but I can't figure out where to pull them from that'll keep the animations

#

and the snip from the wiki that I linked says that those are the steps to avoid having to reanimate them myself

mighty ginkgo
#

i have never done what you're trying to do, but there is a "export tileset" button below the tileset

frigid hollow
#

well, then yeah you'd export the v16_Waterfalls from the forest map

dusty scarab
#

oooooooh, I'm an idiot, I didn't see that there were more tilesets to click over to!

#

pardon my blindness

dusty scarab
#

I have another Tiled question, how do I copy-paste selections of tiles, including their Tile Data? I can copy-paste tile selections themselves, but can't seem to get the tile data attached to them to come with.

hallow prism
#

what do you mean by that?

dusty scarab
#

I'm editing an existing map to make a farm, and I want to move where grandpa's shrine, the farmhouse, and mailbox are on it. I can select to move the tiles themselves, but I can't seem to get the tile data that identifies the mailbox as the mailbox, or grandpa's shrine as grandpa's shrine, to move with the tile selections when I use the rectangular selection tool to grab those tiles

#

for example, I want to move the farmhouse and mailbox a couple tiles north of their original position

hallow prism
#

you need to select them on the layer they are at, which is an object layer looking pink

dusty scarab
#

ahhhh, okay. so there's no way to grab them both at the same time, I need to grab them both from their individual layers and move them one at a (layer) time?

hallow prism
#

test selecting multi layers and see

brisk kraken
#

Hey, im looking to make some very simple hearth events for my custom NPC. I have a general idea of how they work but honestly, I dont really know where to start. For starters, im using content patcher, so I need to make a new .json and use an include in the content.json for it?

rancid temple
brisk kraken
#

Alright... So, if I need 5 events, I can just use 5 different Ids in the same .json and that should work?

#

Is the only thing missing in the tutorials I have seen, how to actually create the file for the game to pick it up

rancid temple
#

Hm, didn't realize it didn't elaborate on that, all the other tutorials on the wiki seem to be slightly outdated. I haven't done a great deal with NPC's so I'm not super sure on the process here.

#

Might be best to just ask again in a little when more people who do events are on

lone ice
#

Morning! Can anyone tell me if I've misunderstood something about adding custom maps? I used the code in content patcher as a template but SMAPI seems to be asking where the Action is:

   "CustomLocations": [
     // add the in-game location
     {
       "Name": "{{ModId}}_ExtendedForest",
       "FromMapFile": "assets/ForestPatch4.tmx"
     }
   ]
 }```
rancid temple
#

CustomLocations is deprecated

#

It's also not a part of Changes, it goes on the same level as ConfigSchema

lone ice
#

oooh

rancid temple
#

Aside from that, I can't tell you much more about it because I never used it and don't know anything about it

#

It being deprecated, I just use the Data/Locations method

lone ice
#

ok

#

you can load new tmx files through locations?

rancid temple
#

You would load the tmx into Maps with a Load and then add the location to Data/Locations with EditData

lone ice
#

okay, thank you!

dusty scarab
#

so far I have the farmhouse done, mailbox done, pet bowl done, spouse area done, shipping bin done, farm warp area done, and a small yard and dedicated obelisk area. does anyone know if the pet bowl and shipping bin belong on the Buildings layer, since you can move them at the Carpenter menu, or if the top layer of the shipping bin should be in the Front layer so you can walk behind the shipping bin?

rancid temple
#

If you open the map properties you can see those locations are just set by property

#

Like on an existing farm map

#

Their tiles aren't placed, just a few of the placeholder Paths are used to indicate where they end up

#

Quite a lot is set by property on the farm map in fact

dusty scarab
#

the map I'm working from had a bugged pet bowl to begin with (it was unmovable at the carpenter's shop and the game actually spawned a new, moveable pet bowl in the middle of the map when you first loaded in), so I don't have any idea what to set for it. same with the shipping bin, it didn't have one for me to look off of, so I had to take a wild guess

rancid temple
#

Open a vanilla map

dusty scarab
#

I have the default farm open with the tilesheets loaded, but I do not see a pet bowl or shipping bin. am I missing something?

finite ginkgo
#

They're both placed by the game code based on two map properties (so you will not see them in Tiled)

dusty scarab
#

or do you mean open the .tmx file in a text editor and not in Tiled?

#

ah, okay

rancid temple
#

At the top click Map > Map Properties

#

On the left the properties panel should show all the properties at the bottom

dusty scarab
#

you mean these? (I'm sorry if these questions are stupid, asking stupid questions is how I learn)

#

oooooh, the other map I've been working on has a lot more!

#

is this where I make my edits to make sure things spawn and exits lead to their proper place?

#

ok, I see the Shipping Bin custom property, and to add the pet bowl to the list is adding PetBowlLocation <x>, <y> to the custom properties list somehow, correct? do I need to add an x,y coordinate for all 4 tiles for it, or just for one specific tile and it will orient the other 3 based on the original coordinate?

finite ginkgo
#

For both of them it should be the top left corner of the pet bowl/shipping bin

dusty scarab
#

awesome! thank you so much for the help and showing me where to find this stuff!

vernal crest
# brisk kraken Is the only thing missing in the tutorials I have seen, how to actually create t...

If you're writing heart events for locations that already contain vanilla events, you don't need to create a file, you need to edit the existing file. This is an example of me doing that in my mod. You can put a code block like this inside your content.json or you can create a separate .json file with this in it (inside a "Changes" field) and then use an "Include" code block in your content.json.

{
    "LogName": "Hiria's Mountain events",
    "Action": "EditData",
    "Target": "Data/Events/Mountain",
    "Entries": {
        "{{ModID}}_mini_Demetrius/": "
        none/
        46 35/
        farmer -100 -100 0 Aba.Hiria 45 32 1 Demetrius 47 32 3/
        skippable/
        viewport 46 35 clamp/
        speak Demetrius \"{{i18n: Event.mini.Demetrius.1}}\"/
        speak Aba.Hiria \"{{i18n: Event.mini.Demetrius.2}}\"/
        speak Demetrius \"{{i18n: Event.mini.Demetrius.3}}\"/
        speak Aba.Hiria \"{{i18n: Event.mini.Demetrius.4}}\"/
        speak Demetrius \"{{i18n: Event.mini.Demetrius.5}}\"/
        speak Aba.Hiria \"{{i18n: Event.mini.Demetrius.6}}\"/
        speak Demetrius \"{{i18n: Event.mini.Demetrius.7}}\"/
        speak Aba.Hiria \"{{i18n: Event.mini.Demetrius.8}}\"/
        move Aba.Hiria -20 0 3 true/
        pause 500/
        globalFade 0.04 true/
        pause 200/
        viewport -1000 -1000/
        end",
    },
}

If you want to add heart events to custom locations or vanilla locations that don't have vanilla events in them, you first need to "Load" a blank .json file (containing nothing but { }) for that location and then repeat the "EditData" process from above.

{
    "LogName": "Load blank json to custom locations used in events",
    "Action": "Load",
    "Target": "Data/Events/{{ModID}}_NationalPark, Data/Events/{{ModID}}_Campervan",
    "FromFile": "data/blank.json"
},
#

(Note that you don't have to multi-line your events but I prefer to do so as I find it much easier to read.)

brisk kraken
#

Ohhhhh, well thank you so much, is exactly what I needed jaja.

vernal crest
#

(Additional note: my event doesn't have preconditions but that is just because I don't bother with them until I'm finished testing the actual content of the events.)

rancid temple
#

Oh right, if you do Load a blank, make sure you set the Priority to Low so that if some other mod also Load's that then it won't conflict

brisk kraken
#

Hmm, why would other mod load the blank file in my mod?

#

Didnt see any of that in the tutorials

rancid temple
#

If they needed to make events in the same location

vernal crest
#

If they're loading a blank file for a vanilla location and you are too.

brisk kraken
#

Ahhh, alright, the vanilla one

rancid temple
#

But if it's a custom location added by you then it won't really be an issue, it's more for if you're doing a vanilla location that doesn't have events or one from like SVE that doesn't have events or something like that

vernal crest
#

If it's your own custom location, the other mod shouldn't be trying to load a blank file in the first place.

brisk kraken
#

I will stick to mountain and forest locations, im not skilled enough to make a custom location

vernal crest
#

You will be fine just with "EditData" blocks then :)

brisk kraken
#

Yep, thank you

#

For the audio, is possible to add custom soundfiles or thats a whole other mod?

rancid temple
brisk kraken
#

Perfect

pine elbow
#

Does anyone have a Tiled guide on which layers I should put things on? I'm redesigning Margo's house

brisk kraken
vernal crest
rancid temple
#

Hm, the only example I have of audio changes is a companion for another mod I was making that I never finished lol

vernal crest
rancid temple
#

The Event.mini.Demetrius you're asking about is the i18n key

#

Which is translation stuff

vernal crest
#

Oh lol I forgot that was my i18n key and wondered where they got that from haha

rancid temple
#

Took me a bit to find it too lol

tiny zealot
brisk kraken
#

Okay... So all that is the dialogue section, right?

#

Im compraring It to the event script example in the wiki trying to properly figure everything out

vernal crest
# brisk kraken Okay... So all that is the dialogue section, right?

Here is the section of my i18n file that contains the actual dialogue the player would see when each of those speak commands happened.

    // mini_Demetrius
    "Event.mini.Demetrius.1": "Three native parrot species?",
    "Event.mini.Demetrius.2": "Yeah we have the käkäpö, the käkä, and the kea. The kea is the world's only alpine parrot!$h",
    "Event.mini.Demetrius.3": "Fascinating. Although parrots are primarily pantropical in distribution, I am aware of several species which inhabit temperate zones. Sadly, we have none here in Stardew Valley.",
    "Event.mini.Demetrius.4": "I don't know if I'm all that sad about it, e hoa. Parrots usually don't sound great. $u",
    "Event.mini.Demetrius.5": "... #$b# That is a good point.",
    "Event.mini.Demetrius.6": "Anyway, kea are very smart and curious. They love to steal things from tourists and sometimes even pull the rubber off cars.$h",
    "Event.mini.Demetrius.7": "I imagine it would be rewarding to run behavioural tests with them.$h#$b# What about the other two?",
    "Event.mini.Demetrius.8": "*Phone rings* Oh, sorry, this is the big boss. I'd better take it. I'll tell you about the others another time!",
#

(Everybody close your eyes so you can enjoy my wonderful NZ bird facts when you play my mod /j)

rancid temple
#

(Whenever I try to read with my eyes closed I just fall asleep)

brisk kraken
#

Hmm alright... Because I wont translate the mod I assume I wont need a separate file, I could just do It in there. But, is good to know if in the future I decide to make a public mod

#

Probably my biggest problem would be to properly organize the 5 events, but thats on me

vernal crest
#

If you're just making the mod for yourself then yeah, i18n is probably overkill. But it is a good habit to have for mods that you plan to release, definitely. It makes translation work much easier and you can do some fun and fancy things with i18n (see Aviroen's thread for some really extreme examples lol https://discord.com/channels/137344473976799233/1259442882377420850)

brisk kraken
#

Is a birthday gift, so yeah, but im learning a lot about stardew modding, even if I havent touched code

#

I think thats all, thank you, I Will start working on it

vernal crest
brisk kraken
#

I Will manage, is just that rn the structure to make the event is still a bit alien to my eyes, im very used to staircases code and functions. I appreciate having your example

vernal crest
#

Ah yeah that makes sense. Feel free to copy my whole thing and just replace bits of it as you want to. It might make it easier to have a starting event that will work right from the beginning (though you'd have to replace "Aba.Hiria" with another NPC name of course) and then tweak it from there. Also, if you don't already, make sure you have the 1.6 migration page open as well as the events page since the 1.6 stuff hasn't been integrated into the events page yet https://stardewvalleywiki.com/Modding:Migrate_to_Stardew_Valley_1.6#Event_changes

#

Start small and use patch reload and debug ebi to help you test early and often.

#

I'm confident you will do well SDVpuffersmile

brisk kraken
#

Thanks! ♥️

ebon nimbus
#

can someone tell me what "0 schedules" mean SDVpufferblush

rancid temple
#

A 0 schedule is a schedule with a start time of 0, it should simply place the NPC at the location you specify, it has some special rules and can cause some issues

#

Leo has a few 0 schedules in Characters/schedules/LeoMainland

#

I can't remember what the special rule about 0 schedules was

vernal crest
#

Yeah they are used to start an NPC in the location specified instead of starting in their Home location. They're useful for getting NPCs to places that they would take all day to walk to ordinarily. They are apparently completely broken for spouses.

rancid temple
#

Casey is trying to fix it with SpaceCore

calm nebula
#

(You either need all 0 schedules or no zero schedules)

#

Because the entire schedule code of this game is weird

rancid temple
#

Huh, how does Leo work then?

#

He's got a mix in this

calm nebula
#

So the actual thing is you can't have CP resolve a 0 schedule the day before and then not the day after

#

It's really if you have conditional schedules + 0 schedules

#

Tbh I think it's best fixed out of smapi

#

Which is why I'm not doing it SDVpufferthumbsup

#

(Okay, that's not exactly true.)

#

The reason why I'm not doing it is because my promised free time evaporated again

#

Wheeeeeeeeeee next time I get significant free time will be January wheeeeeeeeee

calm nebula
#

....I guess no advent of code for me

dark cedar
#

Hello, I'm not quite sure what I did wrong. I've been following this guide: https://stardewmodding.wiki.gg/wiki/Tutorial:_Making_Custom_Furniture_With_CP
I'm on Windows, 1.6, and here's my smapi log: https://smapi.io/log/c15d4466ee8f4956a42ebb9d64b63c42

Stardew Modding Wiki

This tutorial explains how to add custom furniture using the new 1.6 game update features and Content Patcher. The tutorial assumes you already have the game unpacked and that you have some basic familiarity with the Content Patcher format. The mods referenced as examples in this tutorial are Bonsai Trees (formerly Bonsai Trees for DGA) and Magi...

ocean sailBOT
#

Log Info: SMAPI 4.0.8 with SDV 1.6.8 build 24119 on Microsoft Windows 10 Home, with 26 C# mods and 49 content packs.

lucid iron
#

are assets\gumi and assets\miku image files?

dark cedar
#

yes.

lucid iron
#

you need to put the extensions, assets\gumi.png i assume

#

there's a windows explorer setting to show extensions, should check that on

dark cedar
#

trying it now

#

still won't work:
[Content Patcher] Patch error: (CP) Roodle's Vocaloid Merch > Load Mods/Roodle.VocaloidMerch/gumi has a FromFile which matches non-existent file 'assets\gumi.png'.

vernal crest
#

That means that your file is either not inside your assets folder or not called "gumi.png".

#

We can have a look if you want to share a screenshot of your assets folder

dark cedar
#

they're saved as pngs, do i actually have to name them "gumi.png"

vernal crest
#

No the problem is that your folder is called "assests" with an extra "s" in there

dark cedar
#

omg

vernal crest
#

(But if you are planning to do any more modding, I'd definitely recommend that you turn on file extensions because it's a pain working without them.)

dark cedar
#

thank you so much!!

brisk kraken
#

@vernal crest Sorry to bother but, im trying to make the event where the farmer just aproaches from behind and stops, then the dialogue starts. But, it just keep moving and walks out of the screen xD I dunno what It could be. Im using "move farmer 46 32 0" as it starts in 42 32 0

hallow prism
#

In this case move 4 0 0

brisk kraken
#

Oh, alright let me try that

#

Perfect, thanks. I was understanding how that worked wrong

#

And... For a specific sprite? Like if I have the sprites for fishing that I use for schedules, how can I add it to the event?

vernal crest
#

You can use a few different commands, I think. animate or showFrame or temporaryAnimatedSprite, I think. I've used temporaryAnimatedSprite because I'm comfortable with it but I know some other people find it a bit tricky so they use other commands. Maybe try animate first.

brisk kraken
#

Hmm, so it would be: animate NpcName_fishing? The fishing is a double sprite, so i needed to use the spacecore features to make it work

vernal crest
#

Is it on a totally different spritesheet to your NPC's normal spritesheet? If so, you can't use animate. If you're using spacecore, you might need to use some spacecore-specific command to make it work. I'm unfamiliar with how that works. However, temporaryAnimatedSprite doesn't have a limit on sprite size so I think you should be able to just use that without using spacecore (is the use of spacecore for schedule animations or something?)

brisk kraken
#

Yes, i have 3, 2 of them are just singular sprites, but for fishing, because it needs 4 normal size sprites to show 2, i needed to use spacecore

#

And is on the same spritesheet

#

No matter what option of the 3 I use, the npc wont load

vernal crest
#

Won't load into the event at all? Or just for that bit?

brisk kraken
#

It just breaks the json and the npc doesnt load

vernal crest
#

That sounds like you may have written it incorrectly. Care to share your json?

#

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

brisk kraken
#

Sure

vernal crest
#

All of these arguments are required but you only have <actor> and whatever "Dorian_sitting" is (which is not allowed by the command format).

animate <actor> <flip> <loop> <frame duration> <frames...>

It should look something like this (I have just invented these values for an example - they won't work)

animate Dorian false true 300 14 15 16
brisk kraken
#

I also found a typo

#

I used a \ instead of /

#

I will fix all

vernal crest
#

You're missing a forward slash on line 19 as well

brisk kraken
#

yup

vernal crest
#

Oh also line 19 shouldn't be a move command anyway because you're just changing the direction he is facing. Use faceDirection instead.

brisk kraken
#

Oh, it worked so I tought it was alright

#

Going to fix that too then

vernal crest
#

It does work but it is better practice not to do it (I can't remember why lol)

tiny zealot
#

all i can think of for why is that faceDirection better shows intent, which may be helpful in the future if you make changes, and that move is unreliable in certain circumstances (after positionOffset, chiefly)

brisk kraken
#

But at least, I know the syntax now

#

Probably I should use something regarding Spacecore

vernal crest
#

I don't think it's going to work for the fishing one because it must have to assume that one frame is 16x32. But as I said, temporaryAnimatedSprite should - though it's more fiddly because you'll have to warp your actual NPC into the void to use it.

brisk kraken
#

Hmm well, is not the end of the world. The most important one is the sitting one, and it works. So everything is alright

#

Thank you again for your time

vernal crest
#

You're welcome. I'm heading to bed shortly but everyone else should be around soon so you will have plenty of help around if you need more.

royal nimbus
#

hey where in data or strings etc can i find where the special statues with ?'s in the name are? for example, ??Foroguemon??. im looking to change the names as ive changed what they all are

tiny zealot
#

Data/BigCraftables for the data, Strings/BigCraftables for the names/descriptions

hexed siren
#

I've been working on a Sam dialogue mod and these lines have me totally searching the entire content folder for answers, but I've had no luck. Where are the event_room1 and event_room2 lines shown? Why is event_room2 the same as event_snack2 ??

velvet narwhal
#

the egg dropping event?

hexed siren
#

Yes for the snack ones, the room ones are what I'm not sure, are both shown depending on different circumstances?

velvet narwhal
#

samhouse.json "46/f Sam 1000/p Sam": "playful/7 4/farmer 7 12 0 Sam 7 5 0 Jodi 17 7 0/skippable/move farmer 0 -6 0/faceDirection Sam 2/pause 300/speak Sam \"Oh, hi @. I was just about to have a snack.\"/pause 500/speak Sam \"Here, let me get something for you.\"/faceDirection Sam 0/pause 500/playSound openBox/pause 500/faceDirection Sam 3/playSound dwop/specificTemporarySprite dropEgg/showFrame Sam 33/jump Sam/pause 1000/emote Sam 12/showFrame Sam 12/speak Sam \"Oh no... What a mess.$s\"/speed Jodi 4/move Jodi -10 0 0/speak Jodi \"What was that sound?\"/emote Jodi 16/speak Jodi \"*gasp*$s\"/move Jodi -1 0 0/move Jodi 0 -1 0/speak Jodi \"This is absolutely terrible! What happened?$u\"/speak Sam \"$q 80 null#...Tell her, @.$s#$r 80 -10 event_snack1#Sam dropped the snack as he was handing it to me.#$r 80 50 event_snack2#Sam handed me the snack and then I dropped it.#$r 81 -50 event_snack3#Sam dropped it on purpose. He thought it would be funny.\"/pause 300/speak Jodi \"$p 80#Thanks for telling me the truth, @. It's not such a big deal.|You did WHAT, Sam?! What's gotten into you?!$u\"/faceDirection Jodi 0/speak Sam \"I'm sorry about this, mom. I'll clean it up.$s\"/emote Jodi 20/speak Jodi \"Thanks, honey.$h\"/move Jodi 0 1 1/move Jodi 1 0 2 /faceDirection Sam 2 true/move Jodi 0 7 2 true/globalFade/viewport -1000 -1000/end dialogue Sam \"$p 81#I'm angry at you. I have no idea why you lied like that.$s|Sorry about what happened earlier.\"",

#

squints

hexed siren
#

also squints... yeah I've been through the event but didn't find those "room" lines unless I'm totally missing it...

velvet narwhal
#

it's time

#

pulls open the entire events folder with vs22

hexed siren
#

So is it leftover from something that was changed and just ignore?

round dock
#

Oooo a new Sam dialogue mod SMCPufferSquee

vernal crest
#

Definitely recommend doing a "find in files" search using N++ or VSC when you're looking for specific stuff.

hexed siren
#

Haha! Yes Immersive Sam, I have the beta posted on Nexus

round dock
#

Were you the one who did Sebastian's as well? I saw it on Hot Mods a month ago SDVpuffersquee

vernal crest
#

I would personally do a search over the entire content folder rather than just events just in case.

hexed siren
#

Oh yep! Immersive Seb is my baby!

velvet narwhal
#

(i'm trying to do that now but the languages are stopping me)

hexed siren
#

It's tricky, I've had mixed luck with searching the folder

velvet narwhal
#

it looks like, only haley, sam, and shane have some kind of "event_room1"

#

pulls up the decompile SDVpufferpain

hexed siren
#

The response almost sounds like the negative one from the 10 heart event

round dock
#

Oof I actually haven't tinkered with Haley's event_room1 dialogue myself

vernal crest
#

Yeah sorting through the translations files is annoying but I don't think it's too bad - not with N++ at least.

hexed siren
#

It's on Sam's basic dialogue file which is why I was confused with not finding it in an event for him.

velvet narwhal
#

haley:
"Event_room1": "Him? No!#$b#...Well, I guess I used to like Alex. But not anymore! He's immature.",
shane:
"event_room1": "Okay... that'll require a great script. Maybe I'll ask Elliott for advice next time I see him at the saloon.$s",

#

i don't know these events so if it triggers any memories for anyone for context

round dock
#

Ah, now I remember why I didn't add that dialogue in GLH SDVpuffertroll

tiny zealot
#

these look like cut content. no sign of them anywhere else besides uncalled for in the dialogue files (when grep does not find something, i trust it)

velvet narwhal
#

yeet it, got it

hexed siren
#

I was thinking that was probably it, but wanted to check just in case anyone else knew about it... Thanks!!

velvet narwhal
round dock
hexed siren
#

Thanks!! Clearing up a couple bugs in an event and posting an update later today, I'm close to the final version... famous last words, I know!

faint ingot
#

Every time I feel like I'm almost done with my mod, I remember 10 things I haven't finished yet

mint eagle
#

hard c# question: lets say i want to draw a custom sprite that isnt an npc or item or whatever, at a specified coordinate in the world, and I need it to respect depth in the world, how do? i can easily hijack an objects rendering, but id rather just draw this without the overhead of an object. or at least without depending on one. (please @ on reply) any suggestions?

tiny zealot
#

(many things like map tiles and NPCs use a calculation for depth based on their map coordinates)

mint eagle
#

i thought depth was handled relatively. if not then that works

#

ill have something neat to show once i get it working. thanks for the input.

tiny zealot
#

good luck! even if it's relative, you should be able to find a value that will work

mint eagle
#

yeah, i didnt realize depth worked for tile depth. can get it from there. y'all aint ready for this XD give me a couple days.

royal nimbus
#

where can i find dialogue from heart events?

velvet narwhal
#

you'd have to dig through the data/events folder, i suggest just opening the entire folder and ctrl+f to search for a string in there that you can remember, or something like f Sam 500 for 2 hearts for example

royal nimbus
#

i found it. thanks

thin hamlet
#

Is there a way to make custom train drops?

#

One of my ores would be perfect for dropping from the train

golden spire
#

Is negative friendship from the friendship event command currently broken? Was looking at an event of mine and it didn't seem to be lowering anymore. Looked at the vanilla Pam event with Yoba and that didn't reduce at all, when I forced it.

brittle pasture
brittle pasture
calm nebula
#

I don't see why it would be broken

#

Make sure you do not have cjb eternal friendships activated

thin hamlet
calm nebula
#

Or the other one

#

The mod for it

velvet narwhal
golden spire
#

I might just reset my settings/configs incase just some weirdness going on then

#

I thought it would be bizzare to still exist if it did

quaint moss
#

An existing mod adds festival animations to its custom NPC and I'd like to remove or overwrite said animation, but I can't figure out how. { "Action": "EditData", "Target": "Data/Festivals/summer11", "Priority": "Late + 100", "TextOperations": [ { "Operation": "Append", "Target": ["Fields", "set-up", 5], "Value": "/NPCname etc etc", }, ] }, Attempting to overwrite with this even with high priority still won't work. Any help?

old edge
#

Hello can someone tell me if I'm casting to game location correctly?

#

Need help with some c# code dealing with lava

tiny zealot
rancid temple
#

Wouldn't the field key need to be wrapped in quotes as well?

#

Or do the delimited strings use ints there?

quaint moss
lucid iron
#

should go for new subclass of GameLocation, and register it with spacecore

royal nimbus
tiny zealot
#

important question: is one of the band names still "goblin destroyer"? (the funniest and therefore most correct option)

royal nimbus
#

its gonna be so funny like if u pick aggrotech its gonna be that cute, wholesome 8bit music xD

plucky reef
#

I love the hair on the farmer.

royal nimbus
#

me too

#

im gonna make a bunch of goth and alternative hairstyles. there's a billion things i need to make for the farmer x__x

round dock
#

Ooooh i love the music aSDVpufferchickbounce

ivory plume
spice inlet
#

might I get access to said repo? 👀

royal nimbus