#making-mods-general

1 messages · Page 399 of 1

violet valley
#

yea

brittle pasture
#

should I be scared /j

gray bear
#

well it's forsy's idea... ✨ everything bait ✨

violet valley
#

what would everything bait do

gray bear
#

make pepper bait and shane and maru follow you around

violet valley
#

lol

hard fern
#

*pepper popper

gray bear
#

does maru not like pepper

#

oh wait that's shane and lewis

#

pretty sure lewis follows you anyway

violet valley
#

I thought Shane liked pepper poppers?

hard fern
#

shane and maru love pepper poppers

gray bear
#

he loves them, but also pepper

violet valley
#

oh yeah love

hard fern
#

but shane and lewis love regular hot pepper

gray bear
#

id imagine they just munch on it

hard fern
#

theyre crazy

violet valley
nimble marlin
#

I think it's much better now, I've added many visual and sound improvements to the cooking minigame. what do you guys think? (addon for The Love of Cooking)

violet valley
nimble marlin
#

nope, not yet. I wasnt planning on releasing it but then some friends of mine convinced me otherwise so I started working on actually improving the concept I had ><

violet valley
#

ok. that mod looks really cool, I will download when it is released

#

also the book/opening animation is rlly cool

hard fern
#

omg i love that cooking minigame

violet valley
#

samee

hard fern
#

is it just going to be for loc?

nimble marlin
#

in this case, the minigame

violet valley
#

oh SDVpuffersquee

#

your minigame is also rlly cool though

nimble marlin
#

there are less features like selecting to cook more than one dish at once and ofc there isnt a cooking pan tool

valid nova
#

C# is confusing and because I don't understand it I have decided to build my mod from the ground up only using others as references instead of copying them, in the hopes I will learn by doing

hard fern
#

i think there's easy C# courses out there 🤔

brittle pasture
valid nova
# violet valley wdym?

I asked about making a mod like colourful chests but with a hex code picker and was told to clone colourful chests and add a hex thing, but I feel I don't know enough to comprehend how any of it is working or how I would even do it, so I am starting from the beginning

brittle pasture
#
  • you also need to add a separate implementation for Better Crafting as well (but I think this is infinitely easier)
lucid iron
#

I think you can maybe not care about the picked recipe so much

valid nova
brittle pasture
#

tbh if you just make BC a hard requirement for the non-LOC version I’d be happy SDVpufferrad

lucid iron
#

Use the result of the minigame as a modifier on the final in cursor item

#

Did good +1 quality did bad actually it's coal now oops

brittle pasture
#

if you shift click to cook 5 do you need to play the minigame for each

#

or ctrl shift for 25

gray bear
#

25 minigames

tiny zealot
#

what's the 999 keycombo again

gray bear
#

ctrl shift and a secret third thing

nimble marlin
brittle pasture
#

the best feature of BC is a sane API for hooking into cooking events SDVpuffersquee

gray bear
#

wish i was sane API

hard fern
#

in order to make a config i18n-ed what exactly do i need to do again

gray bear
#

see nimori's i18nifier

#

no work hard

hard fern
#

i wanted to do it manually :(

#

o thx selph

lucid iron
#

Ctrl shift 1

#

For 999

tropic hare
#

Hi, I plan to replace the Gil in the Adventurer's Guild with an interactive chest, while still keeping the function of awarding rewards to the players. When a player approaches the chest, there should be an opening animation like in the Shipping Bin, and clicking on it should allow for interaction.
Apart from modifying the map, I expect to create a fake NPC to achieve this. But it seems that the animation effect cannot be achieved.
Please tell me which framework can help me achieve it, or is it only possible through C#?

abstract gull
#

Pessoal sabem qual Mods posso usar no meu SMAPI e jogo antigo

#

Qual data e versão coloco la

round timber
lucid iron
#

So gil is a set of animated map tiles which don't really have state like "open/close" they just keep animating

hard fern
#

gil is cursed

#

wasnt there a line of code where it was just is Gil

lucid iron
#

I think the low tech way is to patch away his texture

#

Swap the dialogue so you are talking to a chest basically

valid folio
#

It didn’t work, but I have to go out now, so I can’t keep trying. Anyway, I think I’m going to have to give up on adding crème anglaise; it’s clearly not possible, or there’s some other hard-to-detect problem. In any case, thanks, and maybe I’ll try a few more attempts later.

brittle pasture
#

post your code again if you want

brittle pasture
#

did you check your machine with Lookup Anything

valid folio
#

What I was thinking of doing was testing it with just one item, like putting in an egg and getting crème anglaise out. My idea is to use it in another machine to make Italian-style ice cream, which I haven’t seen in any mod.

valid folio
tropic hare
brittle pasture
brittle pasture
valid folio
brittle pasture
#

I recommend also adding a failure message to your item rules so it shows you/your mod users what items are needed

#

right now your machine rules just fail silently which makes debugging harder

valid folio
brittle pasture
#

you can make your message more generic

lucid iron
#

I'm not sure if gil is a named tile property

#

Hence why i think just editing the texture assets (map tilesheet and portraits) is easier

valid folio
#

Yes, but the crème anglaise rule uses sugar, which is also used by the smoothie. So if I only have sugar in the inventory and try to create something, the smoothie message appears. I’ll add the message when I get back, but from what I’ve experienced, the correct message doesn’t always show up when there are ingredients that are repeated in other recipes.

valid nova
#

Since I assume people here know C# can anyone lmk if this question is wrong or if I am the fool? It's the official microsoft course but the questions are AI generated :/ wanna know if I missed smth or if I should report the question

valid folio
woeful lintel
#

Hey, I'm having difficulties making a working seasonal AT pack: currenty, the Winter variant is the only one showing in all seasons, do I have to give them separate Ids?

valid nova
iron ridge
#

WriteLine automatically adds a new line to the end, Write doesn't, so in this context WriteLine would probably be preferred

woeful lintel
valid nova
valid folio
#

Ok, guys, I’m heading out. I’ll bother you later haha.

valid nova
gray bear
woeful lintel
#

I'm having trouble with how the texture.json is setup

gray bear
#

i can take a look at this mod

woeful lintel
#

hold on, I wrote "Season" instead of "Seasons"

gray bear
#

yeh that might be it

woeful lintel
#

on another note, I can't seem to replace scarecrows and rarecrows

#

even though I wrote "CollectiveName": ["Scarecrow", "Rarecrow"]

gray bear
#

solution is download more idala mod

#

it's Collective Names

#

S be mean to you

woeful lintel
gray bear
#

its fine i've had that happen a lot

woeful lintel
#

I must have been really really eepy when I wrote that

gray bear
#

{{Seasons}} token be doing nothing yknow

#

mistakes happen! also misclicks

woeful lintel
#

god damn, I have to split the farmhouse spritesheet into each upgrade

gray bear
#

u can at the farmhouse?

woeful lintel
gray bear
#

wow

woeful lintel
#

wait what? I never realized different variations could be in the same spritesheet

gray bear
#

fancy

lucid iron
#

Is there a reason why you are using AT instead of skins

humble timber
#

half joking question bc we were talking about innate enchants in seasoned:
how difficult would it be to make it so you can add innate enchants to any level weapon

#

i doubt theres already a mod that does this bc its so niche lmao

gray bear
#

is that not already the case

#

can't u enchant any weapon

#

oh wait

humble timber
#

innate enchants are different from regular enchants Bea xd

gray bear
#

i ddin't know those were a thing

humble timber
#

theyre a 1.6 thing

#

added to make non galaxy weapons viable

oblique meadow
#

Does anyone have any examples of using the Cloudy Skies framework to water dirt? Im using the readme and Im not fully grasping it and none of the linked examples on Nexus are necessarily helping....

humble timber
#

well yeah i assumed it would be C#

uncut viper
#

can you do the innate enchantments in 1.6.16?

humble timber
#

but 1.6.16 SDVpuffereyes

lucid iron
#

I thought you can add enchantments via item queries

humble timber
uncut viper
#

you can definitely at least add the named enchantments

#

"The innate enchantments are in data, but the logic to choose which to apply is still hardcoded."

oblique meadow
#

Doesn't the Advanced Melee Framework allow for enchantments?

humble timber
#

To be clear Im talking about specifically removing the presumably hard coded limit of level 15 for innate enchants so they can be added to modded weapons that happen to have high levels

#

Basically I wanna be able to see what happens if you manage to roll a disgusting crit innate on RSV weapons lmao

tropic hare
# lucid iron C#

How exactly should I edit the tilesheet to make it more similar to the opening animation of the Shipping Bin? Should I set the trigger action to play the animation when the player approaches?

uncut viper
#

it could technically be done with BETAS Harmony, not that i necessarily recommend that

humble timber
#

Lmao

lucid iron
#

Unless gil rocks chair faster when you close (i don't believe so)

humble timber
#

doesnt

lucid iron
#

I guess u can do dumb things with ftm spawning a furniture to use mmap draw layers and auto opening kyuuchan_run

#

This experiment spawns an auto sliding door in town

#

You can presumably do smth like this

tropic hare
brittle pasture
hard fern
#

🤔 eugrhhh... im in a pickle. (of sorts) i need to find a way to turn wool into yarn. but the problem is that stardew valley is cursed and we have a loom that visually resembles a spinning wheel and it magically turns unspun wool into cloth

#

this is like. a really funny problem

#

im not exactly sure what to do

#

i can create like. a second "loom" and call it a spinning wheel

#

that's exclusively used to just turn wool into yarn

humble timber
#

Lmao

#

Make a loom retexture that makes it not a wheel. ez

hard fern
#

i mean that's easy

#

i got a loom right here

urban patrol
#

how are NPCs catching you digging through garbage handled? could i implement something similar if they catch you digging in the graveyard (without C# ideally?)

tiny zealot
#

you would need C# for that (either your own or a framework. i don't know of an existing framework)

urban patrol
#

okay got it

#

thanks

#

i’m not opposed to having C# components to my mod but it’s just so intimidating lmao

lucid iron
#

I guess u can do it with some betas triggers of you are ok with hardcoding who has responses

urban patrol
lucid iron
#

Yeah

urban patrol
#

could at least be a good workaround until i get the courage to try learning C# again lol

#

hmmm i can’t find anything that would work for tool used/npc nearby or anything like that, but something i COULD do it upon item gained (bones) add CT to everyone “wow did you hear someone robbed the graveyard, how horrible”

sharp crystal
#

Is it possible to create recipe with a ContextTags as ingredient (exemple my mod add some eggs variants and I want to allow the recipe with theses variants) vanilla recicpes have some generic ingredients like eggs, milk, cheese, etc.

brittle pasture
#

not without spacecore

#

though you don’t need it for egg or milk as long as your items are of the appropriate category

#

vanilla supports (only some) category ingredients like “any egg” or “any milk”

sharp crystal
#

So if I want custom group of items for recipe, spacecore mod can allow that ?

lucid iron
#

Ye

red citrus
#

hi can anyone of you point me towards the modding documentation for the game?

tiny zealot
#

[[Modding:Index]]

red citrus
#

i have an idea that's simple enough it should be possible to do with my work's chatgpt pro subscription lol

sharp crystal
humble timber
#

.

#

!chatgpt

#

whats the command

tiny zealot
gaunt orbit
#

!chatgptmods

uncut viper
#

also, AI generated mods are not allowed to be shared here

gaunt orbit
#

Hm

uncut viper
#

!chatgptcode

ocean sailBOT
#

Please stop trying to get ChatGPT to write your C# mods for you, especially if you don't know how to write C#. It won't work without heavy editing, and it wastes everyone's time.

Large language models fundamentally are reguritating something from their input—which is roughly speaking, the written output of humanity up until 2021 or so, for ChatGPT. For specific, niche topics like "is this framework going to do what I want" or "which things does Game1.cs have access to", it probably has no idea! But it's good at detecting that people in the past have....said things about frameworks and written things in C#, so it does its best to assemble words and symbols into a nice order for you. Sometimes it tells you true things, and sometimes it tells you false things, and if you can't detect when, you're in trouble. When you're writing code, this usually produces garbage, because you can't be "sort of similar", you have to be exactly correct or it won't work.

gray bear
#

do we need a command

#

o!

#

u can make an alias for it wren

humble timber
#

ohhh

red citrus
#

i mean chatgpt probably codes better than i do, specially if i give it the entire documentation of how to mod a game

#

why are u against it

humble timber
#

💀

red citrus
#

it's just for fun

uncut viper
#

then neither you nor the AI will have sucess creating a stardew mod, then

gaunt orbit
#

I think my rank is only allowed to define one command right?

uncut viper
#

either way, its not allowed in this server

iron ridge
#

it probably won't
enough of the docs only exist in code that the usage of said code is illegal

tiny zealot
ocean sailBOT
#

chatgptmods is now an alias for chatgptcode!

gray bear
#

cheetos can alias cmds ^

gaunt orbit
#

Aaaah useful

#

Thank you pillow

round timber
#

well pillow is also bot maintenance so idk if thats true

iron ridge
#

i dont think that gives me perms

#

just the icon

uncut viper
#

im like 85% sure ive seen a mod author add an alias before

gray bear
#

i was able to when i was orange

uncut viper
#

maybe 90%

round timber
#

ok cool i dont remember what we've done with all these perms meowderp

gray bear
#

pretty sure i added an alias, maybe they changed it

brittle pasture
oblique meadow
#

Ok. I've hit a wall. I think im almost there but im stumped. I am trying to have Cloudy Skies trigger the WaterDirt event inside my greenhouse when the player has the GHSprinklers flag. I am getting no errors, but no results either. Any nudges in the right direction or help would be appreciated.

"Changes": [
        {
              "LogName": "Greenhouse Sprinklers Run",
            "Action": "EditData",
            "Target": "Mods/leclair.cloudyskies/WeatherData",
            "Entries": {        
                "Husky.Greenhouse_water": {
                    "Id": "Husky.Greenhouse_water",
                    "IsRaining": true,
                    "IsLightning": false,
                    "Condition": "LOCATION_NAME Target Greenhouse"
                },
            "When": {"HasFlag: CurrentPlayer": "{{ModId}}_GHSprinklers"},
            },                    
        },
        
        {
            "Action": "EditData",
            "Target": "Data/TriggerActions",
            "Entries": {
            "Husky.Greenhouse_water1": {
                "Id": "Husky.Greenhouse_water1",
                "Trigger": "DayEnding",
                "Condition": "CS_WEATHER Greenhouse -1 Husky.Greenhouse_water",
                "Actions": [
                    "leclair.cloudyskies_WaterDirt Context Greenhouse"
],},},},],}```
#

Im sure it's something stupid...

brittle pasture
#

you don’t really need the custom weather thing (and it probably doesn’t work with indoor locations anyway)

#

just use the waterdirt action

red citrus
red citrus
uncut viper
#

again, it is against server rules

#

so, i wouldnt

urban patrol
#

is there any kind of condition (looking to use a When) for farmer is wearing a specific ring? vanilla, spacecore, BETAS?

red citrus
#

i won't share it here dw

uncut viper
#

i dont care if someone gets an AI mod working or not

red citrus
#

dunno the why behind the rule but i respect it

round timber
#

we can just leave the topic here guys SDVpufferheart

uncut viper
#

SpaceCore might have stuff for equippables now that I think about it too but Im not sure if thats actions in general or just buffs

#

I don't remember

urban patrol
#

gotcha, i was thinking that but wasn’t sure if it would be too roundabout lol

uncut viper
#

otherwise there's definitely not a token for what the player has equipped and i dont remember if there is a GSQ for it

urban patrol
#

i had the idea of “when ring equipped, upon getting damaged, add item to inventory”

uncut viper
#

i know theres one for trinkets

brittle pasture
#

what I’ve seen done is spacecore ring buffs + have buff gsq

urban patrol
#

yeah i made a custom ring before with spacecore

uncut viper
#

spacecore buffs might be technically more reliable since that probably would react better if another mod removed your rings for you

#

the BETAS ItemUnequipped trigger would catch that if they called Farmer.unequip but if the other mod doesnt do that then idk, but Im assuming spacecore just continuously checks if you have it equipped maybe?

hard fern
humble timber
#

LMAO

lucid iron
#

I think player wearing x is a reasonable gsq to request

urban patrol
#

what’s an example of another mod removing rings?

lucid iron
#

To go with player has trinket

lucid iron
urban patrol
#

i can throw that in the thread

uncut viper
#

i dont know any mod that removes rings, i just like to consider the ways a mod might be incompatible with some things

lucid iron
#

Idk about removing rings but you can make it not functioning maybe

#

What's the desired function

uncut viper
#

also it should of course be said that if you want to use this in a When condition, remember that it will absolutely not update when the player equips or unequips it

#

as patches only update according to their updaterate (without something like BETAS PatchUpdate)

urban patrol
urban patrol
#

i was conceptualizing it as a trigger action gated by a when but maybe trigger action with two conditions instead?

#

not sure how often those are checked

lucid iron
uncut viper
#

imo aside from HasMod i dont think i can think of a situation where gating a TriggerAction behind a When makes sense

urban patrol
#

sure i’m not against it being a trinket lol i just don’t know anything about them

lucid iron
#

Though the logic wouldn't be wearing per say, it's ability enabled

uncut viper
#

rings can be obtained much earlier than trinkets though

lucid iron
#

You can make a ring equip a trinket

urban patrol
#

what if i give the trinket? or is that specifically a late game thing (i legitimately have never played with trinkets)

lucid iron
#

That's what dolphininaf did actually

uncut viper
#

i feel like thats not really solving the problem ehre though bc the problem isnt the ability

lucid iron
#

Used betas to make a hat that equipped a hidden trinket

uncut viper
#

its detecting the ring being equipped

#

the ability is also easy via BETAS

lucid iron
#

You can give trinkets items any time, but you won't have the trinket slot

#

This can be worked around if you are willing to increment the stat though

#

If you are willing to +1 dependency then trinket tinker just has a whole ability system that is "active when equipped"

uncut viper
#

she would still need to solve the "detect when the ring is put on"

#

unless nic wants to JUST use a trinket and not a ring at all

lucid iron
#

yeah that is the query here do you want to do that PecoWant

calm nebula
#

(I think a trinket would be cool)

urban patrol
#

if i could get around the need for trinket slot by giving a ring that enables a trinket that would be fine by me

#

or giving whatever that enables the trinket

uncut viper
#

then we are back at square one

lucid iron
#

But hm if you do that

#

I feel like it's not really different than just using betas to enable a trigger action kyuuchan_run

urban patrol
#

the most important thing to me is that the player controls when it is and isn’t active

#

doesn’t have to be is wearing an item, but wanted it to be more immersive than “toggle config on”

lucid iron
#

But yeah you can also just use a purely vanilla trinket here

#

Solely because there is a purely vanilla gsq for trinket is equipped

calm nebula
#

I think 1.6.16 may add a gsq for any item equipped tbh

urban patrol
lucid iron
#

This example adds the slot early but it will literally unlock all trinkets for random drop

lucid iron
urban patrol
#

gotcha

lucid iron
#

What you would do without tt is

#

Create a trinket that doesn't do anything itself

uncut viper
lucid iron
#

PLAYER_HAS_TRINKET <player> <trinket ID>

#

Use this gsq to check that it's equipped

uncut viper
#

(tbh i couldve sworn BETAS had it. ive got too many things in my own mod to remember them all...)

lucid iron
#

Do whatever trigger actions stuff you need for ability

urban patrol
#

that sounds doable

#

how often are GSQs checked?

uncut viper
#

i would like to emphasize what chu said about it enabling all trinket drops though

lucid iron
#

I think this is fine for ur function besides the slot jank

#

It's whenever your trigger runs

#

Gsq are not cached

urban patrol
lucid iron
uncut viper
#

normally you can only get trinkets after unlocking the mastery cave

#

which is pretty late game

urban patrol
#

yeah i’ve never done it lmao

woeful lintel
uncut viper
#

getting trinkets early can be very busted balance wise

lucid iron
#

I personally feel trinkets is a late game thing

humble timber
#

meh i did all 5 masteries by fall 15th year 1 on my first ever save where i did mastery

urban patrol
#

tbh i was thinking of having this mod be an add on to my main mod anyway, so i’m not against adding additional dependencies

uncut viper
#

that is not the average experience

lucid iron
#

So you can balance them to be more op on various ways

lucid iron
uncut viper
#

but even still if you're getting 5 masteries by fall 15, then the trinkets are still balanced bc you've done a lot to that point

urban patrol
uncut viper
#

but like, imagine getting the Parrot trinket on day 2

woeful lintel
uncut viper
#

sure, it scales with total farm income so its not SUPER strong at the start, but thats still a lot of easy cash

lucid iron
uncut viper
lucid iron
#

Mods that add trinkets can ban theirs from random drop (i usually do)

#

But y'know zero guarantee here

woeful lintel
#

oh, yeah, I knew about Building skins, I looked up how cabins work a while ago

uncut viper
#

if they use Trinket Tinker

lucid iron
#

And no way for you to edit all of them

urban patrol
#

ohhh so trinkets are normally gotten by like digging or tree shaking or whatever

lucid iron
#

No ban random drop is vanilla

#

It's a field on Data/Trinkets

urban patrol
#

and getting trinkets is available whenever?

uncut viper
#

oh, is it? thats good to know

woeful lintel
#

It bother me to make a AT/CP mixed pack, but I guess it'd be easier

uncut viper
#

i wouldnt bank on it though

#

if i was making a trinket i wouldnt ban it from random drop

#

bc i wouldnt expect it to be able to drop in spring 1

#

no, getting trinkets is not available whenever

#

its available after unlocking one of the masteries in the mastery cave

lucid iron
#

I had various dum ideas about dealing with it and eventually I just went whatever trinket slot cheat goes brrr

uncut viper
#

enabling or disabling random drops controls whether that happens after you get the mastery

#

or if you want them given specifically like via shop or mail or w/e

#

but no trinket can drop randomly until you get the mastery

urban patrol
#

okay. and does enabling the slots also enable the drops?

uncut viper
#

or increment that stat via other means

lucid iron
#

Yep

uncut viper
#

yes, for all trinkets

urban patrol
#

i see

uncut viper
#

(aside the aforementioned ones that disable random drops)

#

also in my experience i tend to get way too many of them

#

and they sell for like 1,000 each

lucid iron
#

Yeah they r balanced for late game kyuuchan_run

humble timber
#

i just hoard them in a big chest and sell occasionally

#

you really only get a shitload if you do a lot of sc runs

uncut viper
#

if you asked my opinion of it, i would say "definitely do not increment that stat early"

lucid iron
#

The parrot egg alone breaks early game econ

woeful lintel
#

ok yeah, Imma ditch AT buildings and use skins, let's just hope users won't notice the CP requirement

urban patrol
#

i was planning this for a very niche aspect of a magic system where this would be one way to get a potion ingredient, and honestly i’m not against it being late game, since the potions themselves would likely be powerful as well but require a lot of work

lucid iron
uncut viper
#

if you're fine with it being late game, then i think just using the usual trinket system works well

lucid iron
#

There's an edge case that don't like building skin, shipping bin

#

It's cus the anim is hardcoded

uncut viper
#

chu, is it possible with Trinket Tinker to do that "gain item" thing with a TT trinket but have the item drop where the trinket companion is?

woeful lintel
uncut viper
#

i know it can be done with vanilla + BETAS but I think the trinket dropping the item would look cooler

urban patrol
#

yeah until we get player has item equipped GSQ i think that this is the approach i’ll go with

lucid iron
#

I think the debris is relative to the companion actually

#

Let me check what i wrote lol

uncut viper
#

(not that im saying nic has to do that ofc if she doesnt want a dependency, im just curious)

urban patrol
#

no that would def be better than just “appears in inventory”

lucid iron
#

It makes a debris (dropped item) around the visual location of the companion

#

But obviously you need a companion

#

Otherwise default to farmer position

urban patrol
#

but still is debris?

lucid iron
#

Yeah

urban patrol
#

sick

uncut viper
#

(also given that i thought BETAS already did have it, i am absolutely going to have an "item equipped" GSQ in the next BETAS update. i still do like the trinket idea better, though)

lucid iron
#

But y'know, picks up basically immediately

#

Cus it's right on you

urban patrol
#

yeah makes sense

#

i gotta brainstorm what a companion could look like for this

uncut viper
#

is it something to do with necromancy or somethin

urban patrol
#

ugh animating sprites though… hell

uncut viper
#

since you were mentioning graveyards earlier

urban patrol
lucid iron
uncut viper
#

blood vial

urban patrol
#

didn’t want to skeeve anyone out though

urban patrol
uncut viper
tiny zealot
sacred thistle
#

hello

uncut viper
#

im missing a reference here i feel like

lucid iron
#

I watched my cousin play

#

Another smol chu memory

uncut viper
lucid iron
#

I did try poe though

#

But alas laptop too weak

uncut viper
tiny zealot
sacred thistle
#

thank you

tame orbit
#

hi guys, so regarding the paths tilesheet. when we are making our own custom maps, what do we put in the TileSet? do we just copy the existing paths.png into the assets folder for said custom map?

urban patrol
#

are you referring to paths as in dirt and stone paths, or the paths that denote specific properties like light and bushes?

tame orbit
#

paths as in the 0-36 for tile properties with the lights/trees/bushes/etc

#

but accessing the regular files with dirt and grass textures would be good too if there's a way to not need to copy paste it

tiny zealot
tame orbit
#

ooo okay so I use them in the folder with the map while making. then once I complete the custom map delete them from the assets folder? and it will use the vanilla one instead?

tiny zealot
#

yes. your mod will work if you do include vanilla copies, but the game will load your copies of the tilesheets for use on your map instead of the vanilla ones, so if any other mod tried to edit those for general use, your mod will not be compatible with them

urban patrol
#

yes, but you may also need to deal with tile sheet climbing if you get an error that mentions “../../“

tame orbit
#

ooo okay thank you guys!! I'll try it out SDVpufferheart

oblique meadow
#

ok. Update but stumped again.

If I type the command: "'leclair.cloudyskies_WaterDirt Locations Greenhouse --indoors'." into smapi it works perfectly. But this is not working....

      "Action": "EditData",
      "Target": "Data/TriggerActions",
      "Entries": {
        "Husky.Greenhouse_water": {
          "Id": "Husky.Greenhouse_water",
          "Trigger": "LocationChanged",
          "Actions": [
            "leclair.cloudyskies_WaterDirt Locations Greenhouse --indoors",
            "MarkActionApplied All Husky.Greenhouse_water false"
        ]}},},    ```
#

Am I calling the command wrong?

uncut viper
#

you can't mark itself unapplied

#

you should instead set the MarkActionApplied field on the trigger action itself to false

urban patrol
#

(and then test on a new save, because it will have already run)

uncut viper
#

If you've already saved after activating this trigger once though (even a previous iteration of it, as long as it has the same id) you will need to mark it unapplied manually or use a new save

oblique meadow
#

Ah ha! Thanks Button. I had the right idea just the wrong execution. It's working now

tame orbit
#

One more quick question regarding path tiles. I know there is a Paths Tile Index (8) for adding Light Properties. I see it says Indoors and Festivals Only.
How would I go about making an outdoor street lamp that turns on at night?
Would I just set a condition for "When": { "Time": {{Range: , }} }
Or is there a way to make the light turn on automatically when it becomes nighttime?

urban patrol
#

you should use night tiles/day tiles for that [[Modding:Maps]] look under map & tile changes

honest needle
#

Can anyone help with loading custom bundle sprites from a custom sheet? I'm having trouble with it

urban patrol
#

sure! what are you seeing, any errors?

honest needle
#

No errors, but I can't figure out how to load them from a modded location

#

I'm trying to replace the icon of the wild medicine bundle with a new one and don't know how without changing the default file

lucid iron
#

Is that something doable hrm

#

Prob need to edit bundle data

honest needle
#

I'm pretty sure its doable by editing the bundle data but I don't know how to go about that

uncut viper
#

i dont think bundle data supports custom spritesheets?

#

(she says, uncertainly)

#

i see something about a bundleTextureOverride in the code but im not exactly sure how you'd format it either since it seems to use the displayName slot?

honest needle
#

Would it be possible to load from a different spritesheet by replacing them and using that instead?

lucid iron
#

Ig it's also like what do you gain by loading to new asset

#

Why not editimage

uncut viper
#

like maybe AssetName:DisplayNameGoesHere for the display name field

#

unless the displayname is not in fact field 5

#

on further looking that might only be for random bundles

oblique meadow
#

ok. Last question for today. Do building upgrades HAVE to be linear. Or can I do something like:
"BuildingToUpgrade": [{"GreenhouseSprinklers"},{"Greenhouse3"}], So people can build only the parts they want?

uncut viper
#

actually the bundles wiki page says theres only 6 fields total in the value but Data/Bundles.json seems to have 7...

#

@honest needle try changing the second to last field in the bundle data to something with the format AssetName:SpriteIndex
so for spring crops for example:
Spring Crops/O 465 20/24 1 0 188 1 0 190 1 0 192 1 0/0//MyAssetName:3/Spring Crops
to change the texture to the one you loaded to MyAssetName and using the 3rd sprite index in that texture

autumn tide
#

Okay fairly pointless question bc I will probably never try, but is it possible to add schedules to NPCs without a schedule, or to change marriage schedules for NPCs?

#

For example, krobus lacks a schedule in the game files afaik

gray bear
#

yeah he just stands there

#

but he is a full npc so that should work afaik

#

and changing marriage schedules is def possible

lucid iron
#

I think you just need to Load blank json to Characters/schedule/Krobus

gray bear
#

and then should be able to edit it?

brittle ledge
uncut viper
gaunt orbit
gray bear
#

oh wait i thought you could just edit them? are they hardcoded (marriage dialouges)

hard fern
#

marriage dialogue isnt hardcoded, you can edit them

gray bear
#

wait i meant schedules,,,

hard fern
#

marriage schedules are just cursed.

gray bear
#

cursed as in?

brittle ledge
#

They're not hardcoded per se, but a lot of their behavior is

gaunt orbit
#

You could fake it by having two identical upgrades with different base buildings, however if you have one of each base building it would show up twice in the menu

#

Also any further upgrades would require duplicates as well

oblique meadow
#

I knew it wasn't valid. I was throwing it together for a dumb example.
And yes. I must have overlooked that line before, so i found a workaround

weary pivot
#

Hi. Is it possible to allow players to enter data through GMCM? Would rather use a number slider but can't find documentation that tells you how to format things for that. Am also trying to use that value in this CP mod, but VS code is saying that it's an error and not telling me why.


        "CustomPortraitxOffset": {
            "AllowBlank": "true",
            "Section": "Custom Portrait Settings",
            "Description": "Use a custom Portrait xOffset value."
        },

      {
        "Name": "PortraitxOffset",
        "Value": {{CustomPortraitxOffset}}, <- this part seems to be a problem
        "When": {
            "DefaultAll": false,
            "DefaultPortraitxOffset": false
        }
      },```
brittle ledge
#

Look at Demetrius Visits Farm Cave Redux, I think it does what you're wanting to do in its config

uncut viper
#

(though as for the VS Code error, thats because you dont have any quotes around it)

weary pivot
uncut viper
#

no, thats an error you need to fix

#

its not valid json

#

and i believe dynamic token values are always strings anyway

#

but even if they werent, you'd need quotes

weary pivot
#

Oh! I was using this bit from the CP docs as reference and assumed that the token part itself wasn't a string.

      // as a token
      {
         "Action": "Load",
         "Target": "LooseSprites/Billboard",
         "FromFile": "assets/material_{{Material}}.png"
      },```
#

Thank you!

uncut viper
#

its certainly not a number

#

if its not a number or a bool or null, its a string

#

(or an object/list but those are more obvious cases)

#

if its in quotes, its a string

#

so that {{Material}} is still within a string

#

the {{ }} syntax has nothing to do with json at all and is just a way that Pathos decided we needed to write specific things inside strings to tell CP that its a certain CP thing

#

it couldve just as easily been [[ ]] or || || or some other symbols

#

but its all still just a string as far as json is concerned

#

CP just replaces those bits of strings with different strings

weary pivot
#

That makes a lot of sense. It's still a json file in the end.

hard fern
#

hi bea u know all about local tokens

gray bear
#

sure

hard fern
#

🤔 i still dont really get how you do this for multiple items where you want them to all have different values

gray bear
#

values as in names/price/etc?

hard fern
#

do you just do the "include" 900 million times and just put different local tokens each time

uncut viper
#

you'd need to Include the same template multipole times

#

but each include patch has different localtoken values set

gray bear
#

yes

hard fern
#

oh ok

gray bear
#

u can set anything with local tokens, just token it

uncut viper
#

if the ONLY thing in the include is a single patch for a single item it doesnt really save you that much time and effort

#

but if the template is more complex than that it does

gray bear
#

what i did with gaystries was this
has a data file with all the flags and just loaded diff options. you can do this with colors

#

and add more local tokens, make a party

dusky sigil
#

i'm making an npc whose schedule changes based on heart level. my question is, will that cause issues in multiplayer when different players are at different heart levels with him?

urban patrol
#

i believe the default is the host's heart level with the NPC

dusky sigil
#

if it's just based on the host, that would be ideal

urban patrol
#

hmm content patcher token Hearts actually doesn't say

#

i would still assume host but idk

fresh tree
#

Hey guys i need a little help...Can I give the player their first backpack increase right after starting the game? If so, how?

ornate locust
#

You can make code specifically reference the host though, right?

#

would safeguard against that "Whose hearts" thing

uncut viper
#

im not sure if you can for Hearts, since it already takes a different input

ornate locust
#

hmm

urban patrol
#

you could presumably use host with a different token or perhaps a GSQ but idk

uncut viper
#

i feel like the NPC would use the hosts schedule regardless though?

ornate locust
#

yeah I see what you mean

uncut viper
#

since in multiplayer a lot of the times the NPC would be fake if not in the same location anyway

#

but i dont know if it gets weird or not

#

this is just a guess

urban patrol
#

multiplayer scares me tbh. what do you mean fake NPC

dusky sigil
#

i guess i'll just have to test it

uncut viper
#

Not all game data is always synced to players

fresh tree
uncut viper
#

If a farmhand is not in Location A, then its a waste of bandwidth to send all the data about Location A constantly to the Farmhand

#

especially to do that for every single location in the game

#

the same is true for NPCs. if the farmhand cannot see the NPC bc they are elsewhere, why bother sending data over the network to them?

urban patrol
#

but the host has that data?

uncut viper
#

correct

urban patrol
#

inch resting

uncut viper
#

and when the farmhand enters a location they ask the host for that data

urban patrol
#

i mean makes sense

uncut viper
#

some locations ARE always synced

#

this is what an AlwaysActive location is

#

so, the Farm for example

urban patrol
#

the farm, for example?

#

lol

uncut viper
#

farmhands can always see accurate data on the farm, and anywhere else marked as AlwaysActive, and ofc wherever they currently are

#

otherwise, you cannot trust that they have an accurate view of things

#

Haley might be at the Beach in reality, but if the Farmhand is in the mines, and they do "debug whereis Haley" or w/e, it could easily tell them shes at her house in bed

#

this is like the main reason multiplayer compatibility can be a pain in the ass sometimes

urban patrol
#

yeah definitely could see that

uncut viper
#

the host ofc has all the data about everything all the time always so things like checking where an NPC is will always work in singleplayer

#

but it means things like all the BETAS queries about where an NPC is or what mod data a location has needs special consideration

#

(and other modded queries and stuff too obv im just using BETAS as an example)

valid folio
#

Hi! I’m back and I was able to fix the problem of not being able to make crème anglaise in my dairy processor. How did I solve it? I rewrote the code. First, I made a simple entry: put in an egg, get crème anglaise. Then I added one more ingredient and tested again, and kept doing that until I had all the ingredients (egg, sugar, milk, vanilla extract). So now I can make Italian-style ice cream! Unless I wrote the Italian ice cream rule wrong haha. Next comes the drama of drawing the sprites. Anyway, thanks to everyone who was helping me this afternoon, even though we couldn’t solve the problem, thanks to you I learned a lot of things I didn’t know.

hot gale
#

Have the ability to see which dwarf moved into which cabin now :D

obtuse wigeon
#

Looking good! you're making quick progress!

hot gale
#

Thank you! :D

#

Think I am going to start working on introducing the first job to the town

lucid iron
#

dwarf fortress valley

hot gale
#

kind of haha 🤣

obtuse wigeon
#

I've always been intimidated to start playing dwarf fortress, Colony valley may be the kick I need to play it

hot gale
#

Colony Valley is a much better name damn 🤣

#

I've been using MayorsTown as a placeholder lmao

#

Mayor Lewis is the point of contact for the mod

obtuse wigeon
#

Trying to concatanate MineColonies and Stardew Valley into something that didn't sound minecrafty is HARD

hot gale
#

right lol

obtuse wigeon
#

honestly MayorsTown is better than I'd come up with, my place holder would be townBuildyThingy, I have an in progress mod called TeleportyThingy so it fits

hot gale
#

It's been real fun so far

#

aside from trying to use FarmerRender

#

which was pure hell

obtuse wigeon
#

haha glad I was here during to so I learned never to use it that's for sure

hot gale
#

Dwarfs I think are a cooler idea anyway, I may end up changing up the sprite to make their shirt/cape colorable in code to add more randomization to them

obtuse wigeon
#

Tinting the colours using the code is a much better idea than making individual sprites for each peice of clothing, good thinking

lucid iron
#

are u gonna make a cave map then DokkanStare

hot gale
#

Damn

#

Why did you have to say that

#

Welp

#

Thats going on the board 🤣

lucid iron
#

i hand out scope creep for free

oblique meadow
#

….no comment

hot gale
calm nebula
#

I expect payment (||in your sanity||) for scope creep

hard fern
#

im gonna cry i threw off my entire spriteindex count because i went from 25 -> 30 because i managed to ???? count??? incorrectly

hot gale
#

Damn

#

F

dusky sigil
#

update on the npc multiplayer schedule: it looks like the schedule is always based on the host player, but other things that depend on hearts are linked to individual players, which is the behavior i was hoping for. unless my testing wasn't thorough enough, which is possible

valid nova
#

Is it weird that testing and searching the logs for problems is my favourite part of mod making? In minecraft I literally just volunteer to break things and find the problem and sometimes also the solution lol

#

I am excited for my first stardew mod to have many problems to fix

lucid iron
#

i know someone who would like to translate the UI portion to chinese, but it is not possible atm because this mod doesn't use the translation helper in smapi. would you be willing to add support for it?

hard fern
#

🤔 speaking of translations as a random... question, i guess.. does anyone know what "perfection" would be called in japanese. (not just the word) Like in english we just call getting perfection "getting perfection" but im not sure what that would equate to in other languages.

lucid iron
#

You can prob check the game files to find out

brave fable
#

it's almost certainly already translated, which is fortunate since there's maybe 2 japanese translators in the community

hard fern
#

im doing that right now but honestly idk where i'd even find something like that in english...

brave fable
#

i'd recommend searching your decompile for "perfection" to find the EN translation, then searching for the matching key in the .jp file

#

ctrl-shift-F to search-in-files in most text editors

hard fern
#

「完璧」oh here it is

tiny zealot
#

fascinating

"StatueOfTruePerfection_Name": "真の完璧の像",```
lucid iron
#

Did they oop

hard fern
#

probably? ive found the japanese translation is weirdly inconsistent

tiny zealot
#

both of them seem like fine choices but the inconsistency is funny (to me)

obtuse wigeon
#

That seems like an inconsistancy due to different dialects, not sure if that's the case specifically but dialectal differences with similar grammer occur in Welsh too

brave fable
#

it makes sense to me at least, perfection seems more likely to use the 'absolute' writing in general, but it'd be a bit stilted if the true perfection used it

tiny zealot
#

also i believe these items were added in different game versions so it shouldn't be surprising (may have been done by different people, maybe even without context)

hard fern
#

hm yeah maybe

#

i guess i'll just take what fizz calls it

brave fable
#

and yeah the jp translation has had a lot of small errors over the years hahah

#

a few items were straight-up blank for 1.5

lucid iron
#

Both of these are better than 无力的鸡 for void chicken

#

Powerless chicken 😔

hard fern
#

😭

obtuse wigeon
#

Pffft that's amazing

brave fable
#

and his nemesis, 力的鸡 SDVpetchickengains

devout otter
hard fern
#

i should tell myself that translating will build character... (nobody is going to see the translation it's just a proof of concept for myself, really)

calm nebula
#

Got it. I'll restart my Korean duolingo courze

lucid iron
#

Translating does build character but also confusion

obtuse wigeon
#

also builds trust issues with machine translation

hard fern
#

you're right chu im so confused all the time

uncut viper
obtuse wigeon
#

I am indeed welsh, specifically north walian (makes a difference when refering to dialects but that's pretty much the only difference)

uncut viper
#

sadly i cannot put my welsh heart emoji on that bc of lack of nitro so just pretend that i did

brave fable
#

(wow, more than one welsh mod author. cymru valley coming together)

uncut viper
#

(i am not welsh but my wife is, shes just always happy to see other welsh people online mentioning welsh)

obtuse wigeon
#

If only nitro was cheaper

uncut viper
#

(she does help me sometimes though so i guess shes part time mod author)

brave fable
#

(limey is welsh right?)

obtuse wigeon
#

omg that awesome! Never expected to see another welsh person here

uncut viper
#

at one point my partner floated the idea of a fan Welsh translation mod but then i told her how many strings there were in the game

#

also last time i saw someone trying to make a welsh translation mod they ran into font issues bc of that one y

obtuse wigeon
#

That would be so fun but a MASSIVE undertaking, although I do have a lot of free time on my hands

uncut viper
#

with the diacritic

obtuse wigeon
#

Oh the ^?

uncut viper
#

yeah that one

#

i dont know if they ever got past that or not. i dunno anything about how to do fonts in SDV

obtuse wigeon
#

Ye that's on a lot more than the y, every vowel can have it, a e i o u and y

uncut viper
#

yeah but the font they were trying to use did not have the one with the y specifically

#

i dont think many languages use that one

brave fable
#

could you force the latin-extended spritefont? would that include the correct accented y?

uncut viper
#

and by font they were trying t o use i mean the font SDV Comes with

#

it has the other accents

obtuse wigeon
#

ahh gotcha, I thought the diacrits/accents were handled similarly to emojis? as a modifier instead of a distinct characters

brave fable
#

not in spritefonts, at least - every character is individually and arbitrarily defined

uncut viper
#

yeeep

lucid iron
#

Welsh heart emoji...

obtuse wigeon
#

Ahhh makes sense

uncut viper
#

you can see it in LooseSprites/font_bold.png

#

no circumflex y...

brave fable
#

same reason (of many) that there's still no arabic translation

hard fern
#

if i have to type yarn ball one more time im going to cry

lucid iron
#

Oh there was person doing that right

brave fable
#

i mean you could tokenise it into {{forbidden_item}}

uncut viper
#

make it into a dynamic token thats called "{{YRNBL}}" which is slightly better SDVpufferthumbsup

lucid iron
#

This person

calm nebula
#

Yarn?

uncut viper
#

Ball

brave fable
#

there's been about 5 people individually attempting an arabic mod and unsurprisingly none have actually published yet

uncut viper
#

i remember that person (re: arabic/RTL)

#

i hope they succeed in that

lucid iron
#

Same it would be incredibly powerful

obtuse wigeon
#

they have thorn as a character but not the y with a ^? is there any languages that still use thorn?

tiny zealot
#

icelandic

brave fable
#

icelandic iirc

tiny zealot
#

thorn and eth!

obtuse wigeon
#

Ahhhh, learned something new!

uncut viper
#

(does sdv even have an icelandic translation though)

hard fern
#

🤔 can i dynamic token my i18n. like stick a token straight in the "This is my yarn ball": "yarn {{BALLED}}"

brave fable
#

technically you've learned something very, very old 🧓

uncut viper
#

you can pass in a token into the i18n token

#

so its kinda just more effort to do so

#

if the only intent is to save time

lucid iron
#

I heard the zh font is somewhat limited in glyphs too

#

Although still ridiculously luxurious compared to other languages lol

brave fable
#

i'm surprised given the absolute size of it

lucid iron
#

At one point it didn't have pelican

#

鹈鹕

uncut viper
#

using spritefonts for something like that sounds absolutely hell to me

tiny zealot
#

all i know is the zh font was changed in 1.6 and there was a big uproar about it and it got reverted or made into an option setting or something

lucid iron
#

Yeah it's option now

#

So like, most of Content is fonts lmao

obtuse wigeon
#

Honestly given the only diacritic in welsh is ^ the ý could be a valid replacement, It would be understood easily and not confused at least

lucid iron
#

And specifically the cjk fonts

uncut viper
#

1.6.4: "Changed the Chinese fonts to make them more appealing and readable."
1.6.6: "Reverted Chinese default font to the original"

tiny zealot
#

oof

lucid iron
#

The font is the least of the problems though

uncut viper
#

big "I'm a genius!" "Oh no!" energy

lucid iron
#

Bad translation is why ppl be mad

uncut viper
#

they did also revert text as well i see

obtuse wigeon
#

That was not a long lasting change

uncut viper
#

to whatever was in 1.6.3

#

i was just amused by those specific lines, given the claims made in the 1.6.4 changelog

obtuse wigeon
#

Translating to a morphemic language when you're not fluent can be quite a difficult task, translation software still has a hard time

brave fable
#

poor developers were swindled by a chinese translation salesman

uncut viper
#

i mean im sure they hired professional translators

#

"translation seller, i am going into gamedev, and i need your strongest chinese translations"

brave fable
#

you can't handle my most appealing translations, developer. SDVpetgoat

obtuse wigeon
#

reminds me of the funny mis translations that say "Translate service isn't available, please try again later" or similar

lucid iron
#

i think zh is prob like

uncut viper
#

what an ominous emoji choice that i dont understand yet makes perfect sense in that usage

lucid iron
#

among fastest lang to tl a mod on nexus

#

pt also speeb

uncut viper
#

i dunno i usually see PT-BR pretty quick

brave fable
#

i would've used left-facing goat but for some reason they removed that particular emoji

tiny zealot
#

pt-br can be a safe #2 but i gotta give it to zh i think

lucid mulch
#

wasn't some of the backlash of the new chinese translations less that it was wrong/bad but that it was mainly just... different

lucid iron
#

its colloquial and had internet speak

uncut viper
#

the old one or the newer one?

obtuse wigeon
#

I think I only ever see PT-BR translations due to my VPN being in south america (Damn you UK govornment and your stupid age verification)

lucid iron
#

so ig it's like if eng text suddenly had yo dawg in it

#

new one

lucid mulch
brave fable
#

ah, stardew valley: ace attorney investigations

#

i'd complain too

obtuse wigeon
#

OBJECTION! 👉

brave fable
#

infamous for having a clown shout the fresh prince of bel air theme song in court

obtuse wigeon
#

I've played a few mods that have slang and other internet speak and it completely threw me off every time

lucid iron
#

there's a few other things like mystery box going from "box of mystery" to literal "blind box"

#

its not wrong but kinda ruins the vibe yknow

obtuse wigeon
#

Box of mystery is a much cooler name

uncut viper
#

im assuming it doesnt come across the same way the term Blind Bag does

#

bc to me Blind Box makes sense and fits but that is ofc with an english interpretation

humble timber
brave fable
#

well blind box does have a more commoditive/marketing connotation than mystery box

uncut viper
#

sounds fitting for Qi

brave fable
#

which i'd imagine is more noticeable/literal in a zh translation

uncut viper
#

he runs a casino

lucid iron
#

blind box is the thing labubus are sold in

brave fable
#

well yes but despite the glasses i'd describe mr qi as mysterious more than blind

uncut viper
#

i dont think Blind Box implies literal blindness in English

#

but thats why i said "im assuming it doesnt come across that way [in a zh translation]"

hard fern
#

im going to pretend the color fucshia isn't real because i dont want to translate it

#

i cant even spell it right

#

fuchsia

obtuse wigeon
#

fun fact: fushsia also has a mandela like effect, many people think it a green hue or a pink hue (I'm not actually sure which it is but I think pink fits better)

hard fern
#

🤔 was that not the case with puce or chartreuse

#

i had a conversation with my mother just earlier about those colors

obtuse wigeon
#

oh it mightve been, hmmm I'm not too sure now

brave fable
#

(spelling tip: fuchsia is named after a person with the surname fuchs)

obtuse wigeon
#

looking on google, puce is defined as a dark red purplish brown colour and yet most of the images are an almost salmon pink

patent lanceBOT
obtuse wigeon
#

I have a question about mineral nodes, do they only spawn if a location is active? or do they spawn all the time reguardless?

brave fable
#

spawning is generally handled by the host iirc, so all locations would be active. in the case of the mines, they're regenerated whenever they're reentered, so those could also be considered always active

obtuse wigeon
#

Gotcha, that explains many of the indoor quarry areas added by mods being filled with nodes

#

(Thanks SVE diamond cave for the 299 diamonds)

lucid mulch
#

and even for the host, if they elevator to 105, clear it, leave and immediately elevator back to 105, it will be empty if time didn't increment

tiny zealot
#

the mines is a strange place

lucid mulch
#

and for "active location" calculations, underground mine locations aren't always active, farmhand only know their current level. This is also why if farmhand A places a bomb on floor 65 while farmhand B is still on 64, and then does down a ladder they will not see the bomb until the explosion happens

uncut viper
#

they also dont actually exist until entered the first time either, i think?

lucid mulch
#

for the standard mine/skull cavern yes, they are generated on demand

#

I can't remember if the quarry mine floor is on demand or not as it persists for the rest of the day

#

and I think volcano is ahead of time generated on day start, but memory is hazy as its also persistant for the day

calm nebula
#

I doubt the volcano is pregeneration

uncut viper
#

seems to generate as soon as resetLocalState is called

#

or if you call VolcanoDungeon.GetLevel()

calm nebula
#

Given the bug of the volcano doing derpy stuff

brave fable
#

i was looking around the mineshaft instancing code a while ago but i don't recall when the quarry's first instanced

calm nebula
#

In splitscreen

#

I think thr quarry is just a mine level

lucid mulch
#

quarry mine is 77377 or something

#

and a bunch of hacks to make sure it pretends to not be a regular mine floor (like a farmhand there doesn't prevent regular mines despawning etc)

calm nebula
#

77377

#

I remember it because it looks like a bat

obtuse wigeon
#

The only bit os trivia reguarding mines is that the quarry, regular mines, and skull cavern are all in the same (floor column?)

brave fable
#

.. does it

uncut viper
#

... does it?

obtuse wigeon
#

How?

lucid mulch
#

the 3 is the body and the 7's are the wings

uncut viper
#

i dont see it

brave fable
#

looks more like a kissing while sobbing emote to me

#

but maybe that says more about me than you

uncut viper
#

T3T

lucid iron
#

how do you use replaceWithClone

uncut viper
#

dont you just like
idk just use it
put in the npc name and bam

calm nebula
#

Very carefully

#

It may cause a glitch in the universe

#

You can't just replace someone with their clone

uncut viper
#

you cant be sure someone hasnt already done that to you

calm nebula
#

I suspiciously dont have memories before my 13th birthday

lucid mulch
#

looking at the implementation I think a clone of a clone is safe

calm nebula
#

Otoh apparently butterflies keep memories from when they are caterpillars

obtuse wigeon
#

Wouldn't a clone have the memories? therefore you may be a doppleganger or changling

calm nebula
#

.... I'm making a bad joke haha

lucid iron
#

well i mean i replaced chu1 and the universe is fine

#

probably

brave fable
#

chu1 wasn't that important

uncut viper
#

have you independently verified that all of your smol chu memories actually happened?

obtuse wigeon
#

Just make sure not to replace chu2, recursion can be a disaster

lucid iron
#

in that he retell them to me every year

calm nebula
#

Dont worry chue is irrational

#

Replacing chu2 is fine

#

So is replacing chu2.7

lucid iron
#

im still kind of confused about this replaceWithClone business

#

does vanilla use it

uncut viper
#

seems not

#

it just adds an event actor with the same data as the npc you're cloning

#

and removes the original

sharp crystal
#

In my mod, I've a Content Patcher mod + a C# mod.
They are made to work together.
Is it possible to add a config in my content patcher mod and access to this same config in my C# mod ?

uncut viper
#

you can with reflection

brave fable
#

what i've done in that position is add the Content Patcher API in my C# component, register new dynamic tokens via the API with my C# config values, and then use those tokens in the CP component as you would any other tokens

uncut viper
#

so possible yes, easy no

#

i would also recommend what blueberry says, so reverse your situation

#

put the config in the C# part, not the CP part

brave fable
#

this does mean the config is in your C# component instead of your CP component, which is probably fine

#

it does mean you have the added benefit of defining your own GMCM API implementation for a very custom config menu

#

.. at the cost of not having the automatic CP GMCM implementation made for you

obtuse wigeon
#

That's something that can be done? that's so useful!

brave fable
uncut viper
#

and remove that one using directive ofc

calm nebula
brave fable
uncut viper
#

i also removed it from SPU's API bc it also annoys me to have to do so

calm nebula
#

It occurs to me pathos could have inverted that

#

Made the full api inherit from this

brave fable
#

just ignore all the other junk in that file

lucid iron
#

moveToSoup...

#

i want to move to soup

uncut viper
#

thats my favourite hardcoded command

calm nebula
#

What does that do?

uncut viper
#

its for the luau

#

when everyone goes to taste the soup

gentle rose
#

has anyone ever tested what happens if you loaded an animated gif into a texture instead of a png (with no actual c# changes)

uncut viper
#

it sets up an advancedmove for the specific NPCs to move from where the game knows they will be to the soup bowl

calm nebula
brittle pasture
#

it probably just takes the first frame

gentle rose
calm nebula
#

The thing is, it's not monogame reading it

brittle pasture
#

software that theoretically supports GIFs but not animated GIFs can read the latter like it's a regular gif with a bunch of junk data at the end

calm nebula
#

It's skiasharp

#

Which

gentle rose
#

I thought texture2d was monogame

calm nebula
#

It is. But smapi reads them with skia

uncut viper
#

patch Skia

gentle rose
#

I said no c# snob

uncut viper
#

use IL

gentle rose
#

anyway. night everyone

uncut viper
#

dread it, run from it, the IL still arrives

calm nebula
gentle rose
#

not at 3am it doesn't

uncut viper
#

you'd be surprised

gentle rose
#

not THIS 3am it doesn't

uncut viper
#

you may yet dream of it

lucid mulch
#

If you patch that method directly, both speedysolutions and spritemaster/clearglasses patches that exact method

tired matrix
#

is smth wrong w this schedule?

#

no idea why its not working and no log error

tiny zealot
#

did you sleep a day after adding your NPC?

tired matrix
#

yeah i tried this😔

vernal crest
#

You're trying to Load a schedule with tokens in it. That won't work. You need to Load a blank json and then put this data into an EditData patch.

#

A blank json is not literally blank, though. It looks like this:

{}
tired matrix
#

but i have onea_wahhhhh

vernal crest
#

Can you share your json with the blank load patch and also the schedule load patch?

tired matrix
#

its like

#

{ }

#

just this inside

vernal crest
#

Yup that's fine

tired matrix
#

schedule load patch like in content?

vernal crest
#

Because your schedule appears to be set up to be Loaded, not used in an EditData patch

#

Yeah if you have it in your content.json, then share the content.json

tired matrix
#

OH

#

that might be it thank you!!

#

will edit

#

so i just substitute right?

vernal crest
#

Yes, you're just replacing your blank load with the schedule. Once you change to an EditData patch, the tokens will start working so your schedule should work.

#

Substitute what?

#

You will need to change it to an EditData patch.

#

(Which means adding an "Entries" field and putting all your keys in there.)

tired matrix
#

load blank and edditdata schedule right?

vernal crest
#

Yep

tiny zealot
#

probably a good time as well to be consistent about {{ModId}}_Xavier versus plain Xavier (use the former)

wanton lantern
#

Would this be the appropriate channel to discuss my one frustration in the modding community quickly?

I also have a question.

vernal crest
#

If you're coming in to criticise us...probably not lol

uncut viper
#

i mean do you plan on insulting people by doing so

wanton lantern
#

No not so much insulting or criticizing

#

I just wish there was more of male clothing 😭

lucid mulch
#

unless its a frustration with the creation of mods its probably for #modded-stardew

vernal crest
#

Oh same

obtuse wigeon
#

Me too

vernal crest
#

(Be the change! Make us male clothing!)

uncut viper
#

i find that is a common want

#

people make what they wanna make, though

obtuse wigeon
#

If only I had decent drawing skills SDVpufferwaaah

vernal crest
#

I want male clothing but I also want to never, ever, ever, go anywhere near farmer clothing sprites so it is what it is

#

NPC sprites are sucky enough

wanton lantern
calm nebula
#

Man, atravita's code has caused me no end of grief for years

lucid mulch
#

male fashion is mostly a meme anyway, so makes sense its all women fashion

tiny zealot
#

some hopefuls surely saw pants.png and walked away

calm nebula
uncut viper
#

you're looking for a niche kind of person in a niche kind of community

#

with a niche skillset

calm nebula
#

And a desire to deal with pants

#

And a desire to make recognizable fashion in about 1.5 pixels

tender bloom
#

Pants.png is mostly documented—all hundred some frames

uncut viper
#

yeah theres also just not much room to work with

#

very limiting

wanton lantern
uncut viper
#

!commissions

ocean sailBOT
hard fern
#

!comms

ocean sailBOT
tiny zealot
#

(elizabeth summoning spell successful 😌)

obtuse wigeon
#

Oh good lord look at all those pants

calm nebula
#

Comms 😛

uncut viper
#

there may be someone on that list willing to do male clothing comms

#

not guaranteed though

calm nebula
#

Oh god Elizabeth do you like pants

obtuse wigeon
#

I've never actually looked at pants.png

calm nebula
#

Because i ditch mine for a skirt the second I get home

vernal crest
#

It's hard to make male clothing very distinguishable from other male clothing imo.

hard fern
#

honestly yeah

#

like there's but so many ways to make a pair of pants

wanton lantern
calm nebula
#

Can I have skinny skinny jeans

#

Like cut off circulation jeans

obtuse wigeon
#

A single pixel wide

hard fern
tired matrix
#

like these?

uncut viper
#

please do not,

#

!json

ocean sailBOT
#

JSON is a standard format for machine-readable text files that's used by Stardew Valley mods.

If you need help with a JSON file, you can upload it to smapi.io/json to see automatic validation and share the link here.

When making mods, it's recommended to edit your files in a text editor with JSON support, such as VS Code, Notepad++, or Sublime Text. These programs will check for syntax errors.

hard fern
#

!json

ocean sailBOT
#

JSON is a standard format for machine-readable text files that's used by Stardew Valley mods.

If you need help with a JSON file, you can upload it to smapi.io/json to see automatic validation and share the link here.

When making mods, it's recommended to edit your files in a text editor with JSON support, such as VS Code, Notepad++, or Sublime Text. These programs will check for syntax errors.

calm nebula
#

Or joggers

tired matrix
#

ah forgot this srry

uncut viper
#

thats two sodas shrimply

hard fern
uncut viper
#

twice we've jinxed now

calm nebula
#

Or can I get barrel jeans in stardew

vernal crest
#

Barrel jeans?

obtuse wigeon
#

stright wide legged jeans, think boot cut but that size all the way up i think

calm nebula
#

No

vernal crest
calm nebula
#

Barrel jeans are the opposite of flares

#

Wide at the knee. Narrow at the hip and ankle

uncut viper
#

(also, if {{ModId}}_Xavier is the internal name of your NPC, then xavier_sleep wont cut it, i assume)

#

(basically re-emphasizing ichors "pick one and stick to it")

hard fern
vernal crest
# tired matrix even w blank? okay

Yes because the blank is just your file. It's not the asset in the game that's associated with your character. You use the blank Load to create the Characters/schedules/{{ModId}}_Xavier asset, and then the EditData patch to put actual data in there.

tired matrix
uncut viper
#

as I understand it, that schedule command must be all lowercase specifically

cobalt lance
#

is there a way to put a music note in a say command for an event?

tired matrix
#

damn ill have to fix this then

urban patrol
#

also be aware that once you send NPCs to sleep they're uninteractable. you might want to define an animation as "Xavier_nap" or something instead

vernal crest
oblique meadow
#

While I am not yet asking for help, I applaud those of you who can throw together custom events. I am struggling to wrap my head around them

vernal crest
#

Are you making good use of the tutorials on the modding wiki?

#

I find Events for Everyone particularly useful because it explains many of the commands in detail

oblique meadow
#

Yeah. I figured I’d read it top to bottom and reverse engineer a few first. Until I do that I’m not asking for help since I wouldn’t learn anything

#

But geez they’re a lot

vernal crest
#

(Also, I must rep for multilining your events. Jsonc doesn't like it so you get a lot of error messages but man it's way easier to read)

tired matrix
#

damn i18n isnt working either

#

do i load blank too?

uncut viper
#

tokens dont work in i18n unless you pass in the token

tired matrix
#

isnt i supposed to like

oblique meadow
tired matrix
#

put the 118:token

#

and then in default just put the dialogue normally?

uncut viper
#

not if your default uses tokens in it

vernal crest
uncut viper
#

they said "either" so i assumed it was a similar issue to the Load issue,which failed bc there were tokens in it

vernal crest
vernal crest
uncut viper
#

but my message was more meant as "tokens dont work, so if you are using them, thatd be the issue, read this"
couldve done with not splitting up my messages as im wont to do, i suppose, to make that clearer

tired matrix
#

i just did the dialogues.json like this

vernal crest
#

You are Loading your dialogue

tired matrix
#

and the defaut only the dialogues

vernal crest
#

So tokens don't work

#

You need to blank load the dialogue and then EditData that too

tired matrix
#

a

hard fern
#

b

obtuse wigeon
#

do tokens not work with any load or just specific ones?

tired matrix
#

editdata load the dialogue.json w thw tokens?

uncut viper
#

Load passes the file directly to the game, for all intents and purposes

#

Content Patcher does not touch the contents within the file whatsoever

obtuse wigeon
#

Ahhh gotcha

uncut viper
#

nor does it read them

#

which is why there is no changes field and whatnot and its just a straight up string to string dict and why tokens dont work

vernal crest
#

They are two separate actions

#

Do the exact same thing you did with the schedule with having two patches, but use Characters/Dialogue/{{ModId}}_Xavier}} as the Target (and obviously put your dialogue keys in the EditData patch instead of schedule keys).

tired matrix
#

i mean editdata and then the things inside dialogue.json

hard fern
#

you'll need to load a blank first, then do editdata

tired matrix
#

let me test now

vernal crest
#

Your dialogue.json needs to change to be an EditData patch if you want to still use that file. Then you'll need three patches: a blank load (which you can combine with the schedule one by having both Targets in the same filed), an Include for the dialogue.json, and then the dialogue.json file will contain an EditData patch with the dialogue lines in it.

tired matrix
tired matrix