#making-mods-general

1 messages · Page 257 of 1

deep cypress
#

They are doing things like Anniversary stuff, and what-such.

tribal ore
#

waves hand actually, I need more than a boolean, because I'm also giving an anniversary reminder a week in advance

#

I'm doing modulo math on DaysMarried from Custom Tokens currently

lucid iron
#

u can just impl compare operators in a GSQ actually

#

But honestly i think you need a custom trigger not a token

tawny ore
#

You can also parameterize the specific date so it's essentially like "is it Claire's wedding day on today" But today can easily refer to yesterday or 7 days from now, etc.

lucid iron
#

One trigger raised 7 days prior

#

One trigger raised day of

#

Then u do all this stuff in trigger actions

tawny ore
#

Think about the GSQ "IS_FESTIVAL_DAY [location context] [day offset]" that could be "IS_WEDDING_DAY [npc context] [day offset]"

tribal ore
#

I could make that work. Here's what I'm doing now for context:

"When": {
           "Query: {{TheMightyAmondee.CustomTokens/DaysMarried}} > 0 AND {{TheMightyAmondee.CustomTokens/DaysMarried}} % {{kPeriod}} >= {{kPeriod}} - 7 AND {{TheMightyAmondee.CustomTokens/DaysMarried}} % {{kPeriod}} < {{kPeriod}} - 5": true,
       },
#

If GSQ makes that simpler, then I'm all for it

tawny ore
#

Either would work, just trying to give some options that fulfill the same purpose

old edge
#

Sure

uncut viper
brittle pasture
#

it's already showcased

tribal ore
#

Very happy to use trigger actions if they are exposed!

deep cypress
#

For this all to work, do you need any data coming from me then? Or do I need to put the trigger actions on my side?

candid stratus
#

"Wiki: The game has two distinct scaling modes depending on the context: UI mode and non-UI mode. You can check Game1.uiMode to know which mode is active"
This is a bit vague to me.. Are coordinates auto-translated using some kind of intrinsics matrix? Why are there modes

deep cypress
#

(forgive the question, it's past my bedtime!)

old edge
#

Oh ok I need a evil mysterious entity idea like something related to Japanese folklore

#

Sounds scary I know

tribal ore
#

I think you'd have to create the custom trigger @deep cypress . I wish I knew how this stuff worked, sorry

tawny ore
#

The ui mode determines which setting it uses for scaling

turbid grotto
#

Gosh giving the farmer dialogue options to make them an asshole is kinda fun

gentle rose
turbid grotto
#

Writing everything else isn’t

candid stratus
tawny ore
#

The answer sort of is that it depends on how you're handling it. I've run into issues dealing with scaling nonsense, like checking for clicks in the wrong spot because I'm not using the scaling correctly.

#

If you use a mod like StardewUI for UI stuff, then it handles those concerns for you.

candid stratus
#

Can I draw trivial elements to the screen?

tawny ore
#

You can, it's when they're intractable that you notice more issues

#

Or when they're supposed to align to things like in game objects or other UI

lucid iron
#

Yeah use one of the render smapi events

#

Those would have spritebatch in the event args ready to use

candid stratus
#

Okay sounds good

tawny ore
#

But drawing is not a problem, just make sure you test the game at different zoom levels

#

Like different extremes

lucid iron
#

If u need complicated stuff consider stardewui my beloved

tawny ore
#

Small UI + Small Game, Normal-both, Small UI + Large Game, etc.

candid stratus
#

And for non-UI elements, the coordinate system is tile-normalised right?

lucid iron
#

No it is all pixel coords

gentle rose
#

yeah, drawing isn't a problem, it's just drawing the right thing that's the problem Squint

...I should update map event markers and fix the layering at some point

lucid iron
#

Most things in the game are drawn at 4x scale

#

But there's no rule it's just aesthetics

#

Sometimes the source tx is already 4x scale (menutiles)

tawny ore
#

Game1.pixelZoom is what a lot of draw commands use (before the compiler optimizes it to just 4f)

candid stratus
#

pixel coords of the screen (1920x1080 for instance) or pixel coords in the game (16x16 for one tile)

tawny ore
#

Game1.tileSize is 64f which matches the space a game tile takes up (16x16 sprites multiplied by 4)

lucid iron
#

I don't understand what you mean by 16x16 for 1 tile bc it's 64x64 as matt says

#

Itd help if u just look at the draw code of an element similar to what you want

candid stratus
#

As in the texels, a tile is 16x16 texels

tawny ore
#

The tiles are 16x16, but scaled at 4x

candid stratus
#

Okay sounds good

lucid iron
#

There's no universal bounds to this since ultimately everything is converted to viewport coords for drawing

candid stratus
#

But of course your outcome depends on your fragment matrix

lucid iron
#

Which may be what you mean by 1920x1080

#

Another note is that

#

Game menus usually designed to work at 1280x720

#

If you look at shop menu at that rez, you can't see the portrait but u can see all the clickable stuff

#

Try not to booli the steam deck ppl basically

tawny ore
#

But that's what the UI Scale slider is for, so that regardless of how you design it, they can just make the menu extremely tiny /s

turbid grotto
#

Heart event sneak peeks (plus my amazing notes)

candid stratus
#

Okay well I'm definitely gonna make these incredibly specific cutscenes by just manually drawing onto the screen then

#

and just blocking keyboard input till it's done LOL

lucid iron
#

One way ppl do that with cp is actually

#

Temp map with the desired CG as map tiles

#

Events do support something called temporary animated sprite for this type of effect it just sucks to use Dokkan

candid stratus
#

Yeah I was considering something like that, but to make monsters glitch I'd need hundreds of tiles while with drawing I can manually loop through images instead

#

One more question that I definitely wont find anywhere, can I hijack the output image right before it's displayed to move pixels around

lucid iron
lucid iron
#

It should go without saying that you should avoid making new Texture2D every frame

candid stratus
#

What's TAS

lucid iron
#

Temporary animated sprite

candid stratus
#

ohh okay fair

dusk mulch
#

Can you run doom on stardew valley?

hard fern
#

Why do you ask

brittle pasture
dusk mulch
#

I am trying to figure out what the most random thing I can run doom on is

dusk mulch
shut mountain
#

I wish to share a screenshot of an object.json I have created to spite my friend

#

It's funny

plain marsh
#

Does someone know if I use 9 (fish category) as a animal drop, it will generate a random fish?

shut mountain
#

I have not a clue, but I hope so

ornate locust
#

Well here's a problem

#

Pretty sure trash you can fish up is also fish somehow?

shut mountain
#

Oh bc it might drop a legend or smth?

ornate locust
#

I was making a trash item and I was imitating a trash item ingame (newspaper) and the game puts that in category 9, pretty sure. Let me double check

#

Ah no I'm wrong, it's TYPE fish, category -20. Carry on, but yeah, it could drop a legend or something for all I know

shut mountain
#

May I share my funny screenshot of an item I made a json for?

lucid iron
#

I believe animal drops are exact item ID not item query

#

You need extra animal configs

#

There's a mod called omni chicken

ornate locust
#

was very confused why trash was fish, so it stuck in my head

lucid iron
#

Just obey server rules etc

shut mountain
#

My friend said tea can't be medium rare and I was like alright bet (this is purely a joke and I don't intend to make this an actual item)

rough lintel
#

random q about monster variety mod, since it basically uses AT as a base: if i'm retexturing the slimes, i notice the vanilla texture is 64 x 280, but the texture size for the slime in the monster variety thing is all 64x264. i am scared and do not want it to explode if i make them 280. do i just change the textureheight in the json and it should be fiiiine?

shut mountain
#

I don't speak any of the mods you just mentioned 😅 Sorry

lucid iron
rough lintel
#

it has an extremely similar format so i mistook that, my bad

lucid iron
#

It also contains 0 actual changes to draw code, works by swapping out the Texture2D at the right time

rough lintel
#

i am, though, yes

lucid iron
#

The reason why it has same folder format is just cus Tea originally made it as AT mod

rough lintel
#

ah. so... keep the textureheight the same as vanilla, or the same as the example?

lucid iron
#

Use the same sprite layouts as vanilla

rough lintel
#

ok, the mod doesnt so i was wondering about that. ill use the vanilla dimensions

#

it cuts off the 3 colored slimes at the bottom lol

lucid iron
#

Some sprites are actually just unused in vanilla

#

Monsters are fun like that

#

Another issue right now is that there's no easy way to make 2 monster variety packs compatible with each other NotteThink, i am still trying to work that out

#

For now you will basically have to do HasMod and conditionally load

rough lintel
#

oh im making reslime compat for vev so :P

lucid iron
#

Then u can just TargetField into the right place yep

rough lintel
#

yeth

plain marsh
reef kiln
#

Just to double check I am correct. Sprinklers not working on the beach is a map property correct? It is not part of the sprinklers. In other words, To make sprinklers work on a beach you need to edit the map? Not the sprinklers?

potent moss
#

Mods told me to put this here so:

I'm looking to com someone for three different mods (one is a custom sprite mod, a heart event mod, and a custom gothic building mod)

Can offer money or anything really

Dm me for details (mods said to discuss details in dms)

budget is 100$ for now (usd)

lucid iron
#

!commissions

ocean sailBOT
lucid iron
#

i assume you have seen this page?

potent moss
gentle rose
#

you may want to add what your budget is

#

either in USD or your local currency

potent moss
lucid iron
#

it sounds like you are looking to commission art assets more than cp mod so ask in #making-mods-art?

uncut viper
#

(i mean that probably counts as details tbh)

gentle rose
#

(yeah, but it's the kind of detail that gets people interested SDVpuffersquee or that some people are wary of when it isn't included)

potent moss
uncut viper
#

(or that some people might be embarrassed to post publicly)

#

(either way i only mentioned it bc they were told by mods to discuss details in dms)

gentle rose
latent mauve
#

Question: Can you MoveEntries for the Home entries in Data/Characters? Playing around with an add-on mod to rehome some old NPCs and wanted to try to change their Home without necessarily overtaking the Default.

uncut viper
#

if its a list and each entry has an "Id" field, it can be moved

latent mauve
#

It's a list of models and they have an ID, so I'll give it a go. 😄

#

Yay, it worked!

shut mountain
#

Does anyone know what happens if you change your farmer's eye color to a color that's not fully opaque and should I try that?

lucid iron
#

i suspect you just see the default eyes on the farmer sheet

shut mountain
#

Okay that sounds logical 😅

latent mauve
#

Well, NPC Rehoming process works, so now I can easily drop instructions for people who want to put older/abandoned NPCs in apartment rooms, maybe.

shadow pagoda
rigid oriole
lucid iron
#

if you don't want to run your cheat more than once, i'd recommend against keybindings

#

use a console command instead

shadow pagoda
#

I have a built in check for if the player does run it more than once, it won't do anything

lucid iron
#

the reason is not prevent player

#

but rather keybind real estate is a premium

proud wyvern
#

i have to agree here

#

having a keybind for something you're only gonna use once per save sounds wrong

shadow pagoda
#

well, it's not technically once per save. It varies on how much free space the player has in their inventory. Though I get your point. I will considering refactoring it in the future

lucid iron
#

im also not really sure what the point is think

#

why not just auto complete the bundle without ever giving the player items

shadow pagoda
#

i wanted to give the player the choice to do that. I just didn't implement that part yet

#

One thing at a time. Plus idk how console commands work atm, so I'm putting it off a little until I get more in the hang of modding

rancid musk
#

They're easier than key bindings and a config menu, lol

lucid iron
#
helper.ConsoleCommands.Add(
    "mcp-reset-savedata",
    "Reset save data associated with this mod.",
    ConsoleResetSaveData
);
shadow pagoda
#

i mean I was going to need to config at some point, so I figured to put it in now

lucid iron
#

and then private void ConsoleResetSaveData(string command, string[] args){ }

#

tis all you need

inland cedar
#

how to get a list of all edible item?

brittle pasture
#

iterate over object data, find entries with Edibility > -300

tawny ore
#

Isn't it technically != -300

#

Because -300 is a magic number, and everywhere it's used is an equality check

uncut viper
#

fwiw you cant get food or drink buffs below -300 bc that check does do a <= and not a ==

true coyote
#

is there a way to remove tags from your mod? (these ones) it somehow got stcuk with the translation tag and apparently theres a percentage of people that filter that tag. when i open up the list of tags, its not even showing translation

plain marsh
#

Does someone know how to fix Fishing Trawler tilesheet/sprites? It's for personal use.

For those who don't know: the fish box isn't showing properly

ivory plume
ivory plume
wet wadi
#

[game] NPC 'LEE' failed to parse master schedule 'spring' with raw data '730 Lee_kt 5 5 0/1000 Lee_w 6 5 3 Lee_read/1500 Lee_House 21 10 2 /1700 Lee_kt 5 5 0/2100 Lee_Room 10 4 2 Lee_sLeep'.
System.Exception: NPC LEE has an invalid schedule with key 'spring': it requires a warp from Lee_kt to Lee_w, but none was found.

Hi what should I do to fix this, he appears at an event but after the event ends, his location is missing once again.

vernal crest
wet wadi
vernal crest
#

Oops sorry I missed your DM earlier! Mobile discord is so bad at notifying about message requests 💀

wet wadi
#

I was checking on maps, I'll share the smapi of the maps.json cause I tried to check on it after earlier

plain marsh
#

This person is having the same issue

#

It was supposed to have a crate there

lucid iron
#

Oh those r Paths?

plain marsh
lucid iron
#

It is probably a tmx issue not tilesheet, did you get Tiled

plain marsh
lucid iron
#

Yep so find the tmx file in that mod and open it in tiled

#

(you don't have to ping reply me when i am still here lol)

plain marsh
#

Oh sorry

#

Gonna open it, give me a second

lucid iron
#

[[modding:maps]]

lucid iron
#

There's a section on this page that explains what the paths tilesheet does

plain marsh
#

I see

#

the problem is

#

in tiled, it looks nice

lucid iron
#

Is this an edit on Beach?

plain marsh
#

yes

lucid iron
#

Try patch export Maps/Beach

#

From smapi command

#

Inspect the exported Beach tmx to see what went wrong in the final result

plain marsh
#

ok, do i need to be there?

#

update: just exported, it has lots of tile data

true coyote
#

the heck, the translation tag is gone lol nexus has been so wack lately

#

im blaming their shift to the new ui

lucid iron
gentle rose
#

I think they're refactoring how they do translation tags

#

where it's tied to whether or not the mod is set to be a translation now

#

I could be wrong though, but we were looking at it earlier today

true coyote
#

yeah for some reason that was checked and i did uncheck it earlier. im wondering if as i was zipping through things i accidentally marked it? and then nexus was slow to update the tag after i fixed it

ornate locust
#

The translation tag has never been good, ngl

plain marsh
#

(i forgot this option)

ornate locust
#

if they're redoing it and not making it worse, awesome

#

(big if)

sour sleet
uncut viper
#

well it looks like theyre all loaded. but they arent gonna be used

plain marsh
#

@lucid iron I have to go to sleep right now, it's pretty late here, we can try it tomorrow.

uncut viper
#

you need to replace the originals

#

i assume your map is not using both fall_Lilybrook and fall_Lilybrook_Earthy at the same time

sour sleet
#

No, I don't think so. It only seems to be loading the vanilla version right now

vernal crest
uncut viper
#

aba explained what my point was, you're creating new images with your targets but that doesnt make your map use them

sour sleet
#

Ah I understand now, thanks both!

rigid musk
#

can warp totems be done with just CP... and if so is there any documentation on that (i couldnt find any from a general glance)

uncut viper
#

spacecore can do warp totems

#

so not quite just CP

vernal crest
#

No, the warping part requires spacecore (I am pretty sure)

rigid musk
#

Hm... I guess people will have to deal with another requirement then bobdance

#

Plus spacecore fixes a lot of weird schedule stuff anyways so it's better to have it ... and they get item descriptions for the furniture :)

#

time to look into space core documentation thank you both

boreal belfry
#

Could anyone help me with some Tiled beginner questions? I'm a bit stumped with how to open the tsx/tilesets. when I try to open them up in an existing mod the file folder is prompting me to find the file and open it, but it doesn't appear to exist anywhere. what am I missing here?

vernal crest
#

Firstly, are you VERY sure you need to be using tsx files in any capacity?

#

Because usually it's not necessary and causes a lot of hassle.

uncut viper
#

(SDVpufferlurk hi im days late bc i was just searching for BETAS mentions but BETAS has 3 different GSQs for reading player mod data (and 6 more for equivalents for location mod data and item mod data), as well as a tokenizable string for reading mod data, and also BETAS actions/queries support tokenizable strings so you dont need EMP for writing and reacting to death stats (as there is a vanilla tokenizable string for playerstat))

boreal belfry
#

Oh I see. I don't need it for anything I'm just poking around adn trying to match up the json instructions with where the images are stored.

#

The image is stored in there correct?

vernal crest
#

There is a very important distinction to make: tilesets and tilesheets. Tilesets are the name for the metadata about tilesheets, which are the images. Tilesets contain the reference to the .png file of the tilesheet and also information about tile properties and animation. Most of the time, your tileset information should be embedded into the tmx file itself rather than existing as a tsx file externally.

#

In terms of actual files, the .png file for a vanilla map will be in the Content/Maps folder (as an .xnb file); the .png file for your custom tilesheet will be in your own mod folder (ideally in a tilesheets folder or something); the .png file for a tilesheet mod will be in that mod's folder somewhere.

boreal belfry
#

yes that makes sense! I am looking for the custom tilesheets I think. I understand how the meta date is basically paint by number for the computer to generate the map. I'm just not seeing where the tilesheet for the custom content is being stored in the mod assets?

boreal belfry
vernal crest
#

The actual .png files always stay where I've just said, but when we use CP to load the tilesheets into the game, we create an asset that contains the image (so to speak) and that asset is the one that we use as our image source in the maps.

royal stump
uncut viper
#

they can use it in a BETAS mod data trigger action to set a mail flag

vernal crest
boreal belfry
#

Okay, thank you I opened another mod and can clearly see they have a tileset folder with .png. Yeah I was confused?

vernal crest
#

No I mean none of his maps are using a custom tilesheet in them

boreal belfry
#

the shed itself is a custom asset I thought? or is the custom refering to the inside?

vernal crest
#

If you're referring to the tmx file, they're all "custom" because they're literally not vanilla maps.

#

I don't know why he decided to just name the shed interior map with "Custom".

boreal belfry
#

Ah! I'm coming from the art side of moding so custom=new sprite to me. fools errand revealed.

vernal crest
#

The .tmx files are not images. They are xml files containing data that is used to construct maps in the game using the .png files (and various other bits and pieces like warps).

#

We open them in Tiled so we can edit them visually but you could create an entire map just by writing xml if you wanted to and loved pain.

boreal belfry
#

nod nod, like a paint by number.

#

Thanks i think I understand a little better now

vernal crest
#

No worries! The way that we edit maps, by the way, is by having all the relevant tilesheets in the same folder as the map file while we're editing.

#

Some people do that by copying vanilla tilesheets + any needed tilesheet mod tilesheets into their map folder in their mod folder and then move/rename/delete them for testing (and definitely delete them for publishing). Some people put everything into their Content (Unpacked)/Maps folder and then put the map in there for editing and move it back to their mod folder for testing. Some people create a "map making" folder that contains all the tilesheets they want and work on maps in there (similar concept to the Content (Unpacked)/Maps approach but without all the vanilla maps).

boreal belfry
#

oooh i see

brave fable
vernal crest
#

Yes it is, but I have found it's more common that people are doing stuff with tsx files when they don't even know that tile properties and/or animation exist yet let alone wanting to get them from a vanilla tileset.

#

So if I ask why someone is using a tsx and they don't know, odds are they don't need to be using a tsx.

#

(Yet)

dusk mulch
#

Is there a way to check if I have gotten a mail flag?

vernal crest
#

Do you mean check for mod testing purposes (like you just see it in the console) or check in your json in order to use as a condition for something else?

vernal crest
#

patch summary full dds will show you your global tokens which will include HasFlag

dusk mulch
#

That is alot of gobbity gook to go through...

vernal crest
#

The dds is just so it doesn't show you any mod patches and it's meaningless

#

It's not really?

dusk mulch
#

Well is there a way to see the status of every player stat?

brittle pasture
#

you can also evaluate a GSQ in the console

#

debug gq YOUR_GSQ_HERE

dusk mulch
#

Ty!

#

You're positive this is a when right?

#

Nevermind.

#

It worked.

vernal crest
#

If it's to control a CP patch it has to be

restive kelp
#

I need some help, smapi isn't working, it's giving me errors that I can't read.

#

So there's nothing I can do to troubleshoot

uncut viper
#

!mh

ocean sailBOT
#

For help with modding issues, please ask in #1272025932932055121! When asking for assistance there, sharing an error log will help others identify your issue (see https://smapi.io/log for instructions).

restive kelp
#

Ah I see

#

Sorry

uncut viper
#

no worries, common thing SDVpuffersquee

restive kelp
#

Oh. You slightly misunderstood, this is is for err logs. Which would work if I had one, but it's not letting me install it at all, every time I open the .zip file from smapi it gives me an error popup on my phone that I can't read because it's not there long, and I can't click it.

#

So smapi won't download

uncut viper
#

if you cant even open the zip file on your phone that seems like a problem with whatever you're using to open it, and not anything to do with SMAPI or stardew. either way, this wouldnt be the right channel to ask

restive kelp
#

Can you link the channel? Cause I can't find it.

uncut viper
#

there is no channel for general technical support, just modded technical support (and vanilla but thats not relevant here). if its not an issue with SMAPI, its not an issue for this server. if its an issue with installing smapi and not just opening the zip file, thats the channel linked in that governor command. however, if its for SMAPI for android, theres a different server for that entirely, as this one doesnt provide support for mobile SMAPI

#

!androidsmapi if that last point applies to you then you want this

ocean sailBOT
#
Android SMAPI

There is an unofficial port of SMAPI for Stardew 1.6 to Android. Please see the wiki instructions for more information.

IMPORTANT: This is a highly experimental build and may be prone to glitches, bugs, or incompatibilities. We are not able to provide support if you run into trouble or compatibility issues; please use the discord linked on the Android SMAPI github.

Do not harass mod authors to make Android specific compatibility patches.

restive kelp
#

That's where I got it

uncut viper
#

then you use their discord server for support, not this one

restive kelp
#

Where😭 smapi linked this discord server

uncut viper
#

if you follow the link in that g overnor command, it links you to mobile smapi's github, where it links you to a discord server

#

as the governor command says, that is where you go for mobile smapi support, we dont provide support for it here. SMAPI for android is not the same as SMAPI for pc

restive kelp
#

Ok

crude plank
#

Hi Button! How are you? Still commiting crimes?

uncut viper
#

depends on your definition of crime

#

ive swapped back to working on museum framework for now

crude plank
#

Would a geese hit you with a stick?GooseBonk

uncut viper
#

i would hope not

rancid musk
#

I took a day off from crimes today. (Work was worky.)

crude plank
#

I see, no crimes then

uncut viper
#

work itself is a crime

crude plank
#

I have the week off but i'm in germany in the longest queue i've ever seen instead so i'd kind of prefer work atm

#

It's so cold

crude plank
rancid musk
#

Pretty much.

crude plank
#

Amazing

rancid musk
#

I'll probably ask people in #modded-stardew to see if they can find any other mods with compatibility issues once Pathos releases a couple updates. Wouldn't want to make a modded player play without Lookup Anything lol

crude plank
#

Bless you for that lol

marble verge
#

I thought I'd be helpful by linking to the SMAPI Android Discord and got hit with a ten minute time-out instead 😅

uncut viper
#

yeah, no server linking allowed here

marble verge
#

Evidently 😂

uncut viper
#

lotta spam that can result of that

#

from bots and such

latent mauve
latent mauve
#

I stayed up way too late working on art again, but I finished Mipha! Now I only have Sidon's spritesheet and Wolf Link's side view left to go...

dusk mulch
tribal dew
#

Hello all the nice people, I have a question regarding Tiled- I'm making a custom map (not a farm map) and my collisions seem occasionally cursed:

#

The bridge to the right is impassable : (

unique sigil
#

did you put the bridge tiles on the Buildings layer?

tribal dew
#

The bridge tiles are on a "Buildings3" layer, there are only regular water tiles on a "Back" layer beneath it. There is an object layer named acordingly "Buildings3" that contains Custom Property of Passable: T

unique sigil
tribal dew
#

Ohhh, that is good to know : O

#

Should the bridge tiles be on the regular, not numbered buildings layer too?

unique sigil
#

as for why the bridge isnt passable: check if you have invisible tiles on the Buildings layer. you can place the bridge tiles on a numbered Tile layer still, but any tiledata must go on the Buildings Object layer (i.e. you can put TileData objects with Passable T there).

#

(side note: for in-game testing, i recommend using Data Layers for seeing which tiles are passable, impassable, and occupied)

tribal dew
#

Thank you so much for this resource, this will come in handy

novel dune
#

How do i make an object pickable? I have a simple object added with content patcher and I'm spawning it on a tile using C# and it appears but i cant interact with it at all. Just wanna right click it and put it in inventory

vernal crest
# tribal dew Thank you so much for this resource, this will come in handy

You should also check if the water tiles you have under the bridge on the back later have the Passable property on them in the tileset. The Passable property makes tiles unable to be walked on if they're used on the Back layer. And I know some water tiles have them because vanilla uses them to stop people walking off single tile width bridges.

tribal dew
#

Well well well, I do see that the water tiles I'm using on the back layer have Passable: F property, so this could be the culprit

vernal crest
brave fable
strong stump
#

How do i finish the wizard ink quest in sve? I am stuck on the swamp

vernal crest
rancid temple
#

Maybe. In regards to what?

#

Or even the SVE Discord lol

vernal crest
#

There are plenty of SVE players here in maincord who can help with gameplay questions though

rancid temple
#

My experience with it was just to give up and figure it out myself, nobody was very useful SMCKekLmaoDog

vernal crest
#

I usually just look at the SVE wiki

rancid temple
#

I had to fix the wiki because it didn't have some of the info I was looking for lmao

#

Had to look through SVE's code just to find what I was looking for a few times

winter dust
rancid temple
#

Yeah, did it stop working?

winter dust
#

No, but it broke something unexpected.

#

But basically, it's not taking into account if you're warping from and indoors map to another infoors map, so it dismounts you if you're in an indoors map going to another indoors map, which he states here: #making-mods-general message

rancid temple
#

Are both locations marked TreatAsOutdoors: true?

#

Hm, looking at this patch I wrote, I do wonder what happens if I'm using an or on two different values... it seems to work in practice for the original desired result

winter dust
rancid temple
#

If you somehow force your tractor into the mines it doesn't delete it if you leave that floor?

winter dust
#

Apparently not, idk I don't really use that mod often.

#

But it'll probably cause other issues elsewhere.

vernal crest
#

The Nexus Mods app docs say that C# mods are the most common Stardew mods but that can't be right, can it? The last monthly stats post from Pathos said there are more than 10,500 CP mods alone let alone counting the other content pack mods, compared to only ~3,200 C# mods.

royal stump
rancid temple
vernal crest
#

Does that mean it's possible to make a mod for Stardew with a different programming language?

lucid iron
#

It should be possible to do F# right

#

Without extra sauce

rancid temple
#

Technically, you just need to recreate everything SMAPI is doing in a different language. But since SDV is written in C# you've gotta deal with that trickery

royal stump
#

I'm not sure how the nuget and such work when you're not using C#, but I think any .net can be used

lucid iron
#

And if u have a C# mod whose 1 job is to load a binary from some other language then go wild

vernal crest
#

Since it is already saying that "most" mods are C#, that implies that there already are non-C# mods for Stardew (or that they're wrong lol)

lucid iron
#

PyTK enabled lua mods afterall

vernal crest
#

Maybe if someone made lua mods they got counted then

royal stump
#

I've seen people work on non-C# mods just because they can, but at any rate, I wouldn't put much stock in vaguely worded nexus info SDViconghost

gentle rose
#

(pssst if you guys have opinions on the nexus mods app, you should go to modded-farmers)

lucid iron
#

Yeah i think they r just incorrect in practical sense

vernal crest
#

I was just curious about their summary of Stardew and wondering how much of it was written by someone who actually knows our modding or if it was written by an anthropologist observing us lol

gentle rose
#

(pickysaurus is there taking questions/ideas)

royal stump
#

I'm not even sure what/where the app is, personally SDVkrobusgiggle just seems like Pathos's numbers are likely to be meticulous

gentle rose
#

vortex replacement with a file-free diet

rancid temple
#

I have no constructive criticism

gentle rose
#

you came here to chew gum and offer constructive criticism and you're all out of constructive criticism

rancid temple
#

Sure sure, let's all pretend I have good motives and have just run into blockers

lucid iron
#

Mod making amirite

#

What would a sdv specific tiled fork be like

#

Or would it be just extension

rancid temple
#

Hm, can't think of anything immediately that Tiled doesn't do that would specifically be better for SDV

#

Some like default settings perhaps and the inability to change things

lucid iron
#

Tilesheet management...

rancid temple
#

Like no offset and making sure everything is snapped to grid

lucid iron
#

I would like to have a tilesheet source path different than tmx itself

#

Also automatically name objects TileData pls

rancid temple
#

Oh yeah, that would be good lol

#

I dunno about the tilesheet source path, as the game itself is expecting something specific, so it would have to change in both places I guess?

lucid iron
#

Layer sorting button too maybe

lucid iron
gentle rose
#

day/night tiles maybe?

#

automatically adding the TileData object the way stardew uses it?

lucid iron
#

So that you still end up with spring_Outdoors

#

I don't even know what tiled is written in (c++?) so i am just day dreaming here

vernal crest
#

I would love if you could specify tilesheet file name aliases for Tiled so it could use a completely differently named tilesheet for editing than what you've put in the tmx image source

spring granite
#

hiya, I'm trying to modify the Better Beach Forage mod (https://www.nexusmods.com/stardewvalley/mods/5192) to include items from SVE. The items are listed in this format in the mod's content.json:

"SpringItemIndex": [
                "Cockle",
                "Cockle",
                "Oyster",
                "Oyster",
                "Mussel",
                "Mussel",
                "Clam",
                "Clam",
                "White Algae",
                922,
                923,
                924
            ],

I'll just have to add the item IDs from SVE (e.g. FlashShifter.StardewValleyExpandedCP_Dried_Sand_Dollar) to those lists, correct? And I'm guessing the duplication is to determine the ratios of spawned items?

Nexus Mods :: Stardew Valley

Improves the spawn rate of beach forage and adds crabs to the Beach!

gentle rose
#

oh, a way of tracking tilesheets from other folders so that they embed properly without tilesheet climbing without having to copy them into the folder and then remove them would be nice and is probably stardew specific

rancid temple
#

I think that might be what chu meant SMCKekLmaoDog

#

I just was not understanding it

lucid iron
#

Iro im glad u like my ideas enough to echo them

gentle rose
#

oh lmao, I am a bit out of it KEK

#

my idea now

#

I came up with it, chu did nothing

lucid iron
#

Our idea ⚒️

rancid temple
#

Everyone needs someone else to say the same thing in a different way so the slow people can put the pieces together SBVPensiveButt

gentle rose
#

which is totally what I was doing, I wasn't just half-reading the convo and missing where chu already said it sideeye I was being helpful on purpose

calm nebula
#

Good morning!

gentle rose
#

chu do you prefer chu or chue

lucid iron
#

It would also be nice to flip through the seasonal sheets quickly

gentle rose
#

morning atra!

lucid iron
#

Rn you have to go to the tileset edit menu

#

My name is actually chu2

calm nebula
#

Chu is chu plus the square root of e

lucid iron
#

But i been swapping the 2 for many other things

#

No strong pref really

rancid temple
#

You keep changing the part after chu in various places so I just defaulted to chu SMCKekLmaoDog

gentle rose
#

is this a case of 2 standing in for a letter not available in english or of a username being used as a name SDVpuffersquee

lucid iron
#

There were chu1 through chu108, but i defeated them all

vernal crest
#

For some reason I want to pronounce chu2 as "choot"

blissful panther
#

...chooty.

#

You did this to me.

#

I'm not going to be able to unsee that pronunciation now.

lucid iron
#

Have you tried doing it?

vital solstice
#

Pytk lite is just for map things right? It doesn't call any extra codes like Lua's (or was it lau's? one if the two) does it? >.> I'm seeing if I can remove it completely as a dependency. I know its outdated and should be removed, but I'm nervous about breaking things lol

vernal crest
#

SDVpufferdead This is the second time that Windows has been completely unable to transfer GenericModConfigMenu.dll anywhere.

rancid temple
#

Isn't every version of PyTK just nothing now?

#

I thought it was literally just an empty file SMCKekLmaoDog

lucid iron
#

PyTK lite is just dummy yea

vital solstice
#

Ooohhhhhh

lucid iron
#

You can remove it

#

The author is very busy irl so it's not likely to be updated ever

vital solstice
#

Fantastic, imma yeet it off the required mod list then. Thank you! I updated all the maps and everything too. so everything is compatible with 1.6 other then this one part of the mod which i just side eye and push under a rug and hope everything works as intended lol

vernal crest
#

Wai you do dis to me Casey SDVpufferwaaah

tiny zealot
#

pytk lite (the "main" file) still has stuff in it (it's from 2023) but it's completely obsolete.
the pytk dummy (in optional files, listed specifically for 1.6) is the one that does literally nothing.
either way, yeet it and remove it as a dependency from any mods that still require it

rancid temple
vernal crest
#

I have literally reinstalled Windows between its failures lol

vital solstice
rancid temple
#

Sometimes Windows thinks it's cute to lock my files in being used limbo hell while it antimalware scans them

#

And then never stops doing that until I restart

lucid iron
#

So i remember hearing before that

#

The PyTK lua stuff is used for the sad ending route for toshinori

vital solstice
#

Yea thats the mod I've been updating the code for

lucid iron
#

Did you implement that with set npc invisible then

vernal crest
#

Tia has a personal edit for Toshi that removed the dependencies too

vital solstice
#

I overhauled a lot of the code to work on 1.6 or Toshi never would have never seen the light of day again lol

lucid iron
#

SetNpcInvisible

#

This trigger action

vernal crest
lucid iron
#

Probably need to do some other stuff to hide the social entry too

vital solstice
#

Eer, yea. I'm not sure if Heartbreak mode will work in my version 1blobSweat thats what the lua did, i think. And I wasn't sure where to add it in. So Yea... just kinda swept it under the rug and crossed my fingers and prayed lol

vernal crest
#

Edit Data/Characters to change social tab back to hiddenalways

lucid iron
#

Yeah

vernal crest
#

And calendar, though it'd be maybe a bittersweet remembrance thing to keep him in there?

lucid iron
#

I wonder if u can SetNpcInvisible forever besides simply running that every start of day

vernal crest
#

(Man I wish I didn't already know about this ending!!!!!)

vital solstice
#

Right, but I also need to trigger that somewhere kittyhmm I think. after an event or something probably

lucid iron
#

Edit his sprites to black and white...

vernal crest
#

No limit on the number of days you can set invisible for as far as I know

lucid iron
#

Cool

vital solstice
#

But the code looks like it should work without the lua.

#

And I honestly, am too much of a whimp to test it 😂

lucid iron
tiny zealot
#

worst case for infinite invisible you can have a daystart trigger action that resets the duration every day

vital solstice
rancid temple
#

Just look up the max for int, because I can't remember the number, and set it to that

lucid iron
#

Yep gotta figure it out

tiny zealot
#

roku's got a good point, though, nobody's gonna play longer than intmax days

lucid iron
#

After 2147483647 days, a miracle happened

rancid temple
#

That makes me wonder if the game can even handle playing longer than int max lmao

tiny zealot
#

you can probably get away with just mashing 9, too. pretty sure vanilla does that for a few "forever" things

lucid iron
#

Year 19173961.13392857

vital solstice
#

Yea but then I would have to test it. And I frankly, don't want to 😂 😂 I can't handle character death.

I can admit that Im a whimp.

And I could just have it run every year on the same day to set Toshi to invisible for one day past the year.

#

If I was going to deep dive to test it >.>

lucid iron
#

Maybe tia would be interested

#

@ tiakall

vital solstice
#

I would love to do a collab! 😂

rancid temple
#

tia is probably at work, might have to actually ping SMCKekLmaoDog

vernal crest
lucid iron
#

Well that's why I didn't ping

#

I am theoretically at work too bye

rancid temple
vital solstice
#

I have permission to update the mod so any help would be appreciated. I know the events still cause crashes but I got spooked trying to turn the dummy events into trigger actions.

rancid temple
#

tia is responsible and only checks stuff during breaks

vernal crest
vital solstice
#

Toshinori mod is old, just like him sobbing and is running off hopes, dreams, and ducktape.

vernal crest
#

🎶 I'm not afraid 🎶 to ping my friend 🎶 though they're at work 🎶 I just don't care kyuuchan_music

gentle rose
#

@vernal crest

hi

hard fern
#

It's like shooting an email over during work hours XD but discord

vernal crest
tribal ore
vernal crest
tribal ore
#

If he moves back to the city

vernal crest
#

Is his move permanent?

vital solstice
tribal ore
#

I had to give him invisible festival positions

#

And lock out any more events with the "not invisible" precondition

vital solstice
#

If we are talking about Toshinori

tribal ore
#

I also have a short period where Seb leaves for 2 weeks and then comes back

#

The festival stuff might still apply over the short period though

vernal crest
#

I set Hiria invisible every season. In fact, I am the reason that UI Info Suite 2 and NPC Map Locations no longer show invisible NPCs on the map (because I noticed that they were showing up and did PRs) SDVpuffercool

vernal crest
tribal ore
vernal crest
vernal crest
vital solstice
#

🤣

vernal crest
#

So trust lol

tribal ore
#

Honestly, now that I know how to make TriggerActions reapply themselves, I will update it to check each winter and reapply

vernal crest
tribal ore
#

So not trust (anymore)!

vernal crest
#

There is no way that I would sleep the require number of in game nights to test a 99999 day invisibility so I would just trust lol

tribal ore
#

Yeah... I haven't heard of anyone playing a hundred years in a single game, but there are some hardcore players out there...

vernal crest
#

I would leave that up to my users to test haha

tribal ore
#

lmao

#

I did test the rehab arc extensively though. I remember being quite annoyed at festivals

vernal crest
#

And now it's just silently failing to delete the GMCM folder. I shall rampage.

vital solstice
#

I mean, there has to be a way to tell the system, "Make Toshinori invisiable every year on the 3rd? of spring after year 3 if heartbreak config is turned on. Last 113 days." Which covers all four seasons plus an extra day for good measure.

vernal crest
#

Easily, yes

tiny zealot
#

one of my favorite windows features is when it deletes files and/or folders but the file manager doesn't update correctly in response, so you're looking at the things and maybe you try deleting them again and windows goes "???" and you keep wondering why they're still there, and only when you manually hit F5 does it get the memo and the zombie files go away

vernal crest
#

As annoying as that is, ichor, I wish it was what was happening to me PufferSob

#

I'm pretty sure you could even have your config token in the Condition field of the trigger action if you set it up as a boolean

vital solstice
#

Okay yea it looks like the code does just do it for me

{ "LogName": "ScheduleDead",
"Action": "Load",
"Target": "Characters/schedules/Toshinori",
"When": {"HeartbreakMode": "true", "HasSeenEvent": "661716000"},
"FromFile": "assets/Schedule/ScheduleSpecial.json"
},

It basicilly just tosses Toshinori into the void somewhere with his special schedule of:

{
"rain": "600 Town 119 0 0",
"spring": "600 Town 119 0 0",
"summer": "600 Town 119 0 0",
"fall": "600 Town 119 0 0",
"winter": "600 Town 119 0 0"
}

vernal crest
#

Since you're changing it extensively enough that it wouldn't work with existing saves, would it be feasible to switch to string event IDs? 🙏

vital solstice
#

1blobSweat i think... there is some dummy events in there for existing saves already

vernal crest
#

Existing saves literally won't work because you've yeeted TMXL and Pytk

vital solstice
#

And i thinnk this might be the hide Toshi Lua that i was taking about:

function hideToshi(location, tilepos, layer)

print('toshi hiding start')
if Game1.player.mailReceived.Contains('toshiNeedsVanishing') then
Game1.player.mailReceived.Remove('toshiNeedsVanishing')
Game1.getCharacterFromName('Toshinori').isInvisible.Value=true
Game1.getCharacterFromName('Toshinori').daysUntilNotInvisible=2147483647
print('abracadabra')

else print('no flag')
end

end

1blobSweat 1blobSweat 1blobSweat who plays on heartbreak anyway walmartelmofire 9run

vernal crest
#

Yup that looks like lua and ME

#

That is one of the main reasons I want to play that mod!

vital solstice
tiny zealot
#

if it were me, i would hide him in a private void jail (unreachable custom location) instead of "weird Town coordinates"

vital solstice
#

But yea, I think I could probably do it, reading the script it looks like it is triggered by the mail being received and then I can add the invisible toshi code, and maybe remove his spouse room /patio too? hmmKitty but people can do that in the divorce tile in Yoba's i think.

gentle rose
#

yeah, just throw him in a warp room

vital solstice
#

....make him his own little fancy afterlife room? blobthinkingglare

vernal crest
#

Aww you could make it all lovely and put his favourite things in it

tiny zealot
#

i love that, actually. give him location dialogue too! so if players debug warp their way in they get a little easter egg

#

this is what heartbreak mode is about, right? fun light-hearted gags? /lh

gentle rose
#

undertale-style, I like it SDVpuffersquee

vital solstice
#

This is about the extent of my artistic ability frogSipUuuh so it would be all normal map layers 😂 and a ton of sunflowers.

#

But yea, I could probably do that, which would also completely re-route the need for set him to invisible. hmmKitty maybe

lucid iron
#

You still need to hide his social entry

vital solstice
#

I shall use a when script.

tribal ore
vital solstice
#

But i'll also wait for Tia if they already have the script ready, I can use that and give credit for the help!

tiny zealot
vital solstice
#

hmmKitty okay maybe just keep it simple and set invisible

lucid iron
#

Although Sebastian isn't like, dead

tribal ore
#

Hoping no one goes that route, but it exists

#

I wonder if that would have removed the need for all the invisible festival stuff I did

lucid iron
#

No

odd ginkgo
#

okay I can't tell if this is super simple or if I'm missing something here

#

but when you make a map using Tiled

#

is there a way to spawn in an item at a specific tile? Like an item that you want the player to pick up?

#

I've been looking but the new google search engine is so horrible

#

and it looks like FTM might work to spawn things in, but it feels like a lot for a single item

lucid iron
#

It depends on what you want to spawn

#

Generally do need another framework tho

odd ginkgo
#

it's a custom object

#

okay, that's the direction I was going in... now to figure FTM out

vernal crest
#

Once again I have forgotten about symlinks and copy-pasted a whole bunch of empty folders

golden basin
#

I need a bit of help? Im doing animal bazaar stuff and im getting a weird error i dont understand the meaning of. can i post a log

ocean sailBOT
#

Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Home, with 43 C# mods and 35 content packs.
Suggested fixes: One or more mods are out of date, consider updating them

odd ginkgo
#

it looks like there's an image it's trying to load, and can't find - a produce item. There might be something set as "null" in your code that needs to identify an image? Someone who knows animal bazaar might know more detailed, but I would check out line 130 in "BazaarLivestockEntry"

brittle pasture
#

do any of your animals have ProduceItemIds or DeluxeProduceItemIds set to null

golden basin
#

Hmmm yes it does the deluxe items

brittle pasture
#

browsing LB's source code looks like it's throwing the ol "object null" error

#

probably a bug

#

but for now set them to empty arrays

golden basin
#

Oooh okay thank yiu

#

@amber adder

#

The fix for your mod!!

#

So instead of null? Just put {} ?

brittle pasture
#

[]

deep cypress
#

Hi loves! The Green Tunic is the Link Shirt, right? Gonna give that one some Link-worthy buffs. (What are Link worthy buffs? Speed and attack?)

golden basin
#

Oooh okay so array means []

#

What does {} mean

brittle pasture
#

a dictionary of keys to values

golden basin
#

I know how to do things but terms I don't know

#

I still don't know what the squiggly is called lol

odd ginkgo
#

Link has the "courage" triangle of the triforce

brittle pasture
golden basin
#

Decidedlyhuman!!!!

#

I got the catalogue working

deep cypress
#

WHAT THAT IS THE BEST IDEA EVER!

odd ginkgo
#

yay!!

blissful panther
#

I suppose maybe think of [] as like a box of things (because it's all square like a box), so like an array/list. Remembering that one thing should at least make the other easier to keep distinct in your mind. SDVkrobusgiggle

golden basin
#

They can't move it but it wirks

#

So a array is a list on a square paper

blissful panther
golden basin
#

I haven't no

blissful panther
#

Aww, well that's her name. It's a curly brace. SDVkrobusgiggle

golden basin
#

Curly brace?

#

Like curly bracket !!!

blissful panther
#

Same thing, yeah!

golden basin
#

That's what it's called I forgotten

#

Can I ask what : means?

#

What's it called

#

I call it buttons

faint ingot
#

working on a moderate size outdoor map for the first time and it's fairly intimidating SDVpuffersweats

brittle pasture
#

colon

odd ginkgo
#

a colon?

brittle pasture
#

it separates the keys and values of a dict

odd ginkgo
#

and then ; is a semi-colon, i think

golden basin
#

Ooh a colon? That's cool

amber adder
golden basin
#

[] instead

#

Do the door handles

#

Or array?

#

Brackets? If the { is curly bracket is a [ just a bracket

#

Or is it square bracket

vernal crest
#

Square bracket :)

tiny zealot
golden basin
#

Hell yeah thank yiu

#

What would I look up to learn symbols

#

It's something I've always wanted to know it what the keyboard symbols are called and do

deep cypress
#

Anyone happen to know off the top of their heads wherein the game handles barrel breaks?

tiny zealot
#

i've learned just now about "round brackets (BE)" and i'm hooting a little bit, never heard that one /lh

golden basin
#

I call those hugs

#

But round bracket sounds way more professional

#

Oh!!! Y'all remember how I was considering making my own game?

brittle pasture
golden basin
#

I started learning code and I've managed to code a collision system, player movement and camera functions

deep cypress
#

YES!!! Thanks Selph!

golden basin
#

It looks way simple but look!!! I did the thing

#

I even have a vertical movement set up

blissful panther
#

Come nerd out about it all in #programmers-off-topic... even share the code if you want! We're not scary in there. SDVkrobusgiggle

deep cypress
#

That's swesome!!! You are well on your way!!!

golden basin
#

👉 👈

faint ingot
#

By the end of the week I expect this to be a full arcade game playable in the saloon

amber adder
# golden basin [] instead

Ok I'll do that once I scroll up and read what I'm doing 😂 I got the tag when I was afk taking the dog on a walk

vernal crest
gentle rose
blissful panther
#

We do. It sustains us.

#

(Right now, we're witnessing Bouncer being unhappy in there, though.)

rough lintel
lucid iron
#

Bonched too close to the void

#

Exploded

gentle rose
#

yeah, I clearly missed something in there, there are like a million unread messages pffft

astral oyster
#

So JojaMart_Replacement I found to be really cool, so I thought what if I tested it with a custom location and then removed the mod; would it do the same thing? so I did Custom_LK_ClearingHouse_Replacement thinking it would redirect them to Town in the stated place. Does this Replacement command really not work for custom locations? Is it really needed to have the game check if X mod installed, is there not a way for them to just ignore it and go on with their day?

vernal crest
#

What was your C# code for it?

tiny zealot
#

so close!

            switch (locationName)
            {
            case "JojaMart":
            case "Railroad":
                if (!Game1.isLocationAccessible(locationName))
                {
                    if (!this.hasMasterScheduleEntry(locationName + "_Replacement"))
                    {```
#

(community center is farther down but doesn't check for a _Replacement key)

astral oyster
#

That's lovely, and it's not possible for one to just make an edit file like they might to nearly anything else within the game? Due to it being hard coded?

tiny zealot
#

you could patch it with harmony, if you're doing C#, but yeah there's no way to make a data edit that will fix it

#

(if you do this, be aware that Game1.isLocationAccessible is also hardcoded for the vanilla locations and would likely need patching too)

vernal crest
#

Much easier to just have different schedule patches depending on which mod is installed

astral oyster
#

Interesting, and useful to know; I think that's above my skill level right now unfortunately. Guess I will need to go back and do said schedule patches at a later point to fix up these times they enter said other locations. Thanks again for the help

deep cypress
#

1/20 chance for getting coims from wearing the Link tunic is prudent, perhaps?

#

(It's been way too many years since I played the original Zelda, I forget how often they came up. Plus I played it on a PC with cheats).

tiny zealot
#

have it check your status/inventory and give you stuff you are lacking. classic zeldos used to give you lots of bombs/arrows/hearts if you were running low on them

#

have a low % chance to spawn the trinket fairy for a few seconds (so it can give you a quick heal and then poof)

#

have the buff also play link's "hut" "hya" noises when you swing your weapon

lucid iron
#

Drop coins when u cut grass

#

And bombs

tawdry hinge
#

anyone know of a mod, or know if it would be easy enough to make a mod, that would make the mining elevator progress separate for each player?

deep cypress
#

Where does the game control weed breaking?

brittle pasture
#

that'd require C# and dealing with mp code, so on the advanced side of things
but with enough C# anything is possible

brittle pasture
deep cypress
#

Thanks!

brisk flame
#

Hey guys sorry if this isn't the right place to ask but I'm interested in helping with translating the Baldur's Village mod and I have no clue where to find the people who are already working on it

#

(doesn't say on the mod page, seems to be completely independent)
Any leads would be greatly appreciated💜

elfin mist
#

Is it possible to place map warps on spouse patios? I placed the warp property on the patio map and the game seems to recognize it, but it does nothing when I click it

deep cypress
#

Heh. Link shirt now does cool things. Link shirt now gives bombs, hearts ((O)930), n bombs (287), the middlin size cause they are classic looking. A bunch of other shirts will make differing weird drops too. LMK if u have another shirt u like a lot/think is cool, and want some drops or something when breaking barrels/cutting weeds!

uncut viper
blissful panther
#

Yeah, this could be... theoretically pretty simple. Store the player's lowest floor in the player data, and just use that when you open the menu.

uncut viper
#

yup, that was exactly what i was gonna suggest and/or do if kick wasnt gonna make it themselves

#

i actually dont think you even need moddata? Farmer.deepestMineLevel seems to exist and be local to just you

lucid iron
brisk flame
#

Well I wanted to ask around before I contact the creator of the mod

#

I didn't find any info on the patreon

lucid iron
#

For general "how 2 i18n" stuff you can ask here, but i assumed you wanted to get permission from creator

uncut viper
#

the creator of the mod should be the first person you contact about translating their mod

brisk flame
#

Sorry I didn't know

#

This is all they had on the mod page

#

So I assumed I had to look for people working on it somehow

uncut viper
#

oh, do you mean you wanted to contact other Translators?

brisk flame
#

Yes

uncut viper
#

theyre just saying that if you wanna translate it into like, spanish, and someone else already is, you should reach out to the person doing it if you want, but you're not actually required to

brisk flame
#

Yes but I want to
I just don't know where to find them

uncut viper
#

and if you dont see or know of anyone working on a spanish translation (not unlikely since i doubt many translations are made by teams doing it publicly before release) then you can just do it

#

there is no answer to "how do i find them"
they either exist or they dont
if they dont exist then you cant find them but we cant know they exist or not

lucid iron
#

I guess you can at least check comments

uncut viper
#

check the nexus requirements for Baldurs Village to see if one already exists

#

but if it does its likely already finished

brisk flame
#

Hmm?

uncut viper
#

(and by nexus requirements i mean on the Baldurs Village page, in the same set of dropdown boxes as the requirements tab, theres a Translations dropdown if any exist)

brisk flame
#

There's no translation yet

uncut viper
brisk flame
#

Hence why I'm looking for the people potentially doing it

uncut viper
#

if theres none yet then theres no one you need to ask

brisk flame
#

I'm looking for people to collaborate with

uncut viper
#

if theres nothing in the comments and no translations posted, then theres no one working on it, at least not publicly or in a findable way

brisk flame
#

I don't wanna start doing it on my own just to find out other people are also working on it

uncut viper
#

i havent seen anyone in here talking about Baldurs Village or translating it, so i believe for the most part people here have the same info about it as you do

brisk flame
#

Oki thx, I'll keep asking around

uncut viper
#

translators usually just do their own thing and dont talk about it much aside from on the nexus page itself

#

or at least not in here anyway

#

(or are machine translators...)

brisk flame
#

I see, I didn't know, thx for the info

marble verge
#

First pass done. 3+ MB of flat text. Grandpa needs a break now.

elfin mist
#

Guys, is it possible to place map warps on spouse patios? I placed the warp property on the patio map and the game seems to recognize it, but it does nothing when I click it

sour sleet
#

When making chairs for a custom tilesheet, how do I make them sittable?

lucid iron
#

You need to add ChairTiles

#

This mod implements them

sour sleet
#

Thanks!

#

Ok, so from looking at that mod, I've gathered that I will need to make a tsx? I'm a lil stumped

uncut viper
#

things i wish were more clearly visible in the Harmony docs: the fact that you can write your transpiler codematches like this if you add a specific using statement:

matcher.MatchStartForward(
  Call[AccessTools.PropertyGetter(typeof(MineShaft), nameof(MineShaft.lowestLevelReached))],
  Ldc_I4_5
).Advance(1);

matcher.SetInstruction(Call[AccessTools.Method(typeof(ModEntry), nameof(GetLocalLowestLevelReached))]);
lucid iron
#

What is this zoomeyes

#

Why would you

uncut viper
#

so i dont have to write the ugly new CodeMatch(etc, etc) or new CodeInstruction(etc, etc) every time

lucid iron
#

Call[ nolbpat ]

#

Oh it always implicit types me though

#

So i just write [new(blah), new(blah blah)]

uncut viper
#

i still like that less

wicked plover
#

I want to add a new bar next to these two bars using the same texture. For example, a drunkenness bar. How can I add it?

uncut viper
#

than just Ldc_I4_S[5]

lucid iron
#

I don't get why it uses [ ]

uncut viper
#

just overrides the index access operator i guess

#

why not

lucid iron
#

How terror

uncut viper
#

can use it to set the operand or the name

#

not that i know why id need a name for a codeinstruction

ornate locust
sour sleet
ornate locust
#

Just use the chairs

#

I did all the work, the chairs will chair

sour sleet
#

No I mean for my custom tilesheet

ornate locust
#

Aha, hang on a sec

sour sleet
#

Thank you!

ornate locust
#

You can see how I did it, but there's the thing I referenced to make it happen

reef kiln
ocean sailBOT
#

Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Home, with 43 C# mods and 35 content packs.
Suggested fixes: One or more mods are out of date, consider updating them

brittle pasture
#

you'd copy the code the game uses to draw those bars, move the coords to the left and change the icons, and then run them

lucid iron
#

It just means their animal is broken

crude plank
lucid iron
#

Wait deluxe items yggy

#

I see i need a null check here too

lucid iron
reef kiln
#

I just wanted you to know in case it was something you needed to fix.

lucid iron
#

I feel like there is several layers of telephone here LilyDerp

#

Anyways I'll try to clarify that error more, it is kind of important

reef kiln
#

Yup, seem like telephone to me too 😕

#

Sorry

lucid iron
#

I need to stop trusting non optional annotations on the data models

brittle pasture
#

well even the game itself doesnt trust it (the code for produce checks that (Deluxe)ProduceItemIds isnt null)

reef kiln
#

True, Don't you just not include it if you don't want it.

lucid iron
#

Well yes, but ideally my mod doesn't explod if someone did

brittle pasture
#

not 100% similar but my mod got hit with this problem some time ago
a code branch of EAC that handled harvest tool equalling null exploded because some mods were setting it to "null"

calm nebula
#

It can make anything null

calm nebula
#

I knew this existed because Brainz has talked about it before

#

Just not....what it was

#

And I use my own which uses implicit conversion operators lol

uncut viper
#

dont get too excited i think its actually broken in SMAPI's version of harmony

#

or if its not, i couldnt actually get it to work, it was just silently failing bc harmony treats empty codeinstructions as nothing and thus an auto match

sour sleet
#

Can someone explain this part to me? I'm trying to edit ChairTiles Data and I understand it other than the numbers in the entries and what they mean. Specifically this one

calm nebula
#

Take the x/y coordinate of the top left most pixel and divide by 16

sour sleet
#

The coordinate on the top left of my sofa?

calm nebula
#

No, the coordinate of the square your player is supposed to sit on

sour sleet
#

Ah ok thanks

hot gale
#

Is there a way to create a character, then export the images/spritesheet of the character (farmer) I created?

calm nebula
#

Effectively no

rancid musk
#

I wonder if this is actually useful, or if I am cooking too hard. Overlays. Example: ```cs
public class TestOverlay : IDisposable {
private readonly InventoryPage Page;

public TestOverlay(InventoryPage page) {
    Page = page;
}

public void Dispose() { }

public void ReceiveLeftClick(int x, int y, bool playSound, out bool suppressEvent) {
    suppressEvent = false;
    if (y > Game1.uiViewport.Height / 2) {
        suppressEvent = true;
        if (playSound)
            Game1.playSound("Duck");
    }
}

public void PerformHoverAction(int x, int y, out bool suppressEvent) {
    suppressEvent = false;
    if (y > Game1.uiViewport.Height / 2) {
        suppressEvent = true;
        Page.performHoverAction(-100, -100);
    }
}

public void Draw(SpriteBatch batch) {
    SpriteText.drawString(batch, "Hello world!", 0, 0);
}

}

// then...
API.OnPageOverlayCreation(evt => {
if (evt.Tab == nameof(VanillaTabOrders.Inventory) && evt.Page is InventoryPage inv)
evt.AddOverlay(new TestOverlay(inv));
});```

Result:

sour sleet
#

I don't seem to understand what this one is asking for?

dusk mulch
#

ok that’s it i am learning C++ so i can make a new inventory page with it, what inventory page you may ask? i dunno

rancid musk
#

Why would you learn C++ for Stardew modding

sour sleet
#

Isn't it C#

rancid musk
#

It is, yes.

dusk mulch
#

isn’t it C++?

#

oh

#

i thought it was C#

#

well i will learn C#

#

i am thinking it will be something like when you go camping in pokémon, you can pet and play with your animals and interact with them more, giving more friendship n stuff

sour sleet
lucid iron
#

I think you should cook harder

dusk mulch
rancid musk
lucid iron
#

CP hud DokkanStare

#

I need those goose

#

Hm i don't quite understand how the overlay learns about the menu position

rancid musk
#

The overlay has a reference to the page instance when it's created. Up to the user to store that and use it.

#

Overlays are also recreated if a page instance is recreated, which is why storing the page instance is safe.

summer sluice
#

asdfghjkldfgfj i spent 2 hours just to realize i forgot to load the image 🗿 this is what happens when you stop modding for months

hot gale
#

This may be a silly question, but, is the only way to make a custom NPC to draw one yourself?

#

If I want one to walk around etc I need to actually draw all the frames?

reef kiln
#

Or pay someone to do it for you.

hot gale
#

Bummer

golden basin
latent mauve
#

There's a png named Tilesheets/ChairTiles in vanilla that's all "front"layers of various seats facing up, and that's where it looks for that in vanilla

#

If your sitting direction isn't up, then you can usually skip that part/leave it blank or as -1.

#

Unless it's a sprite that's got a table or an extended arm/side in the way visibly or something.

uncut viper
brittle pasture
#

truly speed

uncut viper
#

it only took so long bc i got distracted with unnecessary harmony stuff

#

also testing multiplayer mods takes up like half the time you work on one

golden basin
#

I need organizational advice for my mod? I have 25 different npcs, each has their own folder and files right now which is making over 25 different character folders so I'm wondering if anyone has any ideas of how i can condese these files in a originized and conhesive way

uncut viper
#

i would structure them like the games Content folder does

#

personally

golden basin
#

hmmm i see the data folder though doesnt have everything in a folder?

latent mauve
#

Even just following how the game puts all the disposition/NPC basic data in one Data/Characters JSON would likely condense your code.

golden basin
#

This is true

#

hmmmm

uncut viper
#

i feel like if i had 25 NPCs the data/characters edit wouldnt be the main worry though i can see why you'd want a separate one for each for organization
but i think just trying to remember your folder structure and how to get the right assets is just a lot easier if you know it has to match the unpacked content

latent mauve
#

I try to do one JSON for Data/Characters entries, one for Event entries, one for dialogue, and I leave all my Location data in content.json

uncut viper
#

like you dont need to remember how to dig into NPCA's portraits, its just Portraits/{{NpcName}}

sour sleet
golden basin
#

Oh the asset structure is fine its more the data structure

uncut viper
#

the same goes for the data. my event data json would be in Data/events/{{location}} for example

latent mauve
lucid iron
#

Have you heard of the good word of LocalTokens

golden basin
#

a folder for data, a event folder and then the events seperated by location?

uncut viper
#

well, all under one "assets" folder

sour sleet
uncut viper
#

again tho thats just me, id just find it easier to remember and organize personally if i match the game

golden basin
#

I think there is confusion, my assets are a different folder, things like images are assets to me and then data is considered data

uncut viper
#

admittedly its also coming from a very C# mindset right now where its easy to dynamically iterate over these things

#

yes, i know.

#

my advice was that i wouldnt put them in a different folder.

latent mauve
#

dang it, my clipboard's all messed up

golden basin
#

oh hmmmm

latent mauve
#

was trying to copy/paste my message again with the reply. LOL

golden basin
#

I didnt consider that

uncut viper
#

i do want to emphasize tho that how a mod is best organized is a very very subjective thing

latent mauve
uncut viper
#

if its organized to you and you can understand your structure and how to find things easily, then its good

reef kiln
#

I personally like stuff separate into folder rather than bundled into one json. But that is more because I edit other mods a lot and it is easier to find stuff. I am sure as the actual modders less is better.

rancid musk
latent mauve
#

@sour sleet vanilla lays theirs out like this, with the bench side views being the first tiles in this sheet:

lucid iron
uncut viper
lucid iron
#

i did yes, just reminded me

sour sleet
uncut viper
#

my partner does the mining and i use the elevator after yes

#

i do not plan on using this mod

lucid iron
#

give how SC work does this also make em track the highest floor separately?

uncut viper
#

SC doesnt have an elevator

latent mauve
lucid iron
#

no but theres a number on ur user profile page

uncut viper
#

im not sure what you mean then

#

all it does is replace the MineShaft.lowestFloorReached number on the MineElevatorMenu constructor with Game1.player.lowestLevelReached, which is local to just you

#

(and also in GameLocation.performAction where it checks if the elevator works at all)

latent mauve
#

Breakdown of a ChairTiles entry:
"sheet filename/tile X/tile Y": "width in tiles/height in tiles/direction/type/draw tile X/draw tile Y/is seasonal/alternate tilesheet"

draw tile X, draw tile y, and is seasonal (when is seasonal is true) all look for tiles on alternate tilesheet.

uncut viper
#

the MineElevatorMenu also does a Math.Min with your lowest floor and 120 so SC is handled automatically by the game

lucid iron
#

this number

uncut viper
#

i dont see why itd change it at all, that already is only a local number

sour sleet
uncut viper
#

since there is no SC progress to share in the first place

lucid iron
#

huh i thought this was read from networldstate

#

MineShaft.lowestLevelReached

#

obviously its not important for ur mod

uncut viper
#

i didnt see it when i checked, but its possible i missed it

#

its not important either way though yeah

#

its not the one used for achievements

#

(or the qi challenges, or geode rewards, etc)

latent mauve
uncut viper
#

so really im not sure why the game uses networldstate for that one if it actually does, if anything i think it should be the opposite anyway lol

uncut viper
#

(i can confirm everything before the last field in ChairTiles is required and the last is optional)

#

you will get index out of bounds errors if you try otherwise

latent mauve
#

(thanks Button)

uncut viper
#

someone with ChairTiles experience would know more than me but i dont think they can be empty either

#

even if not required

latent mauve
#

fair, I think the safest thing to do is -1 instead of empty

#

I know some other delimited fields will default if left empty but I don't know that ChairTiles does that.

uncut viper
#

the instructions and code also seem to me like the drawTileX and drawTileY and isSeasonal all read from not the alternate tilesheet, too, but again, ive not used ChairTiles

#

like it looks like theyre just used in general

latent mauve
#

(Optional) The asset name for the tilesheet from which to get the draw tiles, using \\ (two backslashes) as the path separator. The default value is TileSheets\\ChairTiles.

#

That's for alternate tilesheet per the wiki.

uncut viper
#

and "The X and Y position in TileSheets\ChairTiles (or the custom tilesheet) to draw when the player is sitting, starting at 0." seems like its talking about the tilesheet you've defined in the key, no?

#

it doesnt mention it being for the alternate

#

chairtiles is always confusing to me

latent mauve
#

well, considering that ChairTiles is not the default tilesheet for the key, and is the default for alternate tilesheet... 😛

It cannot be the tilesheet in the key.

uncut viper
#

so if you set -1, then...

true fable
#

hi, im new to this and i was wondering if i could get some help on making custom player sprites

uncut viper
#

you will be drawing the -1st index on TileSheets\ChairTiles

latent mauve
#

yep, vanilla does this for anything that doesn't have a front layer, since that's the default tilesheet for draw layers.

uncut viper
#

ChairTiles data model in 1.7 pls

ocean sailBOT
#

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

uncut viper
#

also be aware custom player sprites, depending on how "custom" you want, may be very difficult and you may want to look at Fashion Sense instead

latent mauve
lucid iron
#

the files to edit would be Characters/Farmer/farmer_*

latent mauve
#

I had to write a formula just to help me break down the furniture delimited entries so I could understand it, LOL

lucid iron
#

+1 on its kinda hard yes

dusk mulch
#

I know if I do an EditMap to add NPCWarps it breaks the vanilla NPCwarps, is that the same for normal player warps?

lucid iron
#

for normal player warps, you can use AddWarps to append

dusk mulch
#

Alright, ty!

lucid iron
#

*prepend actually, warps added later go first

summer sluice
dusk mulch
uncut viper
#

the mod isnt even an hour old so you're not too late SDVpufferthumbsup

latent mauve
#

I did ask Pathos about making AddNPCWarps a thing and he said he'd look into it, so, in the future that should be less dangerous to add also. 😄

calm nebula
#

You can't text operations?

latent mauve
#

I did ask about how you'd use Text Operations to do it a few days ago, atra, but nobody seemed to know...?

dusk mulch
#

For AddWarps if I want to add multiple do I need a new string or do I put all the warps into the 1 string?

lucid iron
#

the docs say change the value for an existing map property hm

#

i will go try thing brb

latent mauve
#

Example from Pelican Valley Loft apartment mod

dusk mulch
#

So it is just separate strings in a list?

latent mauve
#

"AddWarps": ["22 24 Mountain 26 29", "23 24 Mountain 26 29"], this one's probably more useful to you

dusk mulch
#

Yeah that helps more, ty!

lucid iron
#

[Content Patcher] Can't apply map patch "(CP) MMAP Examples > Include woods.json > EditMap Maps/Farm" to Maps/Farm: TextOperations > entry 0 couldn't be applied: path root 'Entries' isn't valid for an EditMap patch

#

it didnt like it SDVpufferpensive

uncut viper
#

TextOperations does work on Warps and it doesnt need AddWarps

#

but TextOperations only works on existing map properties

lucid iron
#

hm wait i had unrelated mistek

uncut viper
#

if the map property doesnt exist, you must create it with CP, but then if multiple people do that, they will overwrite each other

lucid iron
#

ok it likes it

#
{
  "Action": "EditMap",
  "Target": "Maps/Farm",
  "TextOperations": [
    {
      "Operation": "Append",
      "Target": [
        "MapProperties",
        "mushymato.MMAP_WoodsLighting"
      ],
      "Value": "T",
      "Delimiter": " "
    }
  ]
}
latent mauve
#

So AddNPCWarps would still be needed in case you aren't sure if there's a map property for it yet.

lucid iron
#

this worked and gave me the woods lighting

latent mauve
#

Assuming it checks and adds the map property if it's not there?

uncut viper
#

your farm did not already have WoodsLighting MMAP propertyy on it?

latent mauve
#

I don't understand how you'd target a property that doesn't exist yet with "Target": []

uncut viper
#

the docs imply you cant

latent mauve
#

I wouldn't expect you could

uncut viper
#

so if chu's worked regardless then it confuses me

lucid iron
#

it did not already have the map prop

#

this is a custom map prop from unreleased version of mmap so i'd be surprised if it did

#

doc may just be wrong who knows

uncut viper
#

if you put in a completely nonsense property key like just a keysmash, does it add it to the map

#

instead of WoodsLighting

#

or ig if you test it without mmap thatd also do it lol

lucid iron
#

so yea i think it'll work

uncut viper
#

well. i guess the docs are wrong then?

lucid iron
#

i guess so, or just limited

uncut viper
#

it specifically says "existing map property"

reef kiln
lucid iron
#

like the doc has a true statement

#

but not a comprehensive one

uncut viper
#

please ignore what i said as it was based on incorrect docs

#

well, how is it true

#

"there be spooders in here ::::)" is not an existing map property in any sense

lucid iron
#

it definitely lets you change the value for an existing map property too i mean

#

but the wording implies you cannot change a non-exist map prop

#

which is why we r all confused here

uncut viper
#

it also says the only valid path is the name of a map property to change but not to add

lucid iron
#

that might be refering to the way text operation targeting normally work

lucid iron
#

i.e. u usually target Entries which i also got wrong the first time

calm nebula
#

It would be nice for it to work,

lucid iron
#

well it does atra

uncut viper
#

the issue with the docs is that it does but the docs imply it shouldnt

lucid iron
#

@ivory plume can you clarify EditMap TextOperations docs? We seem to be able to add whole new map properties by doing this but doc implies we can't

#

a proper AddNPCWarps would be nice ofc

uncut viper
#

tbh if it already works im now not sure what the benefit of addwarps even is besides just being a shortcut. if that's all it is then that's fine too I just thought there was more reason

ivory plume
#

I'll clarify the docs to say "add or change the value"; thanks for pointing it out!

#

AddNpcWarps is tentatively planned for the next Content Patcher update.

latent mauve
#

I still want AddNPCWarps, it's way easier to remember

lucid iron
#

there r a few vanilla things that are some kind of "list" as a big ol string and they dont delim very nice

uncut viper
#

is there reason to use it besides that though? /gen

#

if you just want to add a warp

ivory plume
#

AddWarps and AddNpcWarps are basically equivalent to a prefix TextOperation with added validation (e.g. it'll make sure your warp syntax is correct and log a specific error if it isn't).

fierce vault
#

Hi, do you guys know of any mods that make the white round stone paths from the town buildable? I’d like to know if I ended up making one if it would be redundant. I’m think of having all three versions able to be placed along with the regular randomization that comes with paths normally as options for the mod if I make it. What do you think?

calm nebula
#

(Sorry, I sent that ages ago)

#

It just sent

lucid iron
#

like for example Stumps 24 6 3 29 7 3 26 10 3 46 6 3 34 26 3 41 26 3

calm nebula
#

Tbh my bandwidth is bad

lucid iron
#

these r triplets so replacing a specific stump seems very hard

uncut viper
lucid iron
#

yea i dunno either LilyDerp

#

regex

uncut viper
#

unless you made the user set how many values are in one value

lucid iron
#

but warps actually have demand from multiple mods editing 1 thing together

#

whereas stumps is not that big of deal

uncut viper
#

you also don't need to worry about delimiting with warps as long as you pretend or append with a space anyway

dusk mulch
#

Stumps arn't hard coded to regenerate only in the secret woods, right? I can use the stumps map property anywhere?

lucid iron
#

looks like any map yes

#

wiki needs edit

sour sleet
#

I know how to add interior doors but how can I make it so that they are locked by friendship like in vanilla?