#making-mods-general

1 messages · Page 306 of 1

lucid mulch
#

isn't the coordinates vectors

tender bloom
#

Collision and size?

#

Yeah that would make sense

#

Coords here are not vectors

lucid iron
#

but hm that is significantly more patches kyuuchan_run

tender bloom
#

I mean, you can convert that to a vector with an implicit origin

lucid mulch
#

(I'm mainly rage baiting at this point)

lucid iron
#

^calcifer_tv_x(-?\d+(?:\.\d+)?)y(-?\d+(?:\.\d+)?)s(-?\d+(?:\.\d+)?)$

tender bloom
#

But I feel it’s not a vector when it’s defining an area

lucid mulch
#

anything can be vectors if you use complex numbers to describe it

tender bloom
#

S being height or?

calm nebula
#

Chatgpt, draw me a picture of me wearing a patchwork dress

tender bloom
#

Since width probably is just x?

#

Sorry Atra I don’t answer to that name 😛

calm nebula
#

Coordinates are vectors but what dot product are we calculating

tender bloom
#

Maybe when I get home I can break out the pixel art and draw a really blurry picture

calm nebula
#

Smh go home

tender bloom
#

I’m gathering the willpower SDVpufferpensive

lucid iron
#

s is the number i will postfix into getScreenSizeModifier 3sSmolMiku

tender bloom
#

Lollll

#

Reasonable

sour sleet
#

Why won't my NPC follow their schedule and won't speak to me despite having a schedule and dialogue? Are there any steps I'm missing out?

tender bloom
#

I guess width = x and height = 1 is prob fine

#

There are so many reasons schedules can go wrong

#

I would start with the dialogue though

lucid iron
#

the aspect ratio is fixed i think

tender bloom
#

That’s a less common problem

calm nebula
#

For example, the character may have adhd

tender bloom
#

And thus probably more likely to lead you to the root cause

lucid mulch
#

are they following a different schedule, or just not moving

sour sleet
#

They aren't moving at all

#

And not talking either lol

lucid mulch
#

iirc null schedules were Bad™️ but can't remember if 1.6 made them less bad or not

tiny zealot
sour sleet
#

I slept a few days

fierce vault
#

Anyone know where the wells are?

brave plinth
#

Would it be possible to implement a check if current map has enemies and prevent player from doing certain actions if theres enemies on map the player is currently on, like changing equipment?

calm nebula
#

I lend you willpower

sour sleet
#

Including the schedule is enough right? I don't need to do a load?

tiny zealot
#

you need to load/edit the correct schedule asset for your NPC, yeah

lucid iron
#

actually where does furniture grab context tag from NotteThink

calm nebula
fierce vault
#

Oh, nvm, I found it. It was in the buildings folder, I just missed it

#

It was at the very end

tiny zealot
sour sleet
#

So I need to change Include to Load?

tiny zealot
#

backing up

#

in order for the game to see any of the data in your mod files, you have to provide it by loading (or editing) it into assets

#

we can't see your schedule data, so it's very difficult to give specific guidance. you need to make sure your schedule entries are put into Characters/schedules/YourNPCInternalName

lucid mulch
#

Include is just a way to break your content.json Changes to be across multiple files.

Load loads files from disk and puts them into the asset pipeline as-is.

Edit* edits assets within the asset pipeline

tender bloom
calm nebula
sour sleet
#

Thanks ichor, I will fix up my entries now

lucid iron
lucid mulch
#

the debug step that would have also shown this btw is patch summary <modid> and the edit data for your schedules would show that its not applied

fierce vault
#

Hey, sorry about this, but I seem to have forgotten how to select and move portions of multiple layers. I know I can select them all with command/ctrl, and I had collectively moved them all once, but now I can't seem to figure it out

calm nebula
fierce vault
#

Yes, but I can't seem to collectively move portions of them afterwards

#

Or even all of them at once it seems

sour sleet
#

Ok so it's saying there's an error with my Schedule.json although according to smapi.io, there is not. Could the issue be that I only have a test schedule for spring only before I do it for real?

fierce vault
#

Oh, I think I finally got rectangular select to work. Sorry about that

sour sleet
#

So I have no schedule for summer, fall and winter. Just a short schedule for spring. I am in spring, but smapi is erroring

proven spindle
#

What does the error say? A spring-only schedule should work fine, that's what most of my npcs start out with in testing

#

Also hi everybody

lucid mulch
#

smapi's json site will only check that its valid json (according to newtonsoft) and not whether there are semantic errors in the various data formats nested within it

sour sleet
proven spindle
#

Is it in a separate file from the content.json? Check how it's being loaded

sour sleet
#

It's being loaded within my npc.json which is included in the main content.json. There is also an error when I try talking to them so I'm doing something wrong:(

proven spindle
#

Hmm

#

Are you doing a blank load and then adding the dialogue/sched via editdata, or just putting them directly in the load patch?

sour sleet
#

Here is the relevant part of the json - I have confused myself lol { "LogName": "Dialogue", "Action": "Load", "Target": "Characters/Dialogue/AnyaLilybrook", "FromFile": "Data/NPCData/BlankDialogue.json" }, { "Action": "Load", "Target": "Characters/Dialogue/AnyaLilybrook", "FromFile": "Data/NPCData/AnyaLilybrook/Dialogue.json" }, { "Action": "Load", "Target": "Characters/Schedules/AnyaLilybrook", "FromFile": "Data/NPCData/AnyaLilybrook/Schedule.json" },

uncut viper
#

an actual error log is much preferred for debugging

ocean sailBOT
#

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

sour sleet
#

It's all a jumbled mess in my head!

uncut viper
#

what do the first 3 lines of your AnyaLilybrook\Schedule.json look like?

sour sleet
#
    "Changes": [
        {```
proven spindle
#

Log says it's got an extra [ in the schedule.json, so check the square brackets in there for an extra of that

uncut viper
#

double check that n++ (or w/e) has actually saved the file and also that its not a different copy you were editing

proven spindle
#

Although it might be that it's expecting just the entries section, so no Changes section needed in those jsons at all

sour sleet
#

Here's the full json, it's my test sched ofc haha ```{
"Changes": [
{
"LogName": "Anya's Schedule",
"Action": "EditData",
"Target": "Characters/schedules/AnyaLilybrook",
"Entries": {
"spring": "610 8BitAlien.Lilybrook_AnyaHouse 15 13 0/1400 8BitAlien.Lilybrook_Lilybrook 40 40"

        }
    }
]

}```

calm nebula
#

(It's a load, so it's expecting, well

#
    "spring": "blah"
}```
#

And not a content patcher Changes list

uncut viper
#

ah, yeah, thatd be it

sour sleet
#

So I need to get rid of the changes part, ahh ok

uncut viper
#

you'd need to change more than just that line

#

if you Load something then it must look exactly the same way that, for example, schedules/Haley.json would look like in your unpacked content folder

#

in this case a dictionary of string to string

#

not structured like a patch at all

#

(which will ofc mean you cant use tokens)

sour sleet
#

I'm sorry but I don't think I understand what you mean SDVpufferthinkblob

uncut viper
#

you are possibly confusing Load with Include

#

if you were going to use load, then this is what AnyaLilybrook\Schedule.json would need to look like:

{
  "spring": "610 8BitAlien.Lilybrook_AnyaHouse 15 13 0/1400 8BitAlien.Lilybrook_Lilybrook 40 40"
}

the entire file. no changes, no Entries, no target, nothing

#

what you probably meant to do was not do Load and use Include instead

calm nebula
#

(And then you can't use tokens)

#

(Which may not be a deal-breaker for you)

sour sleet
#

I was initially using Include but it wasn't loading into the game at all

uncut viper
#

so this:

{
      "Action": "Load",
      "Target": "Characters/Schedules/AnyaLilybrook",
      "FromFile": "Data/NPCData/AnyaLilybrook/Schedule.json"
},

should instead be this:

{
      "Action": "Include",
      "FromFile": "Data/NPCData/AnyaLilybrook/Schedule.json"
},
sour sleet
#

I will try it again though!

uncut viper
#

this will make Content Patcher treat your Schedule.json as another content.json essentially, which will then make it do the EditData patch

sour sleet
#

Is this correct? { "Action": "Include", "Target": "Characters/Schedules/AnyaLilybrook", "FromFile": "Data/NPCData/AnyaLilybrook/Schedule.json" },

uncut viper
#

Includes do not have targets

sour sleet
#

Smapi says it needs a target

uncut viper
#

an include does not use a target

calm nebula
#

(Also you would need to Load a blank json into the target to edit)

uncut viper
#

you already have the target in your EditData patch inside your Schedule.json

trim sand
#

question, when adding entries to an existing list via content patcher in this case adding recipes to a machine. is there a way to see where they end up in said list?
im having an issue of a "fallback" case getting applied instead of my explicit compatibility.

uncut viper
#

new entries are added at the end of a list

#

wherever the "end" might be at that point in the edit cycle

#

others may then be added after you ofc

#

(this is assuming it is actually a List and not a Dictionary, which technically has no order)

sour sleet
#

Ok well no more errors now but they aren't moving at all haha

uncut viper
#

remember to sleep a day or two

sour sleet
#

will do

trim sand
#

ah. that'd explain the issue. since Cornucopia puts all its recipes into the list including its fallback that catches any item with the milk catagory, i think its a list since its always meantioned as matching the "topmost" item possible.

uncut viper
#

yeah that sounds right for machines iirc. you can use MoveEntries to move items around if you really need to

trim sand
#

machine output rules id assume are a list. though im bad at identifying the difference.

uncut viper
#

if its a [] its a list

brittle pasture
#

if you want your rules to trigger before the generic fallback move them up yep

uncut viper
#

in this case a List of MachineOutPutRules (or w/e they are)

sour sleet
#

She's not moving after I've slept

trim sand
#

that leads to my next question of moving around entries, though by the sound of it is just a different CP action?

vernal crest
#

Use Lookup ANything to see if she has a schedule loaded

uncut viper
#

debugging the schedule stuff itself is where i must check out, i only know how to structure the json

vernal crest
#

I haven't been fully following but I'm not certain you've got a blank load for your schedule

sour sleet
#

The dialogue is coming up with an error also without even talking to them

vernal crest
#

And you need one if you're using an Include to do an EditData patch for your actual schedule data

sour sleet
uncut viper
#

(also Silver you can do MoveEntries in the same patch you do the EditData, the MoveEntries will apply after the Entries/Fields (but before TextOperations if thats ever relevant to you))

vernal crest
#

Your NPC's schedule doesn't exist until you create it and because you want to use tokens, you Load a blank file first and then EditData to populate it with the actual schedule.

sour sleet
#

So like this? { "LogName": "Blank Schedule", "Action": "Load", "Target": "Characters/Schedule/AnyaLilybrook", "FromFile": "Data/NPCData/BlankSchedule.json" },

uncut viper
#

you can reuse the same blank.json for all your blanks if you want

sour sleet
#

Ohhh ok

vernal crest
#

Also it's schedules, not Schedule

steel plaza
#

how do i write this? and where do i write it? is it in the json?

uncut viper
#
{
      "LogName": "Blank Load",
      "Action": "Load",
      "Target": "Characters/Schedules/AnyaLilybrook, Characters/Dialogue/AnyaLilybrook, Data/Events/CustomLocationHere, etc etc",
      "FromFile": "Data/blank.json"
},
sour sleet
#

Thank you, will try it now!

#

Oh I'm so confused rn. Smapi errored this: [Content Patcher] 'Lilybrook' has multiple patches with the 'Exclusive' priority which load the 'Characters/Dialogue/AnyaLilybrook' asset at the same time (Lilybrook > Include Anya > Data/NPCData/AnyaLilybrook/Anya.json > Blanks (Characters/Dialogue/AnyaLilybrook), Lilybrook > Include Anya > Data/NPCData/AnyaLilybrook/Anya.json > Load Characters/Dialogue/AnyaLilybrook). None will be applied. You should report this to the content pack author.

#

This error happened at 610, when the schedule should have started

vernal crest
#

You're loading a blank for your dialogue and then instead of using EditData to add the dialogue, you're loading again.

sour sleet
#

So I need to change Load to EditData then. Thanks for bearing with me here. I have a condition that means I can't always grasp things as quickly as I'd like to!

#

No wait, I include the dialogue right?

#

So I have this now { "Action": "Include", "FromFile": "Data/NPCData/AnyaLilybrook/Dialogue.json" }

#

And then the EditData within dialogue.json

#

Is that correct?

vernal crest
#

Yup that's the process. Just checking, are you aware that Includes are just for keeping your files tidy? You don't have to use them if you prefer to put everything inside your content.json.

sour sleet
#

The errors have all cleared, but she's still not moving or talking. And yea I know that:)

vernal crest
#

Have you slept again?

sour sleet
#

Yep, still nothing

vernal crest
#

Do you have the Lookup Anything mod?

sour sleet
#

Nope but I can get it rq

vernal crest
#

Don't stress, it just would've made things easier.

#

Are you sure that your targets for your loads and EditData are correct? They're definitely the NPC's internal name as you have it listed in the Data/Characters entry?

#

Although LA is incredibly useful for modmaking, so I do actually recommend you get it anyway.

#

However without it, you can just do patch export Characters/Dialogue/AnyaLilybrook and patch export Characters/schedules/AnyaLilybrook to see what the game has for the dialogue and schedule.

sour sleet
#

Yep, she's listed as AnyaLilybrook. And I've just got LA

lucid iron
#

i got a report about geode crusher producing rings and crashing everything NotteThink

ocean sailBOT
#

Log Info: SMAPI 4.2.1 with SDV 1.6.15 build 24356 on Microsoft Windows 10 专业版, with 154 C# mods and 139 content packs.
Suggested fixes: One or more mods are out of date, consider updating them

lucid iron
#

i dont think machine control panel can cause this (it doesnt patch StardewValley.Object.OutputMachine), but none of the other patches here look like they are casting anything to Object unchecked either

#

is this a vanilla bug?

calm nebula
#

Yes

vernal crest
# sour sleet Yep, she's listed as AnyaLilybrook. And I've just got LA

Ok cool well once you're back in game, go to the LA settings and turn on Data mining fields (tile lookups is also useful but not necessary for what we're doing right now). Once you've done that, you can press F1 while hovering over Anya to open a menu showing info about her. It will show what schedule she has for today and if she has any dialogue loaded.

lucid iron
#

who added rings to geodes then seriousblep

sour sleet
#

Nothing seems to be wrong with the patch export of schedule though

vernal crest
#

So the schedule is there and looks normal? In that case, try double checking your maps to make sure that it's definitely possible to get between them. Is your first schedule point at the same position she spawns in or somewhere slightly different?

sour sleet
#

A few spaces left basically just to test

#

SHE'S MOVING!!

vernal crest
#

Hooray!

pine elbow
#

I hope I'm not interrupting, but I'm having trouble with getting a door to swing open haha

#

I'm not sure where I'm going wrong here

vernal crest
#

Do you have the Doors map property?

pine elbow
#

Is that not what "door" means?

vernal crest
#

That's not a map property

#

Doors require a map property and a tile object property in order to work

#

I have no clue why the entry for Action Door is referencing dialogue SDVpufferthinkblob

#

I wonder if it was meant to go with the ConditionalDoor entry instead.

pine elbow
#

Ohh...I didn't know it needed both

vernal crest
#

Yeah, it's hard to figure out without someone telling you. I'm going to edit the Action Door entry on the wiki so it tells you that you need the map property too. People usually manage to find the tile object property but rarely find the map property.

pine elbow
#

Thank you. Lemme test with the map property inserted now

#

Nope...

vernal crest
#

Sorry I just stopped looked at the code to try to understand how Door works and realised you've written the tile action wrong too. What are all the numbers?

pine elbow
#

Tile (first) and Map (second)

#

Wait

vernal crest
pine elbow
#

This is a door that can be opened at any time

vernal crest
#

Looks like you might be using the instructions for the map property in your tile action?

#

Then according to what is in the Saloon, it's just Action Door

#

Which means I need to change the wiki entry so it doesn't show the first NPC name as being mandatory

pine elbow
#

Yeah my tiledata is Action Door I just...forgot to screenshot it

vernal crest
# pine elbow

Then what is this? Do you mean you changed it since doing this screenshot?

pine elbow
vernal crest
#

Ah, then your problem is that the map property is called Doors with an s.

pine elbow
#

Of course...of course it is...SDVpuffersquee

vernal crest
#

That's how they getcha lol

pine elbow
#

alright let's test this bad boy

#

Door is no longer invisible, but I can't open it...

#

wait hold on

#

I didn't change Action Door to Action Doors

#

silly silly

steel plaza
#

what is the difference between these two, how do i right t^2 in TILED?

vernal crest
vernal crest
# steel plaza what is the difference between these two, how do i right t^2 in TILED?

The superscript 2 is not something you put into Tiled, it's a footnote indicator. If you scroll down to the bottom of the table, you will see a superscript 1 and 2. The 2 says that putting any value into the field of the properties marked with the superscript 2 marks them as true. It means that you can't put Passable F into the Passable property to make it false.

The difference between the two Passable properties is that when placed on the Back layer, a tile with Passable becomes unpassable, while a tile with Passable placed on the Buildings layer becomes passable.

brittle pasture
vernal crest
pine elbow
#

Yup

brittle pasture
#

I literally can't tell which one of their mod is responsible for removing the ban on crushing mystery boxes though; MPS and MES doesn't do that (EDIT: Found it, it's Better Things)

vernal crest
vernal crest
# pine elbow

Hmm. That all looks correct. Try doing a patch export of the map and see if the exported copy is correct?

pine elbow
#

aye aye

brittle pasture
#

nvm found it, it's Better Things

pine elbow
#

...Sorry, what would I write for the patch export?

vernal crest
pine elbow
#

Ah ty

ocean sailBOT
#

Log Info: SMAPI 4.2.1 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Pro, with 11 C# mods and 6 content packs.

pine elbow
#

Took me a couple tries haha...

vernal crest
#

Wait, why am I being sent a log?

pine elbow
#

Is that not how we share patch exports..?

vernal crest
#

Haha no, understandable thought, but patch export exports the entire asset from the game. Because this is a map, it has exported the entire map - in .tmx format - into C:\Program Files (x86)\Steam\steamapps\common\Stardew Valley\patch export. If you head to that folder you should be able to open the map in Tiled and check for yourself if the Doors map property and Door tile action look the same in the exported version as they do in the copy in the mod folder. If they don't, the issue is that your changes aren't actually making it into the game. If they do, we look elsewhere for the problem.

pine elbow
#

Ah! Alright. TyTy

#

It seems to be correct

#

These are the object properties

vernal crest
#

No Action Door?

pine elbow
#

Not that I see

#

Only on my main map does Action Door exist

vernal crest
#

Is that TileData definitely the Buildings layer? When you export a map it adds TileData for every tile so you might be on the wrong layer. The ID is different.

pine elbow
#

100% on Buildings

vernal crest
#

How are you checking that?

pine elbow
#

Hold the phone I might've cracked the case

#

I had another tiledata underneath my Action Door one

#

...Nope didn't fix it

pine elbow
lucid iron
vernal crest
pine elbow
brittle pasture
#

someone reported it earlier even

brittle pasture
#

for now I told them to maybe remove that change or add a dependency to EMC and use the non-Object output feature for mystery boxes SDVpufferrad

pine elbow
#

I'm scratching my head because everything seems to be correct???

vernal crest
# pine elbow

Hmmm I really do not know then. I must be missing something but I don't know what it is. The only thing I can see that's different is that your map is using a tile layer format of XML for some reason instead of CSV but I have no clue why that would affect anything.

boreal pulsar
#

Where should one upload his mods? Nexus mods?
I bet there's a command about this topic

brittle pasture
#

yeah nexus works

hard fern
#

Nexus is the best place I'd say. (It's the most popular)

brittle pasture
#

some people use github or moddrop, but those have very limited visibility compared to nexus

#

github is popular for beta releases though

glossy cargo
#

Make real, organized releases on your github, and then put the file on Nexus as well

#

Github for organizing, Nexus for Marketing

pine elbow
vernal crest
lucid iron
#

my github releases are big mess and almost exclusively test builds for people kyuuchan_run

brittle pasture
boreal pulsar
lucid iron
#

terrible Things

boreal pulsar
vernal crest
pine elbow
#

Ty! I really appreciate this

vernal crest
#

I did do the maps page update and even linked between the two doors properties so hopefully people will be less confused about that in future.

pine elbow
#

nod nod

boreal pulsar
#

I only used github as version control on private repos when working on my game, so idk how it works with releases branches etc when being public

lucid iron
#

when you make a release you just get a tag created

#

plus whatever release notes you want to write in there

boreal pulsar
#

So it's not a normal push

lucid iron
#

nop its a github thing not a git thing

glossy cargo
# boreal pulsar Wdym with very organized

Github lets you distinguish between releases and pre-releases, it lets you tag versions, linked to specific commits, it can autogenerate release notes, it makes it super easy for someone to downgrade, sidegrade, read the code for a given version, make PRs, etc, and whatever the heck else they might want to do. There is zero ambiguity, they can get exactly what they want/need.

In comparison, Nexus is terrible on most of these fronts. What Nexus shines at, is visibility (being discovered by people), and advertising (you can make the mod look appealing and interesting). It also encourages discussion about the mod from user to user. Overall, Nexus is a better entry point, and better for casual players, and Github is better for you, the dev, and any other tech-literate person who might be interested in your mod.

boreal pulsar
lucid iron
#

it is pretty annoying to look through old versions of mod if u need to rollback yea

boreal pulsar
lucid iron
#

on nexus

vernal crest
# pine elbow nod nod

Ok what is this TileData.tx thing it's saying it needs when I go to open the map? Do you edit the map in a different folder than the mod folder?

lucid iron
#

for sdv mods tho i generally want people to just get latest version

brittle pasture
#

that_picture_of_a_user_being_confused_by_how_github_works_followed_by_an_unhinged_paste_this_command_into_the_console_response.png

lucid iron
#

there r many git good practices that i am definitely not doing Dokkan

#

ultimately tho its just tool use it how u want

glossy cargo
#

My personal strategy is to keep my nexus about one version behind my github, during active times (when i release 1+ versions per day). This makes it so the casual users on Nexus get the more stable stuff, and the advanced users that go to my github get the bleeding edge stuff. And of course my pre-releases never hit Nexus at all, because I don't expect the average Nexus user to figure out how to use pre-releases of Archipelago lmao

boreal pulsar
#

Alr so as of now I just have a public rep where I commit whenever I make changes, so if I understand correctly whenever I wanna make a "release" I push it witha tag or something,?

glossy cargo
#

I barely expect them to figure out how to use current release of archipelago LUL

pine elbow
lucid iron
glossy cargo
#

Go here

glossy cargo
#

Then here

pine elbow
#

Because I couldn't figure out how to put down a tiledata from scratch

glossy cargo
#

At the top you set your tag (generally, the version number, unless shenanigans), you choose a branch to link the release to, you give it a name and write out release notes, and upload your zip

boreal pulsar
#

There's so many things I have to learn

lucid iron
#

you do want to have nexus release bc github is unsearchable for this kinda thing

vernal crest
glossy cargo
#

I guess the short version is: Using github is to make things more convenients for other devs. Other devs also include "you in the future"

boreal pulsar
rigid oriole
#

If I accidentally open a save without certain mods loaded and the game removes broken NPCs, that change isn't permanent if I don't save the day, right?

lucid mulch
#

correct*

glossy cargo
#

The day someone finds a super sneaky bug and you have users figuring out it happened on 5.3.3 but not on 5.3.2, you'll be very glad to easily have searchable tags so you can search for the bug in 3 commits (12 lines) instead of 499 commits (2845 lines)

#

yes I do speak from experience kek

boreal pulsar
#

Is there any important difference when making framework mods

lucid mulch
boreal pulsar
#

From what I understood frameworks are like libraries in Minecraft modding (?)

glossy cargo
#

I've never made one, but at the very least, I would assume that anything that benefits devs, is 10x more important if making a framework, than if making a normal mod

lucid iron
#

in sdv mods lingo a framework mod is specifically a mod that exposes features to content

glossy cargo
#

as your target audience is exclusively devs

lucid mulch
#

From a functional standpoint theres just C# mods and content packs.
the term framework is vague and roughly describes a C# mod that exposes functionality via the asset pipeline (read: content patcher) or API

lucid iron
#

and people will want documentation from you

#

usually u can just put a md on github/gitlab/etc they usually have support

glossy cargo
#

Also, from the other side, when you need something from a mod and you see this, you cry

#

So being good with commits and releases is nice, it prevents other devs from crying shiba_cry

lucid iron
#

u can do fancy website too

rigid oriole
boreal pulsar
# lucid mulch From a functional standpoint theres just C# mods and content packs. the term fra...

Yeah I'm trying to make a framework of a fortune wheel, where via API you can pass a list of "things" that have IDs, names and descriptions, than the mod automatically generates a wheel with those items and let's the player spin it to pick one of the items. After the item is selected a signal/callback is received from the external mod using the API and she can do whatever she wants with it
Like idk give an item to the player, apply an effect, etc

glossy cargo
#

(Yes I did need to specifically edit some SVE 1.14.46 code, and no I was unable to because the commits go 1.14.31 -> 1.15.0-beta, and it caused me so many headaches)

rigid oriole
#

I'm gonna be honest that seems like a very oddly specific task

lucid iron
glossy cargo
#

(I had to do some things so cursed I can't repeat them in a family-friendly server, to get it to work as I needed)

lucid mulch
brittle pasture
rigid oriole
#

why do i have 2 commits named "filters" in a row

lucid mulch
#

at some point I do want to invest in figuring out how to get good stardew ci/cd going, to help enforce anything going near a user is tracable in version control

rigid oriole
#

honeslty i should tag my releases at least even if i'm too lazy to release through git but it feeels weird with my monorepo

glossy cargo
#

Some weeks are more active than others, but I think I'm doing okay for commit frequency PeepocomfySmile

lucid iron
lucid mulch
lucid iron
#

but having tags r nice for checking out to specific version

brittle pasture
#

I do put my release version in the commit at least, even if the user has to go to nexus for the real changelogs

glossy cargo
brittle pasture
#

if they want tags too bad

#

I'm not being paid to do this

lucid iron
#

looking at the commit history of csproj is basically the same trust

lucid mulch
#

I want to get it to the point that a github release automatically pushes it to nexus
(and also have a way for smapi to cryptographically verify the build did come from that public CI run and is verified opensourcce)

lucid iron
#

i would love to never have to interact with nexus file upload

lucid mulch
#

smapi itself has to play by slightly different rules, as smapi needs to be trusted by the OS not itself, but mods only need to be verifyable to smapi

lucid iron
#

but i thought the mod file upload api doesnt exist yet, did they add that in v2?

lucid mulch
#

there are hacky ways to do it apparently that casey tried, but they didn't work purely due to missing a file description

rigid oriole
#

slightly new topic but genuinely... Why am I unable to calculate whether this little UI piece will fit between the energy bar and the toolbar 😭

#

is the width property of a menu reliable

lucid iron
#

did u look at it with debug mode

rigid oriole
#

i don't think debug mode knows about the toolbar

lucid iron
#

wha are u using as the ref?

rigid oriole
#

i'm using the xPositionOnScreen of the toolbar plus its width plus the amount of space i deem necessary for my UI plus the energy bar width (a hardcoded number which may or may not be a good idea with ui scaling)

#

and comparing it to the ui viewport width

#

I'm not technically drawing on the UI layer which probalby doesn't help

lucid iron
#

hm toolbar has a hardcoded width

rigid oriole
#

but yet it can change width with ui scaling

#

i think drawing ui must rescale the whole sprite batch or something

lucid iron
#

yes

#

anyways my suggestion is to try using toolbar.buttons[11].Right

rigid oriole
#

that's hacky but i like it

lucid iron
#

thats the right point of the 12th button

#

idk if u have to worry about scale really, if u are draw in ui context

rigid oriole
#

maybe i should just draw in ui context

#

he's so close

pine elbow
#

Floor goes on the Back *tile layer

vernal crest
#

Do you mean tile layer, Sage?

lucid iron
#

Is the floor a tile or like

#

Wallpaper/floor

pine elbow
#

Tile. Yes

latent mauve
#

Are you attempting to set a default floor for your map, and is it meant to be a decoratable location where users can replace the flooring?

#

If so there is a specific property for that. Otherwise, you just place the tile down on your map in Tiled after embedding your custom tilesheet.

gaunt orbit
# rigid oriole is the `width` property of a menu reliable

Usually the size and position fields are used to determine the clickbox for hud elements, so they're usually pretty accurate, but sometimes don't contain nonclickable visual elements like borders.
that behavior can be overridden, though, and there's no constraints on draw code, so it might not be reliable for badly behaved menus

rigid oriole
#

it was the border

#

the border was not accounted for

#

the spacing 😌

lime seal
#

Readers Digest was one of my favorite mods back in 1.5, and sadly the 1.6 update is only partially working (the living off the land tips send, but the cooking tips don't and have errors).
I got to thinking though, with the changes to mail in 1.6, would it be possible to have the features in CP only and avoid the C# code? SDVpufferthink

Specifically, would it be possible send a letter to the player on Sundays with the recipe the Queen of Sauce teaches? It'd involve a lot of tediousness to write out the code to send the individual letters on the day each episode airs and the player learns the recipe, but at first glance, it seems like it should be possible to do that in CP only :o

drowsy pewter
#

absolutely

lime seal
#

As if I needed a mod idea lol

#

Thanks!

worthy wigeon
#

Hello! So uhm, me and another user (OkPotentially, creator of Homewrecker Lance) are working to make a mod together to branch off with it in a full character expansion mod but were wanting to actually do a survey for it to build a layout board and potential ideas but I'm 100% new at this and wouldn't actually know where I'd even post something like that to get feedback, is this an okay place to ask on it as I'm starting the journey of making mods? coral_yapping (my apologies)

rigid musk
#

can you put tokens inside of GSQs

rigid musk
#

Also slay with homewrecker lance creation

worthy wigeon
#

With the sprites

rigid musk
median forum
#

i'm having to finally finish writing all this marriage dialogue i've been putting off for weeks

#

i'm excited to be done with this part of the creation process, i guess that's a plus

#

then i can move on to something really unfamiliar, like designing a spouse room

rigid musk
median forum
#

i kind of know how i want it to look BUT WHAT IF I DREW CUSTOM FURNITURE SPRITES even though i can't draw

#

and then i have to learn how to use tiled or whatever it is

median forum
rigid musk
#

to whar

median forum
#

i was just thinking of doing conversation topics

#

nothing groundbreaking

rigid musk
#

ohh there's only one

median forum
#

oh lmao

rigid musk
#

technically more but none that the other townsfolk are invovled with

median forum
#

ah nevermind then

rigid musk
#

The only one is his 13 heart event

median forum
#

lmao my bad. tbh i don't think i've even met qi in the vanilla game

rigid musk
#

WHEEZE no that's fine

median forum
#

i'm very good at restarting the game over and over and not getting to even the second year

rigid musk
#

"I always wondered who was placing those orders to your farm.#$b#There would always be these strange people in sunglasses and suits who came to pick it up, and then you'd come in later on for other things.$4#$b#I guess it was {{QiNameTitle}}Qi placing the orders the whole time.#$b#Not that I mind though, he pays pretty well.$1",

Pierre's response to it is this (it's essentially Qi actually making appearances in town instead of hiding himself all the time)
so if you want to add in uhh dialogue for (pre) marriage pierre that changes this you can patch it

median forum
#

"oh i'll date sam" "no i'll go with sebastian" "hm what about shane again" i'm wretched

rigid musk
#

As a serial restarter I get you truly

#

I haven't made it past Winter Y1 in a modded save yet ... yet
I'm getting there with my current farm though

worthy wigeon
#

(btw skipdozer i love your elsen pfp OFF forever)

median forum
rigid musk
#

Honestly now that I'm reading that dialogue I need to edit it for grammar but ill do that later when I feel like it

median forum
worthy wigeon
#

I've never done game making stuff except for working on OFF spinoff games with people so its always great so see fellow OFF fans in the wild

#

REAL

steel plaza
ocean sailBOT
#

Log Info: SMAPI 4.2.1 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Home Single Language, with 13 C# mods and 4 content packs.

rigid musk
median forum
median forum
rigid musk
#

😭 to be fair in this situation it's the farmer's fault

#

I imagine he would both be like 'well the wizard gets what he deserves' and also 'why are you like that' because he probably hates cheaters ... considering he was cheated on

median forum
#

i mean in my telling it's caroline's fault too, even if he blames himself for being too busy with the new shop to pay attention to his wife, but for sure he's not fond of cheaters hahah

rigid musk
#

oh i mean yeah it takes two to tango

#

Both Caroline and the Wizard are at fault there

#

Just saying he would probably not feel very bad for the Wizard lmao

median forum
#

right for sure

worthy wigeon
#

anyway

#

stardew focus

worthy wigeon
#

Because isn't Oliva's husband alive

#

So in any context its yeah

#

wizard kind of messed up

#

I do not blame QI for judging him

median forum
#

what IS up with the wizard

worthy wigeon
#

he is hot and i love him

#

but he has problems

median forum
#

your fave is problematic: he's really into married women

rigid musk
#

(which is why you can marry/romance her)

#

I don't recall what happened to her ex

rigid musk
royal stump
# rigid musk can you put tokens inside of GSQs

(sorry if someone answered and I missed it, but)
Technically yes, but it might be a bit limited or unintuitive sometimes:
CP tokens update at specific rates (start of day, + optionally warps/time changes), while actual GSQ conditions are checked whenever the game uses them, without any caching. So if you use CP to edit a condition field to say "true" after a mail flag changes, the GSQ won't actually say true until that CP edit updates. If you just used a GSQ mail flag condition, it'd update immediately instead.

rigid musk
#

I specifically only want to use it for a number thing (though that does make sense and is good for future stuff)

#

i.e. a GSQ of 'PLAYER_STAT Current monstersKilled {{TOKEN}}' so the player can configure that

royal stump
#

That's probably fine in practice, like DAYS_PLAYED {{ConfigTokenForDays}} would work the same as just writing a number there

#

yeah, that should work fine too

worthy wigeon
#

im dumb

rigid musk
#

Thank you Esca! SDVpufferheart

royal stump
#

If someone edited their config mid-day with GMCM, {{Token}} would still say the old number until the patch updates, but then it'd just switch to the new one, etc

rigid musk
#

I'll just write a note in the description for each entry that it will update the next day unless edited from the menu

worthy wigeon
#

quick quesiton- and very dumb one, what form of coding is even used for the modding? coral_yapping

rigid musk
#

Majority is json editing

#

but you can use C# for it too

worthy wigeon
#

gotcha

rigid musk
#

C# does a lot, and can be used to make things that a pre existing framework doesn't allow you to do with JSONS

#

It can also be used to do stuff that frameworks already do but ... I don't really know why you would do that

worthy wigeon
#

sweating and crying as my hands shake to start learning how to code

rigid musk
#

You got this!

#

C# is pretty advanced but doing stuff with frameworks is pretty easy for more simple things I promise

worthy wigeon
rigid musk
#

If you ever need help for anything just ask here (and feel free to ping me and if I'm available and I know what's up I can help too)

#

One day I want to make a mod where your tools get dull/break and you can go to clint to repair them (and even pay him to make your weapons sharper if they aren't broken)

#

But that would absolutely require C#

#

That's what I'm learning it for though, to make cool stuff like that :3

worthy wigeon
#

tysmmm

#

now i need to FIND MY FUCKING TABLET PEN TO DRAW

rigid musk
#

mm drawing.. I'm drawing Qi right now (as if that's a surprise)

worthy wigeon
#

grabby hands

#

eyes

rigid musk
#

I wanted to draw him with all of the weapons I added with my mod :3 I already did one of them yesterday

worthy wigeon
#

iwan see

rigid musk
steel plaza
vernal crest
vernal crest
# steel plaza how do i fix it?

Put the tilesheet into the folder with your map, open map, follow the errors about not being able to find the tilesheet until you're at the screen where it is making you find the tilesheet, choose the tilesheet that is now in the folder with your map.

#

Then remove tilesheet from map folder.

vernal crest
rigid musk
#

SDVpufferwaaah it's only with modded, my vanilla farms are pretty long

#

My switch perfection save is in year 7 iirc

median forum
#

i got to spring year 2 once. once i finish my mod i'm going for a perfection save. tbh the main reason i'm making it is because i want to play it

#

making myself a spouse i won't tire of

vernal crest
#

I've never played a vanilla farm

#

And I usually get to year 3 before marrying anyone lol

#

I think I played vanilla for a couple of hours right at the beginning

rigid musk
#

I've reached perfection in Vanilla twice (and am approaching four times with two of my other saves that I haven't touched in a little)

lucid mulch
vernal crest
#

I have never and probably will never reach perfection

lucid mulch
#

I've done 5? Perfection runs now I think, a few were vanilla+qol, and I've had two modded perfections, one with sve and some others, and second with a lot more than just sve, and all were multiplayer

rigid musk
#

I want to do a perfection run (for CC) with each farm type and one Joja perfection run

#

correction two joja perfection runs - one with just baseline joja while getting everything else myself and another where i buy perfection waivers and the walnuts

vernal crest
#

I have played multiplayer once for about 10 minutes before my wife abandoned me lol

rigid musk
#

Currently I have Four corners and the Meadowlands done - I don't remember what my other farms are though (I thiiiink one is the forest farm, and another one is the hilltop farm but im doing joja on that)

lucid mulch
#

One of those perfection saves was on the 1.6 modding alpha, real world testing found a bunch of fun bugs

rigid musk
#

I'm playing a slightly modded game with my friend where we just got to winter (modded cause they REALLY like fishing so we added the aquarium and a bunch of fish mods)

#

mmm bugs... my favorite

north palm
#

hello.. so i successfully added a building for my npc.. how can i remove these plants( the ones on the patio ) from stardew expanded tho worry_hide they are fine and can be ignored but it ruins the aesthetic. Thank you.

pine elbow
#

If it's SVE you can't really do anything I don't think

hard fern
north palm
hard fern
#

Yeah

pine elbow
#

Yeah, but since it's expanded, I doubt you'd have permission to do so...

north palm
#

cant it be done via code?

#

oh okie worry_hide

hard fern
#

Hmm you could probably do something to patch that entire little area the house is on

pine elbow
#

I'd probably just move the house up a few tiles tbh

hard fern
#

But idk

north palm
#

okiee love_flowers

#

thanks much

buoyant solstice
#

Hello beautiful people, i am come here with the question. Can i add achevment with the "MymodID_something" number.
Or should i guess the number that was not used by other modders?🤔

steel plaza
rigid musk
#

just for context

pine elbow
#

Oh? I didn't know SVE was open like that. My bad

north palm
#

thank you.. i'll just move the house up love_flowers

rigid musk
#

Yeah it always has been, Flash just isn't like... broadcasting it. He does usually say it whenever anyone asks though (and I would know because I'm a moderator for the SVE server so I've had people ask a billion times)

pine elbow
rigid musk
#

honestly easier for you in the long run Luna :3

north palm
vernal crest
vernal crest
fading walrus
# pine elbow Ah okay! I see I see. Ty <:SDVpufferheart:544718683486814228>

Adding to what Aba said, it's usually just nice to inform an author if you're changing up their maps in some way with a patch, so they're aware that someone is doing that and can redirect people that come to them with potential bugs (hopefully you don't have to deal with any but in the worst case scenario!)

vernal crest
vernal crest
vernal crest
steel plaza
#

it's fixed now thanks, but it's a game error like unknown location

#

i've already removed that tho, even in the content.json

vernal crest
# steel plaza i've already removed that tho, even in the content.json

You're getting that warning because you've removed it from the content.json. It was recorded in your save data and now it's not in the game anymore so it's saying "I don't know where this location is so I'll pretend it doesn't exist". You want it to do that in this situation. You can stop getting the warning by testing with a new save.

steel plaza
#

ah ok ok thanks for the help, I'm gonna take a break from coding for now, next step is coding C# to add the tractor lol

north palm
#

i've moved the house luna_mafu_love

inner harbor
#

I'm having a play with custom Wedding stuff, and I am wondering what this means in the code:
[SpouseFarmerText [EscapedText faceDirection [SpouseActor] 2] [EscapedText showFrame spouse 36]]/```

lucid mulch
#

tokenized text

#

think of it like {{i18n }} but vanilla

hallow prism
#

if i remember it's in case the farmer name has weird characters

#

like you named yourself {\slash_the_first"

inner harbor
#

so does the [EscapedText showFrame spouse 36] change depending on whether the spouse is male or female? Cos female sprites are 26, males are 48

lucid mulch
#

[SpouseActor] gets replaced with the second person being married, either an npc or a farmer
and [SpouseFarmerText Arg1 Arg2] will use Arg1 if married to a player and Arg2 if married to an npc

inner harbor
#

oh yeh, I forgot you can marry other farmers

#

so if I'm writing a custom one for an NPC it's okay to delete them

#

Thanks!

#

Now if only there was a way to move the specifictemporaryspritewed. But I have a custom map anyway.

next quarry
#

making a custom NPC was so fun I kinda miss working one

hallow prism
#

you don't have to stop at one

next quarry
#

you're right
But I think the fun came with me having a good idea and I don't really have a new idea yet

#

but I'm already hyped lol

rigid musk
#

As someone who was like 'im never gonna make another custom npc again' while developing qi... and is now going to make two technically ... yeah it's a bit addictive

#

I'm also eventually going to be helping Person with more fully developing their NPCs, it's just kidna fun

#

kinda*

next quarry
rigid musk
#

Person has a mod (that I think is hidden right now) that has a few bugs and stuff that I'll be looking at fixing, as well as adding more dialogue (and potentially schedules) for the NPCs... and if I'm feeling spicy enough some events

#

iirc the current state of the mod has limited dialogue and such and.. if my Qi mod is anything to go by I might add TOO much dialogue lmao

steel plaza
vernal crest
#

Person is a modmaker by the way Miihau. Not sure if you've run across them.

rigid musk
#

OH yeah sorry if that was confusing wheeze

#

I haven't seen 'em active in a bit but they did kinda (in my own personal opinion) overwhelm themselves with making like 10 mods all in a short span of time so they definitely deserve the break

next quarry
rigid musk
#

Don't let anyone stop you >:] dialogue for the win

next quarry
#

true true

rigid musk
#

what are events for if not to slap even more dialogue in the face of the player

vernal crest
#

Yeah it definitely looked like they had a hyperfixation and then overwhelm/boredom experience to me.

rigid musk
#

(other than dynamic changes and showing off how cool you are with doing some other fancy stuff)

vernal crest
#

Said as a person who has had many such experiences with hobbies over the years. I am finally old and wise enough to know how to trick my ADHD into staying engaged but it's hard haha

rigid musk
#

The brain wants what it wants but I refuse to let it burn me out >:]

vernal crest
#

I've been playing Roots of Pacha. It makes me wish I was better at C# because man there are changes I want to make that I cannot have!!!

rigid musk
#

(To be fair to myself I do disperse it with other things like Dungeons and Dragons and uhh... and other things definitely)

#

You'll get there Aba! You're very smart! :D You already know so much if you really wanna you can I know it

next quarry
#

^ agreed SDVkrobushappy

vernal crest
#

Thank you! I will probably be bored of Roots of Pacha long before I know enough to mod it lol. But that's okay, I'm sticking with modding Stardew. The lovely modmaking community is a big part of why it's stayed interesting to me and judging by the dearth of mods for Roots of Pacha I'm guessing there isn't much of a modding community for it.

#

Instead I puzzle out how to make a bird pack for Ornithologists Guild for ~culture mod jam~ (psst Lily you should participate in that)

#

(You can too Miihau but you'd have to join SMC for it to make sense lol)

next quarry
#

SMC?

vernal crest
#

Stardew Modmaker Community! We're a server primarily for people who make mods. Much smaller than maincord. Only 350 members total and only a fraction of those active. Very cosy.

rigid musk
#

i didnt look too hard at the date lol

vernal crest
rigid musk
#

mmm making a whole mod in 10 days... Very possible

next quarry
vernal crest
#

It's intended to be pretty small scope, just a longer timeline so everyone gets a chance to participate instead of cramming a mod jam into one weekend.

rigid musk
#

I don't have anything for me cause I just have... america really but I did have a concept of a mod for something similar that uses a person I care about's culturepondering

vernal crest
#

America has culture!

#

America is not the world's default lol

#

For example you have veeeeeeeery big pizza slices

vernal crest
#

And cornfields that go for hundreds of kilometres

#

And Jolly Ranchers

#

(Can you tell what impressions I got when I visited lol)

next quarry
vernal crest
#

I'm allowed to use kilometres to describe America! They don't stop existing just because the US uses miles lol

rigid musk
#

We do have jolly ranchers and real big corn fields you're right

#

I add jolly ranchers to stardew

#

and a big corn field

#

I would honestly do htat just for fun ngl that sounds hilarious

next quarry
#

one candy I really liked from the US was sour patch kids

#

can you add them too?

rigid musk
#

But my friend they're Tunisian and I was going to add a few dishes and plants from there that they really like

  • I could technically add sour patch kids yes
#

ignore the dot lol

#

American Candy Mod (plus cornfield)

vernal crest
#

Hooray DH rescued me! Miihau I sent you a DM with the link instead lol

rigid musk
#

bopcatgif rescued

hollow gate
#

If I input command in chatbox,how to execute that without using ChatCommands mod.

vernal crest
#

Hmm well if it encourages you to participate I grant you a special dispensation to share your friend's culture meow_sticks

vernal crest
lucid mulch
#

if you want full smapi commands, the chat commandsm od is all you get

#

if the debug commands are all you need, then ^

rigid musk
#

I mean I could just do the candy thing lol

vernal crest
#

Up to you Lily!

rigid musk
#

and maybe use a mod to make custom corn grass

#

to make a biiiiiig corn field

vernal crest
#

I just can't be the only participant - I am not even allowed to participate because I am a judge xDDD

#

I forgot about sour patch kids being American because they've been available here for so long but yes when I visited the US they were not easily available in NZ either

hollow gate
rigid musk
#

I think that requires C# no?

rigid musk
lucid mulch
#

if you want to register a non-cheaty chat command then register it in ChatCommands.Register()

rigid musk
#

Not that we can't have a two cakes situation of course

lucid mulch
#

but smapi's command system and the vanilla chat one are separate

vernal crest
#

Two hundred cakes

rigid musk
#

Two Hundred Cakes...

vernal crest
#

But also I think there's a lot of interesting stuff in more regional cultures too. Like Midwest Nice or bodegas in NY or how many shops in Texas sell Texas themed clothing and Texans seem to buy it...

rigid musk
#

hehe ... buckees

#

oh my god i could add a buckees and a massive cornfield

#

im not from texas but that would be so funny i think ... maybe i can even edit one of hte hats to have a really tall (or as tall as I can) cowboy hat ...

hollow gate
median forum
vernal crest
#

Be the change!

#

I don't know if I have ever eaten chili

median forum
#

well don't start with skyline

#

i will play around with pixel art tonight and see what i can do

steel plaza
#

anyone have the link for the C# library? I want to see what each statement does

lucid iron
#

!decompile

ocean sailBOT
lucid iron
#

Not sure if this is what you mean

opaque field
#

good morning! Question: if I want the screen to stay black during an event while messages/dialogue boxes happen how do I do that?

rigid musk
#

using globalFade

#

well that's how I do it, globalFade, moving the viewport to a far off location, and then continue with dialogue boxes or message or whatever it is you want

opaque field
#

oooooh okay I accidentally did viewpoint instead of viewport. Thank you!

#

My Obsessed Shane mod continues to slowly come to life ❤️

tiny zealot
#

(C#, mod interfaces) i am trying to provide an API for Secret Note Framework and pintail is giving me some trouble.
i am currently trying to provide this method:
public bool RegisterSecretNote(string uniqueId, INoteData note)
where i have defined that abstract class to match my data model, and i use a subclass for much of my actual mod code. that all works fine. but i am trying to use the api in another mod:

namespace ichortower.SNF
{
    public interface ISnfApi
    {
        public bool RegisterSecretNote(string uniqueId, INoteData note);
    }
    etc.```
with subsequent definitions for the note data matching the interface from SNF. this compiles, but when i try to GetApi(), Pintail barfs from being unable to proxy it at runtime:
` ---> ArgumentException: The ISnfApi interface defines method RegisterSecretNote which doesn't exist in the API or depends on an interface that cannot be mapped!`
have i overlooked something necessary for pintail to handle this?
#

(for example, perhaps it only works on literal interfaces and not abstract classes?)

vernal crest
#

Ichor I love your little parenthetical context right at the start, it's great /gen

tiny zealot
#

it's like a trigger/content warning for non-C# people /lh

vernal crest
#

I did get utterly lost trying to follow your last one haha

calm nebula
#

Inheritance is...odd

#

Yes, try a literal interface

tiny zealot
#

well, i got the same result from just using a regular class, so i thought i'd try an abstract one

calm nebula
#

Also I'm running late for work so in ten I'm gonna vanish SDVpufferheart

#

Less than in ten

tiny zealot
#

ok so i'll probably need properties for an interface. can i give those default values?

vernal crest
#

Running late for work but still on discord, Atra you addict :P

calm nebula
#

(Running late is an abstract comment. I need to leave by 8:20. I would prefer to leave by 8:10. I'll make 8:20)

tiny zealot
pine wedge
#

I'm editing and updating an event from Legacy 1.5.6 to the current version and the event will not show up on the list of available events. The event works and triggers just fine. It just is not listed. Any ideas?

drowsy pewter
#

Anyone who knows more about buffs, is this the appropriate multiplier to set for a 50% boost to crit chance ?

vernal crest
pine wedge
vernal crest
calm nebula
#

Your event is fine

pine wedge
tiny zealot
#

(do not consider switching to legacy preconditions in order to support event lookup. it's sheku's problem)

pine wedge
tiny zealot
#

no. do not

vernal crest
#

Yeah Atra said what I was going to.

uncut viper
#

don't worry about event lookup support

vernal crest
#

Sheku is updating Event Lookup soon and the new preconditions will be supported then

#

(Probably)

uncut viper
drowsy pewter
#

2 to 3 percent SDVpufferheart

acoustic summit
drowsy pewter
#

Test it how? Hahahaha

#

That's why I'm asking

#

The buffs that are unused in vanilla don't have automatic buff icons that appear

lucid iron
#

effectiveCritChance * (1f + who.buffs.CriticalChanceMultiplier)

#

MeleeWeapon.DoDamage

#

0.5 is correct yea

drowsy pewter
#

thanks chu

lucid iron
#

This effect is used in that ring and enchantments but yeah no descriptions

#

A flat +1 is a lot stronger i feel kyuuchan_run

hallow prism
#

Wiki has detail on stuff

lucid mulch
#

I'm making progress >:D

#

newtonsofts not giving it to me as good as I'd like, but should be close enough to approximate some of the fun stuff I want to do

#

Not looking forward to pretty much having to rewrite a bunch of my prior work and how it's data modelled but once it's done it should be cool

drowsy pewter
#

in addition to the annoyance of unused vanilla buffs not having buff icons and such, they also dont appear in the item description

#

So players wouldnt know that the thing even gives them a buff until they eat it. And I can't fix that like I can fix the icon problem

#

At this point idk if I should avoid those buffs entirely or find some framework to improve these

#

I mean, 500 food items, I can't just have all of them do the typical farming attack fishing etc

brittle pasture
#

I wonder if I can just sneak that into EMC then

#

given that this is quite a need now SDVpufferrad

drowsy pewter
#

Extra Buff Configs

calm nebula
hallow prism
#

I experimented with chu's help

#

Note that there a vpp small bug with one of the food talent but kedi is aware and have a fix

#

Its not perfect but good enough

drowsy pewter
#

I was thinking about it but I dont even know if it's worth doing if it doesnt appear in the item description lol

hallow prism
#

(Main limitation is that it will not count as a food buff so you can cumulate those with food)

lucid iron
#

Extra Buff Configs...

#

I think u can achieve fair amount of shenanigans with the buff applied trigger at least

#

But it would all have to be not food buff

uncut viper
#

Buffs Unlocked: Framework For You, or BUFFY for short

lucid iron
#

Wow yes 10/10

hallow prism
#

Example pack is a garlic buff against bats

lucid iron
brittle pasture
#

sounds great, let's started on the buff framework then

because I do not plan on adding anything beyond the missing description/icons so if you wanna homf that too go ahead SDVpufferwoke

calm nebula
#

I was only thinking of it b/c atracore had it already but just a pile of harmony for earlier 1.6

#

If you want to help me stay retired

#

That's amazing in my book SDVpufferheart

lucid iron
#

Tbh i think the only 2 thing needed is

#
  1. Custom description
  2. Buff end trigger action
calm nebula
#

Do it SDVpufferheart

lucid iron
#

After u have these u can just do trigger action shenanigans

#

Therefore I don't really want it to be separate mod and vote for EMC to have these

drowsy pewter
#

Lol

lucid iron
#

The Farmer is a Machine that consume category_cooking and gain Power

drowsy pewter
#

doing description facing stuff is going to be more of a hassle because it involves translations as well

brittle pasture
#

well EMC is already a cooking mod with the flavored cooking thing
very well 😌

brittle pasture
uncut viper
#

EMC teetering very close to the edge of becoming a kitchen sink framework

calm nebula
drowsy pewter
drowsy pewter
#

I can use it to make drinks. Or something

lucid iron
uncut viper
#

you're making me doubt myself on whether or not "kitchen sink mod/modpack/framework" is even a phrase or just something i stole from minecraft but turns out only exists in that community

calm nebula
lucid iron
#

Selph can u fix the food/drink buff overriding too Bolb

#

Rn if u have a BuffId it doesn't get overwritten by other food/drink

brittle pasture
#

hmm, wonder if passive fixes like that might be out of scope

lucid iron
#

Yeah maybe better leave to game

#

But if u can tag things u know

drowsy pewter
#

spacecore casually fixes npc pathing

brittle pasture
#

for the most part it doesn't have any visible user effects
the buffs thing though will

drowsy pewter
#

also you dont have to do this buff thing if you dont want to haha

uncut viper
#

no selph does

drowsy pewter
#

If not, I'll just redo these buff stats

uncut viper
#

im decreeing it

lucid iron
#

What r friends if we aren't bullying each other into these things

uncut viper
#

voluntelling people to do things when you're on vacation/retired is great i understand why atra does it so much

brittle pasture
#

(buff end trigger also seems straightforward enough, and can be thrown in as a treat)

uncut fossil
#

I'm making a personalized spouse room for my new NPC and I wanted to use the existing Tilesheets in the Stardew Valley but I don't know if I should use the ones from the unpacked content of the game or if I should use those that are directly in the game ? Does someone already created a new map using the titlesheets from the game ?

brittle pasture
#

unless I misread your question, the unpacked ones are the ones in the game

uncut fossil
#

The unpacked file I put it on my desktop to use it as an example for the codding part I thought we can't let the unpacked file in the game file bcs they are basicly a duplicate of files that already exists in the game...?

#

or maybe I just don't understand the use of the unpacked file

brittle pasture
#

ah yeah I get your question

uncut fossil
#

thx!!!

#

I also wanted do create a little animation for my NPC in the spouse room but I'm so intimidated by it haha I didn't start to look how to do that yet but It seems soooooo hard I'm already overwhelmed even though it's been only the 2nd day ive been working on my mod SDVpuffersob

tiny zealot
uncut viper
#

i think a kitchen sink mod and a personcore mod are different things personally

brittle pasture
#

I feel like personcores are more "common helpers/APIs that are usually only used by that person's mods"

uncut viper
#

spacecore just happens to be both

tiny zealot
#

spacecore is primary offender

brittle pasture
#

not that there's no overlap, but a personcore's functionality is usually not exposed to content mods

uncut viper
#

atra's SMD is kitchen sink esque

tiny zealot
#

the overlap is large in my opinion. grab bag of undirected stuff that grows to eat the world

uncut viper
#

for me for a personcore though it wouldnt grow to eat the world itd just be growing for that one persons mods like selph says

rancid musk
#

I could have made a khloecore, but I'd rather just have a bit of redundant code in my mods.

brittle pasture
#

common csproj my beloved

uncut viper
#

all the code i reuse everywhere is just for logging an d debug purposes anyway so i just put it in my dotnet template

rancid musk
#

The code is negligible compared to how much data, textures, etc. modded players have

calm nebula
#

(I do have miniatrashared now)

#

Which is a shared library

rancid musk
#

Also, a common project is even less overhead if you have sections in #if blocks and thus excluded in projects that don't use them

calm nebula
#

On my todo list is to break down atrabase tbh

#

Because I heavily use it's ROS wrappers and not using those was making me sad

#

But the collectionhelpers I barely use in mods

steel plaza
#

when writing a c# mod, can i just make it in a single sln file?

rancid musk
#

My project is a bit over engineered. I have a custom <UseCommon> tag, where I can do something like xml <UseCommon>UI;GMCM</UseCommon> and it will define the constants COMMON_UI and COMMON_GMCM for use with #if.

steel plaza
#

anybody has the github link for the c# modding?

gaunt orbit
#

slns are useful but technically optional, and it's usually a good idea to use multiple cs files to make your code easier to manage

tiny zealot
#

(i've never used a .sln file)

gaunt orbit
#

I use them mostly out of habit

steel plaza
#

what i mean is just a single mod cs for all my code like new dialouge, the building, and the new pet.

#

something like that, or do i need to seperate each?

gaunt orbit
#

You can make any c# mod in as many or as few cs files as you like. There is no difference when compiled

#

I have to ask though- if you're just adding content with no new mechanics, why not use CP instead?

steel plaza
#

oh im adding a new mechanic, a new pet with different behavior than the other pets like dogs

gaunt orbit
#

Aaah okay

errant pasture
#

are all clothes available to both genders? (excluding the ones that are explicitly marked F or M?)

calm nebula
#

Atrabase is a weird thing anywyas tbh

#

It's supposed to be the core functions I wrote for myself for genryal c#

#

But also

#

Modding is so different from normal console programs

#

(Also. For the newbies - atrabase is not atrashared is not atracore.)

#

Atrabase is the smallest and has no game relat3d logic

tiny zealot
#

the fact that you have three different ones sends me into the thousand yard stare a little bit /lh

calm nebula
#

And now you start realizing why I retired

brittle pasture
hallow prism
#

since 1.6.something yes i believe

calm nebula
#

Everyone can wear any shirt

#

Men can have boob's too

calm nebula
#

In features it is kitchen sink but the scope is bounded by what I think I can maintain long term and without negatively affecting performance

#

It's meant to be a small module I can put small features in

#

But yeah, I determine the scope

uncut viper
#

the feature set is what makes it kitchen sink to me, not the scope

#

the "esque" was bc they do all still have the theme of dehardcoding annoyingly hardcoded things, so its not like theyre completely unrelated

lucid iron
#

Wait sln is optional?

blissful panther
#

For dotnet CLI stuff I'm pretty sure, yeah.

tiny zealot
#

alwayshasbeen.jpg (i don't know if that's true)

lucid iron
#

I kept it in all my repos cus i thought i needed it...

#

Or at least vscode complains about not in a solution if i dunhave

blissful panther
#

The C# dev kit probably will, yeah.

tiny zealot
#

i assume VS requires it at least

blissful panther
#

I think it'll open a raw csproj fine?

#

I've done that plenty with ILSpy decompiles.

lucid iron
#

Pet movements are state machines so you can do some complex motions just via data

errant pasture
gaunt orbit
#

It can actually open loose cs files too, but of course won't offer intellisense for those or let you run them

blissful panther
#

Yeah, it'll open any loose text file if you just want to open your .txt files in VS for some reason.

gaunt orbit
#

It does do syntax highlighting for loose files, just no code analysis

rich robin
#

Can I ask here about helping translating a mod?

#

I translated a CN mod to Eng but the translation doesnt show in game

calm nebula
#

Sure!

uncut viper
#

if its because you made an en.json file, those don't work currently

#

specifically for en

#

(and en-US or en-GB or w/e too)

rich robin
#

i changed the default one bc i dindt found the english json file,ty ill try this!

opaque field
#

Is there a limit to how long event names can be?

sour sleet
#

For the NPC Movie Reactions, are tokens not accepted for the Script Field? They work with the Text field but I'm getting an error with using it in the Script field

uncut viper
#

if you mean CP tokens, then they work practically anywhere. the game has absolutely no way of knowing whether you used a token or wrote the value manually

sour sleet
#

I'm talking about i18n, the dialogue for the script is saying it can't be parsed as an integer or something like that

gaunt orbit
#

show us your json and the translation string

ruby echo
#

hi, I'm writing my first mod ever. using better crafting as a framework, I'm going to turn the furniture catalogs into custom crafting stations, and have furniture crafted from different ingredients. how would i go about hiding the vanilla catalogue menus though?

rich robin
lucid iron
brittle pasture
sand timber
#

Can I ask a question about the Farmer Portraits for 1.6 mod?
I'm wondering — as long as the image is a square (like 600×600), will it display correctly in-game, or are there any specific requirements for size or formatting?

brittle pasture
#

think so (the description says it can be any res)

sand timber
#

I've downloaded a lot of farmer portrait mods, and I noticed that the image sizes people use vary a lot. But when I use a 600x600 image, it looks weird in-game. TAT

calm nebula
#

I don't recommend going over 256x256

lucid iron
#

Big...

#

So what the game does for portraits is draw a 64x64 texture at 4x scale for 256x256

sand timber
#

I saw someone use a 1816×1816 portrait and it displayed fine in-game, so I was curious if there are any hidden limits

lucid iron
#

HD portraits work by drawing up to 256x256 at 1x scale

#

Going even higher is possible but u just lose those sub pixels i think

calm nebula
#

Yeah, there isn't a point and it'll look bad

sand timber
#

Got it — I’ll try 256×256. Thanks for the info! 😊

fiery cobalt
#

Now, I'm sure the reason is probably going to be stupidly obvious and make me hate mad for not seeing it but I need fresh eyes.

I'm creating a personal custom animal mod, meat versions of vanilla animals and all of them are up and working except for the pig some reason the Animal Husbandry options will not show though everything seems the exact same between files.

Log: https://smapi.io/log/bfb9d2be2fff4591862a90d689458db2

ocean sailBOT
#

Log Info: SMAPI 4.2.1 with SDV 1.6.15 build 24356 on Microsoft Windows 10 Home, with 8 C# mods and 2 content packs.

fiery cobalt
#

And the mods besides Animal Husbandry

somber zealot
#

how would I start modding

sour sleet
#

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

sour sleet
#

When using spring_1 and Mon, on Spring 1, it seems to be favoring Mon. How can I get the NPC to use the spring_1 dialogue?

latent mauve
#

What year are you in?

sour sleet
#

I've tested year 10 and year 1

latent mauve
#

Has your spring_1 line ever popped up? I could see it being overridden in year 1 with Introduction if that key is used, maybe.

#

I'm looking through the vanilla dialogue, and actually, I'm not seeing any of them use spring_ and a date yet, outside of festivals.

sour sleet
#

Nope it's never popped up. I do have an Introduction also and that did override it. So I changed it to spring_10 just to test and it still defaults to whatever day of the week it is

latent mauve
#

out of curiosity, if you change it to another season, does the day of the week still take priority?

#

Not a single vanilla character's base dialogue JSON uses spring in the season keys, so I'm wondering if it's specific to spring

#

Abigail definitely uses summer_1 so that should work

sour sleet
#

I've just tried it and it works! Wonder why spring won't SDVpufferthinkblob

latent mauve
#

Maybe someone who's comfortable looking at the dialogue code can clarify if spring has something funky with it, otherwise it may just be that there are so many other potential dialogue triggers in spring that it's getting overridden by something

#

What happens if you set it to spring_1_2 for Spring 1 on any year after Year 1 (that seems like it should be valid according to the wiki) and then try again?

#

I suppose as a workaround, you could probably just set the key to 1 for day 1 and change the text based on a when argument for the season?

#

Or only add the dialogue entry at all in the spring by the same method

latent mauve
#
"Target": "Characters/Dialogue/<yourNPC>",
"Entries": {
"1": "your text here"
},
"When": { "Season":"spring"}}```
or something like that?
#

I don't have the CP docs in front of me at the moment, but that should be at least partially correct

sour sleet
#

Thank you:)

latent mauve
#

Let me know if it works

brittle ledge
#

@proven spindle you've joined the hotmods! SDVpufferheart

sour sleet
odd ginkgo
#

I'm having trouble with an event that takes place in the community center - it briefly does a changeToTemporaryMap and then returns to the center - but when we return, the fish tank is empty. Is there a way to fix that?

calm nebula
#

Try changeLocation instead

odd ginkgo
#

Ahhh okay, thank you

calm nebula
#

Speaking of lag, does anyone know the best way to know how many ms have passed since the last frame

lucid mulch
#

The GameTime thingy has that right?

gaunt orbit
#

You could either use the GameTime ElapsedMilliseconds or use a stopwatch

#

The first one is good for frame timing, the second is better for performance monitoring

calm nebula
#

Huh, I thought clasped milliseconds was the time of the last frame

#

I don't need a performance monitor anymore, debug tto works

gaunt orbit
#

Its the time between the start of the last loop and the start of the current loop

lucid mulch
#

meanwhile I have profiler aimed at:

        {
            "Type": "Duration",
            "TargetType": "StardewValley.GameRunner,Stardew Valley",
            "TargetMethod": "Draw"
        },
        {
            "Type": "Duration",
            "TargetType": "StardewValley.Game1,Stardew Valley",
            "TargetMethod": "DrawWorld"
        },
        {
            "Type": "Duration",
            "TargetType": "StardewValley.GameRunner,Stardew Valley",
            "TargetMethod": "DrawHUD"
        }

and my log is a machine gun

gaunt orbit
#

TotalMilliseconds is total running time

calm nebula
#

This is what I have

#

For frame time monitoring

#

But debug tto works toooo

lucid mulch
#

I've narrowed down my framerate issues to draw world taking ages

calm nebula
#

(Toggle timing overlay iirc)

lucid mulch
#

But haven't done the next layer of depth yet

calm nebula
#

Really, huh. I'm surprisedish

gaunt orbit
#

How hard would it be to do a minecraft-style pie chart for frame time

lucid mulch
#

I have a billion mods and who knows what methods got hijacked

calm nebula
lucid mulch
#

You are making me want to build the telemetry API in profiler

calm nebula
#

I don't need to log it, this just renders a little thing in the hud

lucid iron
#

What does the minecraft piechart look like

lucid mulch
#

The idea of the telemetry API would be a way for mods to give profiler time series data to be encoded into the log so that the profiler site can visualise it afterwards

calm nebula
#

I assume a pie but in blocky Microsoft Java

gaunt orbit
#

No it's round

lucid mulch
#

The pie chart actually is curved

calm nebula
#

(Draw times in vanilla are snappy)

lucid mulch
#

let me quickly get a few minutes of log so you can see my fun timings

calm nebula
#

SinZ, I'm at work still

lucid mulch
#

I didn't fully appreciate how many contentpatcher patches are in my mod folder until I added a debug log loading them individually

wide lake
visual dirge
#

anyone know how i can get the Pathoschild.Stardew.ModBuildConfig nuget package to include my LICENSE file (and maybe a short version of the readme) in its zip output?

calm nebula
#

Same way you would in any normal c#

#

ManInBlack has an example but I recall just clicking on the file and selecting "include" or smth like that

calm nebula
#

Looks like so

visual dirge
#

ohhhhh

#

ty

gaunt orbit
#

Hell yeah

visual dirge
#

bc monodevelop sucks ass

gaunt orbit
#

I take it you're on mac/linux

visual dirge
#

yea

#

linux

#

anyways as someone new to stardew modding my thoughts are that c# modding is actually fun and doesn't make me want to tear my soul out when unity isn't involved

gaunt orbit
#

I do have to say. The .NET build tools? Infinitely more pleasant than gradle

visual dirge
#

yeah fair lmaooo

gaunt orbit
visual dirge
lucid mulch
ocean sailBOT
#

Log Info: SMAPI 4.2.2-unofficial-sinz-2+3 with SDV 1.6.15 build 24356 on Microsoft Windows NT 10.0.26200.0, with 191 C# mods and 299 content packs.

calm nebula
#

Weird

#

In vanilla I think farm is the slowest map

#

Well

#

A well developed planted farm

lucid mulch
#

but this does mean I'm underbudget on draw time, so I need to start monitoring other places like the wider update loop to find my culrpit

calm nebula
#

No, seriously, try debug tto

lucid mulch
calm nebula
#

Hmm. So tto is vanilla only iirc

#

(While the one in Event Tester should also include mods)

lucid mulch
#

looks like it does at least explain that update > draw most of the time

#

and it bounces like crazy

#

would need the average, 95, 99 thingies to actually read it properly

calm nebula
#

Even in rain, huh

lucid mulch
#

tbh this is also like the best fps I've had on this modlist

#

might be because I did save load instead of multiplayer host, not sure

calm nebula
#

It's on my list to maybe PR pathos wrt to map locations and caching and shardinf

#

But it's pretty far down the lisr

#

And moddifn isn't even allowed on mh schedule rn

calm nebula
lucid mulch
#

I don't know

north palm
#

is there a faster way to test out dialogues for the npc using the command prompt?

lucid iron
#

its the adventure bar squeezed into matt's iconic framework

lucid mulch
#

the problem with installing a bunch of mods at the same time, "adventure bar" meant nothing to me

calm nebula
#

Ah, installing mods. Playing the game. How does that work lol

lucid mulch
# calm nebula Hmm. So tto is vanilla only iirc

looking at what it measures, for draw its top/bottom of Game1._draw, so prefixes/postfixes to it wont be tracked, but anything inside would including the smapi event hooks, drawworld, etc

gaunt orbit
calm nebula
#

Anyways, I'm used to update being jumpy but usually less than 1ms

lucid mulch
#

and its update timing is the parent caller of Game1.Update which would include prefixes/postfixes and modded tick events

#

though theres some stuff thats not in Game1.Update but GameRunner.Update, like the GameStateQuery parse cache busting

#

The harmony docs for the injection page are a useful reference at least

#

im on it every time I touch harmony

calm nebula
#

(It's a joke about how modders don't play the game)

#

I haven't in more than a year

north palm
#

oh okie kid_sweat_lad

tiny zealot
lucid mulch
#

linux gang should be able to use vscode and at least get a debugger still, even if its mostly a wrapper for the dotnet cli

calm nebula
#

Sowwy using vim because I just need to be hardcore