#making-mods-general

1 messages · Page 498 of 1

calm nebula
#

No idea never dared

brave fable
#

i'm sure i remember a NPWLB mod

patent lanceBOT
ornate trellis
#

ok, where does potato gratin fall under the cube rule i must know its my favorite

#

man, i sure butchered those words, huh...

uncut viper
#

hello would some mod author like to showcase a mod of mine after i post it

autumn tide
#

sure!

uncut viper
#

then i will post it in modded-stardew in just a moment

autumn tide
#

it's weird being a mod author.. i still feel so new

uncut viper
#

tyty

fading walrus
#

Same vibe as left beef

calm nebula
#

Please

#

Consider French onion soup

#

Also have we considered middle bread

ornate trellis
#

middle bread? so is bread the spread or w/e in this scenario?

autumn tide
#

you guys are very entertaining

opaque field
#

I scrolled so far back in the chat to catch up and I’m wheezing lmfao

ornate trellis
#

bread spread....we do have caramell cookie spread thats close enough right

autumn tide
#

also void i think it's 2 am for you pls try to healthy sleep schedule 💖

ornate trellis
#

1:23am

autumn tide
#

oh

#

carry on them /j

#

thn

#

thrn

#

FUCK

#

then

ornate trellis
#

carry on my wayward son..

#

eh, tomorrow you can kick me if I am awake at this hour tbf cuz then i need to go to bed early since i have early shift on christmas eve

autumn tide
#

i shall

calm nebula
autumn tide
#

eugh also good luck with work retail on christmas eve must be intense

autumn tide
calm nebula
#

The cheese is on the outside!

autumn tide
#

wait huh

#

but it's on the inside..

opaque field
autumn tide
#

today i wanted to make cookies but i burned the cocoa powder and gave up ✨

#

been yapping here since ✨

#

well not in this channel but yk

ornate trellis
opaque field
#

Ii worked at kohls a while back and Black Friday/christmas were insane and still haunt me

opaque field
tight rivet
#

my condolensces on that. I'm lucky in that my work is probably going to be dead on christmas eve (and we close early)

prisma swallow
#

if i wanted to create a mod for another mod, a rival hearts one, should i reach out to the mod author first to make sure i have permission before attempting anything? i've been thinking about it for a while and i want to try modding something like that, but just want to make sure i'm not stepping on any toes or wasting my time

vernal crest
prisma swallow
vernal crest
#

Nice! There are a few rival heart mods for some RSV characters but it's great to have more!

prisma swallow
#

yeah i have basically all of the rival hearts mods downloaded that don't conflict, but i feel sad when i'm the only one happy and then there's just that village populated by 90% of my exes

brave fable
#

live in the doomed world you have created.

devout cliff
#

Is there a way for me to see my portraits in game for the purpose of seeing all the emotions? (I’ve been running people down in-game, but it’s kind of annoying and I can’t guarantee I’ll see the emotion I need to)

vernal crest
devout cliff
#

I will try that and thank you for the link 🤗

balmy valve
#

im making a branching event where certain choice affect the music choice in a later event. should i use a fork?? questionAnswered? should i use a series of quickQuestions and switchEvents and then make the music in the last event tied to the event id precondition????

#

Helb!

vernal crest
#

QQ

#

Fork is just like QQ+switchEvent but worse

hard fern
#

i love fork 😔

tiny zealot
#

nothing wrong with fork if it is meeting your needs, but qq is strictly more capable

balmy valve
#

Ok thank gosh

balmy valve
brisk wedge
#

Thanks everyone for answering my questions yesterday, I ended up doing

new CodeMatch(ci =>
    ci.opcode == OpCodes.Call && (ci.operand as MethodInfo).Name == "ChooseFrom"
),
new CodeMatch(ci =>
    ci.opcode == OpCodes.Stloc_S && (ci.operand as LocalBuilder).LocalIndex == 7
)

but now I'm having trouble making my own code instructions

new CodeInstruction(OpCodes.Ldloc_1),
// v2 (location of rod)
new CodeInstruction(OpCodes.Ldloc_S, v2Storage),
// lighting event
new CodeInstruction(OpCodes.Ldloc_2),
new CodeInstruction(
    OpCodes.Call,
    AccessTools.Method(typeof(UtilityPatch), nameof(CheckCombinedLightningRod))
),
new CodeInstruction(OpCodes.Brfalse, label),
new CodeInstruction(OpCodes.Ret),
new CodeInstruction(OpCodes.Nop).WithLabels(label)

I get NullReferenceException: Object reference not set to an instance of an object.

CheckCombinedLightningRod is a public static bool that takes in 3 things
I checked that the access tools method is non null, that v2 storage has the correct thing. when I remove the last three lines, the exception goes away
I also put logging at the beginning of my function to see if anything happens but I don't see it in the logs

#

label was created with new Label()

brittle pasture
#

can you post the full function

brisk wedge
#
public static void CheckCombinedLightningRod(
    Farm farm,
    // v2 is the vector location of the randomly chosen lighting rod
    Vector2 v2,
    Farm.LightningStrikeEvent lightningEvent
)
{
    try
    {
        ModEntry.Logger.Log($"Start", LogLevel.Error);
        ModEntry.Logger.Log($"Start {Game1.timeOfDay} {v2}", LogLevel.Error);

    }
    catch (Exception ex)
    {
        ModEntry.Logger.Log(
            string.Format(
                "Unhandled Error in {0}.{1}:\n{2}",
                nameof(Utility),
                nameof(CheckCombinedLightningRod),
                ex
            ),
            LogLevel.Error
        );
    }
}

its basically got nothing cuz i commented it all out

brittle pasture
#

I mean the transpiler

#

but that helps too

calm nebula
uncut viper
#

dont do new Label, do il.EmitLabel or w/e

#

il.CreateLabel or something

brisk wedge
#

stupid question how do i get an il

uncut viper
#

i dont remember what its called in the transpiler parameters

#

the ILGenerator generator

calm nebula
#

Add in an parameter with type ILGenetator

uncut viper
#

(i always call mine il and forgot thats not the default)

calm nebula
#

And call .DefineLabel from there

uncut viper
#

(well "default" aka whats used in the docs)

calm nebula
#

Hey, mine are called gen

brittle pasture
#

see that you need to pass a new parameter in the transpiler into the code matcher object

#

and see the label creation methods I used below

brisk wedge
#

success thanks yall

balmy valve
#

how do i make a music choice conditional depending on a seen event id?

#

i don't want to make a gazillion conditional 14-heart events

vernal crest
#

Use a dynamic token

balmy valve
#

okie

#

what the yoba is dat

#

wait i looked it up. slay

vernal crest
#

Feel free to ping me if you need a hand figuring out how to use it in this context

balmy valve
#

ok

#

thank you

inland rain
#

custom luau soup item reactions

balmy valve
#

i just speed-composed 6 songs

#

@vernal crest hi, abagai! i am done setting up the token. how do i use it to change which music plays in an event?

vernal crest
balmy valve
#

playMusic

#

I'm just exporting and loading the music now

vernal crest
#

Okay so instead of having playMusic SummertimeSadness/ in your event, you'd have playMusic {{DT_EventMusic}}/.

balmy valve
#

so i only have the dynamic token values rn, how do i connect them to the songs?

#

If that makes sense

vernal crest
#

Hmm actually, is this event happening on the same day as the event that decides which music will play?

balmy valve
#

No, the deciding event is a 6-heart and the result event is a 14-heart

vernal crest
#

Oh okay that is fine then

vernal crest
balmy valve
#

Wait, but the values in my DT are simple strings without the {{ModId}} token in them

#

Wait nvm thats not how it works

#

the ID is just the in-game name right

vernal crest
#

You can make the values include the mod id token or you can put the mod id token in the event

balmy valve
#

like Spring (It's a Big World Outside)

vernal crest
#

Your custom music should have a mod id prefix in its ID

balmy valve
#

ok ;c

#

so i would say `playMusic {{ModId}}_ {{DTSongToken}}

vernal crest
#

Yeah

balmy valve
#

what if the dynamic token name alr has my modid in it, would i then do {{ModId}}_{{DT_{{ModId}}_SongToken}}

#

that is so cursed

#

Will this also mean that if the player skips the event, no song will play? Good.

vernal crest
#

Don't put your mod id in the dynamic token name

balmy valve
#

ok

vernal crest
#

It's internal to your mod (unlike the value) so it doesn't have to be globally unique

balmy valve
#

Excellent...tee hee >:3

#

Let me make a placeholder 14-heart event (guess i'd better make it an 8-heart for now) and test it

#

Thank you so much for your help btw, I would've really struggled otherwise

vernal crest
#

You don't need to make it an anything heart event. You can give it no preconditions and just use debug ebi to run it. (Or go to the location you've put it in)

balmy valve
#

oh yeah

#

eh whatever

#

It's saying {{DT_SongToken}} could not be used as a token bc that token could not be found.

#

But it's a warn, not an error

#

Is that just because i haven't done the deciding event yet?

#

It's also saying "must set the Action field"

vernal crest
#

It might, or you might have a typo somewhere. Share your json please

#

You should have a default value for the DT by the way so that if a player doesn't choose the music there will still be a value.

balmy valve
#

Oh. Yeah I don't got that. Gimme a second to fix that n then I'll share my json

hallow prism
#

yeah dynamic tokens are better with a default neutral value as a failsafe

#

like if the player skips an event or something

balmy valve
#

oh. my. god.

#

so many

#

i have never seen so many errors on one file before

#

Ignore the warps, those work fine

vernal crest
#

You appear to have tried to put your dynamic tokens inside your Changes field instead of the DynamicTokens field like they're meant to be

balmy valve
#

they go OUTSIDE CHANGES???

vernal crest
#

Yes

#

Look at the example to see what it should look like

soft lance
#

Hello!

I’m specifically trying to make a trigger that runs the first time the player speaks to an NPC (Willy for example) on a randomly sunny day, and then never repeats. What’s the correct way to set up the TriggerAction so it checks weather and conversation, runs only once, and doesn’t show again? (The dialogue and the trigger action never get shown again)

I'm pretty much making a quest that starts as soon as you randomly talk to Willy on a random sunny day, but I also want that dialogue he says for the quest to never appear again

balmy valve
#

Hwuh oh. It's now saying that "Player_has_seen_event" token cant be found

#

....im using a query, not a condition

#

crap

#

waht is hte condition for player seein a certain event

balmy valve
soft lance
#

I am new to this sadly-

balmy valve
#

yes

soft lance
#

And I assume this requires 0 C#, right?

ornate locust
#

1 time dialog is probably "conversation topics"

brittle pasture
#

the tricky part here is that you wanted a dialogue only on sunny days

#

so just a regular CT won't do

ornate locust
#

oh I missed some of the context, yeah that's more complicated

uncut viper
#

(unless the CT contains the word "dumped")

devout otter
#

And you want the dialogue to be random, too, Lucy? So may or may not happen on any given sunny day?

brittle pasture
balmy valve
#

@vernal crest It's playing the default no matter what. Do I put the default at the bottom instead of the top?

vernal crest
balmy valve
#

It is not.

#

Is this because all events are a switchEvent from the main one (the 6-heart event)?

vernal crest
#

It might be, I am unsure how secondary events are recorded. I can check though, give me a bit.

balmy valve
#

okay, thank you so much

ornate locust
#

Maybe the randomness could be contained in the trigger action

balmy valve
#

My whole day spent on one (1) hearg eveng.

vernal crest
#

That seems like a small amount of time to spend one one event to me lol

#

I usually spend much more than one day on them

balmy valve
#

...i coded the base mod in 2 weeks and this update has been in the works for. uh. 14 days

vernal crest
#

Hmm yeah it didn't record a vanilla one as having been seen either

#

You can just set a mailflag in each secondary event and check that instead

balmy valve
#

my mod is like 10% content 90% mailflag atp

#

I'll do that n get back to you

#

Mailfglag no work ;c

#

it's still playin da goofy ahh theme

#

@vernal crest should i repost my json

vernal crest
#

Have you checked if the mail flag is showing as true?

#

(You might want to start i18ning soon)

balmy valve
#

gimme a sec

balmy valve
#

I am scared of i18n

vernal crest
#

It's very straightforward

#

Just tedious, but nomori's tool can help with it

balmy valve
#

false. it's midnight so im done for now

brittle pasture
#

ngl coding without i18n scares me more

#

wdym I have to go to where the text is used to edit it

vernal crest
hard fern
#

I love my 2000 lines of text all being in one of 17 places

vernal crest
#

I i18n everything as soon as I do it so it makes it very easy to keep up with

hard fern
#

I like breaking up my i18ns for different characters

vernal crest
#

Events being the only exception because of how much I change stuff around, so I use the i18nifier for them

hard fern
#

Makes it easy to know who is speaking when

#

Oh yeah i second that

#

It does kinda mess up the way I like formatting my i18b but oh well

vernal crest
#

I do a find and replace to change the keys to the format I want lol

hard fern
#

Huh... Why did i never think of that

vernal crest
#

Took me a while to lol

inland rain
#

is there a way to load a Content Patcher mod in a subfolder?

#

like if my mod has a CP pack in its folder

heavy pewter
#

I think as long as the CP mod has manifest(?), SMAPI will read it

obtuse wigeon
obtuse wigeon
#

Oh sorry I thought you meant something like

[C#] mod 1
      Manifest.json
      [CP] mod 2
               Manifest.json
vernal crest
vernal crest
inland rain
#

except now both the main mod and the cp mod are in subfolders :/

uncut viper
#

That is how all mods that come with both a CP portion and a C# portion must be packaged.

inland rain
#

that means anyone with an older version of the mod is going to have problems when they overwrite

uncut viper
#

Then you tell them not to overwrite and instead delete and reinstall

vernal crest
#

I've made changes where I told people they had to completely delete and reinstall. They survive.

inland rain
#

still seems like not great design... I add a content pack and suddenly my mod files move to a sub folder

uncut viper
#

The content pack is an entirely separate mod as far as SMAPI is concerned

inland rain
#

yes but why not have them all in the Mods folder as normal?

uncut viper
#

You can, then theyd both be subfoldered to Mods

vernal crest
#

Well, you don't have to make yourself a subfolder

inland rain
#

I can't SMAPI automatically subfolders them

uncut viper
#

You just cannot have an entire mod folder inside another mods folder

#

SMAPI doesnt automatically move any files

inland rain
vernal crest
#

We'd end up with every CP mod being inside a Content Patcher folder if that happened

brittle pasture
#

well nothing stopping you from dumping those 3 folders into the top level Mods folder yourself if you really have to preserve the existing structure

uncut viper
#

SMAPI didn't put anything in any folders. That's not what SMAPI does. It doesn't touch your file system like that

brittle pasture
#

don't though

inland rain
uncut viper
#

Then yeah, thats the mod package builder

brittle pasture
#

since I'm pretty sure most self-respecting unarchivers would automatically create a folder for you anyway (I know mine does on Linux)

uncut viper
#

Because that's what most people do for multi-part mods

#

You can just... move them outside the folder

vernal crest
#

You might get confused users if they're meant to be a package deal and aren't subfoldered like normal though

inland rain
#

I can... every time I build the zip file? make a new zip file?

brittle pasture
#

but yeah I'm going to add to the chorus that you should just tell your users to live with it

uncut viper
#

I don't see why not?

uncut viper
#

I don't use the zip file that the builder makes for me

inland rain
#

sorry, I didn't realize we shouldn't use it

uncut viper
#

No one's saying you shouldnt

vernal crest
#

I usually don't either because I forget about it

uncut viper
#

But if you don't like how it packages your files, then don't use it, or repackage them differently after

vernal crest
#

Or don't bundle your CP mods in with your C# mod at all

inland rain
#

sorry, I guess no one sees the issue I am having, thanks for responding anyway

uncut viper
#

We know what the issue is, we're just telling you that you don't have any other alternatives

inland rain
#

was that really what you were telling me though?

uncut viper
#

Yep

inland rain
#

oh my mistake, it seemed like you were trying to tell me lots of ways my issue wasn't an issue

vernal crest
#

You were being told all the options available to you after being told that what you wanted wasn't an option

brittle pasture
#

(summarizing everything) you can let the mod builder make the zip for you, and edit it manually to remove the top level folder
so instead of the zip containing one folder which contains 3 folders, it can contain 3 folders directly
but if you do this then some unarchivers will just make a folder for you and the end result's the same
alternatively you can just make the CP mod be a separate file on your modpage

inland rain
#

thank you, I did think of that, but I don't want the user to know about one of the content packs, because they are secret items

brittle pasture
#

I think you severely overestimate the typical modding knowledge of an average user

#
  • nexus file preview would show it anyway
inland rain
#

I just want the items to be bundled with the mod... they shouldn't be an optional download I don't think

uncut viper
#

You could always just create them in the C# portion

inland rain
#

yeah that would work, ty

uncut viper
#

Not only would that make them unremovable but then the amount of people who'd know about it drops to practically 0

#

(Well unremovable via uninstalling)

inland rain
#

it came up because someone updated my mod to CP and added the pack to the mod folder... but then it wasn't being added

#

idk what they were doing, but now I have their content pack in my mod folder

brittle pasture
#

they didn't delete before updating most likely

inland rain
#

on github I mean

brittle pasture
#

(I think that it's a good thing to be opinionated and subjective in coding, so my subjective and opinionated opinion is that we spent way too much time debating a solution to a problem that honestly doesn't exist, and it's totally okay that you think otherwise)

inland rain
#

I just said it doesn't seem like good design to have the mod structure changed automatically just because I add a content pack to it... people were trying to tell me it wasn't happening... felt like gaslighting, sorry if I misunderstood

rocky birch
#

Is there any other pants template for fashion sense?

brittle pasture
#

(yeah that's a breakdown in communications on our part 😅 online chatting is difficult)

rocky birch
#

Trying to draw my armor in the game and this thing is really confusing

latent mauve
#

Pants are cursed

brittle pasture
#

(I don't recall any of us saying that it wasn't happening, only that it wasn't a problem, which is different)

latent mauve
#

(my template follows CP format because I couldn't make sense of Fashion Sense, but it is equally cursed)

rocky birch
latent mauve
#

There is also an asesprite and PSD version floating around that other folks converted

inland rain
proper fable
#

Are there any community modding tools that I can use?

vernal crest
#

For what purpose? You don't need any specific tools to make mods in general, just a text editor like N++, Visual Studio Code, or Sublime Text.

#

By that I meant is there a specific type of mod you want to make that you have been led to believe requires a specific tool?

proper fable
#

I’m working on a mod for my wife and I’ve figured out how to replace sprites. I’ve simply just replaced the portraits for one of the marriable characters so that I can do a self-insert.

What I don’t know how to do is change text. Such as a character name or dialogue. I haven’t looked at any guides yet

vernal crest
#

!startmodding Have a look at these links - ignore the C# stuff, you won't need that unless you want to start changing game mechanics

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.

vernal crest
#

@outer glacier

vapid oak
#

(thank you!)

opaque field
#

Is Spacecore still the best way to make a warp totem?

ornate trellis
#

it sure is the only way i know of to make one without going straight to C#

opaque field
tribal ore
#

Hey guys, I've come up against a bit of a stumper and figured it was time to phone a friend.
https://smapi.io/log/f8d6f7b7f2cd4ae78f57f9064e0c4893

I have an event that patches a couple of map assets and loads one in. All of them rely on the same flag:

{
    "LogName": "Patching bathhouse menslocker room door for event (female player only)",
    "Action": "EditMap",
    "Target": "Maps/BathHouse_Entry",
    "Priority": "Late",
    "MapTiles": [
        {
            "Position": { "X": 7, "Y": 3 },
            "Layer": "Buildings",
            "SetProperties": {
                "Action": "WarpWomensLocker 3 27 BathHouse_MensLocker"
            }
        }
    ],
    "When": {
        "PlayerGender": "Female",
        "HasFlag": "{{ModId}}_Seb12h"
    }
},

That flag (Kantrip.OlderSebastian_Seb12h) is clearly listed in the user's HasFlag section of their SMAPI log, yet none of the changes are being applied.

ocean sailBOT
#

Log Info: SMAPI 4.3.2 with SDV 1.6.15 build 24356 on Microsoft Windows NT 10.0.26200.0, with 48 C# mods and 121 content packs.
Suggested fixes: One or more mods are out of date, consider updating them

tribal ore
#

" [X] | [ ] | [ ] | Late | Patching bathhouse menslocker room door for event (female player only) (EditMap Maps/BathHouse_Entry) // conditions don't match: HasFlag
[X] | [ ] | [ ] | Late | Patching Hospital map for event (EditMap Maps/Hospital) // conditions don't match: HasFlag
[X] | [ ] | [ ] | Late | Patching Mountain map for event (EditMap Maps/Mountain) // conditions don't match: HasFlag
[X] | [ ] | [ ] | Late | Patching Railroad map for event (EditMap Maps/Railroad) // conditions don't match: HasFlag
"

vernal crest
#

Are they definitely a female farmer?

#

Oh you posted the log whoops I skipped that

#

And it says the HasFlag is the one that doesn't match

#

I am doing well tonight

#

Ummm is it possible that the user has edited the files and changed the HasFlag check somehow?

tribal ore
#

It seems to work fine for most people

#

But then I'll get someone like this. This is the first log that has managed to capture a failure to launch event, but the flag is clearly there so I'm just... scratching my head

vernal crest
#

Yeah me too, hence the only thing that I can think of being that what the HasFlag is checking for is not what is actually present.

Oooor...how long before the check happens is the flag set? Like is this patch meant to be applying the same day?

tribal ore
#

One second, let me check

#

Yeah, it's day started (because I have to check weather). HOWEVER, usually by the time they get to this point they have gone through 2 other mini cutscenes leading up to this point that also rely on the same flag.

#

Do you think this would work better if I was using BETAS and setting the flag the night before maybe?

gray bear
#

this condition will be checked at the start of the day right (unsure if that's anything)

vernal crest
#

What's setting the flag?

tribal ore
#

A trigger action

#
        "{{ModId}}_Start12Heart": {
            "Id": "{{ModId}}_Start12Heart",
            "Trigger": "DayStarted",
            "Condition": "PLAYER_HAS_SEEN_EVENT Current {{ModId}}_Event_11heart, !PLAYER_HAS_SEEN_EVENT Current {{ModId}}_Event_12heart_0, PLAYER_FRIENDSHIP_POINTS Current Sebastian 3000, PLAYER_NPC_RELATIONSHIP Current Sebastian Married, WEATHER Here Rain Storm, !IS_FESTIVAL_DAY Any, !SEASON winter",
            "Actions": [
                "AddMail Current {{ModId}}_Seb12h Received",
                "AddConversationTopic {{ModId}}_Topic_12h 1",
                "SetNpcInvisible Sebastian 1"
            ]
        },
vernal crest
#

Are the events checking for the flag using a precondition or a When field?

tribal ore
#

Yes

vernal crest
#

Yes...both?

tribal ore
#

Oh! As a precondition

#

"{{ModId}}_Event_12heart_1/f Sebastian 3000/e {{ModId}}_Event_12heart_0/n {{ModId}}_Seb12h":

#

Not as a When. The only When checks are in the map patches

vernal crest
#

Then I think that the events are checking late enough that the flag is present but the map patches are checking before the flag is present.

tribal ore
#

Hmmmmmm

vernal crest
#

You could try just switching the Trigger from DayStarted to DayEnding to get it to run when the player sleeps the night before

tribal ore
#

The problem is the weather. The event is rain dependent

vernal crest
#

Ah

tribal ore
#

So I would need to use BETAS or something to let me look ahead for weather the next day (I think)

vernal crest
#

Well, there's also changing your update rate to LocationChanged

tribal ore
#

Hm. Can I do that for just this event?

vernal crest
#

No, you'd be doing it for the map patches themselves so they'd check the conditions every location change the whole game

tribal ore
#

Ooooof. Hmmmmm. Maybe I could include those map patches in another file and gate it with a When?

vernal crest
#

It might be worth doing just to confirm this is actually the problem, if you can try to recreate the issue without changing the update rate and then see if it gets fixed using LocationChange

tribal ore
#

I migth be able to ask the user who opened the bug report to use a special config.json. I haven't been able to reproduce this problem even once on my end

#

Which is why it's been so hard to fix

vernal crest
vernal crest
# tribal ore Which is why it's been so hard to fix

Well, if I'm right, you now have the conditions to be able to reproduce, which are that you have to rush to those locations on exactly the same day you receive the flag for the first time. If you've already been doing that then I might be on the wrong track.

tribal ore
#

Does OnLocationChange work for Load as well as EditMap?

#

Also, thank you so much btw

gray bear
#

dont think so

tribal ore
#

Even if it doesn't work, at least it's something for me to try xD

gray bear
#

oh no it does it seems

vernal crest
#

Yes, OnLocationChange is just changing the update rate of your patches regardless of what the patch is doing

tribal ore
#

Alright. Hopefully this is the magic bullet I've been looking for. Thank you again!

vernal crest
#

No worries, I hope I was right haha

calm nebula
#

thinks

#

I wonder if it is possible to have smapi only read part of a log if it's giant

calm nebula
#

Or take zip filrs

west thunder
#

Alright, I cave.

#

How do I make it so a mod of mine alerts the player when it needs updating?

#

Shouldn't be so hard, right..?

gray bear
#

gotta have it out first, but no its rather simple

west thunder
#

Because from what I can tell, that's what those are.

gray bear
#

no no, its a whole other field

#

but yeah the number is the last part of the url, which is how nexus reconizes diff mods

west thunder
#

Brilliant, thanks.

whole raptor
gray bear
#

oh right, yeah nexus gives an id as soon as u do that

west thunder
#

Either way, mine's been finished a long time ago, so this won't be an issue. For now.

west thunder
gray bear
#

the formatting isn't that important, just how vscode does it, but yeah, this is the gist

#

and please tell me u don't do ur code in notepad

balmy valve
#

why is "action AddMail" not workign

gray bear
#

oh hell nah

#

!software

ocean sailBOT
west thunder
#

Funny thing is, I HAVE A CODING APP INSTALLED.

gray bear
#

than what r u doing

west thunder
#

Notepad++, the one with the funny chameleon.

dire kestrel
#

use it applerun

west thunder
gray bear
#

just drag the files into it

west thunder
#

Oh wow, this is pretty.

gray bear
west thunder
#

Even shows which value it uses. Fun.

gray bear
#

you can set it so json files are opened only by it, u have to do that once

west thunder
#

Alright, thanks, now please, someone go check up on FallSpice.

gray bear
#

kudos to you for your notepad code working

west thunder
balmy valve
west thunder
#

I don't know a damn clue what any of this means, but I do know what it's like to DIE in here.

balmy valve
#

dawg you just started using VS? put it in dark mode

#

anyway, the $action AddMail command is not working. im just trying to use it to set a mail flag

hallow prism
#

then you may want to provide details

#

like what is not working, and how you checked that it isn't

balmy valve
#

im trying to add a mail flag

#

when i do the event and check with a gsq, it's returning false

lucid iron
#

Did u see something like 🪙 action when you talk to the NPC

balmy valve
#

nope

lucid iron
#

Oh if it's in an event

#

Use the /action form

balmy valve
ocean sailBOT
#

Log Info: SMAPI 4.3.2 with SDV 1.6.15 build 24356 on Microsoft Windows NT 10.0.26200.0, with 8 C# mods and 1 content packs.
Suggested fixes: One or more mods are out of date, consider updating them

balmy valve
#

OH ok!!

lucid iron
#

You even did the /action form before

#

Those r working right

balmy valve
#

alright i shasll try

#

sorry im tuired

#

YES it worked...

#

ok now let me run de event

#

NOOO the dybnamic token no worken

#

it's sending the mail flag, but the token isnt updating accordingly

balmy valve
#

Not updating accordingly

lucid iron
#

DT needs a context update to apply

#

Also if u were changing it then patch reload doesn't work need game restart

calm nebula
#

Q - what is this got

#

For

balmy valve
balmy valve
calm nebula
#

Are the events separated by at least 1 day

balmy valve
#

Yeah

#

One's a 6-heart, the other's a 14-heart

#

OKAY IT WORKS!!!
THANK YOU

#

IDK WHAT HAPPENED BUT THANK YOU

west thunder
gray bear
#

@outer glacier

mortal fern
#

👋

gray bear
#

@outer glacier (again)

iron ridge
brittle pasture
#

this channel, stardew-spoilers, and town-square, at the same time, just like the previous serial waver

#

is this some highly advanced 22nd century scam method I'm not privy to

gray bear
#

wheres the scam

cedar turtle
#

btw. Pinging junimo pings us. Pinging bouncer just pops a message into our mailbox but no PE_PandaDoublePing
Thanks either way!

calm nebula
#

My guess is someone who is looking for community somewhere tbh

#

Do what I do instead....pretend you're gonna actually go rock climbing some day

ornate locust
#

It's two days before Christmas, let's bug a modder to rewrite their mod because of another mod. Tis the season

brittle pasture
gray bear
brittle ledge
lucid iron
uncut viper
cedar turtle
uncut viper
#

ahh gotcha, so its fine that ive been using it for the scam messages then i take it

lucid iron
#

I miss when spam is like forward this 10times or u die

autumn tide
ebon birch
#

finally finished my expanded walksprites for my chu trinkets. just the walksprites for now, more poses will have to come later. now i have to figure out how to program the new spritesheet so it's animated properly

balmy valve
#

If I'm adding a temporary map in an event, do I still have to load it in the locations? Or do I just pull it from the assets?

calm nebula
#

How are you using that map

balmy valve
#

nvm figured it out sry

cedar turtle
#

If it's urgent then juni for sure :)

balmy valve
#

can i animate the farmer playing a harp in an event

ornate trellis
#

you can, look at the event json in the unpoacked files there ther one event with abby where farmer plays the harp with her there you can look how vanilla did it

balmy valve
#

ok, thank you!

ebon birch
#

my major mod update working correctly on the first try made me so suspicious

#

thinking my lil guys need some shadows under their feet though

balmy valve
#

chat, how do i make the farmer do the nausea emote

#

wait it's animate farmer false true 350 104 105

ebon birch
#

this is going good so far. i only have this variant plugged in right now, and i had to do alignment and pixel edits to make it smooth. havent tested pikachu and pichu just yet and im too tired to try right now but im happy

#

also a sneak peak at a custom hit marker mod i'm making. i have the images done, but i need to make the code to replace just those sprites

#

i planned on making more hitmarkers that randomly rotated on different days (still seasonal) but i ran out of energy to draw more

balmy valve
#

How do I make an event that resdults in a divorce

#

Like permanent

lucid iron
#

You need some kinda mod for that and I don't think it's ever made perm

balmy valve
#

nOOOO

#

no i dont wana another modddd nooooou

#

Wait

hard fern
#

Can't betas do that

balmy valve
#

Can I just set the mail flag to make a certain character have the "divorced" set and then make them invisible for the rest of day so the player can't spam gift?

hard fern
calm nebula
#

Well you could make it permanent by making the npc undateable

balmy valve
#

yeah, but i want that sweet sweet gift rejection too

lucid iron
#

yea betas has the set npc relationship thing now

#

so u can bump them to divorce

balmy valve
#

what is a beta

lucid iron
#

BETAS the mod

#

it adds trigger actions

balmy valve
#

Oh

#

So I have to depend on another mod.

lucid iron
#

among other Stuff

balmy valve
#

Dang

lucid iron
#

yea thats what i said

#

would i lie to u Dokkan

balmy valve
#

noooooou ;-;

brittle pasture
#

if you don't want to depend on another mod there's another quick and easy solution ||roll your own C# component||

lucid iron
#

i think the best way to do this in vanilla is to not actually go all the way to marriage

calm nebula
#

You could make them reject every item using RejectItwm

balmy valve
balmy valve
#

Maybe

#

The issue with the vanilla "group dating" thing is that they just...forgive you after a week. Whereas the dateables in this mod care deeply for each other, so they wouldn't ever forgive the player for breaking the other's heart

lucid iron
#

u can just edit over their dialogue with >:( or something

#

hasflag

balmy valve
#

Hasflag!!!

#

And I can use the event itself to remove all the hearts

lucid iron
#

they'd still be like, married to u tho

#

that status is difficult to change

balmy valve
#

Nah, no marry, this is a dating event

lucid iron
#

(without some extra dependency)

elfin kindle
#

I love hasflag and when commands, could make them undatable through loading a different basic info/disposition if they have a certain flag

robust canyon
#

hey guys, so sorry to interupt but im hoping someone can help me with an issue im having repacking Shops.json to Shops.xnb so I can actually make changes to some shops. I used StardewUnpackHack to unpack it and im unsure how to go about repacking. I'm getting this error message

#

trying to use xnbcli to repack, as recomended by the wiki

lucid iron
#

!unpack

ocean sailBOT
#

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

lucid iron
#

the recommended thing is stardewxnbhack now

elfin kindle
#

I have never seen anyone talk about repacking so i've got no clue, someone with a lot more experience than me would need to help ya

lucid iron
#

oh huh repacking i read wrong kyuuchan_run

#

im not sure what repacker is able to handle data model xnb now

calm nebula
#

You should not repack

#

There isnt one afaik

robust canyon
elfin kindle
#

Yeah that's what I was thinking too, you probs have to give more info on what you're tryingt to achieve because repacking into a xml sounds nightmarish, im sure theres an easier way

robust canyon
#

I'm trying to add a trade to the raccoon shop. Id like to trade 5 geodes for 1 mystery box. Following the Stardew Modding Wiki, I tried using XNBCLI to unpack the Shops.xnb file. I kept getting a failure message so I tried StardewXNBHack and that was able to unpack it. I've added the code but now I'm having trouble re-packing the file. The Wiki says I don't need to repack it if I have Content Patcher. I do have the Content Patcher mod but any time I try to launch the game with the Shops.json file, it tells me the file is missing and I cant access any of the shops

lucid iron
#

yea i think we are definitely quite off track here Dokkan

robust canyon
#

i am so sorry lmao

lucid iron
#

still curious where on wiki you read this so we can update Bolb

hard fern
#

Could you elaborate?

#

What exactly are you doing with the shops.json

lucid iron
#

here's a quick example of how2 add something to an existing vanilla shop using content patcher

#

no xnb repacking involved

hard fern
#

Oh, chu got it

lucid iron
#

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

lucid iron
#

Check the wiki tutorial for content patcher for how to make a content pack mod in general

#

You can come back n ask questions afterwards

robust canyon
lucid iron
#

Yeah hm i wonder if it'd be good to put a big warning here blobcatgooglyblep

robust canyon
#

welp, time for me to get reading I suppose! thanks for the help everyone!

autumn tide
balmy valve
#

Alright gang, I'm back.

#

I've decided it's enough of a penalty to make them give you the cold shoulder for two weeks and remove all their friendship. Idk how to make them reject gifts during this period though

#

ugh]

#

Another one

#

Anyway, back to the point. Does anyone know how to make NPCs reject gifts for a certain amount of time?

calm nebula
#

There is a way to make npcs reject items based on context tafs

#

Tags

calm nebula
#

So just ban every category of item qualiry

balmy valve
#

yeah, but...how?

hard fern
#

Reject_item_<tag>, no?

#

Iops

#

I give

balmy valve
#

okay but how do i connect that to the conversation topic/event memory

hard fern
#

Can't you do conditional editdata based on if the trigger action/event has happened? I'm a little out of the loop atm

#

Hmm or can you could set it for as long as the ct is active?

#

With a gsq

balmy valve
#

Where should I put the gsq

#

I don't think a gsq could go in Dialogue

hard fern
#

In the editdata conditions

odd ginkgo
#

does anyone have a template they use for marriage dialogue?

hard fern
#

If im going about this all wrong i give full permission to newspaper me

hard fern
odd ginkgo
balmy valve
#

Okay here's what i'm trying to do

#

While conversation topic is active, NPCs reject gift and return dialogue "I don't want this." How do??

hard fern
#

That's what my suggestion was for

balmy valve
#

where put gsq though...

hard fern
#

You'd add the rejection lines by editdata-ing the npc's dialogue

balmy valve
#

OH

hard fern
#

The gsq would be in the "When"

balmy valve
#

Ok...

#

And then what?? Like how would I format that???

hard fern
#

I'm not sure how to answer that, the same way you do any other editdata patch? 🤔

#

I don't think i can help

#

Im bad at explaining

balmy valve
#

ok let me try

uncut viper
#

you cannot use a GSQ in a When condition

balmy valve
#

Aw man

uncut viper
#

use the HasConversationTopic token

balmy valve
#

Ok

#

Wait tf you mean token, like a dynamic token??

uncut viper
#

no. i mean like a token, HasConversationTopic

#

its a content patcher token

#

by default

balmy valve
#

ok

#

Is this correct?

#

(Starts at line 2287)

uncut viper
#

what is Data/SP_Dialogue?

balmy valve
#

the dialogue file for one of the characters

uncut viper
#

thats not what dialogue targets look like

balmy valve
#

wait should i be editing like

#

the game thign

#

Yea

uncut viper
#

other than that, the condition looks correct, assuming your CT id is {{ModId}}_PlayerFreak

balmy valve
#

characters/dialogue/yada yada

calm nebula
#

New rule i just made up for myself....if it involves line 1000 or above I am not looking at it

uncut viper
#

and assuming the dialogue keys are correct. i didnt verify those, just trusting what other people said

uncut viper
balmy valve
#

Alright, perfect... and this is gonna be such a nightmare to test smh

#

oh, btw, once i'm done editing maps...which tilesheet pngs should i remove from my folder? just the seasonal ones, i'm assuming?

uncut viper
#

all of them

balmy valve
#

all the vanilla ones??

uncut viper
#

all of them

#

if you have custom ones, they should ideally be loaded somewhere into the content pipeline into the Maps/<whatever> asset

balmy valve
#

They are loaded, but I keep them in there

uncut viper
#

dont do that

#

i mean, keep them in your mod somewhere

#

but dont put them next to the .tmx

balmy valve
#

i don't, i put them in a seperate folder

uncut viper
#

then yeah, keep t hose

#

but no tilesheets in the same folder as the .tmx

balmy valve
#

no, no pngs in same folder as tmx

hard fern
balmy valve
#

all my pngs are in a folder separate from the tmx, including the vanilla ones. however, i am scared that if i delete the vanilla tileset pngs, my maps will fail to load (it's happened before, it happened today actually)

#

like the editmap patch straight up did not happen

uncut viper
#

the vanilla ones should not have been separate

#

you will now have tilesheet climbing errors

balmy valve
#

wha

#

NOOoooo

uncut viper
#

if you always had your custom ones separate too, then those will also be broken

short temple
#

Hi i want to create a custom map location with three dwarves npcs inside, two of them working on a forge and one selling, i have they sprites and the portrait i don't know how to make a code since i'm doing this from Android pls enlighten me what can i do?

balmy valve
#

Ok so. Vanilla pngs in the same folder as the tmx??

#

Hang on, let me make a thread

uncut viper
#

when editing a map, every sheet must be in the same folder as your .tmx if you are not using irocendar's plugin

lucid iron
ocean sailBOT
#
Creating a Custom NPC

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

hard fern
#

This tells you how to make an NPC, but i also don't know how you're going to do all of it on android

lucid iron
#

!androidsmapi

ocean sailBOT
#
Android SMAPI

We are not able to provide support if you run into trouble or compatibility issues with Android SMAPI; please use the discord linked on the Android SMAPI github.

IMPORTANT: This is a highly experimental build and may be prone to glitches, bugs, or incompatibilities. Please see the wiki instructions for more information regarding installing the unofficial Android port of SMAPI for Stardew Valley 1.6.

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

lucid iron
#

that server has it's own mod making channels which could help you better

balmy valve
#

rohan isnt good at maps

short temple
lucid iron
#

json wouldn't really be a problem

#

not sure what u mean by base code of nexus tho

short temple
#

The Nexus mod codes from every single mod they bring a numerical record inside so i don't touch that just rework the whole things and leave it as a new one

hard fern
#

What are the nexus mod codes?

balmy valve
#

How do I make an event immediately lead to another one in a different location?

short temple
#

The numerical reference smapi uses to update the existing mods

ornate locust
#

That's just the numbers at the end of the mod's URL

vernal crest
short temple
#

Yep

vernal crest
# short temple Yep

Can you take down your Shadow Shaman Black Mage image please? You don't have permission to use Bog's artwork.

short temple
#

Ok np i messaged her by prívate

#

Done

vernal crest
#

Thank you :)

short temple
#

Np that is the reason i came so i can learn to make My mods without using others

ornate locust
#

This is all the update key is, it isn't even necessary. You can remove that and the mod works fine.

short temple
lucid iron
#

yea this doesn't have anything to do with making mod work blobcatgooglyblep

#

im confused by what you have and what you want to do

short temple
#

I want to do a dwarf basement workshop

#

Maybe something inside the quarry cave a trapdoor leading to the shop

lucid iron
#

so you need these things asset wise

  • textures for the dwarves
  • the map tmx file
  • a map patch to add the trapdoor
#

then you will want to apply these things in game with content patcher

short temple
lucid iron
#

the tmx is the map

#

[[modding:maps]]

lucid iron
#

on PC people usually use Tiled

#

im not sure what is meant by archive but i do hope you are not packing xnb

short temple
ornate locust
#

You want a .tmx, not an .xnb

vernal crest
#

We don't work with .xnbs

short temple
lucid iron
#

one step at a time SDVpufferthumbsup

#

what you can do for now is grab clint's shop and use that as placeholder

#

while you focus on making the location exist

#

!unpack

ocean sailBOT
#

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

short temple
proper fable
#

Quick question. If I made a mod that changes a character’s name for example, would I also need to change every bit of dialogue that references that character’s name?

Or would it just automatically insert the changed character’s name into the dialogue ?

brittle pasture
#

you'd need to change all dialogue yes

vernal crest
lucid iron
#

is there some kinda popular youtube video about doing character replacement mod...

#

this aint against you specifically i just feel it's very frequent topic in recent weeks

proper fable
#

Is there a reference chart or a document of all of the in-game text that I can CRTL-F in

brittle pasture
#

!unpack

ocean sailBOT
#

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

brittle pasture
#

best way is do it yourself

short temple
proper fable
#

I’ve already replaced a characters spirites with custom ones I just have to work on text next

vernal crest
proper fable
#

I’d rather not affect gameplay beyond cosmetic

brittle pasture
#

or just go "my name is Joseph, or Sam for sort. yes, really."

short temple
lucid iron
#

you don't have to start from anyone else's mods you can just create new json file (which is a kind of text file with special name)

vernal crest
short temple
short temple
near island
#

Boooo I'm going to have to involve Harmony to try to make the 1% daily incoming telephone call chance configurable, aren't I SDVpufferwaaah

brittle pasture
#

incoming phone calls is customizable with CP

#

im busy someone link that pls

near island
#

I mean the chance that a call happens

lucid iron
#

cant u just fire the ring event more

near island
#

I know you can add new phone calls themselves, I've writted a bunch up but then it occurred to me that incoming calls period are rare

#

Hmmm

vernal crest
#

You can edit the chance per call just with CP

lucid iron
#

i think doing that is a lil bit more flexible

uncut viper
#

just tell your phone call to ignore the base chance and put your own random in the trigger condition

lucid iron
#

but i do see the 1% yes, it's DefaultPhoneHandler.CheckForIncomingCall?

near island
#

omg thank you guys

#

I didn't see the IgnoreBaseChance

lucid iron
#

oh it looks like u can also

#

add ur own phone handler

#

useful if u need joja to call you about renewing your JojaOL subscription

lucid iron
#

i still get calls from <large ISP over here> every year telling me to switch their shitty cable internet when i have fiber

#

:(

uncut viper
#

adding your own handler for incoming calls is not very useful

#

its your only option if you want to add outgoing calls, though

brittle pasture
short temple
#

What do i need to make custom farm Animals?

brittle pasture
#

[[Modding:Farm_animals]]

#

whoops

short temple
#

Ty

proper fable
#

I changed all mentions of a particular character's name in NPCDispositions, repacked it, and dropped it into my game but for some reason nothing has changed

vernal crest
#

NPCDispositions is not used in 1.6

#

Also, we recommend not using xnbs

proper fable
#

so it's like a vestigial file?

vernal crest
#

It was used in 1.5, it's not present in 1.6 at all

proper fable
#

What would you use now in that case to change a name

vernal crest
#

Content Patcher

#

Make a mod that has a patch with a Target of Data/Characters and use that to edit the NPC's DisplayName

tiny zealot
#

be warned that changing an NPC's display name is easy to do in the character data file, but changing every time someone says that person's name in dialogue (or mail, or secret notes, or whatever) is a much thornier problem

vernal crest
#

And then the many dozens of other patches you will need to edit all the dialogue files, event files, strings files, etc

ornate locust
#

is there a hall of fame for crap apologies?

#

(also "My suggestion is to change him from sheriff to FBI agent" <apparently this is not suggesting I change anything?)

#

just a paragraph blaming me for not being thrilled about his comment

#

I wasn't bothered before, but now I need a giant hammer

autumn tide
ornate locust
#

every sentence of it can be summed up as "the problem is with you, you should be prepared for this, you you you... I'm sorry YOU took it the wrong way"

autumn tide
#

IK honestly insults would be less irritating-

ornate locust
#

My least favorite kind of person, the kind who says something and then immediately freaks out and blames you when you aren't thrilled over it.

#

yeah the dishonesty is the real headache

autumn tide
#

yeahhhh

#

might as well just say "I'm sorry YOU'RE overreacting" like cmon that is-

calm nebula
#

I wonder how bad it would be to compress the log

brave fable
#

i think you're giving it more thought than you need to, if there's nothing to be done about a comment i'd just ignore it and move on rather than replying

#

if i were to worry about every nonsense comment on the internet i'd lose my mind

calm nebula
hard fern
#

Mod that only has blueberries 🫐

#

Blueberry pie blueberry muffin blueberry pizza blueberry sushi blueberry pasta

drowsy minnow
#

how would i best go about making items that come from artifact spots

brave fable
#

in short, you'd be writing changes to Load your item texture, EditData to Data/Objects for your item data, and EditData to Data/Locations with TargetField on the given location's ArtifactSpots field to add it as an artefact

#

are you familiar with all these general concepts already, or just getting started?

balmy valve
#

What happened here...?

drowsy minnow
brave fable
#

no problem! feel free to ask for more info as you need

wet iris
#

does anyone have a quick example of a keg condition to exclude custom crops from default juice

#

i added !inputs but if i add those, it makes everything in the whole game except the custom crops juicable

heavy pewter
#

Whats probably the time in ms of fade to black? im calling warpPlayer() but its doFade arg isnt matching with vanilla fade to black fade time

#

And use DelayedAction.functionAfterDelay and use the vanilla fade to black time there

ebon birch
#

hello! i have questions about making trinket spritesheet coding. i've figured out most of what i wanted to do, but I can't figure out how to set the position of the idle animation on the spritesheet

#

this line is my idle animation, it's 0,128, and this is my code. i'm aware the position is incorrect, but i don't know what the correct answer is

              "Idle": {
                "FrameStart": 128,
                "FrameLength": 4
              },```
#

trying something real quick

#

i... ALMOST figured it out

#

i'm so used to having to put image coordinates but this thing actually counts frames, so the answer was 17

#

however.... there's a new problem

brave fable
ebon birch
#

sorry im listening to reddit stories on youtube, i forget this damn thing also copies sound LOL

#

i can fix the sprites being a bit off but there's a flash there as if one of the frames is missing which i'm not sure what that's about, and it's also very fast. i assume there's a line i can add to slow it down

#

i may have figured out the invisible frame actually! the frames start at 0, not 1, so the startframe should be 16, not 17, and the missing frame is because it's looking for something that doesnt exist

balmy valve
ebon birch
#

lol

#

i think i fixed it, but i needed to add another row of sprites to the idle because it was blinking too often

hallow prism
#

Secret of mana music!!!

ornate locust
#

I'm glad they got a raise anyway

ebon birch
#

haha

#

the speed was at 550, i bumped it down to 400, here's hoping that's a good speed

#

i wish i didnt have to restart the entire game to test minor edits like this

hallow prism
#

!reload

ocean sailBOT
#
How do I reload my changes while I'm still in game?
  • Content Patcher pack: enter patch reload <your_mod_id> in the SMAPI console window. This will reload and reapply all your patches (but won't recalculate the ConfigSchema or DynamicToken sections if you use them).
  • Translation files: enter reload_i18n in the SMAPI console window. If it's for a Content Patcher pack, also run patch reload afterwards.
  • C#: see the Visual Studio hot reload or Rider hot reload feature.
ebon birch
#

oh my GOSH you are my HERO

hallow prism
#

🙂

brittle pasture
#

your targetfield needs to be deeper

ebon birch
hallow prism
#

(Doesnt vanilla has tags to exclude pickle/stuff already? Or is it the reverse?)

ebon birch
#

now i need to do the shiny variant and then draw the pikachu and pichu versions

vernal crest
ebon birch
#

thank you! sometimes i need to puzzle things out on paper so to speak before things start making sense

#

im too tired to do the other five variants tonight though haha

#

but having the one fixed just means mostly copy pasting and then minor edits on the spritesheet to make the actual idle animations for the other five

#

wasnt initially going to do an idle animation in this update but the idle was just a forward sprite sitting there static and i was like "well i can at LEAST do a blink or something" and it became a whole thing

vernal crest
#

The scope creep comes for us all

inner harbor
ebon birch
#

i plan on doing an all fours running animation for when it gathers forage off the ground, but that requires drawing an entirely new sprite set, so that's a nebulous future update

#

i do not

#

i listen to darkfluff, mark industries, and sometimes markee

#

i like darkfluff's voice, he was the one in that video

brittle pasture
#

not the inverse

hallow prism
#

Ok!

ebon birch
#

anyway after i finish and push this update for the chu companions i'm going to figure out how to code up my hitmarkers and upload those

#

i know it seems like i already figured that out since they're in my game, but i have a massive texture overhaul where i combine texture packs on the base sheets, so that instead of 200 texture mods i have just the one. i have to reverse engineer the code i wrote two years ago or whenever 1.6 released to figure out how to actually only replace the hitmarkers and not the entire cursor sheet

#

i also plan on expanding the scope of that mod by adding in more hitmarker stlyes, like moons and stars

#

and having them rotate randomly daily

#

it would be the kind of mod that should have a config but ive never done configs before

#

that's a problem for future me

#

present me is going to bed

wet iris
brittle pasture
#

code pls

wet iris
#

ill send in the morning cause i got work in 6 hours

west thunder
#

For some ungodly reason, neither the portraits nor overworld sprites for Krobus that I've made are being used.

gentle rose
#

can you use the json validator to send the file please?

#

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

west thunder
#

Like so, yeah?

gentle rose
#

yup, perfect

west thunder
#

For context, both the portrait and overworld spritesheets of a character use the same exact names, so I had to make separate folders for each pair (regular and trenchcoat) in the assets folder.

gray bear
#

no () allowed

west thunder
#

wharg

gray bear
west thunder
#

That's bulldookie.

gray bear
#

config values don't support special characters

#

you can make it look like you want with i18n

west thunder
#

For future reference, what characters aren't allowed?

vernal crest
#

Please don't even use spaces

gray bear
#

ABC only, i think

vernal crest
#

And use i18n to control the display name of the setting (and description)

gentle rose
#

anything other than letters and numbers shouldn’t be used

west thunder
#

you're joking

gentle rose
#

A-Z, a-z, 0-9

west thunder
#

And how complicated would an i18n file be?

gray bear
#

yes i forgor number ^

vernal crest
#

Easy

gentle rose
#

and necessary regardless!

gray bear
#

i18n files are big ass lists, and we have an i18n-inifier

vernal crest
gray bear
west thunder
#

Do I gotta look over the whole page or just type in whatever it is I need to do in the Translations chapter you've linked?

gray bear
#

the page aba linked is really short. got all info you'd need for config i18n values

vernal crest
#

Example of i18n with just config descriptions (uploaded here rather than json validator because the validator removes my beautiful comments)

gray bear
#

how dare the json validator do this 💔

vernal crest
#

(You can download and edit it if it feels easier than starting your own from scratch)

#

You don't have to do anything in the content.json to use i18n for config stuff, unlike for using i18n in other places.

gray bear
#

a bit related but should you not use spaces in section names as well?

vernal crest
#

You should avoid spaces there too, yes

#

View them as keys

gray bear
#

haj_nod i go fix. thank you

vernal crest
#

You can translate them (and give them descriptions!) just the same as config options

gray bear
#

this is more of a phrasing formatting question, what I'm trying to make clear is if the user sets "None" on the DISCO mod config, the icons won't show up. help making it clear would be awesome wormplead ty

"config.SourceIcon.description": "Scales the small icon in the top left of sprites showing the item that was used to make it. Sub-Icon Display MUST NOT be on NONE on the \"DISCO\" menu for it to show up.",

lucid iron
#

Did u mean to ping me blobcatgooglyblep

gray bear
#

i pinged you?? sorry

lucid iron
#

Naw it just seemed very out of context here

gray bear
lucid iron
#

But yeah I gotta go back and add tooltips and probably adjust how the button looks later

gray bear
#

yeah i have that affect on chatrooms

lucid iron
#

That said the purpose of having a shared config on disco side is so that you don't have to add it

gray bear
#

oh i just let users change the scale of it

#

maybe i'll yeet that, however

#

but can't change the scale if they turn it off

lucid iron
#

Yeah that's another thing I may do in the "always" mode

#

I'm personally against having too many config that r too fine grained bc i generally think my opinions r best sleep

gray bear
#

that's very based and fair

lucid iron
#

At some point i just go yeah sure go change this json bolbpopcornhat

gray bear
#

can't think of a single reason players would complain about that /s /j

#

but yeah its fair

short temple
#

I did a content patch but i need to create a content.json, how i do that?

autumn tide
short temple
#

Did the manifest, sprites and the 18in i need to create the content.json file

autumn tide
#

a content.json is where the base of your code would be (unless you're making a large enough project that you want multiple files for your code, in which the content.json would be used to include the other files)

short temple
#

Im making three kobolds as farm animals

#

With three custom ítems and baby versions

autumn tide
#

Alright, so you wanna make the code for that?

short temple
#

Yep i need to learn to make the codes

autumn tide
#

I'm not really experienced in custom items or animals, but I can attach the wiki links, they're pretty helpful

short temple
#

I have all morning reading how to code from the wiki

#

The only thing i still missing is the content

autumn tide
#

Oh yeah the wiki's great! I have a few other guides i can find too

short temple
#

Please it would be very appreciated

opaque field
#

any pointers on making 'forage'?

devout otter
short temple
devout otter
devout otter
#

And then cross-reference to a mod that do a similar thing to what you want to do. I suggest looking at silvermoonchan's animal mods.

autumn tide
opaque field
autumn tide
#

ooh cool!

#

ngl mycology expansion would be fun...

opaque field
#

my current list of stuff I need to work on is so long haha like I got fixes for Shane, I need to work on Kent and Alex, and I still have cream cheese machines in the works. I think Aimon used to have a mushroom forage mod and that's kinda what inspired it

autumn tide
#

damn you got a lot lol

#

i mean-

#

i do too but all under one huge label ig

lucid iron
opaque field
devout otter
short temple
#

How can i edit the volcano dwarf? I want to change his sprite

opaque field
autumn tide
#

like- a part of the map

#

not even an npc

#

BUT you can still edit the sprite

short temple
#

So You have to edit the tile then

autumn tide
#

mhm!

#

i wanna make the volcano dwarf a real npc eventually but the volcano maps are from hell SDVpufferwaaah

#

and that interferes with stuff

gray bear
#

new area

opaque field
autumn tide
#

uhhhh lemme find the tile sheet where they are..

#

OH and do you have the unpacked game yet, @short temple ?

short temple
#

In android i did most of my content packs in my phone

lucid iron
short temple
#

So i can backup to cloud anywhere

autumn tide
#

..i got no clue about android modding sorry

short temple
#

It is literally the same thing

autumn tide
#

uhh but do you have the unpacked game? it's like a collection of a decent part of the code

short temple
#

Yep

autumn tide
#

okay perfect!

#

alrrr looks like the volcano dwarf sprite is in maps/mines/volcano_dungeon.png

short temple
#

😭

short temple
#

Now i understand everything

#

🤣

#

Gonna find that Lil fella ty ❤️

autumn tide
#

alr i'm editing kroby's shop and i want feedback on my ideas, here's a table with the shop stuff, uhh go ahead edit anything, i have a backup anyways :) https://docs.google.com/document/d/1qMe7aSTjGpHpsAbMzl9WKdv64b0Dix0Oqtw6f7W6dMc/edit?usp=sharing

#

i wanna make sure it's not overpowered

west thunder
#

Or is there something you need to add in the beginning?

lucid iron
#

Not really i18n are i18n solely by their relative path

#

The file is just string: string

autumn tide
#

nah! BUT adding "$schema": "https://smapi.io/schemas/i18n.json", under the first curly bracket makes vs code happier

west thunder
#

yeah i don't get any of this

#

I've no clue how the hell any of this works.

autumn tide
#

i might be able to help!

#

uhh what's up?

west thunder
#

The sprites for Krobus I made?

#

No workie.

autumn tide
#

oh :(

west thunder
#

Because config options don't allow special characters like () in it.

autumn tide
#

..hmmmm i should make a sprite template now.....

#

OH yeah those bitches are picky

west thunder
#

So everyone suggested I'd make an i18n file so I could translate the config options from there to whatever I like.

autumn tide
#

mhm!

west thunder
#

I beg of you, how do I set it up?

autumn tide
#

SO first you wanna set up a folder in your mod.. thing called i18n

west thunder
#

Done.

autumn tide
#

then make a file called default

west thunder
#

.json, yeah?

autumn tide
#

mhm!

west thunder
#

Now what?

autumn tide
#

one sec lemme set up a template

#

can i see your config stuffs?

autumn tide
#

tyyyy

west thunder
#

Mhm.

short temple
#

Great job indeed

west thunder
#

Thank you, thank you.

autumn tide
#

okayyyy idk if spaces are allowed in the keys for these when thingies?

west thunder
autumn tide
#

uhhh again a new modder soo

short temple
# autumn tide tyyyy

Thanks for the help buddy i did a tile for the dwarf now i need to pack it to xnb i guess

short temple
#

So i left it as a png?

autumn tide
#

mhm!

#

!xnb

ocean sailBOT
#

XNB mods often break the game and are not recommended. See:

For mod creators, see editing XNB files for help unpacking & editing them (including for use with Content Patcher).

short temple
#

Oh

#

Did not knew that

autumn tide
#

one sec..

autumn tide
#

hey?

lucid iron
#

I think they just want it for display string reasons

#

Usually it's best to do it like

autumn tide
#

mhm!

autumn tide
#

@west thunder hmmm you alr with the names being like this? i could still help with the i18n stuff ofc, just thought this might make stuff more simple!

 "Krobus Overworld Sprites": {
      "AllowValues": "true, false",
      "Default": "false",
      "AllowBlank": false,
      "Description": "Retextures Krobus' overworld sprites.",
      "Section": "Krobus"
    },
    "Krobus Portraits": {
      "AllowValues": "true, false",
      "Default": "false",
      "AllowBlank": false,
      "Description": "Retextures Krobus' portraits.",
      "Section": "Krobus"
    }
  },

short temple
#

I have to make a custom update key or Nexus does that when i upload a mod?

short temple
#

It is

#

Smapi says no update keys for kobold mod

autumn tide
#

I THINK after your mod is uploaded, you yoink the numbers from the link of your nexus post and set that as the update key, but again i am new so take this with a grain of salt

opaque field
#

no that's correctm you don't have to worry about an update key until the mod is posted

short temple
#

Thanks

autumn tide
#

ty caracal SDVpufferheart

opaque field
#

np 😄

#

Maybe I'll write an event for Maru today I've been writing men too long. but like her pack, kent and alex and my cream cheese machines all don't have that update key

autumn tide
#

!maru

ocean sailBOT
#
short temple
#

Is there some kind of preset content.json file where you can write your code or i need to do it from Zero?

autumn tide
#

my beloved...

autumn tide
opaque field
#

^^this

#

not me trying to type a template as a response lmao

short temple
#

Lol

#

I guess i need to do the content from the computer

#

Too many things to edit

short temple