#making-mods-general

1 messages ยท Page 31 of 1

uncut viper
#

i forgive you i think

vernal crest
#

I wanted that thread power lol

glad zenith
#

yay aba is o-rage

lucid iron
#

now u match icon DokkanStare

glad zenith
#

i 2 will be orage soon

lucid iron
#

hm i am struggle to access the movenext method

#

this one

call instance bool valuetype [System.Collections]System.Collections.Generic.List`1/Enumerator<class [StardewValley.GameData]StardewValley.GameData.Machines.MachineOutputTriggerRule>::MoveNext()
#

i am try this which seems close but not quite

AccessTools.EnumeratorMoveNext(AccessTools.Method(typeof(List<MachineOutputTriggerRule>), nameof(List<MachineOutputTriggerRule>.GetEnumerator)))
#

nvm i had unrelated error LilyDerp

silver pelican
#

say, if i plan to create a shops adjacent to each other , where it can be accessed via the bus (prompt: go to XYZ custom place), is CP just the framework i need? ive decided the items to sell will be using CP instead of json.

I gues the closest I can describe thisi s like the garden village mod.

rancid temple
#

CP is json

lucid iron
#

what do you mean using cp instead of json?

#

instead of json assets?

rancid temple
#

Or do you mean JA?

#

CP is good enough to make custom shops

glad zenith
#

isnt ja like dead

tiny zealot
rancid temple
#

Not necessarily, just not really needed anymore

#

If anything, I imagine Casey would probably rather spend time on her new content engine than adding features to JA at this point

tiny zealot
#

minecarts i'm pretty sure you can do with just content patcher, but the bus i think is still hardcoded

rancid temple
#

Yeah, though there is a mod for that

tiny zealot
#

like rokugin said, JA is just keeping the lights on for old mods. other than that it isn't useful anymore

teal bridge
#

You finished your NPC?

rancid temple
#

Bus Locations has an unofficial update, not sure why it's even listed as unofficial if it's still uploaded on Nexus, but maybe it's fine, I certainly haven't looked at the permissions on the original

buoyant apex
#

Yes it's just for personal use. I'd love to make a patch. But... I've barely an idea what I'm doing.

Is there any attribution I should do?

lucid iron
#

why is carp surprise a chili item

rancid temple
#

It's a surprise

brave fable
#

because it's surprising ๐ŸŽ‰

lucid iron
#

the way i picked contaxt tag lead to some interesting results

#

like dinosaur egg for any egg

#

and pufferfish for any fish, as it should be

vernal crest
lucid iron
#

what is your plan with hiria

teal bridge
#

Oh ok. Well that's good too.

lucid iron
#

do you have a mvp in mind or just going by vibes

vernal crest
#

MVP? Most valuable player?

teal bridge
#

Minimum Viable Product

rancid temple
#

I feel like all my mods are slowly being sacrificed to ItemStockInformation, I guess I should probably figure out why this is dying for so many different mods
[game] An error occurred in the base update loop: Failed loading type 'StardewValley.ItemStockInformation': TypeLoadException: Could not load type 'StardewValley.ItemStockInformation' from assembly 'MailServicesMod, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' due to value type mismatch.

vernal crest
#

Ah I see. I have a vibes-based MVP lol

lucid iron
teal bridge
#

But also that's totally corpspeak and I almost wish I didn't know it.

lucid iron
#

yea it is quite different with creative pursuits

uncut viper
#

constructors are now patchable SDVpufferparty

lucid iron
#

eh i think mvp is more useful concept than agile at least

vernal crest
#

I have a base level of finished that I'm aiming for with stretch goals (the stretch being my motivation, not money lol)

teal bridge
#

yea it is quite different with creative pursuits

It is. Like, if I'm working on a track, there's no "MVP", it's done whenever I can't stand to listen to it anymore.

uncut viper
silver pelican
#

slr, yes i meant JA my bad. I'm avoiding JA as much as possible :v

gilded comet
lucid iron
#

you can do your items in content patcher

silver pelican
uncut viper
#

you can already patch constructors with harmony!

lucid iron
#

no button is giving nuclear warhead (harmony) to small children (who make content patcher mods)

uncut viper
#

its fun!

gilded comet
#

oh that's so cool!?

#

i figured you could patch constructors but i misinterpreted and doubted myself ๐Ÿ˜ญ

uncut viper
#

i wouldve let you run simple C# code from a CP defined harmony patch too buuuut i didnt feel like packaging another DLL with my mod

lucid iron
#

wait what r u doing in constructor then

vernal crest
uncut viper
#

and i gave up trying to write my own parser

lucid iron
#

just listening for it to exist?

uncut viper
#

yeah basically

#

it has theoretical uses

lucid iron
#

blobcatgooglyblep shenanigans

uncut viper
#

for testing i patched the LetterViewerMenu constructor for example so it runs an action every time i open a letter

lucid iron
#

say u r doing this in a way that only 1 actual harmony patch happens for X number of cp mods right

uncut viper
#

yeah all the patches are loaded and put into a list and each patch is written into one Harmony patch

teal bridge
#

Will you make this your mod logo?

uncut viper
#

(if one patch fails the others are still loaded in)

#

its being added to BETAS! which has a logo!

#

or well, a header

lucid iron
#

how terror blobcatgooglyblep

teal bridge
#

(it's a footgun. nobody got it, sigh.)

uncut viper
#

the main things missing from this feature are a) bool prefixes and 2) patch priority
i originally had 2 implemented for priority between patches that my mod loads, but then realized thats basically worthless bc it doesnt translate to priority overall between all mods
and A isnt implemented bc i dont want to allow it

silver pelican
uncut viper
#

(i did not get it. sorry! i just thought it was another joke abt irresponsibly handling a dangerous weapon)

teal bridge
#

Well I suppose it is. But too meta.

#

It's alright, I'm used to jokes backfiring (heh).

#

I found a better one.

lucid iron
#

say does StardewUI.Grid support borders of some kind

teal bridge
#

(that's... probably not real. but perfect!)

lucid iron
#

the css style of borders where you can choose which ones out of four to have

teal bridge
lucid iron
#

yea on the children is fine too

#

i just didnt figure out how to make only leftside border

teal bridge
#

Ah. Well, everything in SDV is sprites, so that didn't really occur to me. But I guess it's possible by disabling some slices of the nine-slice.

#

Or you could just use the vertical divider sprite.

#

Why do you need a one-sided border?

lucid iron
#

to divide ScrollableFrameView

teal bridge
#

Definitely use the divider sprites for that - just add an image pointing to that sprite.

#

That's how it's done here (top of the thing I posted the other day)

#

That's the horizontal divider but, same thing, just different sprite/layout.

lucid iron
#

yee

rancid temple
#

Remind me in 14 hours to look at this ItemStockInformation error

patent lanceBOT
#

ugh I was about to take a nap. but fine rokugin I'll stay awake just for you (#6238776) (14h | <t:1726252797>)

teal bridge
#

The repo is not public yet but the code for that is literally just

var separator = new Image()
{
    Layout = LayoutParameters.AutoRow(),
    Margin = UiSprites.MenuHorizontalDividerMargin,
    Fit = ImageFit.Stretch,
    Sprite = UiSprites.MenuHorizontalDivider,
};
#

Requires a precise margin but that's CA's fault, not mine.
(Also, I should clarify, this does not require any weird layout stuff with panels. Just stick the separator in a normal Lane and you're done.)

pine elbow
#

Hello guys!

teal bridge
#

How did I manage to end the day with a longer to-do list than what I started with...

pine elbow
#

I want to create a new npc, but the wiki guide it's too old

#

Someone can help me with some stuffs?

uncut viper
#

!npc

ocean sailBOT
#
Creating a Custom NPC

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

  1. Tiakall has a great tutorial on making a custom NPC for 1.6:
    https://stardewmodding.wiki.gg/wiki/Tutorial:_Making_a_Custom_NPC

  2. Custom NPCs received many improvements with 1.6. For changes made, see the migration guide:
    https://stardewvalleywiki.com/Modding:Migrate_to_Stardew_Valley_1.6#Custom_NPCs

  3. Some information on the NPC wiki page is still relevant:
    https://stardewvalleywiki.com/Modding:NPC_data
    Just make sure you're checking the migration page and tutorial first as this page still has outdated information on it as well.

  4. Aviroen has put together a template that will allow you to easily create a romanceable NPC:
    https://stardewmodding.wiki.gg/wiki/Npc_template

pine elbow
#

Oh, thanks!

old edge
#

hello been attempting to conjure some lava into a map. Still having some trouble but I did find the VolcanoDungeon.cs file and looking at it.

rancid temple
#

Can you cancel a Remind me request?

#

Building the project in 1.6.9 fixed the error lol

uncut viper
#

technically there is a way but i wouldnt be surprised if only mods had that command permission

lucid mulch
#

.timer remove <id>

if the docs are correct

brave fable
#

forget about me, maru SDVpufferpensive

rancid temple
#

.timer remove 6238776

patent lanceBOT
#

Timer removed.

rancid temple
lucid mulch
rancid temple
#

I have been hoping for this exact thing lol, thanks again

#

This bot has some absolutely unhinged commands lmao

teal bridge
#

Wow that is a lot of commands

old edge
#

there must be a way conceredape conjures the lava tiles into the map on the fly.

teal bridge
#

Though I clicked on some of the APIs it claims to use and they're going to domain squatters...

lucid mulch
#

lvl100 mines lava, volano lava, or other

rancid temple
#

Rebuilding AT also fixed its issues, seems like Happy Home Designer is having an issue patching it now, in the midst of some IL and I'm way too tired to deal with that

teal bridge
#

Remember that for every bug you get Pathos to fix, you're breaking somebody's transpiler ๐Ÿ™ƒ

rancid temple
#

Lol

latent mauve
#

well, this answers the original thought behind my question. Multiplayer friend wanted to know if we could make Krobus actually use a spouse patio, since we can make one for him. Game code says no. xD

#

Only other reason I'd have wanted to know about spouse schedules was to try to set times where they go into a custom renovation room, because they will not path into them at all currently.

rancid temple
#

Yeah pretty sure the areas they can randomly wander inside the farmhouse are hardcoded rectangles too

latent mauve
#

(I was gonna make cute hobby rooms for spouses)

#

I could still make them, but they'll never actually visit them, which is sad

lucid mulch
#

spouse behaviour is an authentic italian meal

rancid temple
#

Exactly the way it is and you'll like it that way?

knotty phoenix
#

so has 1.6 been out long enough that there's methods for doing most things that we could do before?

lucid iron
#

Yes?

rancid temple
#

Did anything major get lost in the update?

lucid iron
#

Depends on what you r thinking of

uncut viper
#

there were methods for most things like as soon as 1.6 came out

rancid temple
#

If you have like a specific concern, it would be easier to point you in the right direction

formal crown
#

SDVpufferlurk If anyone had meddled with Automate before, do they know if Automate automatically supports custom buildings added via CP?

rancid temple
#

Haven't tried on custom buildings, I know it works on custom machines, so I would assume

formal crown
#

I wanted to ask in case there's an obvious answer somewhere and I missed it

lucid iron
#

If it's a mill like building I think it'll work

old edge
#

I think I got it the lava is a tile and it still uses the water tile map property

#

but I think it's coded a bit differently mainly I think the animation is just reversed and there is some code behind it.

unique sigil
#

hi, a newbie mapmaking question here:
i'm using my custom farm to replace the vanilla hilltop farm. the custom farm has no quarry area, but ore deposits are still spawning on the farm. how do i disable this? do i need to make an FTM file?

latent mauve
#

If you are actively replacing the hilltop farm instead of creating an additional farm, you may need to change the Location Data for the farm to change the ore spawning chance?

#

Not at my computer right now, but I think that's determined in Data/Locations for the specific farms.

unique sigil
#

can i do that via CP? i am indeed trying to replace hilltop using the Load action in my content.json

latent mauve
#

If it's visible in the Data/Locations entry for the hilltop farm, then yes, you can change it with CP

unique sigil
#

okay ill try that out!!

latent mauve
#

If it's not in there, hilltop may still be hardcoded to do ore spawning, in which case, you would be better off replacing a different base map type if you want to remove the ore spawns entirely

#

Or creating a new map entirely through the AdditionalFarms data entries, which is my personal preference

finite ginkgo
#

(I thought the ore spawning was controlled by a map property? The SpawnMountainFarmOreRect map property, unless it's hardcoded on the hilltop farm)

unique sigil
silver pelican
#

hewo! does anyone know if theres a mod that lets your baby grow into a child in a short time or a configuration of it? im doing a test on a mod. Im using cjb but it doesnt trigger the baby's growth regardless of how far i skip days (>28d)

untold nymph
#

Hey. I have never written a mod, but I am a somewhat experienced programmer. I have everything up and running to start writing a mod (a functioning "hello world").
I want to write a "dual wield" mode. That is, that you could mark two items in your inventory and use one with click and the other with alt+click.
Any recommendations on how to start?

#

As a start I would like to have the inventory item marked with a blue square if I alt+click it similarly to how it is marked in red when I click it normally

silver pelican
finite ginkgo
#

!decompile

ocean sailBOT
finite ginkgo
#

Otherwise not many tips anyone could offer

untold nymph
#

Is the only way to find out whether a mouse click was on an inventory item is to use Harmony? SMAPI doesn't have an API for that?

proud wyvern
#

SMAPI does not generally have a lot of APIs/events, no.

shadow vortex
#

I'm curious if Shane's mom has ever had her name stated in canon, or if there's even a standard fanon name for her. Does anyone know?

drowsy pewter
#

nope

formal crown
untold nymph
formal crown
#

Then you want the Game1.activeClickableMenu to be null, but I'm not sure how'd you do the rest (don't forget to call e.Button.IsUseToolButton() instead of hardcoding it to left click)

proud wyvern
#

yeah, i'd definitely use Harmony for that. it makes the intent more clear

#

(although i'm a big hater of using the ButtonPressed event)

formal crown
#

(Why? Out of curiosity)

proud wyvern
#

you're doing additional logic to make sure the player is clicking the thing you care about
and also you're making cross-mod compatibility harder

shadow vortex
#

After thinking it over, this mod idea makes a lot more sense if it's about Alex's dead mom instead. I don't think her name has ever been given either.

gusty bison
#

I want SMAPI on my switch ๐Ÿ˜ญ๐Ÿ˜ญ

rancid temple
#

!switchmodding

ocean sailBOT
#

Modding on the Nintendo Switch is technically possible in a very limited capacity, but it requires jailbreaking your Switch, which is only possible on select models or by physically altering the hardware of your Switch, and can run the risk of bricking your console and/or being banned by Nintendo. Only visual texture and dialogue replacer XNB mods can be installed. Due to these limitations, we do not provide guides on how to mod the Switch and it is up to the individual if they want to take these risks.

rancid temple
#

Looks like no SMAPI for Switch even if you have a modding capable console, that's unfortunate

heady relic
#

now the steam deck though...

rancid temple
#

Sure, if you have the extra money lying around lol

heady relic
#

lmao fair. I got mods working on mine right before 1.6 came out. It was a several hour long process, and then everything broke and I gave up.

rancid temple
#

Oh great lol, they're phasing out their cheaper models too

calm nebula
#

Inflation!

#

How much is a steam deck

heady relic
#

they're actually on sale right now apparently

rancid temple
#

$300 and $340 before tax for the cheap ones

#

$400, $550, $650 for the ones that will continue to be sold after those run out of stock

calm nebula
#

Oh that isn't as bad as I thought

#

I mean, I have zero use for one but still

rancid temple
#

If I had the money, I'd rather upgrade my computer lol

heady relic
#

Yeah, when my last bonus rolled in I hyped myself up and bought the 512 OLED one for when I travel. I then immediately stopped traveling, and have used it like, twice.

calm nebula
#

I legit boot up my personal computer about once a week now lol

rancid temple
#

I would not be able to function lol

calm nebula
#

How so? My personal email is on my phone. Work gave me a laptop

#

So all actual work is on work laptop

rancid temple
#

I just have a problem lol, this computer is everything I do all day every day

small path
#

So I am trying to make a feature in a mod, however it would require me to add save data to the save. But I don't know where to look for a mod that already does something like this. Basically I just need to save a list of GameLocations and Vector2s but I don't know how to go about doing this

rancid temple
#

In order to avoid messing with the save serializer, or having to figure out SpaceCore's, I'd probably just save that stuff in a json with my mod tying it to the player's ID or some such thing

small path
#

I'd need to use the save as n identifier because it's per save not per player but hmm

tiny zealot
small path
#

If I use SpaceCore's do I need to reference the DLL itself, because I don't know how to access the events through the API, but yea

tiny zealot
#

if possible, consider storing your data in some object's ModData instead, since then you don't have to do any fiddly work about it (the tricky bits are handled for you)

small path
#

okai sure

rancid temple
#

Ooh, I can dump my hard reference to SpaceCore, the API has the virtual currency stuff again (3 weeks ago apparently lmao)

grand gale
#

Can't get a drop from the node :/ https://smapi.io/log/90f3c42abc714dbe8dc778f3f2b8ec6f

"LogName": "Adding Node",
            "Action": "EditData",
            "Target": "Mods/mistyspring.ItemExtensions/Resources",
            "Entries": {
                "LightningStone": {
                    "DisplayName": "{{i18n: LightningStone.name}}",
                    "Description": "{{i18n: LightningStone.description}}",
                    "Width": 1,
                    "Height": 1,
                    "Texture": "{{ModId}}/Objects",
                    "SpriteIndex": 0,
                    "Health": 24,
                    "Tool": "Pickaxe",
                    "MinToolLevel": 0,
                    "ItemDropped": "(O)128",
                    "MinDrops": 1,
                    "MaxDrops": 4,
                    "Debris": "stone, blue",
                    "BreakingSound": "stoneCrack",
                    "Sound": "hammer",
                    "FailSounds": ["clubhit", "clank"],
                    "Shake": true,
                    "Skill": "Mining",
                    "Exp": 55,
                    "MineSpawns": [
                        {
                            "Floors": "170/-999",
                            "SpawnFrequency": 0.1,
                            "Type": "All"
                        }
                    ]
                }
            }
ocean sailBOT
#

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

teal bridge
tiny zealot
#

i don't recall offhand about the events. i'm talking about ModHelper.Data.ReadSaveData/WriteSaveData, which will throw if farmhands try to call them

teal bridge
#

Right - I'm doing ReadSaveData in OnSaveLoaded without explicitly checking for multiplayer and thinking that's probably OK if the event doesn't run for farmhands.

#

Surprised that no one's reported an issue, I wonder if it really crashes or does something nasty vs. just printing a warning to the console.

tiny zealot
#

it definitely crashes out of whatever thing you're trying to do. it didn't bring down the game when my mod did it but it did prevent NPC interaction

calm nebula
#

How

tiny zealot
#

only with my NPC, for the record. i was doing shenanigans

teal bridge
#

It also says you don't need to prefix the key with your mod ID, and my every time I've used it, my mod ID is the entire key... I should really read the docs once in a while.

rancid temple
#

Oh wait

#

You put a comma in the Debris field, pretty sure it's space delimited only

#

Should just be
"Debris": "stone blue"

untold nymph
rancid temple
#

Which would explain that error log I guess

#

Choosing a category on Nexus is the hardest part

teal bridge
#

I notice Utility.controllerMapSourceRect is hardcoded to xbox (we brought this up last week) but I wonder if it is conditionally compiled? Could the implementation be different on other platforms? (are there even console targets?)

rancid temple
#

Anyone know if there's any particular difference between using CustomFields vs ModData?

teal bridge
#

Well, custom fields can be used in GSQs, for one.

rancid temple
#

That's interesting, not something I need for this, but certainly interesting

teal bridge
#

They're also passed into TriggerActionContext

tiny zealot
brittle pasture
#

CustomFields is a data model property, while ModData is meant to persist in an in game instance

teal bridge
#

Custom fields are also available on more types, but availability of mod data can be checked with IHaveModData whereas with custom fields it's either there or it's not.

rancid temple
#

Hmmm, ok. Thank you both SDVpufferheart

teal bridge
#

(re: console code being unavailable with decompile, yep, that's why I was asking, it seemed strange that CA would include a sprite sheet for so many different controllers but not write any code to use them)

heady relic
#

Nah, that sounds par for the course for a single person project of passion. Get caught up making all the sprites you could possibly need, then think about coding it, and do something else instead.

teal bridge
#

Does not strike me as CA's style. While there are plenty of little foibles in the code, I haven't seen a lot of wasted sprites or data, unless you count the abandoned meat stuff.

#

It's more often the opposite - there are a bunch of loose/random sprite sheets because sprites had to be added at the last minute with no obvious place to put them.

unique sigil
#

aaa i did it you guys! my first mod!!

#

editing the json files took way longer than i thought. do yall use a program for that or just notepad?

teal bridge
#

Even if CA did create way more sprites than necessary, there'd be no reason to include them in the published game data.

rancid temple
#

I feel like I'm constantly stumbling over unused tidbits in the code and files

heady relic
rancid temple
#

!vsc

ocean sailBOT
teal bridge
#

I mean yeah, there's unused stuff. But there is "no longer used", there is "didn't quite work as intended but plan to use it", and there is "I have no idea why this is here".

unique sigil
rancid temple
#

I prefer VSCode but you can also use N++ if you want, just make sure to get the validation plugin if so

#

Anything with validation will save your life

teal bridge
#

There is definitely some of the latter, though I think the former is the most common - code that made sense at one point and is now a historical artifact.

velvet narwhal
#

school paid for my vs22 so that's what i'm using SDVpufferclueless

rancid temple
#

I just use the free version of everything lmao

teal bridge
#

And I just realized that this entire controller sprite sheet doesn't have any prompts for the trigger/shoulder buttons anyway, so fuggit.

rancid temple
#

Though, I'd love to get my hands on Rider for playing with IL

teal bridge
#

Dana?

tiny zealot
#

previous incarnation of penny. her old unused spritesheet was included in the game data until 1.6

teal bridge
#

And was never actually in the game, even in the early versions?

grand gale
tiny zealot
teal bridge
#

Alright, well, I stand corrected then.

heady relic
#

looks like there was a male/female rival too

rancid temple
#

I definitely get the "I shipped it with stuff it doesn't need, but it's already out so why bother removing it now" mood

heady relic
#

when I'm confused I tend to grab chunks from the unpacked code, ditch the optional fields, and change what I need.

rancid temple
#

This can be a double edged sword if you don't format the rest of your patch correctly lol

heady relic
#

Oh it almost always bites me in the ass

unique sigil
#

literally me just now i keep making mistakes bc i keep mistaking which parenthesis is whose

#

or how many i need

rancid temple
#

Yeah, definitely get an editor with validation, it'll point out things like that

#

Good ones will even add closing brackets and stuff for you

#

Another double edged sword sometimes lol

velvet narwhal
#

intellisense scorns me with the amount of " and '

rancid temple
#

Editing my manifest for C# mods is always fun because if I'm not paying attention, my description will have a bunch of unnecessary ' lying around

teal bridge
#

Great "feature" of VS, ain't that?

rancid temple
#

It might happen in VSCode too, but I haven't been writing real descriptions for my various test mods lmao

teal bridge
#

Yes, I totally meant to type two single quotes inside my double-quoted string!

rancid temple
#

Surely I needed to quote something in my quote and not make something plural

velvet narwhal
#

worst feature: all of my jsons used to have a cleaner whitespace, now they've squished it so whenever i open an untouched json it's wide and wieldy

rancid temple
#

I haven't been able to figure out why some of my indents are small and some are huge

#

It's different between jsons I open and I don't get it lol

teal bridge
#

Eh, just run prettier if you want a particular JSON format.

#

Yeah, VS confused between spaces and tabs sometimes.

#

I've actually run into issues where it will just straight up refuse to switch to spaces.

rancid temple
#

I thought it might be that, but when I check they're all spaces

teal bridge
#

Like, clicking on the "TAB" and select "SPC" does literally nothing.

rancid temple
#

It just for some reason decides that some of my jsons need 4 spaces instead of 2

#

"You're gonna want to spread out for this one, bud"

teal bridge
#

Are they all .json extension?

rancid temple
#

That's how they're saved but I have them linked to validate as jsonc

teal bridge
#

You could try turning off adaptive formatting.

#

That's what causes a lot of those problems.

brittle pasture
#

see I don't get any of these problems in vim

teal bridge
#

I find adaptive formatting mostly annoying anyway since I use csharpier for the code formatting and don't use different formatting styles for different data on different projects.

rancid temple
#

I'll have to give that a try, thanks

teal bridge
#

Don't get me wrong, I used nothing but vim and command line tools for a whole year at work. But I can't say I want to go back to that.

#

(cue the one emacs guy saying that if I followed the one true faith I never would have left)

#

While we're on the subject of workflows and such, does anyone else who works on shared projects have a nice way of keeping the source rule set at **\*.cs?

My current (hilarious) workflow is:

  • Have .projitems open in Notepad++
  • Alt-Shift-C to add new class
  • Click on "C#" in the dialog because VS insists on defaulting to "MSBuild Directory.Build.props file" anyway
  • Ctrl-Shift-S to save everything, including the borked .projitems
  • Switch to Notepad++, tell it not to reload the file
  • Resave the old .projitems in N++
  • Switch back to VS and click the "Reload All" button, or sometimes the "Discard" button depending on what mood it's in
  • Actually be able to compile code again.
lucid iron
#

This is a lot just to build bolbonfire

teal bridge
#

It is indeed. Makes you appreciate the convenience of MSBuild, when it works like it's supposed to.

lucid iron
#

I do everything in vsc and get angry at microsoft whenever they break the c# plugin again Ree

calm nebula
#

And are often not MP synced

#

ModData is NP synced

rancid temple
#

Thanks! That does give me some idea for my fish pond mod, if I want to avoid sending messages between clients

#

If I ever go back to that lmao

brittle pasture
#

sounds like you'd use neither in that case but your own thing?

#

A non-synced moddata kind of

rancid temple
#

I was thinking the ModData might be good because the colors don't sync as reliably as I would expect of a net field

teal bridge
#

ModData is a net field (net dictionary)

rancid temple
#

Yeah but I'm hoping it syncs more reliably ๐Ÿคฃ

#

I'll probably end up having to just do the messages thing

teal bridge
#

I deal directly with netcode not at all, but are you sure it's not syncing reliably vs. you're just not detecting it in time (e.g. responding directly to change event)?

rancid temple
#

Really not sure, my current implementation is something like, postfix the color and hope the game syncs it right

#

MP wasn't even a consideration originally, which is also why I haven't bothered to fix it at this point

teal bridge
#

Hard to guess at specifics there, but... if you (or the code you're patching) has any code that reads from a netfield and saves the value, or derives some other value based on it, then it has to watch the event in order to update as soon as the field is synced.

#

Netfield just gives you a value that's synced, it won't guarantee that anything derived from it is also properly synced unless it always derived on the fly.

rancid temple
#

Ugh, I hate looking at this code lmao, I wanna dump this content pack shit so bad. Aside from setting the override color on the fish pond based on some content pack data, I'm not really doing anything else with this net field

#

My original assumption was that net fields are synced often enough that I wouldn't actually need to do anything else, but in practice the syncing was not really consistent

#

Don't know how this whole networking system works, like if the client thinks something is supposed to be one value, but the host tells them it's supposed to be something else, do they just argue about it until the host eventually wins?

shut loom
#

Is anyone working in a not very human-like NPC, monster-ish NPC? I would like to draw one.

faint ingot
#

I have a question about how to set up custom NPC festival positions for y1 vs y2? I have it figured out by year for dialogue but don't know how to enter year 2 coordinate positions. ``` {
"Action": "EditData",
"Target": "Data/Festivals/fall27",
"TextOperations": [
{
"Operation": "Append",
"Target": [
"Entries",
"Set-Up_additionalCharacters"
],
"Value": "Shannon 32 62 0/Russell 22 53 2",
"Delimiter": "/"

            },
        ],
        "Entries": {
            "Shannon": "{{i18n:festivals.shannon.fall27}}",
            "Shannon_y2": "{{i18n:festivals.shannon.fall27.y2}}",
            "Russell": "{{i18n:festivals.russell.fall27}}",
            "Russell_y2": "{{i18n:festivals.russell.fall27.y2}}",
        }
    },```
velvet narwhal
#

i'll double check in a sec but i think it's quite literally Set-up_additionalCharacters_y2

#

yep it is lmao Set-Up_additionalCharacters_y2 if you go beyond y2 you're gonna remove all other custom npcs that don't have that key, so i don't suggest it lest you get yelled at

rancid temple
#

Does it alternate years if you only have the two?

faint ingot
velvet narwhal
#

you can get away with standard Set-up_additional and then when conditions (based on me reading SVE's spirits eve code) so i'm gonna assume as long as no one adds a _y# we'll all be happy

tiny zealot
finite ginkgo
#

When you say "on the base layer" do you mean on the Back layer? Passable on Back makes tiles impassable regardless of the value you give it, in spite of it's name

tiny zealot
#

can't say i've seen either of these. for the first one, could there be a fully-transparent tile placed there?

quasi dew
#

ISO motivation to mod some events for Shane. I looked at his marriage dialogue for inspo, and Yoba CHRIST is it bleak. SDVpuffergrimacing

final arch
#

(share the map if you still have issues)

rancid temple
#

Shane is a pretty bleak dude

teal bridge
rancid temple
#

So everybody has authority?

teal bridge
#

It's nowhere near that simple in practice, of course.

#

Everybody has some authority - though, since Stardew does have the concept of a host/main player, it is likely that the host has more authority. Conventional rollback is entirely peer-based.

#

Keep in mind I'm just giving a generic-ish answer of "this is what netcode generally does" without diving into the hairy specifics of Stardew's wacky custom netcode.

faint ingot
#

Well, I have learned a useless fact. If you don't do ANY fishing until the festival of ice, you get the 'tutorial' fishing bar (bar never depletes) for every cast in the event.

teal bridge
#

That being said, since you're generally trying to write code independently of whether you're the host or a farmhand, what you probably need to know is that anything you try to write to a netfield might get overwritten almost immediately (within a few frames) if there was any kind of conflict.

tiny zealot
teal bridge
#

Also, that anything you read from a netfield should be understood as totally transient; whatever value it has right now, might be a different value a millisecond later.

rancid temple
#

For map making, I suggest taking a look at how the base game structures maps, generally you'll want to create a border around the area you want to be walkable with Buildings tiles

lucid iron
#

I think you can make the main player do all the updates

next plaza
lucid iron
#

And make clients draw according to state

teal bridge
#

Thanks, good to have confirmation. It's complicated because real rollback netcode isn't generally purely field-based, it's event/state-based... but Stardew's is field-based.

rancid temple
#

If you have it, you can use Lookup Anything in game to see if your tile data is on the tiles, though this is kind of annoying to do because of how much info is displayed

#

You can also patch export the map to be able to look at the tmx, which will also be kind of flooded with data

teal bridge
#

Well, "real" is probably unfair, I should say something like "industry standard" instead.

rancid temple
#

Stardew's netcode makes me glad I don't have to roll my own solution

teal bridge
#

My understanding (though I don't work in the game dev "industry") is that writing one's own netcode is generally frowned upon, like writing one's own crypto.

#

There are well-established libraries like GGPO that do it for you.

#

Of course in a brand new framework (like Bevy) someone will of course have to write a new one.

lucid iron
#

Was there a standard netcode lib for monogame back when stardew was adding multiplayer

teal bridge
#

There's not much of a standard anything for MonoGame...

#

I mean, as we're all intimately aware of, there isn't even a standard UI library (Unity has two).

#

No wait... I think Unity has three now.

rancid temple
#

I'm familiar-ish with two of them

#

Not sure what the third is lol

teal bridge
#

So yeah, MonoGame is game dev for C# guys who are deeply into DIYing (which I totally get; Bevy is the same in Rust-land).

#

Unity had the old IMGUI, a semi-old Forms-based thing, and I think the new one is some HTML/CSS analogue although maybe it's not ready yet.

rancid temple
#

I think it's ready, I don't like it lol

teal bridge
#

Haha, I didn't say the new one was better, or even that any of them are good, just that they exist!

#

MonoGame has... um... SpriteBatch. Do what you will with it.

rancid temple
#

Lol

next plaza
teal bridge
#

Interesting, it's based on the same Lidgren.Network I see in Stardew's decompile.

#

Wonder if SD's was forked from that.

rancid temple
#

Didn't even register that while going through it lol, weird

faint remnant
#

Is there a special way to link up the paths tilesheet? I cant get the light feature to work in Tiled map making

finite ginkgo
#

Is it an outdoors map?

#

Outdoor maps need the map property forceLoadPathLayerLights in order to use lights from the paths layer

faint remnant
#

Indoor sorry

calm nebula
#

(Casey and Myuu are the MP authorities.)

#

(An Atra knows little of MP these days and is trying to forget that little bit.)

queen valley
#

I may have not thought about how long these names were going to be when I made this ๐Ÿ˜…

golden spire
#

during my latest hiatus I have finally thought of 3 more delivery events for Ayeisha, Delivering some special cloloured ink to Elliott. Delivering a spare fuse for Harvey as the internal fuse to his radio burned out. And whilst delivering to Robin she asks for any off cuts of wood, as she wants to make a cat toy for her cat.

next plaza
#

CAT

#

Ahem

heady relic
#

dear lord tungsten tools would be so heavy

gilded comet
#

probably why it seems to be an alloy?

gilded comet
shadow vortex
#

Iridium tools would also be incredibly heavy and not very useful, if they were solid iridium.

frail plank
#

Is there an easy way to trigger a tool use animation? Like the full animation with tool in hand?

queen valley
#

I originally wanted to just make a new skill for Blacksmithing, but then I got carried away and started making new resources and alloys to use, lol

gilded comet
teal bridge
#

Iridium is also a dark silver/gray color, not violet. I always assumed that what Stardew calls "Iridium" is really just a stand-in for some sort of exotic fantasy metal, like mithril or latinum.

tiny zealot
#

magic space metal ๐Ÿ‘

plucky reef
#

Unobtainium, fresh from Eywa'eveng (since we know it's from space).

teal bridge
#

Also pretty sure that if we were playing by real-world rules, gold would be a terrible "upgrade" on steel. Iridium is a very hard metal, so +1 on that, but gold is almost as bad as copper.

#

It's best not think about the actual chemistry and consider as more of a "tier".

plucky reef
#

Gold is to hold extra enchantments, everybody knows that.

#

What's the base tool material, iron?

calm nebula
#

Iridium is hard but very brittle

#

Anyways

#

The base tool material is clearly aluminum

plucky reef
#

Could make iridium a Tungsten electroplating instead.

next plaza
#

Technically you use iron after copper, even if it's called a steel tool

velvet narwhal
#

though we do have uranium now, and they're used in military armor defense SDVpufferthinkblob

teal bridge
#

If you want something really hard and not brittle, diamonds seem to be rather plentiful in game...

calm nebula
#

You have what

#

In

#

What

velvet narwhal
#

depleted uranium is used for tanks

brittle pasture
#

Arent diamonds super brittle

tiny zealot
calm nebula
#

Why is depleted uranium used for tanks

velvet narwhal
#

DU is one of the densest metals known, and is almost twice as dense as lead. DU is used in military applications, such as anti-tank rounds, because its high density gives it momentum and a straight trajectory.

#

i hope my fbi agent enjoys that google search

#

i had it backwards, it's anti-tank

#

but that means it makes a great pickaxe SDVkrobusgiggle

calm nebula
#

Elizabeth don't look

brittle pasture
#

reject modernity, return to the 7 metals of antiquity

royal nimbus
#

im struggling with Tiled and im not finding any tutorials very helpful. would anyone be willing to teach me a thing or two with it sometime?

teal bridge
#

You're right, I should have been looking at toughness, not just hardness. Chromium or cobalt would have been a better choice. (Gold is still bad, though)

next plaza
#

(Predates prismatic tools)

#

Prismatic Tools got made because someone was impatient I hadn't updated Cobalt for a beta

#

If I remember correctly they even based it on my code

teal bridge
#

What is that craziness going on at the left side?

#

Cobalt energy?

next plaza
#

That was the Magic mod

#

(It's a trash-tier mod)

#

(So poorly designed)

teal bridge
#

Heh, good you clarified, I was thinking of a different kind of "trash mod"

#

Cobalt makes a lot more sense for an axe or pickaxe. But then, what would anyone want with a cobalt sprinkler or a cobalt watering can? It's hard to reconcile the real-world material with the tier. Prismatic probably communicates the whole "magic fantasy material" thing better.

next plaza
#

I just wanted blue tools ๐Ÿ˜›

teal bridge
#

"Let us take an alloy of the heaviest metals in existence and use them.... to dispense a trickle of water"

next plaza
#

You could argue similarly for the watering can for vanilla - why not just make a bigger copper one

brittle pasture
#

let's just go the Dwarf Fortress route and add a bazillion metals to the game, but make iron/steel the only one you can make tools from

teal bridge
#

Doesn't Stardew already have that?

next plaza
#

Or the TerraFirmaCraft route

brittle pasture
#

as in the only one

teal bridge
#

There are 500 different minerals you can get (not literally).

golden spire
#

elementomon gotta collect 'em all

#

even the really dangerous ones

calm nebula
#

Oh my god

#

Elizabeth please don't look

golden spire
#

and an expensive research facility to produce the ones that only survive for a nano second

teal bridge
#

I'm sure it would be possible to make a mod that lets you combine, say, malachite and granite into an axe, and even give them unique properties. It'd be hella confusing though. IME most players don't actually enjoy those kinds of crafting systems.

golden spire
#

Unbinilium

next plaza
teal bridge
#

Any enchantments, any buffs are potentially effects.

#

Maybe one material magnifies the effects of others, etc.

next plaza
#

I think this was back pre-enchantments. SDVPufferThink Though I wouldn't want to invalidate the vanilla enchanting system either

teal bridge
#

Dunno if it'd be invalidation, they'd presumably be weaker than vanilla enchantments and buffs because they're passive.

golden spire
#

Turning your granspas farm into a giant polluting metal refinery

teal bridge
#

Or just think of any specific tool-related buff. Pickaxe generates more stone/ore. Watering can makes crops grow 1 day faster. I dunno.

#

You want to see the most ridiculous and convoluted crafting system ever conceived, look at Legend of Mana.

calm nebula
#

You want to see a ridiculous and convoluted crafting system see IRL

teal bridge
#

It's possible to make the most insanely overpowered items you can imagine, but only with insanely long and convoluted formulas; if you don't get them exactly right you end up with basically garbage.

calm nebula
#

What do you mean "scotch tape won a nobel"

calm nebula
#

Do everything right and you get an i9

#

Do the slightest thing wrong and you get expensive sand

teal bridge
#

Yes and in real life we call that "work".

calm nebula
#

Lol

#

Knitting is a much simpler crafting cycle

teal bridge
#

Have you tried making your own wool?

next plaza
#

chants Knitting mod. Knitting mod. Knitting mod

teal bridge
#

I can't say I know that much about it, but the synthetic textile industry does seem to go pretty deep.

lucid iron
#

What about crochet mod

heady relic
#

hmm. that's actually an interseting idea. I wonder if it's possible to have a machine that only works when the player is interacting with it

teal bridge
#

I think Atra is going to give his usual response, along the lines of "the whole point is to actually make these things, not put them in a game".

next plaza
velvet narwhal
#

i am too stupid for applied energistics, but my autism goes haywire for create

#

i will someday dehardcode minigames /s

hollow nest
#

started npc coding today!!! so much harder than I thoughtโ€ฆ

shadow vortex
#

Yeah, making NPCs is a lot of work.

hollow nest
#

itโ€™s my first mod tooโ€ฆ but itโ€™s a fun challenge

rancid musk
#

I will forever not like Applied Energistics for making a "throw this item down and wait a while" mechanic in a game where items despawn after a period of time.

velvet narwhal
hollow nest
#

ooo!

heady relic
#

According to some quick searching, it might be possible to make a machine that only works when interacted with, but it would require C# coding.

velvet narwhal
#

i was honestly thinking of just shoving a minigame into the sewing machine, make it spit out a rug with the same pattern, i don't know what kind of minigame that would be though
similar to actual rug weaving maybe? (in terms of a knitting mod)

next plaza
rancid musk
#

Yeah, they made sure the items don't despawn. It's still just not a great mechanic for Minecraft.

next plaza
#

Yeah

rancid musk
#

It'd be better if they popped into a waterlogged "block" or something.

heady relic
next plaza
#

To be fair waterlogging didn't use to exist

rancid musk
#

Or just, you know, didn't waste our time taking so long to process.

heady relic
#

You could make maille pants/shirts out of each metal, then combine them with your clothing to increase defense

#

I guess it would be possible to make a machine that just does it in parts. You add 5 iron bars, after x time you get a 'sheet' of chainmail. You combine enough sheets, you get pants or a shirt.

old edge
#

day 3 of trying to create lava

lucid iron
#

Do you want your lava to work like volcano dungeon lava?

#

With water interactions

old edge
#

yes the same as the dungeon and caldera maps. I have my map in tiled set up like the caldera map.

velvet narwhal
#

oh you mean like how a watering can creates a platform?

old edge
lucid iron
#

The cooled lava code is in VolcanoDungeon, so it's specific to that location

#

Wow aviroen orange too kyuuchan_clap

velvet narwhal
#

i figured it was time since aba left me SDVpufferflat

brittle pasture
old edge
#

that would be great!

#

if spacecore had a feature like that?

#

I just built some code after looking at the volcanodungeon and caldera maps code. Is there a difference to how the lava works in each map?

velvet narwhal
#

it's only used for the volcanodungeon, i don't think the mines has that same function

old edge
#

I mean the outside map ||top of the volcano||

velvet narwhal
#

i honestly never tried to use a watering can out there SDVpufferthinkblob

old edge
#

I never made it that far yet.

brittle pasture
#

If you mean the forge, no water cans dont work there

old edge
#

hmm that would explain why the code is so short then

heady relic
#

Damn, the wiki doesn't have an article about modding clothing. Does anyone know of an external one?

velvet narwhal
heady relic
#

Ah, perfect, thank you

lucid iron
#

do you want to add shirt/pants items?

velvet narwhal
#

if you want more variety and control there's !fs

#

yells

#

!fs

ocean sailBOT
#
Fashion Sense

Fashion Sense is a framework mod that allows modders to create static or animated clothing, hair, accessories, and shoes that can be accessed through a special in-game menu. To access this menu, players will need to obtain the Hand Mirror from Pierre's Shop. The framework supports multiple content packs and also adds the ability to save, load, and export custom outfits.

Mod Users: Install Fashion Sense as well as any desired content packs. Content packs can be found by searching Nexus, or for an interactive list, click here.

Mod Authors: Instructions, tutorials, and tips for creating FS content packs are available on the mod's wiki.

heady relic
#

I jokingly suggested a chainmail mod, and now I can't get the idea out of my head. Of course, now I need to make a full new texture for chainmail pants and shirts.

#

Of course, if you have chainmail, then you should also have plate armor...

lucid iron
#

the game has some

#

for stats spacecore has ability to add/remove buff on equip

heady relic
#

Looks like there's other mods that already add buffs, like Clothing Buff and Price Adjustment. The real issue is that I want full custom images for the shirts and pants, and looking at the shirt sprites is intimidating at best

proven spindle
#

When you skip an event in-game, it gets marked as 'seen' right? That was my assumption but a comment on one of my mods says they're unable to trigger the mod because they skipped an event that's a prerequisite, and I want to verify whether or not that's possible before I troubleshoot the issue

rancid temple
#

If you set a mail flag in the event, you need to set it before the skip

#

Otherwise the entire rest of the event is skipped and anything you did after the skip button is pressed doesn't happen

rancid temple
velvet narwhal
#

if it's just e <eventid> it should have marked as seen even if it's skipped, there could also be an underlying where if you have a 'transitionary' event ID as a prerequisite, it'll never trigger
(i.e. if you switchEvent -> eventID and set THAT eventID as a prereq, it'll never register)

rancid temple
#

A new <author> touches the <cheeto dust>!

#

(Grats lol)

uncut viper
#

(but also ditto grats!! c:)

rancid temple
#

Button marches on to purple alone SDVpuffersalute

velvet narwhal
#

aba left me first, i had to

proven spindle
uncut viper
#

its ok ill just make you showcase all my mods to make up for it

velvet narwhal
#

i would spotlight the sfw version that i'm simul-patching but i think i'll be fine on that front

proven spindle
#

It's an old mod at this point (adv abigail), this is the first time I'm hearing of an issue like this but I'm about to release another mod with an event with a similar precondition so I want to make sure it's working right

#

No switchevents involved

rancid temple
#

Did they happen to do the bare minimum and get you a log?

proven spindle
#

Not yet lol

heady relic
#

then the bug doesn't exist

velvet narwhal
#

SDVpufferthinkblob since you have prereqs in it, it can't be the stringID problem that i had before-- lmao

uncut viper
#

im pretty sure the event id always gets added to the players seen events when the event is exited no matter via what means

proven spindle
#

Cool, just making sure I'm not crazy in thinking that's how it works

velvet narwhal
#

unless you're attempting an event using the summit location, then that gets problematic

rancid temple
#

Only other thing I can suggest is sharing the json's for others to look over, if they feel up to it

#

I know relatively little about events, unfortunately lol

uncut viper
#

even those call exitEvent() in the end, which adds to eventsSeen

#

unless youve already done a command to say you shouldnt mark it seen

proven spindle
#

I'm fairly confident it's working as intended, this comment just threw me for a loop

velvet narwhal
#

much like how aba can't let go of tiled info from their brain, i cannot let go of event coding SDVpufferpain

brittle ledge
#

Come code my events, I'm feeling lazy SDVkrobusgiggle

teal bridge
#

Anyone recall where this animation gets used in the game's UI?

velvet narwhal
proven spindle
rancid temple
#

...in celebration

velvet narwhal
#

yeah my first big boy mod hit 1k uniques, now i suffer

rancid temple
#

Ah cool, I love crashes that don't get logged

teal bridge
#

Ah, thanks, you're right, it's part of the dialogue box, I was totally misinterpreting it as a "delete" button.

unreal spoke
formal crown
teal bridge
#

Thanks folks, I spotted it.

rancid temple
#

Lmao

drowsy pewter
#

just in case nobody's answered yet, it's the x button at the corner of the dialogue box

brittle pasture
#

...but why male models?

lucid iron
#

selph can i request some doc strings in IExtraMachineConfigApi

brittle pasture
#

Ah yeah, sorry for the completely undocumented API. That's what happens when your "API" was created solely so you can add integration to Lookup Anything/Junimatic

lucid iron
#

its not huge deal cus i can infer from names

brittle pasture
# brittle pasture ...but why male models?

(to people who doesnt get it like roku's reaction, this is a reference to a funny scene in Zoolander where a character is given a longwinded explaination, and ends up repeating the question, twice, because he didn't get it)

brittle pasture
rancid temple
brittle pasture
#

so if an output item takes 2 coal as fuel you'd get a dict with key (O)382 and value 2

#

You want to call both and use results from both

#

You can probably ignore the other two functions

lucid iron
#

what about GetFuelsForThisRecipe

#

oh ig that is check against real player inventory

#

not in abstract

brittle pasture
#

Yeah that is solely for an upcoming fix to Junimatic - it gets the actual items that will be eaten from the inventory

#

in case you're using context tags

#

or the "unique fuels" feature

#

Oh one more thing, GetExtraRequirements also supports category numbers, so you'd want to handle "-6" and the like
(Though as far as I am aware a grand total of 0 mods use it since it's a vastly better idea to just use context tags)

iron ridge
lucid iron
#

the host's SaveLoaded event should always happens before PeerConnected right

rancid temple
#

Can you even connect to a game before the host has loaded the save?

#

Like menu wise I don't think the game is even up until after they've selected the save and loaded into the world

#

Unless there's a lobby system?

lucid iron
#

yea thats what i thought, but i dont play coop for reals

rancid temple
#

Only played a few times, but I'm pretty sure the lack of a lobby was one of my gripes

#

Big decider in using time pause for multiplayer was just how long it takes to get everyone connected

silver snow
#

last time i played coop it was either join via invite code or steam

rancid temple
#

Oh, I usually just direct connect with IP lol

silver snow
#

though the host can open their inventory to pause time while other player(s) join

#

oh never did that lol

rancid temple
#

Until the first player connects and then inventories no longer pause

#

Unless you have the mod that pauses time when everyone is doing something that would cause time to be paused

silver snow
#

they do if both people are in a pausable menu at once iirc

#

wat

#

i thought that was vanilla..

rancid temple
#

Part of the reason fishing is so much worse in multiplayer is because it loses the time pause mechanic without that mod

#

Unless I missed something and it was added at some point, last time I played it was not

silver snow
#

ah, only for split-screen says the wiki. i dunno where i picked up that information

rancid temple
#

That's actually interesting too though

silver snow
#

i clearly only read the main post and not its replies.. lol

rancid temple
#

In game dev, I've avoided doing splitscreen because the way you have to handle inputs is a pain in the ass and it's not something we've been targeting, so there's a lot of other things about it that I've never considered

next plaza
#

I'm not even making my main game project multiplayer - splitscreen or online.

#

Easier to design gameplay around one person

rancid temple
#

That's fair, my brother handles the majority of our networking, so the decision usually falls to him lol

silver snow
#

i think its at least nice to think about it, but yeah its also just a pain to support online play

next plaza
#

I can do networking (as demonstrated with the MP mod)... I just don't feel like it

#

I probably won't finish this project anyways

rancid temple
#

Big mood

silver snow
#

aw. felt

rare prawn
#

Ayye I have a question meowge Trying to figure out a workaround to Content Patcher's animation limitations. When designing a custom building using Content Patcher I believe animations cannot be used correct? I know that Alternative Textures can use animations though. I know you can include a CP and AT mod together in a single download to work together.
My question is that is there some way that you can have the custom building's skin default to an AT texture once built without using the paint bucket first? I know in the building menu it will be whatever skin you have set in the CP mod, I just mean for once it is built and when AT can take effect

brittle pasture
#

and AT uses modData to determine which skin to use

#

I'm not sure if AT documentation lists which fields you need to set and which one. what you can do is enable Debug fields in Lookup Anything, set a skin on your custom building, look at that building and check the modData field to see what you need to copy

rare prawn
#

Okay cool, so it is possible then >:3 tyty

#

There was an update to Daphne's Buildable Ice Cream Truck, but there is a new framework being used that has the truck spawn on the farm instead of being built, apparently it allows animations, and a lot of folks want the building to be built from Robin's menu still, plus I can't figure out how to target the building with this framework cause I am big dumb, so trying to see if there's an easier way to do this that I can propose to the new author/helper

brittle pasture
#

looking at that mod it seems they are using Solid Foundations instead of CP, and I don't think it exposes the ModData field

rare prawn
#

They were using it previously but now they are using Buildings Included instead

#

they just haven't removed the requirement of Solid Foundations still

brittle pasture
#

Buildings Included doesn't support defining new buildings, it just allows the ice cream truck to spawn on the farm

rare prawn
#

I guess that would make sense as to why the building won't show up then lol

brittle pasture
#

perhaps you can consider SpaceCore's animated texture feature

rare prawn
#

I was just wondering about that too, would that work with CP custom buildings?

brittle pasture
#

it should, you can target any arbitrary texture

#

there's also the older Content Patcher Animations but apparently it's somewhat deprecated in favor of SpaceCore

rare prawn
#

It's super laggy too. I tried using it for my festive animated winter tree mod before but it had me sweating

#

and I'd like to think I have a decent computer MakSweat

#

I will give spacecore a go! I will see if I can adjust the mod to work with it, then fiddle with my own retexture

brittle pasture
#

yeah I recall the old way CP-A did it was super slow, and SpaceCore was meant to be faster

rare prawn
#

yehh I think spacecore is similar to DGA, which I liked, was much more efficient

calm nebula
dim yew
#

Is spacecore still required to gift a hat in an event or was that nixed in 1.6? ๐Ÿค”

#

Canโ€™t find it in the migrate to 1.6 docs but maybe Iโ€™m blind

next plaza
#

You can just use addItem with a qualified item ID now

dim yew
rare prawn
#

Does anyone know of any mods that use SpaceCore to animate things I can take a look at for a template? Bonus if it's editing the texture of a building, but I mainly just want to see how it's set up o.o

next plaza
#

This is what I have in MMR:

Entry( spacechase0.SpaceCore/TextureOverrides; &_StellarEssence )
{
    TargetTexture: @( items.png );
    TargetRect: { X: 0; Y: 32; Width: 16; Height: 16 };
    SourceTexture: Concatenate( @( items.png ); ":16..19@10" );
}

Equivalent json would be something like (not including the patch header like Action or Target, just the inside of Entries):

"{{ModID}}_StellarEssence": {
  "TargetTexture": "{{InternalAssetKey: items.png}}",
  "TargetRect": { "X": 0, "Y": 32, "Width": 16, "Height": 16 },
  "SourceTexture": "{{InternalAssetKey: items.png}}:16..19@10"
}
rare prawn
#

Thank you! This helps >:3 I will try to figure this out

brave fable
#

the sdv1.6.9 migration page lists Item.CopyFieldsFrom(otherItem) in New utility fields & methods -- wasn't this already in 1.6?

patent lanceBOT
#

@next plaza: look into marriage schedules with your 0 schedule fix (24h ago)

brave fable
#

oh no i'm wrong i'm thinking of GetOneCopyFrom

next plaza
#

no u

#

Remind me in 24 hours to look into marriage schedules with my 0 schedule fix

patent lanceBOT
#

For you? Of course, kittycatcasey (#6240376) (24h | <t:1726356964>)

rancid musk
#

How many 24 hour reminders in a row is that now? ๐Ÿค”

next plaza
#

Like 2-3

brave fable
#

a weaker mind would give in and do the task. it's important to train a strong will

next plaza
#

(The first one was 19 hours)

#

I just gotta do it before 1.6.9 comes out (or before I put out a new spacecore version), it'll be fiiiiiine

brave fable
#
public bool LearnRecipe(Farmer player = null)
{
    player ??= Game1.player;
    return ((Category == Object.CookingCategory) ? player.cookingRecipes : player.craftingRecipes).TryAdd(BaseName, 0);
}

i wonder of all the ways this won't work for weird category modded items

rancid musk
#

That method looks spooky.

calm nebula
#

How is it spooky

brave fable
#

it gives off a negative aura

rancid musk
#

Using an item's category field. Spooky stuff.

calm nebula
#

Of all the methods in that game

#

I don't actually find that one terrifying

rancid musk
#

You didn't develop a crafting mod.

calm nebula
#

I guess that's true

brave fable
calm nebula
#

Look a distraction!

next plaza
#

Socks!

brave fable
#

oooh why do i have so many ui mods, this screenreader setup is going to double my i18n

brave fable
calm nebula
#

But I like a good citizen registered my strings with strings/objects

#

And then I like a bad citizen abandoned all my mods SDVpufferthumbsup

brave fable
#

it's a quiet life

rare prawn
#

Ayoo does anyone have a link to all the item IDs in the game? Specifically looking for things like wood, ice cream, iron bar, etc.

#

I tried looking on the wiki but it keeps leading me back to the item queries page which just shows me examples on how to put them together in code

rancid temple
rare prawn
#

Thank you! <3

rancid temple
#

Alternatively, the data assets would be the place to look

#

Oh, we do have a command for that, good to know

brave fable
#

but it's nice there's a more searchable site

teal bridge
#

What's the command? Something like !itemids ?

#

Guess not.

brave fable
#

!stone

ocean sailBOT
#

๐Ÿชจ The item ID for Stone is 390.

rancid temple
#

!itemid not plural

ocean sailBOT
teal bridge
#

Haha, not the stone command.

rancid temple
#

Could make an alias that's plural I guess

#

Also commands only work at the beginning of a message

teal bridge
#

Let's make a bot command to query a specific item ID, so we can just spam the chat relentlessly to look up items. ๐Ÿ™ƒ

rare prawn
#

!eggplant

rancid temple
#

Lol, stone is important though, if you look in the data carelessly, there's about 20 entries of just stone

rare prawn
#

:C

rancid temple
#

Every single stone that's actually a node is listed in the object data as stone, but if you look at the name and description they say for what node they're for

next plaza
#

That's only in 1.6

teal bridge
#

Oh, I meant define a command like !itemid <value> so we can just make all our queries here.

next plaza
#

Pre-1.6, we weren't so lucky

rancid temple
#

Peak problem is when there's a meme for it

lucid iron
#

does GenericSpawnItemData.MaxItems do anything outside of shops

next plaza
#

It's a new meme, fresh out of the oven

tiny zealot
#

on two occasions i have, in full sincerity, used the !stone command to help someone. feels good

rancid temple
#

Oh lol, that was hot off the presses damn

next plaza
#

I've used it at least 3 times for myself

#

(I have it memorized now)

teal bridge
#

So how come there's no !wood, isn't wood way more important than stone?

next plaza
#

There's not a bunch of entries named "Wood"

calm nebula
#

Because there is only a single wood item

#

Because video game

teal bridge
#

Ah I get it now, it's for all the stone nodes/objects vs. the actual stone you can have in your inventory.

next plaza
#

Yeah

rancid temple
#

Wood Variants Mod, makes a bunch of different wood entries for the various "flavors" of wood (All with the same name)

lucid iron
#

i remember seeing a log item

rancid temple
#

!ask I fucking love this one, like why

ocean sailBOT
#

Ask your question or describe your issue here, and someone will help if they can!

lucid iron
#

oh thats just furniture

teal bridge
#

Maybe Green Rain Weeds will be the new stone.

#

Regular weeds were like that too, but they really went all-in on the green rain variants.

brave fable
#

i miss the good old days of Weeds Honey and Weeds Ring

teal bridge
#

Ask Selph about snail honey

lucid iron
#

does the game still rely on internal name stone somehow LilyDerp

tiny zealot
calm nebula
#

Yes SDVpufferthumbsup

lucid iron
#

no :(

rancid temple
#

Actually, there are a bunch of regular Weeds entries too

teal bridge
#

Maybe?

calm nebula
#

Check the implementation of Object.IsStone

teal bridge
#

I don't actually see an isStone method/property.

#

Probably for the best, I'm imagining whatever the implementation used to be was goggles-worthy.

lucid iron
#

/// <summary>Get whether this is a stone litter item which can be broken by a pickaxe.</summary>
public bool IsBreakableStone()
{
    if (base.Category == -999)
    {
        return Name == "Stone";
    }
    return false;
}
calm nebula
#

Damn

lucid iron
#

why

calm nebula
#

I was sooo close

#

Because games with good coding practice never ship

teal bridge
#

They used to

rancid temple
#

Look up how Undertale is coded

tiny zealot
teal bridge
#

Maybe some of them, but e.g. Doom was a masterpiece.

rancid temple
#

Now we get $70 games from AAAA (self proclaimed) studios that ship with all the bugs blatantly visible

calm nebula
#

AAAA is a smaller battery

teal bridge
#

My studio is AAAAAA

rancid temple
#

But it's an extra A, so it must be better (I guess)

teal bridge
#

(It would be more technically correct to call these studios AAAAaaaaaaaaaaaaa)

calm nebula
#

I don't even know what you guys are talking about

rancid temple
#

Ubisoft

lucid iron
#

maybe 1.7 will rename (O)390 to Rock

rancid temple
#

Rename it to Dwayne

calm nebula
#

What's ubisoft

rancid temple
#

A joke company that pretends to make video games

brittle pasture
#

A fr*nch company too

rancid temple
#

Considering dumping the ability to change Robin's position when she's working on your farm, it does not work very well lol

lucid iron
#

what does it do rn

rancid temple
#

Changing her position while she was upgrading inside buildings was the primary purpose

#

Because if you have a custom building with even slightly different internals that don't leave tile 1, 5 open, she'll be in the wall

#

When she's building a new building, her position changes properly, but not when upgrading a building, so I guess I need to look for a different method, just haven't gotten lucky with my search terms yet

#

Iiinteresting, it's that method it's just not using the data I expected

#

Still reading the data from the base building rather than the upgrade building

dusk terrace
#

I'm trying to optionally support AT for a texture I'm replacing, ideally in the same mod that's also patching draw calls to said texture...

rancid temple
#

Well, knowing what was wrong with it sure made it easy to fix lol

teal bridge
#

Does anyone know how on earth menu cancellation is actually supposed to work in this game?

  • Escape works and is what a normal person would press but
  • Gamepad B presses translate into the "E" keyboard key and that also cancels out of menus
  • ...and Game1.options.cancelButton is a totally different key, "V", which doesn't cancel out of any menu

Is there even actual logic for it, or is just cowboy code all over the place doing whatever it feels like with the key state?

rancid temple
#

I normally push E lmao

#

Really throws me off when things like GMCM can't be closed with E

teal bridge
#

Does it work everywhere? Is it some kind of alias? Like, the parrot perch for example, says SetHotKey(Keys.Escape)

rancid temple
#

Hm, I am unsure if it works everywhere, kind of a hard thing to remember considering how many menus there are

teal bridge
#

There's so much vanilla logic referencing Keys.Escape directly.

#

OH... I got it, it's menuButton, apparently.

#

One problem down, only 78 to go

rancid temple
#

Ah yeah, love when Nexus is being slow as dirt

velvet narwhal
#

is it cloud server problems yet again ?

rancid temple
#

Not sure, no notifications, it's loading okay, just won't publish my shit

velvet narwhal
#

oh is it the perpetual gear time

rancid temple
#

Like the third mod where I've just had to leave and come back some other time

velvet narwhal
#

server status says it's okay so iunno

rancid temple
#

Guess they just don't want my mods

tiny zealot
#

thought i was going to have a nice, easy, fun time making a fun little mod as a treat. Turns Outโ„ข๏ธ it is more complicated than i would like

hidden tartan
#

what language is sdv mod written in?

velvet narwhal
#

!startmodding

ocean sailBOT
#

Making mods can be broadly divided into two categories:

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

hidden tartan
#

c# seems annoying to learn

#

:(

rancid temple
#

How's that YAML thing going?

velvet narwhal
#

linkoid did a pretty good one

#

lemme get his fork

tiny zealot
rancid temple
#

C# is relatively easy, as far as programming languages go

round dock
rancid temple
#

Robin Build Position is a mod for mod creators that lets you set a custom position for Robin to stand while she upgrades or constructs buildings.
https://www.nexusmods.com/stardewvalley/mods/27753

Nexus Mods :: Stardew Valley

This mod uses CustomFields, set by a mod author, from a building's data to move Robin when she's constructing or upgrading a building. Works for indoor and outdoor construction locations.

velvet narwhal
#

brb gotta throw robin into the ocean

rancid temple
#

I considered also making it so you can flip her sprite and stop the sound from playing, but those both required patching more methods so I figured I'd hold off until someone specifically asked for it lol

velvet narwhal
#

tbh the sound is what makes the brain tingle so i doubt the latter will be asked for

rancid temple
#

I did take a look at the shed's scaffolding and that's yet another hardcoded map patch lol

#

Only other thing I was thinking might be fun to add was making it so it would collect any number of coordinate pairs and randomly choose between them

#

Have her stand in a different spot each day

old edge
#

are the volcanodungeon maps not in the map files?

velvet narwhal
#

they're in the mines folder

#

you should be able to target them just like all the other .pngs though

#

wait i lied

#

<image source="Mines/volcano_caldera" width="144" height="320"/> this is their redirect

old edge
#

but I need the map files

#

.tmx

tiny zealot
old edge
#

yeah hmm I'm thinking of implementing lava but I think I'll just opt for the caldera version of lava.

tiny zealot
#

i do not know why. CA is mysterious sometimes

rancid temple
#

The most chaotic way to build them

velvet narwhal
#

~randomization~

old edge
#

without the extra code for the watering can tile hardening ability

calm nebula
#

(For mapgen it's not bad.)

#

(How often has it produced an invalid layout for you?)

velvet narwhal
#

i think i've only legitimately delved volcano dungeon like, 3 times all were correct layouts

calm nebula
#

It's surprisingly unglitchy

rancid temple
#

I think I've only had one time where I thought I was stuck but it just happened to be a real pain in the ass layout

calm nebula
#

Given how stardew maps work, it's pretty awesome

#

Anyways, a png is a perfectly valid way to encode 2d info

velvet narwhal
#

i need to make this trigger action before i forget about it in roughly 7 minutes

calm nebula
#

Remind @velvet narwhal in 7 minutes to make that trigger action

patent lanceBOT
#

[remember what they said in anger management...deep breaths...] YES I WOULD BE SO HAPPY TO ASSIST (#6240644) (7m | <t:1726283605>)

velvet narwhal
#

i'mma just use that reminder to tell me to get a snack

heady relic
#

So I just noticed that you can place floor tiles underneath the edges of buildings now. Is that a new stardew thing, or a mod thing?

next plaza
#

1.6 vanilla

heady relic
#

my farm looks so much cleaner now, i love it

rancid temple
#

There's a setting in the building data

#

I actually forgot, I didn't see it on the wiki, was gonna add it

patent lanceBOT
teal bridge
#

ButtonCollection considers thumbstick directional movements to be "button presses", but does not consider stick presses to be "button presses".

Makes ya think.

#

(Also, because of this, functions like Game1.isAnyGamePadButtonBeingHeld() exclude the stick presses.)

pine elbow
#

Hello guys!
I have one question... ยฟWhy my event isn't trigger? (sorry for my bad english...)

"LogName": "Souldragon Events",
"Action": "EditData",
"Target": "Data/Events/Woods.json",
"Entries":
{
"11245968/F/w sunny/e spring24/t 1000 1600/y 1": "woodsTheme/8 10/Ghastdev_Souldragon 8 10 2 farmer 8 17 0/skippable/pause 500/animate Ghastdev_Souldragon true true 250 18 18 27 27 26 26 25 25 24 24 43 43 42 42 40 40 41 41 40 40 43 43 47 47 46 46 43 43/jump Ghastdev_Souldragon/44 44/jump Ghastdev_Souldragon/43 43/jump Ghastdev_Souldragon/45 45/stopAnimation Ghastdev_Souldragon 45/pause 500/emote Ghastdev_Souldragon 40/pause 1000/emote Ghastdev_Souldragon 60/pause 500/shake Ghastdev_Souldragon 1000/animate Ghastdev_Souldragon true true 200 43 43 24 24 25 25 26 26 27 27 18 18/stopAnimation Ghastdev_Souldragon 18/fade/viewport -1000 -1000/end",
}
},

velvet narwhal
old edge
#

I didn't know we couldn't use 2 tiledata on top of each other?

pine elbow
velvet narwhal
#

you have a separate event called spring24? or did you just want that to be the specific day?

velvet narwhal
#

there's also a bunch of the 44 44 marks that i don't have context for, those need specific commands

pine elbow
#

Oh...

#

I'm ret***d

#

xD

pine elbow
#

Wait a minute hahah

velvet narwhal
#

also, if you made a prior event, the e command is for requiring that a specific <event ID> has to have been watched at least once

pine elbow
#

Yeah

#

I'm on Spring 25

#

But those "44" marks are some sprite animation

teal bridge
#

@lucid iron and anyone else using SDUI - wanted to give a quick heads up about a breaking change I just pushed. I try to avoid doing this type of thing, but access to SMAPI's helpers got too important to ignore, so where you used to do this in ModEntry:

Logger.Monitor = Monitor;

It should now be:

UI.Initialize(helper, Monitor);

It's just the one line difference. I recommend putting it with I18n.Initialize assuming you use that.

(P.S. With all these changes, I may have forgotten an import or two; if you happen to get a compilation error with the shared project, let me know.)

velvet narwhal
#

so you want it to only trigger on spring 24?
you can do it two ways: the event commands like how you have w sunny you need to put in Season Spring/u 24
the other way is a "When" condition,
you'd put that like this:

"Target": "Data/Events/Woods",
"When": {
"Season": "Spring",
"Day": "24"
},```
pine elbow
#

Hmm, ok. i go to try this

velvet narwhal
#

also, if you've ever used debug ebi <EVENT ID> in the SMAPI console it marks it as seen, so you would need a new save or reload to see it activate 'correctly'

lucid iron
teal bridge
#

There's a specific using for Color, and SButton is part of the SMAPI import. If I forgot it in one or two files, let me know which ones...

teal bridge
#

It's a bit hard for me to track it down since the shared project isn't compilable by itself, and all the projects I use it in have those implicit usings. (This is why I was asking Casey the other day about including assemblies directly, hoping I can find a long-term alternative to the submodule/projitems).

pine elbow
#

I'm on the way of "New developer" xD, sorry for bother you

#

And thanks for you time

teal bridge
#

(If there were some way to set up VS/dotnet to use the implicit usings only for my path, and not the SDUI submodule path, I would definitely do it to make sure that project stays squeaky clean. As it is, I haven't found a way.)

lucid iron
#
StardewUI/src/Widgets/Keybinding/KeybindListEditor.cs - SButton, Color
StardewUI/src/Widgets/Keybinding/KeybindView.cs - Color
StardewUI/src/Widgets/Keybinding/XeluButtonSpriteMap.cs - SButton
StardewUI/src/Spacer.cs - Vector2
teal bridge
#

Ok, done, those should all be taken care of now. Thanks for the report.

lucid iron
#

i dont have smarter way besides making bogus test proj without the implicit usings to quickly check blobcatgooglyblep

teal bridge
#

Yeah, I guess that's what I should be doing too. Just an empty template with a submodule.

lucid iron
#

ah there r more for Game1 and Utility on rebuild, i assumed compiler would catch all of em first pass blobcatgooglyblep

#

KeybindOverlay.cs and KeybindView.cs

faint ingot
#

Does the ice fishing festival not accept y2 positions for the 'main event'?

lucid iron
#

ok no more after i added the using locally

faint ingot
#

I have this and it applies the y2 dialogue and y2 initial positions but uses the y1 main event positions instead of y2. ``` //Festival of Ice
{
"Action": "EditData",
"Target": "Data/Festivals/winter8",
"TextOperations": [
{
"Operation": "Append",
"Target": [
"Entries",
"Set-Up_additionalCharacters"
],
"Value": "Shannon 65 46 0/Russell 82 32 3",
"Delimiter": "/"
},
{
"Operation": "Append",
"Target": [
"Entries",
"Main-Event_additionalCharacters"
],
"Value": "Russell 80 29 3/Shannon 66 44 0",
"Delimiter": "/"
},
//year 2
{
"Operation": "Append",
"Target": [
"Entries",
"Set-Up_additionalCharacters_y2"
],
"Value": "Russell 83 36 0/Shannon 62 43 3",
"Delimiter": "/"
},
{
"Operation": "Append",
"Target": [
"Entries",
"MainEvent_additionalCharacters_y2"
],

                "Value": "Russell 78 29 3/Shannon 62 43 0",
                "Delimiter": "/"
            },
            
        ],
        "Entries": {
            "Shannon": "{{i18n:festivals.shannon.winter8}}",
            "Russell": "{{i18n:festivals.russell.winter8}}",
            "Shannon_y2": "{{i18n:festivals.shannon.winter8.y2}}",
            "Russell_y2": "{{i18n:festivals.russell.winter8.y2}}",
        }
    },```
teal bridge
#

This has been one hell of a yak-shaving, headache-inducing few days, I never expected to have to write so much more code for such a "simple" use case. Wonder if KC went through the same pain on that part of GMCM.

lucid iron
#

what is the new feature?

#

i gathered something to do with key binding?

teal bridge
#

Figured it was obvious from the file names.

#

Yes, it's a keybind viewer/editor. Guess it's mainly going to be applicable to custom settings UIs and not typical in-game stuff.

plucky reef
#

Is there a particular reason to use tmx over tbin or is it just best practice? I'm trying to modernize my map mod.

velvet narwhal
#

tmx has reflective tile properties, which means you won't need to add multiple tilesheets just because you wanted to rotate a sprite or reflect it

lucid iron
#

you can just open tbin in tiled and save as tmx i think

plucky reef
#

oh no way it's that easy

velvet narwhal
#

yeah forwards capability SDVpufferthumbsup

#

well export as tmx

lucid iron
#

the features of tmx r like, use if you want blobcatgooglyblep

plucky reef
#

nice alright. I can otherwise keep my CP content files the same for warps?

velvet narwhal
#

i don't remember if it was because i did something stupid, or my tiledata got corrupted, but it ate a good 3/4ths of my tiledata and left only a handful when it was a .tbin

lucid iron
#

hm you maybe want to change custom locations to proper Data/Location entry

plucky reef
#

it is a farm map so I don't think I have any of those.

lucid iron
#

if you were replacing a default farm before it can be additional farm now

plucky reef
#

oh yeah that needs to get done.

#

and SVDE updated a lot of their maps so I have to redo all those warps

lucid iron
#

i think sve kept the names

faint ingot
#

jumping through dates on a test farm for QC'ing festivals and grandpa's ghost caught me by surprise. 1 candle SDVpuffersob

lucid iron
#

or maybe used FormerLocationNames?

plucky reef
#

well the coords, for some reason I put a lot of backwoods warps in here. I'll try pulling them out

lucid iron
#

oh yea the bus stop is bigger in 1.6

#

rmbr to fix that one or people will lose krobus event

plucky reef
#

and it needs a new name, "mini" seems to be the new standard for maps the size of a postage stamp and this one is about a third the size of the standard.

lucid iron
#

what does it look like Awauu

plucky reef
#

I haven't touched it in about a year so it needs some tuning but the circled red parts are the big trunk and big rock that block the other areas of the farm, so you have to upgrade your tools to unlock the full space.

#

and then this.... I need to redo this because it has miscolored beach section and hide the swimsuit change section but it's a hot tub. It's supposed to have a blocker on it but I could not get it to spawn. There isn't a rock that requires pickaxe upgrade 1, is there?

lucid iron
#

its too big for mini but just right for small Bolb

rare prawn
ocean sailBOT
#

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

rare prawn
#

This is the exterior section where I have the SpaceCore code:

    {
      "LogName": "Load Daphne's ice cream truck exterior",
      "Action": "Load",
      "Target": "Buildings/DaphnesIceCreamTruck",
      "FromFile": "Assets/IceCreamTruck.png"
    },
    {
      "LogName": "Change Daphne's ice cream truck exterior",
      "Action": "EditData",
      "Target": "spacechase0.SpaceCore/TextureOverrides",
      "Entries": {
        "Wabi.IceCreamTruckCP_Buildings/DaphnesIceCreamTruck": {
          "TargetTexture": "Buildings/DaphnesIceCreamTruck",
          "TargetRect": {
            "X": 0,
            "Y": 0,
            "Width": 96,
            "Height": 64
          },
          "SourceTexture": "{{InternalAssetKey: Assets/IceCreamTruck_{{Ice Cream Truck Colour}}_{{Season}}.png}}: 0@35, 1@5, 2@5, 1@5"
        }
      }
    }```
lucid iron
#

it looks like you loaded the texture, so i think SourceTexture should be Buildings/DaphnesIceCreamTruck rather than internal asset key

rare prawn
#

It worked >:3 now I can diagnose the other issues hehe

#

tytytyty

brave fable
#

is there a 1.6.9 beta thread at all? just wondering if there's a dedicated place to discuss

velvet narwhal
#

uh probably the forums if it's bugrelated?

calm nebula
# teal bridge It's a bit hard for me to track it down since the shared project isn't compilabl...

(Fwiw

  1. AtraBase, which is also a submodule, used to catch me off guard with nuget package requirements all the time. The only real blessing was that it intentionally did not reference game or game related code. I also started but never finished unit tests for it. (I really should do that. The point of AtraBase is that it's just generically useful c# tidbits.)
  2. You can just make a nuget package. But it doesn't work well because smapi loads the first, not the newest, version of an assembly. So if you and someone else use the same nuget, get used to coordination where you all have to update that assembly at the same time. Shockah made a PR that gives every mod it's own assembly context which would have fixed this particular issue.
    )
lucid mulch
#

From memory that shockah pr merged and is in the 1.6.9 beta builds, would need to double check

calm nebula
#

I think so too

lucid mulch
#

Yeah double checked it's in the release notes

calm nebula
#

Forgot how it works, do you have to opt in or opt out?

lucid mulch
#

Need to explicitly opt into it in the manifest

#

On a per dependency basis

calm nebula
#

Would be interesting to see it used ๐Ÿ˜›

lucid mulch
#

Note that fun things happen with it too, as multiple mods using the same private dependency will have independent static values

calm nebula
#

Lol. Don't do it to harmony

lucid mulch
#

Docs explicitly call out harmony as the example of when you really shouldn't

calm nebula
#

I mean it makes sense as to why statics wouldn't be shared

proud wyvern
#

not that people should ever include Harmony with their mods

#

also it probably wouldn't break Harmony, it's made to be resilient against that kind of thing

faint remnant
#

Does anyone know how to get the lights to hook up correctly(I've tried just increasing brightness on the tilesheet but that doesn't cut it) I can't figure out how to get the lights in paths tilesheet(p) to light the room. I'm sure I just don't know a basic thing but can't find it in https://stardewvalleywiki.com/Modding:Maps

Stardew Valley Wiki

โ† Index

vernal crest
faint remnant
vernal crest
#

Nope it's done in tiled! If you go up to the menu up the top and click on "Map" then "properties" (I think, going from memory) it should open the map properties. If you based this on a vanilla map you might already have some lights defined in there.

faint remnant
vernal crest
#

Yay!

merry rampart
#

how do I trigger an event so I can see it without having met the conditions? testing an npc event and the debug ebi command doesn't do it

I do have event repeater installed. I'm just not sure what the input command is and I can't find anything about it on its github page

velvet narwhal
#

if you can't trigger it with debug ebi then something in the event code is wrong

#

does smapi give an error that it doesn't exist?

merry rampart
#

no

#

no errors

#

i teleport to the location but the event doesnt trigger

velvet narwhal
#

are you using a custom location?

merry rampart
#

no. it's at the beach

velvet narwhal
#

SDVpufferthinkblob i'd say throw the event json here

merry rampart
#

it might be because it depends on another event to trigger, now that i take a closer look at the console commands list...

velvet narwhal
#

debug ebi circumvents all of it

merry rampart
#

i managed to get it to trigger. idk what i did but...

hallow prism
#

yeah debug ebi test the event even if conditions aren't met, as long as it currently exists

#

(it can't test an event that is behind a "when" condition that isn't fulfilled for ex, because then the event doesn't exist)

velvet narwhal
#

ah yeah when conditions force it to not exist, all of my conditions are in the event script just so people can look at it through event lookup SDVpufferclueless

lucid mulch
#

in general, cp when conditions should be done as last resort, or on stuff that won't change like HasMod

#

also causes multiplayer issues if it is a broadcast event, as it can only broadcast if the other clients know the event exists

calm nebula
#

Playing moded mp sounds like signing up to do a lot of debugging

merry rampart
#

that is good to know

#

ill try not to use it if i can avoid it

worn coral
#

I'm trying to swap out a wallpaper tilesheet I'm adding via CP to Data/AdditionalWallpaperFlooring using a config setup schema but having some odd behaviour.

Exmple: default loads the "cotton" background, new choice made via GMCM should load the "forest" one - catalogue sees the change and now shows the forest version rather than cotton, but farmhouse still only loads from the cotton one.

Here's my content json: https://smapi.io/json/content-patcher/0f043ced8cde46788089e46a957635a5

I tried: leave and re-enter, sleep to trigger new day update, patch reload, with no change. Not sure if swapping them out via config is just something that might not work with the wallpapers in the farmhouse?

untold nymph
#

When not handling a button pressed event, is there any way to check if a given key is pressed?

#

OK found it

drowsy pewter
#

there are a rare handful of textures which cannot be updated dynamically; farmer base being the one i know of. so that might be whats happening

worn coral
# drowsy pewter what happens if you place it down again?

Placing the wallpaper down after the config change (with the new version visible in the catalogue) does change it to whatever I select but it still loads from the old tilesheet (the tilesheets are identical except for the bg color atm so it's technically the right pattern/index, but wrong color)

drowsy pewter
#

farmhouse shenanigans

worn coral
#

What I failed to test, because of course I forget the most obvious thing, was to restart it with the changed config - that does force the change, but that's going to be probably too much to ask users to do to swap wallpaper sets mid game SDVpufferchickcry I was trying to not spam the catalogue with too many variants but looks like it won't work the way I hoped - I'll have to think of something else

drowsy pewter
#

make your own catalogue item?

#

i feel like players may want to mix and match different colors anyways

lucid iron
#

Imo it's fine to just have color variants as separate wallpaper

worn coral
#

I was planning to get a separate catalogue as well, but including it in the Happy Home Designer would spam that as well (and at the moment I have over 600 variants with 5 wood recolors and 4 bg colors) - maybe I just need to trim down the choices in that case

drowsy pewter
#

i dont think that telling players to restart if they want to change the config is a big deal

#

we used to always have to do that

lucid iron
#

But u can perhaps offer config to turn off certain wallpaper variants bolbthinking

drowsy pewter
#

smart

lucid iron
#

Dunno how that affects already applied wallpaper though

drowsy pewter
#

it would just pull a vanilla texture if it cant find the custom item

calm nebula
#

Fwiw I would not remoce the actual wallpaper item

worn coral
calm nebula
#

Instead. Recommend just removing from shops/catalog

worn coral
# calm nebula These are really pretty!!!

Thank you SDVpufferheart @velvet narwhal requested some wallpapers to match a sample of furniture I posted the other day and I went a bit nuts with patterns - but it was fun to make! (but yeah 600+ options now!)

lucid iron
worn coral
lucid iron
#

Oh yeah just suffix the id

#

{{ModId}}_Blossom and so on

worn coral
#

Let me dig out the error..

rancid temple
#

SDVpufferflat Love waking up to a fresh new bug report with no log and no helpful information

worn coral
vernal crest
rancid temple
#

Lol, if they don't provide a log and more info, that's just going to be what happens because I can't recreate the issue

worn coral
vernal crest
#

Ooh speaking of useless bug reports Roku did you end up fixing the issue with custom locks and sve? I noticed that I cannot enter houses outside the allowed times and my memory of what actually happened with it is hazy.

rancid temple
#

SVE should be fine I think? It was DTZ

vernal crest
#

Oh lol

#

See how hazy

rancid temple
#

And I can't do anything about that, because Harvz doesn't have a public repo for me to make a PR on

#

He's been made aware of the issue, but I dunno if he has any intention of fixing it

oak dragon
#

Hi everyone I'm new here.After reading source code of some populay mods, I found some of them save assets in folder (such as .png), but others use directly the game texture. I want to know which is recommended? thanks a lot!!(English is not my first language excuseme :C)

vernal crest
#

Oh okay cool that's fine I just warp inside them anyway I just couldn't remember if there was a fix that I should've gotten but didn't lol

rancid temple
#

The only thing I can really think to do is make my own prefix that specifically checks if DTZ is installed and only runs then lmao

#

With a way higher priority

uncut viper
rancid temple
#

I could reflection patch his prefix, but that lies the way of insanity

vernal crest
#

I think if you're not getting inundated with bug reports about it, don't bother (unless you'd enjoy doing so lol)

rancid temple
#

So far I think it's only been one or two people, so not a big deal

#

If I ever do a playthrough where I use DTZ I guess I'll cook something up then

lucid iron
vernal crest
rancid temple
#

There are some edge cases where it's unavoidable, but generally should be avoided