#making-mods-general

1 messages · Page 327 of 1

ionic dawn
#

what is fashion sense?

lucid iron
#

its a mod that gives you more options when it comes to making clothing

#

vanilla system pretty restrictive

ionic dawn
#

Ah I see

#

Thanks, i'll be sure to take a look

lucid iron
#

personally i recommend making a hat

ornate trellis
#

hats are nice

lucid iron
#

they get the most space out of the vanilla clothing options

#

and only need 4 sprites

ionic dawn
#

Any such things as animated clothing? (just asking for in the future)

lucid iron
#

also a FS feature

ionic dawn
#

nice

#

Alr thanks i'll see what I'll do :)

cyan marsh
#

time to test all this work

tribal ore
#

Was I hallucinating? I thought that there was a keyword we could use in a schedule to make a character start the day at a new location, or at least warp them to that spot instantly?

calm nebula
#

0 schedule

#

(You may also have been hallucinating but you just start the schedule with 0 location x y. See leo's)

cyan marsh
#
{
  "Action": "EditData",
  "Target": "Data/Characters",
  "Entries": {
    "{ModId}_System.Windows.Forms.TextBox, Text: Stennis": {
      "DisplayName": "Lord Stennis",
      "BirthSeason": "spring",
      "BirthDay": 19,
      "HomeRegion": "Other",
      "Language": "",
      "Gender": "Male",
      "Age": "Adult",
      "Manner": "Polite",
      "SocialAnxiety": "Neutral",
      "Optimisim": "Positive",
      "IsDarkSkinned": false,
      "CanBeRomanced": true,
      "LoveInterest": "Evelyn",
      "Calendar": "HiddenUntilMet",
      "SocialTab": "HiddenUntilMet",
      "CanSocialize": true,
      "CanRecieveGifts": true,
      "CanGreetNearbyCharacters": true,
      "CanCommentOnPurchasedShopItems": true,
      "CanVisitIsland": true,
      "IntroductionQuest": false,
      "ItemDeliveryQuests": true,
      "PerfectionScore": true,
      "EndSlideShow": "TrailingGroup",
      "SpouseAdopts": true,
      "SpouseWantsChildren": false,
      "SpouseGiftJealousy": true,
      "SpouseGiftJealousyFriendshipChange": -30,
      "DumpsterDiveFriendshipEffect": 10,
      "DumpsterDiveEmote": 8,
      "FlowerDanceCanDance": true,
      "WinterStarParticipant": true,
      "SpawnIfMissing": true,
      "Home": {
        "Id": "HomeSpawn",
        "Location": "BusStop",
        "Tile": {
          "X": 17,
          "Y": 28
        },
        "Direction": "Down"
      },
      "Size": {
        "X": 16,
        "Y": 32
      },
      "Breather": true,
      "EmoteOffset": {
        "X": 0,
        "Y": 0
      },
      "KissSpriteIndex": 33,
      "KissSpriteFacingRight": false,
      "HiddenProfileEmoteDuration": -1,
      "HideenProfileEmoteStartFrame": 16,
      "HiddenProfileEmoteFrameCount": 4,
      "HiddenProfileEmoteFrameDuration": 200
    }
  }
}``` The first Character Data generated by NPC Creator!!
#

needs some work.. but it's there!!@

#

I could use some help hammering out some details

cyan marsh
#

string CharacterId = $"{{ModId}}_{CD_NPCNAME}"; seemed to comeout wrong

#

i fixed one part of it

#

but the {{ModId}} Comes out as {ModID}

frosty hull
balmy venture
#

Anyone know if there's a mod that only changes the look of your equipment but keeps the stats? I got too used to some custom clothing speed buffs hahaha

calm nebula
#

Fashion Sense

latent mauve
cyan marsh
latent mauve
#

Wasn't sure if that was an output error or just from transcribing it, so wanted to mention in case it got overlooked, sorry!

cyan marsh
#

it's something i can fix easily x3

#

i am worried about the top

#

and i fixed the issue on my own

#
            DataModels.NPCCharacterDataModel NPCDatum = new DataModels.NPCCharacterDataModel
            {
                DisplayName = CD_DISPLAYNAME.Text,
                BirthSeason = CD_BDAYSEASON.Text,
                BirthDay = (int)CS_BIRTHDAYDAY.Value,
                HomeRegion = CD_HOMEREGION.Text,
                Language = CD_LANGUAGE.Text,
                Gender = CD_GENDER.Text,
                Age = CD_AGE.Text,
                Manner = CD_MANNERS.Text,
                SocialAnxiety = CD_ANXIETY.Text,
                Optimisim = CD_OPTIMISM.Text,
                IsDarkSkinned = CD_DARKSKIN.Checked,
                CanBeRomanced = CD_ROMANCE.Checked,
                LoveInterest = CD_NPCLISTLOVE.Text,
                Calendar = CD_CALENDAR.Text,
                SocialTab = CD_SocialTab.Text,
                CanSocialize = CD_CANSOCIALIZE.Checked,
                CanRecieveGifts = CD_ALLOWGIFTS.Checked,
                CanGreetNearbyCharacters = CD_GREETOTHER.Checked,
                CanCommentOnPurchasedShopItems = CD_COMMENTITEMS.Checked,
                CanVisitIsland = CD_VISITISLAND.Checked,
                IntroductionQuest = CD_INTRO.Checked,
                ItemDeliveryQuests = CD_ITEMDELIVERY.Checked,
                PerfectionScore = CD_Perfection.Checked,
                EndSlideShow = CD_ENDING.Text,
                SpouseAdopts = CD_ADOPT.Checked,
                SpouseWantsChildren = CD_WANTSKIDS.Checked,
                SpouseGiftJealousy = CD_GIFTJEALOUS.Checked,
                SpouseGiftJealousyFriendshipChange = (int)CD_FPLOSS.Value,
                SpouseRoom = null,//Not Implemented
                SpousePatio = null,//Not Implemented
                SpouseFloors = null,//Not Implemented
                DumpsterDiveFriendshipEffect = (int)CD_FPADJUSTDD.Value, //Not Implemented
                DumpsterDiveEmote = 8,
                FriendsAndFamily = null,//Not Implemented
                FlowerDanceCanDance = CDCanDance.Checked,
                WinterStarGifts = null, //not implemented
                WinterStarParticipant = CDWinterStar.Checked,
                UnlockConditions = null,//Not Implemented
                SpawnIfMissing = true,//Not implemented
                Home = DefaultHome, //single home implemented
                TextureName = null,//No implementation
                Appearance = null,//Not Implemented
                MugShotSourceRect = null, //No implementation
                Size = new PointModel
                {
                    X = 16,
                    Y = 32,
                },
                Breather = true,
                BreatherChestPosition = null,//No custom implementation
                BreatherChestRect = null,//No custom Implementation
                Shadow = null, //No custom implementation
                EmoteOffset = new PointModel
                {
                    X = 0,
                    Y = 0,
                },
                ShakePortraits = null, //Not Implemented
                KissSpriteIndex = 33,//Placeholder
                KissSpriteFacingRight = false, //placeholder
                HiddenProfileEmoteSound = null, //No customization
                HiddenProfileEmoteDuration = -1, //Default
                HiddenProfileEmoteStartFrame = 16,//placeholder
                HiddenProfileEmoteFrameCount = 4,//placeholder
                HiddenProfileEmoteFrameDuration = 200,//Placeholder, default
                FormerCharacterNames = null,//not implemented                
            }; 
``` There's a lot I haven't finished... but at least it's running
sour sleet
#

Hey everyone, I'm curious about something and wanted to ask your thoughts. If someone does a translation or any add on content for a mod I've made, is it allowed for the author of the additional content to receive DP for their add on mod?

uncut viper
#

it's up to you

rare orbit
#

so? ya know the little npcs framework? how do i allow for the children to be born to any npc? i wanna do a pack that looks like Amelia's kids Sonya and Morgran and just have for other kids of my ocs

karmic gust
#

On Nexus specifically there's a section in permissions that says, "Give permission for users to be able to earn Donation Points for their mods if they use my assets?" and you can choose yes, no, or contact me for permission

sour sleet
#

Thank you both. What do the majority of mod authors prefer?

#

And what would I do if my permissions weren't respected?

iron ridge
ornate trellis
inner harbor
#

I don't mind them getting DPs for translations or art, i encourage it! If they replicated my entire mod in the process that would piss me off though.

ornate trellis
#

yeah true that tho

sour sleet
#

Thanks for the opinions c:

twin wadi
#

hmm, what's wrong with this part?

error: [game] Event 'amyroh.cov_IrisSad' has command 'friendship amyroh.cov_Iris 100/pause 400/emote amyroh.cov_Iris 32/pause 400/speak amyroh.cov_Iris Thanks for stopping by, @. I still feel sad, but you made me feel a bit better. $9#$b#Thanks for being my friend, @. You and Flora and the best people ever. $8/globalFade/viewport -100 -100/pause 400/message I hope Iris feels better.../pause 400/end/' which couldn't be parsed: required index 2 (int friendshipChange) has value '100/pause', which can't be parsed as an integer.

smapi log: https://smapi.io/log/e5688d82547e43d49e1219a3ede0d6b3

ocean sailBOT
#

Log Info: SMAPI 4.2.1 with SDV 1.6.15 build 24356 on macOS Unix 15.5.0, with 22 C# mods and 15 content packs.
Suggested fixes: One or more mods are out of date, consider updating them

trim sand
#

hate to bug again about this, but im struggling to figure out what ive missed, as despite setting up the ModConfig data model(with defaults embedded), no config file ever gets produced, as such despite trying to have GMCM intergration it just doesn't work. ive clearly missed something important.

internal sealed class ModEntry : Mod
{
    /*********
    ** Public methods
    *********/
    /// <summary>The mod entry point, called after the mod is first loaded.</summary>
    /// <param name="helper">Provides simplified APIs for writing mods.</param>
    public static ModConfig Config;
    public override void Entry(IModHelper helper)
    {
        Config = Helper.ReadConfig<ModConfig>();
        var harmony = new Harmony(this.ModManifest.UniqueID);
        harmony.Patch(
            original: AccessTools.Method(typeof(StardewValley.FarmAnimal), nameof(StardewValley.FarmAnimal.getSellPrice)),
            postfix: new HarmonyMethod(typeof(ObjectPatches), nameof(ObjectPatches.SellValuePatch))
        );
    }
    private void OnGameLaunched(object sender, GameLaunchedEventArgs e)
    {
        // get Generic Mod Config Menu's API (if it's installed)
        var configMenu = this.Helper.ModRegistry.GetApi<IGenericModConfigMenuApi>("spacechase0.GenericModConfigMenu");
        if (configMenu is null)
            return;

        // register mod
        configMenu.Register(
            mod: this.ModManifest,
            reset: () => Config = new ModConfig(),
            save: () => this.Helper.WriteConfig(Config)
        );
        configMenu.AddSectionTitle(
            mod: this.ModManifest,
            text: ()=>"Tuning",
            tooltip: ()=> "Edit the values used inside the calculation of animal sell prices."
        );
        configMenu.AddNumberOption(
            mod: this.ModManifest,
            name: () => "Base Value Bonus",
            getValue: () => (float)Config.BaseValueBonus,
            setValue: value => Config.BaseValueBonus = value,
            tooltip: ()=> "The Baseline bonus over the animals purchace price that a max friendship animal will sell for. Default : .3 (30%)"
        );
        configMenu.AddNumberOption(
            mod: this.ModManifest,
            name: () => "Rancher Value Bonus",
            getValue: () => (float)Config.RancherValueBonus,
            setValue: value => Config.RancherValueBonus = value,
            tooltip: () => "The bonus to be added to the baseline bonus in the calculation for players with the Rancher profession selling any animal. Default : .25 (25%)"
        );
        configMenu.AddNumberOption(
            mod: this.ModManifest,
            name: () => "Shepherd Value Bonus",
            getValue: () => (float)Config.ShepherdValueBonus,
            setValue: value => Config.ShepherdValueBonus = value,
            tooltip: () => "The bonus to be added to the baseline bonus in the calculation for players with the Shepherd profession selling Barn Animals. Default : .4 (40%)"
        );
        configMenu.AddNumberOption(
            mod: this.ModManifest,
            name: () => "Coopmaster Value Bonus",
            getValue: () => (float)Config.CoopmasterValueBonus,
            setValue: value => Config.CoopmasterValueBonus = value,
            tooltip: () => "The bonus to be added to the baseline bonus in the calculation for players with the Coopmaster profession selling Coop Animals. Default : .4 (40%)"
        );
    }
}```
twin wadi
urban patrol
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.

twin wadi
#

okay! but do you know if quickquestions in events require three answer options?

ocean sailBOT
#

@twin wadi You leveled up to Cowpoke. You can now speak in our voice channels and share images in all channels!

twin wadi
#

okay thanks

urban patrol
#

i ask for your json because discord is weird about displaying backslashes and your event code up there looks wrong but it may be discord formatting

twin wadi
#

sorry its in rtf because i just used textedit to export it

uncut viper
#

(use the json uploader linked in the governor command)

twin wadi
#

ohh ok

brisk wedge
#

Dunno if I'm using the right words, but how does one do a harmony patch for another mod? Is it possible to just harmony the namespace + class as a string for the type?

uncut viper
cyan marsh
uncut viper
#

it'll probably still find it by name alone if the type name is unique enough but a fully qualified name is better ofc

#

from there its harmony patching as normal

iron ridge
uncut viper
#

yes please always use smapi.io for jsons and logs

twin wadi
#

sorry

brisk wedge
cyan marsh
uncut viper
#

unless your mod sets a hard dependency on the other mod

#

bc then you'll know its loaded before yours

cyan marsh
#

But NPC Creator finally got moving... now I just gotta implement some more stuff to the chardata... exciting times ahead

uncut viper
rare orbit
#

@brittle pasture what's your name on nexus?? im about to upload the recipe mod in a bit and i wanna credit you!

uncut viper
#

the name you have to type in gets a bit weird sometimes depending on how they structure their mod

rare orbit
#

also also? when crediting is it ok to just input the name of the user who helped ya you know or their nexus username?

urban patrol
rare orbit
#

also should i mention that the code was partially referenced from another mod?

#

is it ok to ever mention that???

strange socket
#

Hello everyone,

I’m [reaper], a huge fan of Stardew Valley and Demon Slayer. I’d love help turning Shinobu Kochō into a fully functional NPC mod. I don’t have the skills to build a mod from scratch—what I have is:

  • WeddingRoom_Attempt.png (112×128 px AI-generated room, might look distorted).
  • Placeholder_Shinobu_Sprite.png (96×128 px static sprite sheet, all frames show her standing).

What I Need

  1. Animated Sprite Sheet

    • 96×128 px, 4×4 grid (32×32 per frame).
    • 4 directions: Down, Left, Right, Up (idle + 2 walking frames).
    • Transparent background, exact anime look (purple-green hair gradient, butterfly pin, Demon Slayer uniform; sword optional).
  2. Heart Events & Wedding Room

    • Heart progression (0→2, 3→5, 6→8, 10→marriage).
    • “Butterfly training” event (optional).
    • Include my wedding room design if possible.
  3. Marriage Behavior (like any vanilla NPC spouse)

    • After marriage, Shinobu should behave exactly like any NPC spouse: kiss the farmer, cook, sleep together, chat, etc.
    • She should continue wearing her Demon Slayer uniform as a spouse.
  4. Map & Social Tab

    • Add her icon via NPCMapLocations so players can find her easily.

I’m happy to wait as long as needed or help test. Apologies for the rough assets. If anything isn’t possible, please let me know. Thank you so much! 🙏

— [reaper]

urban patrol
indigo iris
#

hiiii i wanted to ask how movie concession tags work? i found a concession tag spreadsheet here and it says apple slices are tagged as both healthy and sweet. an npc im looking at likes the sweet tag and dislikes the healthy tag. so will the npc like apple slices or dislike them?

iron ridge
#

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

uncut viper
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:

rough lintel
rare orbit
#

honestly just reference code

#

it's way better than ai generated code

uncut viper
rare orbit
#

is it better to reference code? is it fine to borrow code??

#

like especially for a content patcher mod or a similar mod to make sure it functions?

uncut viper
#

with Content Patcher theres only so many ways to write specific kinds of edits, so it can be a bit muddy

#

but if you're copying jsons wholesale you'd want to look at their permissions

#

to be on the safe side

strange socket
#

Very bad skills that's why you'll see problems and strange things. I'm busy now, excuse me.
🥲

cyan marsh
uncut viper
#

like, no one can lay claim to an EditData patch adding a character

strange socket
#

good bay

uncut viper
#

but if you take an NPC mod and just change the names around, thats no good

rare orbit
#

honestly only time i copied code was for a portrait to function right

rough lintel
#

basic cp patches are pretty standard but once you start tokening its like ehhh

cyan marsh
#

I don't mind people copying my CP stuff.. so long as they don't steal the music/art

strange socket
#

@rare orbit back 😂 yes you can

#

i have nexusmods

#

and all need for npc

#

but ineed sprite sheet and Portraits

urban patrol
#

maokai, if you're looking for someone to make an NPC mod for you, you can commission a mod author/artists to create it for you, or you can put your mod idea in the github repo, but it's not likely to be made for you for free

#

!commissions

ocean sailBOT
cyan marsh
#

has Platonymous put his stuff up for open permission?

#

sorry if there is typoes... i can't see.. cat in the way

rough lintel
crude plank
#

nope

strange socket
#

You don't have money
😐

whole raptor
strange socket
#

i dont

twin wadi
#

i think with content patcher theres just a limit to how unique code can be so the biggest thing is creativity and the content

uncut viper
#

all of Platonymous's mods are GPL licensed

crude plank
#

but they have GPL license

uncut viper
#

the nexus permissions are nother thing

#

so you can legally use their code if you follow the license. cant put it on nexus though

cyan marsh
#

not all the time.. Nexus recognizes licenses

uncut viper
#

(i realize who im explaining it to i just am saying it for others)

strange socket
#

@twin wadi no ineef sprite sheet to work i try

twin wadi
#

?

strange socket
#

i need

cyan marsh
#

i know.. i'm just supplementing as your Nexus Moderator x3

uncut viper
#

it was always my understanding that if nexus permissions were more restrictive than the repo, the nexus permissions apply if the mod author wants them to? is that incorrect?

#

speaking specifically about uploading to Nexus, not redistributing anywhere else

half tangle
#

As I understand it, within the confines of Nexus, yes.

uncut viper
#

and i presume if the mod author is unable to be contacted to ask if thats what they want then... yknow

half tangle
#

Nexus permissions handle Nexus stuff, but beyond that is the world of licenses

frosty hull
round timber
whole raptor
#

The worst one is when the perms are "Ask for permission" but the author is fully MIA SDVpufferpain

rough lintel
#

and then u hit em with the “inspired by x”

#

LMFAO

orchid glade
uncut viper
#

if its an artistic asset then that can still be theft depending on how closely you copy it

rough lintel
#

is drawing something in your style theft

uncut viper
#

it can be

rough lintel
#

like… drawing a tree branch???

uncut viper
#

as with anything lawyerly: 1) i am not one 2) it depends

whole raptor
#

The limit of my art skills is 25% inspired 75% frankesteined original SDVpuffersquee

crude plank
#

Can you steal vibes

rough lintel
#

hypothetical: sakura ui, right. its got trees in there. if i also drew trees (not exact replicas, but similar design motifs to make my own sakura interface), thats not theft

uncut viper
#

you can draw Princess Peach in your art style, or someone that looks 99% like Princess Peach, but im pretty sure Nintendo still wont be happy

rough lintel
#

thats genuinely “inspired by”, no?

uncut viper
#

if you try to claim its your character

#

i wouldnt call that theft, no. but see above about me not being a lawyer and also the "it depends" part

rough lintel
#

well that was what i meant by “create something in its image”

uncut viper
#

just warning that remaking things yourself is not always safe from legal trouble

#

if someon designed a very particular sakura tree and you designed one just like it, then it gets muddier

#

see: Bungie in court right now for someone claiming they copied their story ideas and inspiration from their concept art

twin wadi
#

i think if you just do it maliciously and copy like, pixel by and pixel, thats 100% theft... but i dont think you can really steal vibes or style as long as it's your own skill and theres at least a few aspects where its unique

whole raptor
rough lintel
#

yeah its just your own take on a thing

rare orbit
rough lintel
rare orbit
#

and ya bloodline

uncut viper
#

all im saying is that sometimes the concept of the "thing" in question has legal protection

cyan marsh
#

blargh.. Platonymous doesn't have a discord anymore apparently

uncut viper
#

not simply the interpretation of the thing

rough lintel
crude plank
#

Let it rest in peace pls

rare orbit
cyan marsh
#

<.< I have to go through some tape for that one..

rough lintel
rare orbit
whole raptor
rough lintel
whole raptor
#

Oh I'm sure SDVpuffersquee

iron ridge
#

it was the exact same text just translated bc all the formatting was the same

rare orbit
#

i give credit especially when helped directly

crude plank
#

As if the actual content of the text gave the AI gen vibe...

rough lintel
#

awww

#

wait i just described crediting twice

rare orbit
#

i still do cause tbh?? that mod would not exist without yall's help

crude plank
#

This is not your day lani lol

rough lintel
#

ignore me. thank you nikki lmao

rare orbit
#

np!

rough lintel
uncut viper
#

if it helps you can think of it not as fumbling but as inspiring conversation

rough lintel
#

next im gonna say something that sounds so horrible without knowing

rough lintel
whole raptor
#

I always credit "people on SDV modding discord", cause it'd be way too long of a section if I listed all of ya separately for feedback SDVpuffersquee

rough lintel
#

LOL

whole raptor
#

My approach is, if you know, you know SDVkrobusgiggle

brave fable
#

is Governor active in this discord? i'd like to credit him on my mod page for some helpful links he sent me a while ago

crude plank
#

I think that's fine especially if there's not one or two people in pariticulat who helped a lot

crude plank
#

What's the governor's nexus profile

rough lintel
#

yknow blueberry, i never forgot about those mushroom cows you helped me recolor. one day ill make that mod lmao

#

they are sitting quietly in my Stardew Stuff folder

brave fable
#

honestly the mushroom cows come to mind every so often lol. those and the strawberry milk cows someone made

rough lintel
brave fable
#

beloved colourful moos

rough lintel
#

shroomie moos…. good times…

#

wait that reminds me. you had some crazy japanese style building art posted here once, what was it for?

#

did you ever do anything with it?

brave fable
#

ah well see i just got back from japan last month for a little field research lol

#

but it's been on and off since like 2019. at this point it's just a cathartic hobby

rough lintel
#

ahhh i see 🤭

brave fable
#

work and life have really been picking up lately too so i'm out of time to play around with it, but it's not out of mind

whole raptor
#

Ngl I'd love to see a new JP styled buildings SDVpufferheart

brave fable
#

sdv just has too many possibilities these days. i'd like to give it unlockable buildings, cabins, furniture, maybe animals, the list just never ends

rough lintel
#

i just love buildings 🙏

cyan marsh
#

imma reward myself for my hard work today

twin wadi
#

building art is so hard though SDVpuffercry

rough lintel
twin wadi
rough lintel
#

its not hard, but making the building not look boring/traditional is hard

rough lintel
#

its good to reference anyways, i thought it would easily fit into vanilla

crude plank
twin wadi
cyan marsh
#

playing sims until my brain rots x3

rough lintel
#

for my npc’s house i stole colors from … actually just pierre’s shop LMFAO

rigid musk
#

would they make mushroom milk? SDVpuffersick

trim sand
#

mushroom soup clearly. minecraft logic

crude plank
brave fable
twin wadi
#

woww thats beautiful

brave fable
#

one of these days i'll actually sprite a ginkgo tree and i'll probably die trying

whole raptor
#

Trees anywhere: SDVpuffersquint
Trees in Japan: SDVpufferwow

crude plank
#

4000 is actually impressive

whole raptor
brave fable
#

i took a lot of photos of interesting rocks. and wood. and paving tiles. and rooftops. and eaves. and dirt floors

#

research trip 📝

crude plank
#

All valid subjects for photos

brave fable
#

last & final snap that i'll definitely 100% end up using to draw straw and pen paper

twin wadi
crude plank
twin wadi
cyan marsh
#

i wish i took pictures on my visit to japan back in 2005

trim sand
brave fable
#

there's always next time ✨

cyan marsh
trim sand
#

I've linked the message with the code

#

Thats essentially all of it. Beyond the copied GMCM API file which shouldn't be the source of the problem

uncut viper
#

are you 100% certain you're launching the game with the correct mod profile Silver and the version in your mods folder is the most up to date compile?

brave fable
#

you aren't registering your OnGameLaunched listener

uncut viper
#

that shouldnt matter re: not even creating a config.json since its in the entry, though

trim sand
#

.... fug

cyan marsh
#

i scrolled back down and someone already said it xD

trim sand
#

oh did i miss it

brave fable
#

don't you also need to call Helper.WriteConfig()?

uncut viper
#

reading a config that doesnt exist is supposed to create one

#

with the default values

#

you arent required to write to it in your code

brave fable
#

ah i see, you're right

uncut viper
#

(that said ofc you'll still want to register your GameLaunched event, but you are supposed to have a config already regardless)

trim sand
brave fable
#

(it's very very simple to setup a minimal mod group, worth doing yourself to save time and effort)

#

!modgroups

ocean sailBOT
twin wadi
trim sand
#

unfortunately. i exclusively run everything through vortex. it regardless would be a 10+ minute endevour to test a mod anyway. no time is 'saved' imo

whole raptor
#

!vortex

ocean sailBOT
#

Vortex isn't recommended for Stardew Valley.

It's hard to troubleshoot and often causes issues like SMAPI/mods not being installed or updated correctly, files mysteriously disappearing, crashes, etc. Volunteers here often can't help with Vortex issues.

Some options:

(See also the Nexus App feedback thread, if you want to help Nexus avoid the same issues in their upcoming replacement for Vortex.)

cyan marsh
#

SDV is easy to manually mod

#

and even have mod profiles natively through SMAPI arguments

brave fable
#

a lot of time & effort savings are really there for cutting costs on my 'how much do i care' budget

#

like it's only 5 seconds on the load time but i feel fresh testing the mod u know

#

developer.

cyan marsh
#

it's all about comfort when it comes to coding/modding

calm nebula
#

All the content packs I have are automatically copied to the current active mod folder on commit.

trim sand
#

honestly ive just accepted that modmanager issues are a thing im on my own for(there's no way im switching to Stardrop and moving the 200+ mod monstrosity i run to something new).
also seems i was incorrect about the config file not being created. it is just not where i was expecting it to.

#

just means figuring out events. since the documentation is. unhelpful at best for somebody who doesn't know what their looking at

uncut viper
#

where did you expect the config to go, bc if its not where you expected, that might literally be as a result of vorttex

trim sand
#

drop the vortex stuff. it went into the SDV mods folder copy of the mods folder, not the easily accessed staging copy

#

in short im an idiot.

brave fable
#

honestly you'll have an easier time just skipping mod managers altogether while making your own content

#

leads to a better understanding, simpler workflow, and easier troubleshooting

trim sand
#

i appreciate the concern. but not happening

lucid mulch
#

Was back reading, and curse forge has been on an other game spree, particularly for being first party mod providers where games like Hogwarts legacy have an ingame mod browser that's powered by curseforge under the hood, and inzoi's planning on using a similar arrangement.

#

Oh the reply didn't reply, rip

trim sand
#

Regardless sorry for the big waste of time(my mistakes wasting my time is fine, you great people not so much). need to figure out how event listeners work.

lucid mulch
#

I use stardrop as a user, and run mods direct for development, and as stardrop keeps the mods in the mods folder, running direct runs all the stardrop mods too

crude plank
#

Sin i have just now realised your threads are also alliterations lol

strange socket
#

Thank you so much to anyone who can work this miracle and make my dream come true by creating this mod. If you succeed, please upload it to Nexus Mods so others can enjoy it too.

I apologize for not being able to provide all the details—my English is poor, and I have no modding skills or experience. My only wish is to see Shinobu in Stardew Valley and be able to marry her. I know it sounds silly 😂 but that’s what I really want.

Please send the finished mod to me via DM. I’m willing to wait as long as it takes.

Thank you for tolerating my bad English and delayed responses 😂❤️
good bay ❤️

lucid iron
#

!commissions

ocean sailBOT
whole raptor
#

Yeah... I'm pretty confident in saying no one will make an NPC mod of all things for someone else for free...

twin wadi
#

yeah npc making especially a marriageable one is really time consuming

trim sand
lucid iron
#

you should i18n them

trim sand
twin wadi
#

ummm i havent started i18n stuff yet, will it be harder to do all of it later? im tinkering with dialogue a lot so ive been putting it off for later

lucid iron
#

do it now.

#

anyways here's a example using the mod translation class builder

strange socket
#

@whole raptor vere sad but np I am waiting and i hop

rigid oriole
#

Yes do noy make urself do it later its hell

ivory plume
twin wadi
trim sand
#

I did infact figure it out.
Was on the page the GMCM page points you to for events. I just missed it.

#

There's also always the choice of. Just not supporting translation.

#

Honestly not even sure the text I've used is particularly clear what the config numbers do. Given the way the calculation works

twin wadi
trim sand
#

Ah fair enough. Valid ^^

trim sand
#

Wonder if I should include in the tuning header tooltip that the modifiers here are added to animal friendship / 1000 to determine the sell price multiplier.

twin wadi
rare orbit
#

can custom items be added?

trim sand
#

They'd have to reference it using your full mod ID as listed in the manifest (which is what the brackets method is reading anyway)

#

But otherwise yes.

half tangle
#

Yeah, so instead of {{ModId}}_pastelillos_de_guayaba, another mod author would write [your mod's actual unique ID]_pastelillos_de_guayaba

twin wadi
#

is it okay to change the author name in the manifest?

#

i mean id

#

modid

half tangle
#

once you have published your mod, no

lucid iron
#

ideally no but why

half tangle
#

I mean, you can, but then SMAPI won't know which mod it is to look for updates

lucid iron
#

no it goes by update key so its fine

rare orbit
#

so like this:
Blossom5280.Feliz_Cumpleanos_pastelillos_de_guayaba

Or

Feliz_Cumpleanos_pastelillos_de_guayaba

#

for the item id i mean

half tangle
#

oh, right, sorry... actually so other mods can reference yours

#

it's better practice to use your mod id in the name to be sure that it's unique among all mods - plus you get better Lookup Anything support

rare orbit
#

kk

#

i'll try to use look up anything but the ui is hard to fully get

half tangle
#

players won't see your internal names unless they also go dig in the code

rare orbit
#

it might just be me tho

half tangle
#

you can just hover your mouse over an item or NPC or whatever and press F1

#

(that's the basic functionality, anyway)

half tangle
#

oh, true, I did see that in the update notes for LA

twin wadi
#

should i18n dialogue keys be unique from other mods? so like should i use {{ModId}} in the key name?

peak isle
#

shoutout to the fellas last night who asked me why i was even loading assets from C# when I already had a content patcher component for the mod. that is exactly what the issue was and it wasnt until someone asked that i stopped to ask myself the same question. removing that asset load worked 😭 God I feel like an idiot every day I work on mods bro

peak isle
twin wadi
half tangle
#

i18n keys area local, yes

twin wadi
#

thank you!

lucid iron
#

i18n are a kind of localized token

half tangle
#

it's often helpful to have some kind of indicator of which mod added it in case a player comes across a "no translation" line when they're playing in case it isn't obvious, but that's for debugging and error reporting rather than functionality

sour sleet
#

Any reason why my custom NPC schedules are running fine on my game but not my friend's? They're testing my mod for me.

rigid oriole
#

One of you has Spacecore and the other doesn't (?)

trim sand
sour sleet
tiny zealot
#

did they sleep a day or start a new save

sour sleet
#

Nope

tiny zealot
#

well they have to do one of those

ivory plume
sour sleet
#

Ok thanks, will try that now. Does that mean Lilybrook isn't compatible with spacecore?

tiny zealot
#

somebody reset the "N days since newly-added NPCs were stuck in bed" counter back to 0 /lh

rigid oriole
tiny zealot
crude plank
tiny zealot
#

or it's not initialized correctly in the morning, or something like that i forget exactly

sour sleet
#

Oh I can stop worrying then haha, thanks both c:

idle lantern
#

I can't get events to trigger inside AdventureGuild . I've checked whereami to make sure I have the map name correctly, and the events spawn when I have SVE installed. But when I only have base game, they don't register as events at all. I'm not getting any smapi errors

tiny zealot
half tangle
idle lantern
#

Ooh. Ty!

trim sand
tiny zealot
#

to explain further: if you set an EditData on an asset, but it doesn't already exist and nothing ever Loads it, your patch will not be applied (it must be loaded first).
you should also Load it with a blank json (just {}), then apply your edits with EditData as you were already doing

#

(there are other mods that add events there, so doing a non-exclusive Load and also an EditData allows you to coexist with them)

trim sand
#

painpika
translation functionality works i guess. apparently = gets replaced with stars tho...

lucid iron
#

mr ape wingdings

#

yea i linked my thing as a example of using mod translation class builder, as mentioned

trim sand
#

is all good. i honestly had no idea what that part meant when you said so.

manic shoal
#

Is there a way in a content patcher mod to detect when the farmer is in their swimsuit? A token or something? I want to set a certain farmer portrait to automatically appear when the game has switched the farmer into their swimsuit.

uncut viper
twin wadi
#

i saw in a modding wiki article that you can do something like "{{i18n:JortsCat.rain.{{Random: {{Range: 1,5}} }} }}" to randomize i18n lines. does this still work if my keys have numbers with zero's in front? like .001

trim sand
half tangle
# twin wadi i saw in a modding wiki article that you can do something like `"{{i18n:JortsCat...

I think so - the token is just a string so you just set whatever random values you want (but I am not a CP modder)
see https://github.com/Pathoschild/StardewMods/blob/develop/ContentPatcher/docs/author-guide/tokens.md#randomization

GitHub

Mods for Stardew Valley using SMAPI. Contribute to Pathoschild/StardewMods development by creating an account on GitHub.

opaque field
#

question: if one makes a custom portrait for an npc how do you call for it using CP in dialogue and stuff?

twin wadi
#

but i dont think itll work because im randomizing with range, not strings

half tangle
#

check the examples and the docs because I suspect the Random token is versatile enough for what you're doing if I understand your use correctly

twin wadi
#

oh yeah i could just list the numbers

#

thanks!

#

that's less simple than the range but it's simple enough 🙂

vernal crest
uncut viper
#

i dont believe you can pad the numbers, so ones with 0s in the front will only work up to 9

#

i.e. if you do {{Range: 1, 12}} then it might end up loading JortsCat.rain.0012 and not 012

opaque field
vernal crest
opaque field
#

@vernal crest it's meant to be an additional emotion, his outfit is the same

vernal crest
#

Then it goes on the same sheet

opaque field
#

okay I'll give that a try thank you!

manic shoal
uncut viper
#

you use the SwimmingChanged trigger action to set a mail flag, which is just using the vanilla AddMail action but with a flag id you made up (it doesnt need to actually exist in Data/mail). this is what the game does to track a lot of variables behind the scenes, by checking whether the player has received specific mails that may or may not have actual letters that go with them

#

you check for that mail flag with content patcher's HasFlag token for your patch that will change your stuff to use the swimming portraits/outfit

#

you need the PatchUpdate action bc otherwise Content Patcher won't update your tokens and patches until TimeChanged at the earliest, which may not be early enough for you

#

you would also then check for the same SwimmingChanged trigger but check if they arent swimming anymore, and if not, remove the mail flag

#

and then PatchUpdate again

manic shoal
#

Thank you for such a detailed explanation! Ah, and the bit you just added answers the question I was about to ask!

uncut viper
twin wadi
#

ugh this is random but why are pufferfish emojis so cute?? who came up with them??

#

sorry that was off topic just popped into my head

round timber
#

im not sure if one specific person came up with the original idea (someone who's been here longer than me may know the lore), but the individual puffers have been suggested/made over the years by many different people SDVpufferowo

idle lantern
urban patrol
#

!unpack did you follow these instructions

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!

idle lantern
#

Yes. I unzipped StardewXnbHack but it doens't have an .exe in it for my to click nor cmd run

#

Gonna try again. I think I've just frustrated myself

opaque field
urban patrol
#

is it a custom NPC that you created? if so, use load. if not, use edit

opaque field
#

nope it's regular, for Shane :3 okie cool thanks

vernal crest
urban patrol
#

that's true

tiny zealot
#

two other important tools for debugging your CP packs are patch summary and patch export to see what the state of things is so you can compare with your expectations

lucid iron
#

hm how do u write xml in dotnet

#

whats the equiv for that Bolb

idle lantern
lucid iron
#

i feel like atra is bullying me

idle lantern
#

fight 'em

lucid iron
#

no im supposed to respect my elders

uncut viper
#

when in doubt just search nuget for xml and you'll probably find something to make it easy

twin wadi
#

moving dialogue lines to i18n is so tedious

#

im glad i started now at least

#

imagine if i did it all in the end...

opaque field
#

dude samne

idle lantern
#

I only aged 47 years

opaque field
#

like, I can't seem to script events without i18n and then have to go back and add it

half tangle
#

!i18n there is a converter that may be helpful (I have no experience with it)

ocean sailBOT
#
Creating Translation Capability

So you'd like to stop writing all of \"your strings straight in your content.json?\" and/or you'd like the capability to see all of your strings across all of your .jsons?
Introducing i18n!

  • How to make your mod compatible with other languages: stardewmodding.wiki.gg

  • The file where you can put all of your strings is called default.json, and it sits in a folder at the same level of your assets, named "i18n".

  • If you're converting from an older version of the game, there's a converter for ease-of-access.

Not to be confused with {{DynamicTokens}} since these require the specific {{i18n:<KEY>}} modifier

opaque field
#

also, I have my assets png in the right place, and my load stuff in the content.json but when i try to call for the portrait in dialogue nothing happens

lucid iron
uncut viper
#

what did u do

lucid iron
#
XmlSerializer ser = new(asset.GetType(), AppDomain.CurrentDomain.GetAssemblies().SelectMany(s => s.GetTypes()).ToArray());
StringWriter strWriter = new();
ser.Serialize(strWriter, asset);
return strWriter.ToString();
#

i tried to tell XmlSerializer about all the types

uncut viper
#

ah, I understand everything now <---- (has no idea what you're trying to do)

opaque field
#

ur pfp is how i feel rn just .____.

vernal crest
opaque field
#

but a lilsmile

#

Yeah, 12, 13, and 14 T.T

vernal crest
opaque field
vernal crest
opaque field
#

oh haha yeah sure

#

{ "Action": "Load", "Target": "CacklingCaracal.TheWolf/Assets", "FromFile": "Assets/Shane.png" }

vernal crest
#

Ah, there we go. Your Target is wrong.

#

You need to Target Portraits/Shane

opaque field
#

ugh... duh T.T lol

lucid iron
#

so i can look at it blobcatgooglyblep

#

alas i didnt find a simple solution

opaque field
#

how does one hack "blue chicken hatch chance"?

lucid iron
#

mostly it doesnt like this

Data/SecretNotes.ja-JP.xnb => unhandled export error: The type System.Collections.Generic.Dictionary`2[[System.Int32, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]] is not supported because it implements IDictionary.
opaque field
#

I am so desperately trying to make a trinket that at level 1 gives a 15% and at level 2 gives a 25% boosted chance to hatch a blue chick but would that be something that hooks into the player or does that need to somehow attatch to the incubator?

#

literally beat my head against my kitchen counter earlier

lucid iron
#

why would you do that

#

vs making blue chicken egg i mean

opaque field
#

I thought it would be a cute idea for this Shane mod I"m making, where when you start dating him he gives you an adorable lil trinket

lucid iron
#

well its kind of strange to have such a thing be a trinket cus you can unequip it

#

i feel like you want a power

#

on the other hand if you want a blue attacc chicken u can do that

opaque field
#

hm, yannow that's an idea... change it so he gifts you an egg that turns into a little buddy?

lucid iron
#

take a look at me framework docs

#

the issue with hatch is just that im pretty sure egg items and farm animal are 1 to 1

#

you would prob want the power to do something like

#

sometimes, a white or brown chicken can lay a blue egg

opaque field
#

maybe I was going about this wrong - maybe instead of breaking my brain to figure out the thing I want, maybe reevaluate the thing I want. Okay cool, thank you! I do already have some really cute plushies he gives you, maybe I could also have eggs that hatch with chicks that do stuff

lucid iron
#

and u can hatch that blue egg

#

trinket blue chicken buddy is standard usecase for trinket tinker so u can do that too if you want PecoWant

opaque field
#

I have blue, pink, and watermelon colored chickens, could translate those to chicks easy enough :3

#

omg my head already hurts way less ty

lucid iron
#

i hate it i think

#

but i do feel an understanding of y so many string assets

ivory plume
honest sable
#

hii!! I dont make mods and never have but really want to learn!! (im on Mac OS).. I got told somewhere its with json?? how do I use that.. better yet how do i learn how to mod SDV?? ^-^

brittle pasture
#

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

honest sable
#

THANKSSS ❤️

brittle pasture
#

follow the tutorial link for Content Patcher above, and you can get started making something simple like a retexture

honest sable
#

okay !! ^^

brittle pasture
leaden galleon
#

Hello guys, i'm new here.
I've made a mods about Crypto Trading Sim for the farmer of stardew valley, it only uses gold from Stardew Valley and no "REAL MONEY" used at all.
But yesterday i tried to upload it to nexusmods but then my account got banned and the mod was removed, the reason says :

"Upload of a crypto scam mod. - User submitted content may not be used to advertise other websites or services and may be removed at the discretion of staff"

This is the announcement link: https://forums.nexusmods.com/topic/13516743-arizoenna-banned/

I don't think this is crypto scam mod, it's just ordinary crypto trading simulator and its a mod for the game but for the advertise other websites, maybe i was to explicitely says i'm using Binance API!
My tendencies is not to advertise their website, it's just crediting whom API i was using..

What do you guys think? also I have contacted the support to request un-ban because I think it was just misunderstanding.

And also, i provide the mods below incase you guys wanna try it!
Thank you..

Nexus Mods Forums

Account Banned - arizoenna arizoenna has been banned from Nexus Mods for violating our community rules. Reason Upload of a crypto scam mod. - User submitted content may not be used to advertise other websites or services and may be removed at the discretion of staff Reference Below are links to w...

#

To use: Press INS to open the Menu,
You can input custom crypto currency too like others with this format "XLMUSDT" "BCHUSDT" and etc...

It is working on the latest version of the game and SMAPI.
Please provide the feedback if you have time, thank you..

crude plank
leaden galleon
uncut viper
#

(banning the account does seem harsh though since its not actually a scam mod... so id still get in contact with them, dont want to make another account/reupload it just to get even more banned for ban evading or something)

leaden galleon
blissful panther
#

If I had to guess I'd agree that it's probably the combination of using real coin/exchange names and a bit of a reflex reaction to it. Definitely get in contact with them, I'd say!

And very much offer to use obviously fake coin names instead.

uncut viper
#

i did see it appear yesterday and then disappear and wondered if something like that had happened

gentle rose
#

I think some important context is that nexus have been having a malware problem these past few months, so I'm not surprised they're quick on the trigger, even if I think your account probably didn't deserve a ban for this. Just fyi though, they dislike the use of any internet APIs in mods unless you communicate with them first, apparently

uncut viper
#

that is also true

#

forgot about that part

crude plank
gentle rose
leaden galleon
#

Thank you all for the help, i'd definitely try adding more details on my supports ticket.
For now maybe i'm gonna put the mod in this site (i choose this site because it's easy to post):
https://buymeacoffee.com/arizoenna/crypto-trader-1-0-0

About the opensource (as in public), maybe yes if i'm thinking of abandoning the maintenance of the mods.
BUT, i'm open to DM if anyone interested.
Thank you, once again.

Buy Me a Coffee

Post by Arizona Adi Pradana

blissful panther
# leaden galleon Hello guys, i'm new here. I've made a mods about Crypto Trading Sim for the farm...

So I just dug a little, and I have a pretty good guess as to why Nexus so quickly kicked this off the platform.

using System;
using System.Collections.Generic;
using System.Net.Http;
using CryptoTrader.Models;
using StardewModdingAPI;

public ApiService(IMonitor monitor)
{
    TradingSymbols = new List<string> { "BTCUSDT", "ETHUSDT", "ADAUSDT", "DOTUSDT", "XLMUSDT", "LINKUSDT", "LTCUSDT", "BCHUSDT", "XRPUSDT", "BNBUSDT" };
    _cryptoApis = new(string, string, Func<string, string, CryptoPrice>)[3]
    {
        ("Binance", "https://api.binance.com/api/v3/ticker/price?symbol=", ParseBinanceResponse),
        ("CryptoCompare", "https://min-api.cryptocompare.com/data/price?fsym={CRYPTO}&tsyms=USDT", ParseCryptoCompareResponse),
        ("CoinGecko", "https://api.coingecko.com/api/v3/simple/price?ids={CRYPTO_ID}&vs_currencies=usd", ParseCoinGeckoResponse)
    };
    _bitcoinApis = new(string, string, Func<string, decimal?>)[5]
    {
        ("Binance", "https://api.binance.com/api/v3/ticker/price?symbol=BTCUSDT", ParseBinanceBitcoinResponse),
        ("CryptoCompare", "https://min-api.cryptocompare.com/data/price?fsym=BTC&tsyms=USD", ParseCryptoCompareBitcoinResponse),
        ("CoinGecko", "https://api.coingecko.com/api/v3/simple/price?ids=bitcoin&vs_currencies=usd", ParseCoinGeckoBitcoinResponse),
        ("BitcoinAverage", "https://apiv2.bitcoinaverage.com/indices/global/ticker/BTCUSD", ParseBitcoinAverageResponse),
        ("CoinDesk", "https://api.coindesk.com/v1/bpi/currentprice.json", ParseCoinDeskResponse)
    };
    LastUsedApiName = "None";
    base..ctor();
    _monitor = monitor;
    _httpClient = new HttpClient();
    _httpClient.Timeout = TimeSpan.FromSeconds(10.0);
    _httpClient.DefaultRequestHeaders.Add("User-Agent", "StardewValley-CryptoTrader/2.0");
}

Using so many crypto exchange APIs is virtually guaranteed to be what spooked them. Let alone the fact that they don't allow network connections.

Unless you got specific permission from them for network access, they do not like that. You need explicit permission from them to do so. So that combined with using real crypto exchange APIs... I'd be stunned if it wasn't that.

https://help.nexusmods.com/article/28-file-submission-guidelines

Files (especially executables) that connect to the internet to download or send information and/or files are prohibited unless where it is crucial for the functioning of the mod/utility. Please note that "auto update" functionality does not qualify as crucial and that we reserve the right to moderate and/or remove any files/tools/utilities/mods that communicate with the internet. If your tool's/app's functionality depends on the ability to send and receive information/files, please contact staff or send an email to support@nexusmods.com laying out your reasoning and providing the source code for your tool/app.

#

Those do clearly just seem to be the ticker APIs to get public pricing and nothing else, but the network access + crypto APIs was probably the problem.

leaden galleon
celest salmon
#

Also probably this

blissful panther
#

There is that exception, but when it's something that's such an absurdly common scam target and accesses real APIs... almost certainly the source of the rushed removal, even if it might be fine with a deeper look.

leaden galleon
blissful panther
#

That would also probably not help. SDVkrobusgiggle

crude plank
#

Yup

uncut viper
#

also the exception isnt automatically granted, you still have to ask permission

gentle rose
lucid mulch
#

I thought the draw of crypto was pump and dumps

gentle rose
#

~~I'm trying to be nice here SDVpufferwaaah ~~

hoary lake
#

Hello me have a question!
is multi save confusing the smapi backup folder for anybody else?
so when i booped my laptop to IT. i lost the local copies of my saves. I though oh that's fine. steam will save it with it's cloud thingy.

for some reason steam didn't so i go into my smapi backups folder and it has stuff from spring 24 as it's latest save day even tho i was in winter.

#

would me suspecting multi save to be a accurate guess?

#

somehow after multi save finishes doing it's own backups. smapi decides it doesn't need to delete and replace it with a newer backup of the saves.

#

but becuase those backups are put inside of the save backup...it sort of just gets stuck.

gentle rose
hoary lake
#

Rolls in that direction slowly. perhaps reaching there in a few hours or days.

#

i thought i would ask in here first since it appears to be a multi save problem so i thought i would ask whether that would be a accurate guess.
plus i don't really see me being able to resolve the issue for me personally.

woeful lintel
# leaden galleon Hello guys, i'm new here. I've made a mods about Crypto Trading Sim for the farm...

My advice is to use fake crypto-currencies (with the opportunity to give them funny SV related names) with RNG based price changes. A good example of this would be the trading mini-game in cookie-clicker.
Also about open-sourcing: it's strongly advised here not for other people to contribute, but for other people to see what's inside your mod to either fix compatibility issues (anyone who has a compat issue with your mod will be forever thankful if it's open-source), or simply see more easily that there's no malicious code in it.

leaden galleon
gritty wolf
#

helloo, i'm not sure if this supposed to go in this channel or the one next door but anyway... does anyone know the order of farmer's sprite layering? as in body > pants > shirt > arms/sleeves > hair > accessory > hat?

iron ridge
woeful lintel
#

yeah, forgot the license thing

#

I should probably take care of that on my projects too...

lucid iron
#

If u don't link it on the mod desc then u should open a PR to the mod compatibility so u can add it

#

The git host you pick is unimportant

brazen arch
#

Hey guys. I'm trying to make an animated, seasonal furniture FF mod for personal use, but the animation isn't working for some reason. The seasonal aspect works fine, but the animations don't show. Does anyone know what's wrong with the code? Here's my zip:

#

I tried to follow the templates for FF on github, but nothing works so far

woeful lintel
#

I'm taking a look

#

It's "Offset" instead of "Animation Offset". It used to be that before 3.0 but the word "Animation" is redundant now.

brazen arch
#

Oh alright. Thank you!

#

God bless! Have a blessed weekend!

woeful lintel
#

no problem!

blissful panther
fading walrus
#

And here I was thinking I was rebellious for considering Codeberg

lucid mulch
#

nah I'm using tfvc or svn

leaden galleon
#

and maybe it's a little off-topic but I just wanted to let you know that i'm implementing the same mod for RimWorld,
If this message really is out of topic please let me know
Thank you all for the support.

hoary lake
#

it is off topic for here but i think we have a gaming channel somewhere...
(i definitely want to know more as i am a rimworld player who checks the steam workshop daily)

iron ridge
blissful panther
#

I see MIT there!

#

The copyright details aren't filled in, though.

leaden galleon
leaden galleon
#

finally, some reply..
for the number 3. does it mean i still have a chance to publish my mod ?

lucid iron
#

Well you have to follow 1 and 2

crude plank
#

Yes, if you follow their rules and let them review the source before you publish, not after

lucid iron
#

Personally i think it would be fun to fake the stalk market parts yourself directly in the mod

crude plank
#

I agree it would be an interesting idea to have your own

lucid iron
#

Rebrand it as ferngill futures or something so that you don't need external API whatsoever

#

Nexus is mostly concerned about the external internet access

lucid mulch
#

actual economy mods with supply and demand economics would be fun

#

but a decoupled stock market from the rest of the game would just be a minigame

calm nebula
#

(This is why I want a futures market!)

#

says ex modder who won't be doing it

#

Also it won't be fun.

lucid mulch
#

having reasons to not over optimize for a starfruit wine production would be nice

#

but its hard to make a fun gameplay loop that isn't just punishing you

calm nebula
#

The design principles of my theoretical won't work on it for five+ years futures mod is "is it realistic? It's going in."

quartz harness
#

Hi everyone, is it possible to add an effect in an event that reduces the player's stamina?

calm nebula
lucid mulch
#

considering the amount of events that give alchahol poisoning and the enegry boost, should be possible to do the inverse

calm nebula
#

That's by forcing you to drink an item

#

I guess you could force the player to eat something poisonous

quartz harness
#

I just tried use fruit wine, and it did apply the dizziness effect. I also tried using sea cucumber, but my stamina wasn’t reduced.

lucid iron
#

If you pass out in an event do you pass out in real life

crude plank
dusk terrace
#

Awesome SDVpufferheart thanks again for the feature

calm nebula
#

Looking forward to seeing the modding stats tonight!

#

Or you know

#

Maybe pathos posted them while I was asleep

#

No pins still have last month

dusk terrace
#

So I was wondering... If I want to do a major change of the data scheme for DDFC to be its own content pack framework instead of relying on aedenthorn's dictionary asset via CP, am I really continuing DDF anymore or is this its own mod? I've turned DDF into the ship of Theseus SDVpuffersweats

lucid iron
#

why

#

not why change format but why move away from custom asset

dusk terrace
#

Hmmm i suppose dictionary asset isn't completely off the table, but it would at least need a complete rework; instead of using NPC names as keys to hold all dialogue changes for the given NPC, it should be a dictionary of patches with conditions to determine which NPC it'll apply to

lucid iron
#

you can do it like how game does dialogue if you want

#

i never looked at DDF code but lets say you have an asset typed Dictionary<string, DDFData> at aedenthorn.DDF/Data

#

you can opt for DDFData at aedenthorn.DDF/Data/Abigail for example

#

as for general rework, i don't think it's bad to just change your mod's unique id and rebrand completely

#

including the part where you also change where the new asset's targets are

#

then you can still load the original asset, but transform it into the new system in the back and no longer have any special code just for old system

final arch
#

whats DDFC?

dusk terrace
#

It just feels a bit silly because a few authors started relying on DDF only after I continued it and added features and now I'd be abandoning it and those authors will have to rewrite their content packs to get bugfixes SDVpufferchicksweatsip

dusk terrace
lucid iron
#

u can provide a console command to do it too

#

n format it in a cp way

idle lantern
#

I made some custom NPCs as backdrop for an event, and when I went to bed they were working. Arguably, it was also 2 am, and it may have slipped by. Now, they're showing up in town, stacked at 24,67.

https://smapi.io/json/none/6b4ca3b56f994547ac16deae69529f3d

I'm not sure what's going on. I removed every mod except the ones I need for the mod itself. If I remove them from characters.json, I have to sleep through the night to get them off my screen. When I reload it with them in the json, they reappear after sleeping

lucid mulch
left nova
#

When loading them into Data/Characters, the game will treat them as real NPCs, and since Temp is not a real map, they will be default spawned at the center of the Town.

idle lantern
#

thank you, I'll try it! My custom goose npc behaves. I'm not sure why these are suddenly not

blissful zodiac
#

How to send message in game chat

golden basin
#

how would i sync up map patches?

#

like say i want a boat to be in a place at a certain day and i want the warp out of the boat to change too. but the patch is set to place the boat randomly

lucid mulch
#

The |key mechanism in random

calm nebula
#

(Or a dynamic/local token)

woeful lintel
#

btw @uncut viper, how would one get a hold on a domain name like this (asking for a friend)?

lucid iron
#

.gay is a top level domain you can buy

#

3 bux not so bad

blissful panther
#

(Porkbun is quite a bit cheaper for the first year offer and renewal price it seems.)

blissful zodiac
#

How to send message in game chat?

lucid iron
blissful zodiac
#

Can Modding only in .Net 6 ?

lucid iron
#

yes the game is on net 6 so you have to match

#

only need this though <TargetFramework>net6.0</TargetFramework>

#

your dotnet install can be any version above

blissful panther
#

And ideally should be to access newer language features!

woeful lintel
#

gotta buy a funny domain and renew it with Nexus money. I think I'll give myself some time to think of what to put on it before buying it.

lucid iron
#

i havent found a usecase that github pages is not enough for Dokkan

#

most of the time i am just serving static webpage

blissful zodiac
#

Can use \n in string for chatBox?

lucid iron
#

i dunno, but if it doesnt work just call Game1.chatBox.addMessage twice

lucid mulch
#

Depending on usecase should use the send message APIs or whatever it is instead so it networks correctly in multiplayer, which networks as a translation key these days

cyan marsh
#

here we go again.. moving foward

balmy venture
#

Your npc mod is awesome, one day maybe I will finish my first npc with it XD

woeful lintel
idle lantern
#

I -think- I found the issue. One Drive

woeful lintel
#

what was I just saying....

idle lantern
#

Somehow, it's duplicating my working folder into the mod folder, and FIIKW.

balmy venture
#

I finished converting my custom path to a CP item, anyone would be kind to test it? It's my first time 🥹

lucid mulch
woeful lintel
#

don't have much choice to mod SV, while I have the choice for where I host my repos

#

I'll be honest, ditching github isn't a priority yet, it's probably the least bad MS product/service imo

cyan marsh
#

now to do some cleanup

lucid iron
#

i havent found anything more complicated than just static web page to host

woeful lintel
#

I could make a FF content validator

lucid iron
#

isnt that what the schema is for

blissful zodiac
#

if use lib or package in mod it will auto pack in build process?

lucid iron
#

you need to do normal C# things to include it in build (or not)

#

depends on what exactly it is

lucid mulch
#

Third party DLLs from nuget or otherwise need a separate project item iirc for modbuildconfig to ship it

idle lantern
#

I don't know what to do. The game is trying to load a file that isn't in my code. I've reinstalled my mods manually, and picked through the code to make sure I don't have an erroring NPC anywhere. Is there a cache somewhere that I'm missing?

cyan marsh
#
   "WinterStarGifts": [
        "72",
        "84",
        "SeaJelly"
      ],``` does this look correct when creating NPCCharacter Data?
lucid iron
#

WinterStarGifts is item spawn fields

cyan marsh
#

sooo ... yes?

lucid iron
#

it is incorrect

#

take a look at the unpacked data for this

cyan marsh
#

it's the item ids mcthink

#

what am I supposed to put there then

lucid iron
golden basin
#

my creation....

#

It can change my boat placement, for multiple locations with different conditions all in two patches

lucid iron
#

item queries is a particular kind of model that implements ISpawnItemData

#

looks like winter star gifts use GenericSpawnItemDataWithCondition specifically

golden basin
#

Coriel!!!!!!

#

Its been forever i see you typing

cyan marsh
woeful lintel
lucid iron
#

yea (O) makes it a qualified id

cyan marsh
#

okay.. so thus i need to add (O)

lucid iron
#

this means u can let ppl give (BC)12 keg instead of (O)12 emerald

cyan marsh
brittle pasture
#

was about to ask NPCs can gift you kegs right

cyan marsh
#

That reminds me.. I need to update my tool to account for this

#

so I don't need too much effort in making them

lucid iron
#

carp wine

brittle pasture
#

would weapons work even or would the game try to cast to Object and then explode

lucid iron
#

always

lucid iron
#

Utility.getGiftFromNPC returns an Item

golden basin
lucid iron
#

dont see why u cant give a sord

#

but anyways coriel my recommendation for simplicity is to use RandomItemId

#
"WinterStarGifts": [
  {
    "Id": "Default_NPC_Creator",
    "RandomItemId": [
      "(O)72",
      "(O)84",
      "(O)SeaJelly"
    ]
  },
]
#

using other fields is Fun but prob beyond scope of ur tool

calm nebula
#

My newest NPC, Swod McMoneyBags, gives a prismatic sword every day

cyan marsh
#

So.. i need to change a few things in the NPCToolKit to accomodate this

#

i need to turn "Wild Horseradish": "16", to "Wild Horseradish": "(O)16",

#
        public void ItemExtractor()
        {

            foreach (IItemDataDefinition itemType in ItemRegistry.ItemTypes)
            {
                foreach (string id in itemType.GetAllIds())
                {
                    Item item = ItemRegistry.Create(itemType.Identifier + id);
                    if (item.canBeGivenAsGift())
                    {
                        try
                        {
                            ItemList.TryAdd(item.DisplayName, id);
                        }
                        catch (Exception ex)
                        {
                            Monitor.Log($"{ex.Message}\nSkipping {item.DisplayName}", LogLevel.Warn);
                        }
                    }
                }
            }
            string path = Path.Combine(Environment.CurrentDirectory, "ExtractedData", "ItemList.json");
            File.WriteAllText(path, JsonConvert.SerializeObject(ItemList, new JsonSerializerSettings { Formatting = Formatting.Indented, NullValueHandling = NullValueHandling.Ignore }));
            Monitor.Log("ItemList saved!", LogLevel.Debug);
        }
``` this is my current way of getting them
lucid iron
#

use ALL_ITEMS query then

cyan marsh
#

<.< this is a bit different, I'm afraid

cyan marsh
#

this is a console command designed to get the IDs for a list needed for NPC Creator to work properly

lucid iron
#

actually better example

#

i dont see why you can't run this in a console command

cyan marsh
#

I see what you are doing here..

lucid iron
#

after the if (result.Item is not Item item) you can simply output item.QualifiedItemId

#

do w/e u want with that one

cyan marsh
#

I need to be able to separate this into different jsons.. is that possible?

lucid iron
#

like u want (F) to be in different json than (O)?

cyan marsh
#

yes.. it helps when making menus and lists

lucid iron
#

besides just doing it against the item.QualifiedItemId (its just a string) u can also do ALL_ITEMS (F) as the item query

#

if i was doing this i would prob be lazy and just filter by item.QualifiedItemId prefix kyuuchan_run

cyan marsh
#

i understand that.. but I need to have lists of valid gifts you can give NPCs as well as various tasks.. so keeping them separate is paramount

lucid iron
#

otoh if u dont want to sift through wallpaper u can just decide on a few category to to ALL_ITEMS on

#

just to be clear everything im describing is "do within the export command" here

#

you are both the producer and consumer of data so it is just up to you to dump what you want

cyan marsh
#

yeah.. but i have difficulty messing with things i've never played with.. soo I am aware I can be very inquisitive when I seek to understand it. As sample code for what I am doing tends to not be common.. who puts the effort in making an NPC creation tool? xD

lucid iron
#

the sample code you need is not "npc creation tool" but "fetch info about items in an ordinary SMAPI mod"

#

my mod has nothing to do with npcs (its about machines) but i do need to know about all the items in the game

#

lookup anything's dataparser helpers are very nice for this too, i reference it when my mod needs something that i have seen lookup anything show me

cyan marsh
#

you IQContext refers to what

#
            foreach (ItemQueryResult itemcheck in ItemQueryResolver.TryResolve(ALL_ITEMS (O),  ))
``` I need to understand the last part
lucid iron
#

internal static ItemQueryContext IQContext => new();

#

normally this is used to pass some context info like location and the random used

#

i dont have that info so constructing the default one is sufficient

#

ALL_ITEMS is a const string btw (equal to "ALL_ITEMS")

#

you would want "ALL_ITEMS (O)"

quartz harness
cyan marsh
#

trying to figure this out DX

#

it says ALL_ITEMS don't exist in the current Context...

#

DX I am getting a headache

blissful zodiac
#

i think my mod it done. it don't test get chat but i test Authorization and it work. i think getChat it will work.

lucid iron
cyan marsh
#

mcsrs I read your statement wrong

#

foreach (ItemQueryResult itemcheck in ItemQueryResolver.TryResolve("ALL_ITEMS (O)", query )) so that will work?

lucid iron
#

if query is a ItemQueryContext then yea it should

cyan marsh
#

ItemQueryContext query = new ItemQueryContext();

#

so the next challenge is trying to set a dictionary with this result Item name: Id

lucid iron
#

you sure you don't want it the other way around?

#

qualified item id -> display name

cyan marsh
#

My code already is set to go if key then display value

lucid iron
#

localization tho

#

and also ppl just having 2 items named the same

#

qualified item id is guarenteed to be unique

cyan marsh
#

hmm.. i haven't bumped into that issue

#

mostly because I dont have modded items in my game

lucid iron
#

item.DisplayName will give localized name

brittle pasture
#

and most mods set the Name field the same as the item ID for simplicity

cyan marsh
#

not really seeing that.. since, again, never messed with modded items

brittle pasture
#

even then, Name for vanilla items is unlocalized so you'll always get the English name

#

(it's definitely confusing since Name is an artifact from 1.5 back when item IDs can only be ints, and Name acted as a pseudo-string-identifier)

cyan marsh
#

<.< literally the way I know it works is 1.5

#

but with all these changes, I need to learn the new way x3

#

from what I'm being told, I need to generate my lists with (x)Id: Name

calm nebula
#

There are two items in base game named Egg

#

And many named Stone

cyan marsh
#

my old code got rid of duplicates.. so making new code on something like this is a bit frustrating

#

i've been at it for 4 hours... i need a break DX

blissful zodiac
#

Chat it work! yay

lucid iron
#

oh yea since it came up recently

#

you should send a email to nexus about your mod, since it has internet connectivity feature

rigid oriole
#

(This part talks about internet stuff)

blissful zodiac
#

I create it for self use.

lucid iron
#

yea then no worries, its only if you wanted to post mod to nexus

blissful zodiac
#

it have so many dll for one package

#

it hard to use and i think normal user can't use it because it need youtube api key and client_secret.

rigid oriole
#

At least they dont have to bundle system.reactive for some reason like my deps

#

Stupid fat dll

#

My file size

blissful zodiac
sour sleet
#

One of my testers is having an issue with the animation strings. I haven't edited Sam at all for Lilybrook, but his animation string whislt playing the gameboy is messed up. All the others in pelican town seem to be fine, but it's definitely Lilybrook causing the problem (removed and it's fine)

uncut viper
# woeful lintel btw <@78657757846188032>, how would one get a hold on a domain name like this (a...

(others have answered but I wanted to add that according to the registrar website for it, 20% of all proceeds from .gay domain name registrations go to LGBT charities, so the beginning of June seems like an excellent time to register one SDVpufferthumbsup

also I bought it with namecheap personally but it was ages ago and I'd also recommend porkbun now. Or cloudflare. just as always don't go checking domain availability before you're ready to buy)

round timber
#

you can turn a config into a dynamic token just by wrapping double brackets around it, right? you dont need to separately set it up in the dynamic tokens section of the content.json?

uncut viper
#

you can use a {{Config}} token inside the value of a dynamic token, but not vice versa, and if its in the value of the dynamic token then the value of that {{Dynamic}} token will include the value of the config

blissful zodiac
#

You think this "how to use" it ok?

uncut viper
#

(i hope that answers but im only like 80% sure what you mean)

lucid iron
round timber
#

hmmm okay i think i see

#

time to see if it works then aSDVpufferroll

woeful lintel
#

My prediction from last week seem to be correct: I wasn't able to do write any code since buying Blue Prince

#

and it won't get any better with the Shapez2 update and the Deltarune release...

inland cedar
#

anyone know where is the event string for secret santa event?

lucid iron
#

the letter or the event?

inland cedar
#

the event itself

#

like what npc will say and do ...

lucid iron
#

gonna be somewhere in Event.cs then

#

and Data/Festivals/winter25.json

inland cedar
#

thanks. just know there is a festival folder lol

brittle pasture
#

also NPCs can specify their own gift dialogue now

#

(I said now but it may be a 1.5 thing idk)

#

(nope, new)

blissful zodiac
uncut viper
#

didnt you just say it was for self use like an hour ago?

blissful zodiac
#

i deleted api key and secret file from mod. and after try upload in nexusmods. it not hard

uncut viper
#

wasnt the point. the point was that you were told there are nexus guidelines requiring you to get approval for mods that connect to an internet service

#

especially a closed-source mod that asks for your google api secrets?

blissful zodiac
# blissful zodiac done

i too lazy for draw new image. i use image from mod in terraria mod for StarDew mod. I think it's okay.

blissful zodiac
lucid iron
#

I mean you can resolve the problem if you simply email and asked for a review first

#

Internet connectivity is not a hard ban just a case of permission

iron ridge
worn oar
uncut viper
#

try the one here first

#

(however if you're still curious about the answer it: it depends™
no two C# mods are usually the same)

uncut viper
#

i dont know enough about schedule strings to help. however its hard for anyone to help if you dont post jsons/logs

candid socket
#

hey, is this where you can ask questions about creating mods and maybe get some help? I wanted to upload a new NPC to the game in my mod and I have no idea why my NPC doesn't appears in the gameSDVpufferwaaah

uncut viper
#

this is indeed the place

#

however be prepared to provide a json at minimum with the relevant data, and a log if theres any errors in your console

#

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

uncut viper
#

(you upload your jsons and logs on smapi.io, the json link is in that governor command)

lucid iron
#

I remember seeing an update of it from blueberry

#

The greenhouse entry thing

uncut viper
#

(i linked to blueberry's message with it)

lucid iron
#

I do wish it was just a draw layer

#

Instead of the Quirky way rn

sour sleet
lucid iron
#

It will be helpful because the logs indicate what assets get edited

uncut viper
#

and json errors are not always about syntax

candid socket
#

that seems hard (for someone whose first language isn't English) but thanks for directing me

calm nebula
lucid iron
#

I don't...
Pls...

uncut viper
#

there is never a time when a json isnt helpful, because the first thing people are going to want to double check are your jsons

lucid iron
#

!npc

ocean sailBOT
#
Creating a Custom NPC

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

lucid iron
#

Make sure you are making a 1.6 NPC

calm nebula
#

Is it just me or nah: does stardew chatbox not accept the right arrow?

#

Left arrow

iron ridge
#

as in < ?

uncut viper
#

like to go back and edit a piece of your message?

calm nebula
#

Yeah

royal stump
#

doesn't seem to let me do that, no

uncut viper
#

its been a while since ive used chat but i feel like i remember that being an issue as well yeah

calm nebula
#

Grumbles

#

This makes chat commands very not go's tbh

lime seal
#

Yea, I struggle to remember that and then just have to backspace what I wrote to fix the typo

rigid oriole
calm nebula
#

Anyways

#

Who wants to do better chat

uncut viper
#

(i know it's not strictly multiplayer)

golden basin
#

so my seasonal tilesheets just arent working for some reason?

#

i have them named like this spring_Fellowclown.Plants

#

and like i know theyre supposed to swap just automatically so idk why they arent

rich seal
#

I'm doing a small edit to a fish pond that absolutely goes against God's grand design, but I'm running into an error. I'm simply trying to make it so that Tiger Trout can reproduce in fish ponds (I know, they can't in real life, but this isn't real life), but when I do and check if my patch works, I get the error "the field 'TigerTrout' > 'SpawnTime' has type 'System.Int32', which isn't recognized by Content Patcher". I thought I understood how to change a field after reading Content Patcher's github a bit, but I don't know what it means here. Can someone nudge me in the right direction so I can make some fish know the joys of having children?
https://smapi.io/json/none/7311c25dee534865b3852b19f472e47a

golden basin
rigid musk
golden basin
#
"LogName": "Tilesheets",
"Action": "Load",
"Target": "Maps/Fellowclown_Tilesheet,Maps/spring_Fellowclown.Plants,Maps/summer_Fellowclown.Plants,Maps/fall_Fellowclown.Plants,Maps/winter_Fellowclown.Plants,Maps/Fellowclown.Events",
"FromFile": "Assets/Maps/Tilesheets/{{TargetWithoutPath}}.png",
},```
#

this is my load

uncut viper
uncut viper
#

you also dont need targetfield at all if you use Fields instead

#
"Fields": {
  "TigerTrout": {
    "SpawnTime": -1
  }
}
rigid musk
rich seal
#

I'll try those changes out in a minute. I figured I might've gone too deep but I couldn't tell. Still wet behind the ears with coding.

rigid musk
lucid iron
#

Check what sheets are in the tmx maybe

golden basin
lucid iron
#

Puzzling

sour sleet
lucid iron
#

Can u do patch export <your map> and then send that tmx here

inner harbor
#

your expansion looks interesting Alien.

#

Love the name

golden basin
#

I recently changed the name its all been updated

#

its _plants now cause there was a weird yellow text about it

#

heres a question can changing the season and sleepin mess up the season changes for tilesheets?

lucid iron
#

nay

golden basin
#

okay then ive nno idea

#

its not even doing it the old way either with the seasonal token

lucid iron
#

me neither Thqnkqng

golden basin
#

its almost like my map is stuck in spring

#

wait.....i think i see the issue

#

nope not it

urban patrol
#

correct me if i'm wrong, but don't you not need to load tilesheets, just .tmx files?

golden basin
#

I use tbins

urban patrol
#

ah then never mind me

final arch
#

why do you use tbins?

golden basin
#

its just what i was taught to use

iron ridge
#

tbins are worse, and it's 4 characters to change

golden basin
#

whats wrong with tbins?

lucid iron
#

well its harder to debug

golden basin
#

i fixed it

iron ridge
#

they have less features

lucid iron
#

if you had tmx u could read the xml to see what the texture is named

golden basin
#

it was the texture at all

#

wasnt*

lucid iron
#

i dont think there's anything broken about tbin though, and if someone told me mr ape also still use tbins i would not be surprised

golden basin
#

I needed a outdoors property, i didnt know indoors cant be seasonal i thought it coudl be tho

#

he uses tmx

lucid iron
#

oh yea i didnt know this was a indoor map

#

u can use TreatAsOutdoors instead of the full Outdoors map prop

golden basin
#

With Tbins I just like, its what i was taught from the get go

final arch
#

yeah seasonals dont work indoors/desert

golden basin
#

YESSsssss

lucid iron
#

shroomb

golden basin
#

hehee yes

#

is Tbins like a older method?

iron ridge
#

tbins are older yes

#

hence why tmxloader was needed, there wasn't native tmx support initially

frosty hull
#

Hello guy, i don't know how to convert draw position on spriteBatch.Draw(drawPos)
convert to world position

gentle rose
#

this would be outside of any menus, right? not in the world map or anything

frosty hull
#

such as Character drawing

#

Object, Furniture or something

#

currently i can clone sprite batch drawing into unity

#

but position game object is not correct, i need to fix them

gentle rose
#

oh, this is for the VR thing, right?

frosty hull
#

3D, AR

#

here, old picture

lucid iron
#

so the draw position is relative to the viewport

#

and the viewport has a X and Y itself

#

take a look at Game1.GlobalToLocal

frosty hull
#

oh yes, i will check it

#

and Game1.viewport x | y it's World Pos?

golden basin
#

whos the maker of lacy hat mouse?

lucid iron
#

@tiny zealot

lucid iron
#

its relative to the map's 0,0

frosty hull
#

not works some pos, 1 hour i will fix it

ivory plume
#

Monthly mod stats time!

Mod compatibility

76.6% of SMAPI (C#) mods are compatible or have a workaround, up from 76.2% last month.

Unique mods by type

We have 367 more mods this month. That includes:

  • +274 Content Patcher;
  • +42 SMAPI;
  • +35 Alternative Textures;
  • +31 Fashion Sense;
  • +1 Farm Type Manager;
  • 0 Better Artisan Good Icons;
  • 0 Custom Furniture;
  • 0 Custom Music;
  • 0 TMXL;
  • -2 Producer Framework Mod;
  • -2 XNB;
  • -4 Json Assets;
  • -5 Dynamic Game Assets;
  • -6 Mail Framework Mod;
  • -6 Shop Tile Framework;
  • and +9 for frameworks with <100 content packs.

Content Patcher packs

We have 11,127 Content Patcher packs.

The top five Format versions remain...

  • 2.0 (3,356 ↗ 3,414), 2.3 (776 ↗ 802), and 2.4 (575 ↗ 586) for Stardew Valley 1.6;
  • 1.19 (566 ↘ 565) for Stardew Valley 1.4;
  • and 1.3 (477 ↘ 475) in old unofficial guides.

Open source

  • We have 3,411 tracked C# mods, of which
  • 2,210 mods (65%) have a source code repo, with
  • 1,175 (53%) in a multi-mod repo and 1,035 (47%) in a single-mod repo.

Web costs

And finally, web hosting costs for the SMAPI.io site, update-check server, and API rose to US$239/month due to increased web usage. (The graph is always a bit behind due to billing cycles.)

See also

And that's it for this month!

gentle rose
#

2/3 of c# mods are open source, nice

lucid iron
#

-2 xnb nature is healing

ivory plume
#

Only 1,536 XNB mods left to go (plus Naver which isn't included in the stats since their data isn't accessible).

twin wadi
#

wow thats a lot of mods

lucid iron
#

what is this...

#

haunted object

rigid musk
#

hedge

lucid iron
#

emperor's new landscaping

twin wadi
brittle pasture
#

presumably you need login + no API so you need to scrape manually, which is a good way to get said login banned

iron ridge
#

naver isn't centralised in the same way nexus/moddrop is

#

most naver mods are on the equivalent of github pages

gentle rose
#

and it's partially on purpose - they have a choice to put the mods on the accessible part of naver (and some do), but many don't, which is up to them

calm nebula
#

Yay stats!!

raven salmon
#

Anyone know how to add buffs on a food item? Wanna put +speed in "Aged Triple Shot Espresso" by Machine Progression System for personal use

brittle pasture
uncut viper
calm nebula
#

Beautiful 💖

lucid mulch
# golden basin is Tbins like a older method?

.tbin is the binary variant of the tIDE format which is the native map format for xna / stardew.
There is also .tide which is the XML equivalent which is so rare smapi doesn't actually support mods loading it.

TMX is the format for the tiled editor which is more mod author and git/version control friendly.
But as it's not native it requires being parsed as a TMXMap first and then transformed into a native map, which is a decently expensive process

golden basin
#

hm can i stick with tbin XD

lucid mulch
#

Sure, though tiled won't save the tile rotation/flip metadata (in a way smapi understands) when saving to tbin, and as it's a binary file if used in an open source repo it won't show changes well

golden basin
#

i never use those features

lucid mulch
#

I do have a mod that's still semi experimental that intercepts all tmx loads and saves them as a tbin for future loads

devout otter
#

Does anybody know if the clothes Emily give you during her makeover in the Desert Festival are CP-editable?

twin wadi
#

can you make event commands be multilined? its so unreadable when its all crammed into one line and so hard to edit it

golden basin
#

what program do you use

twin wadi
#

vs code

lucid mulch
lucid iron
#

gosh this is such a specific ass thing to have asset for

devout otter
#

Thank you for the answers, all!

brittle pasture
#

surprised it isnt hardcoded raccoon style

lucid iron
#

i put this just under garbage can for "weirdly not hardcoded 1.6 thing"

uncut viper
#

i still think the mannequin data having an asset is the most weird niche one

pine elbow
#

wait wha

ocean sailBOT
#

@pine elbow You leveled up to Cowpoke. You can now speak in our voice channels and share images in all channels!

lucid iron
#

how would we know its cursed if it doesnt have data

uncut viper
#

personally I think it'd be more cursed if it parsed it's data from random memory addresses, regardless of whether or not those addresses are being used by stardew

lucid iron
#

segfault...

raven salmon
#

@brittle pasture thnks SDVpufferheart

gaunt orbit
#

That's some expensive coffee

twin wadi
#

i cant choose what music to do for an event... the events kind of like, good news after being like hopeless or uncertain about the future for a little while

rigid oriole
rigid oriole
#

(OK maybe like 2/5 but im getting there)

#

Perhaps kindadumbautumn

#

(Find it on spotify with "grapefruit sky" as its official name)

rose pond
#

This is a question. I’m thinking of making a mod to add crops, does it matter if it’s already in game/already done before? I’m thinking it needs to be entirely unique-

tiny zealot
#

!twocakes

ocean sailBOT
#

If you discover that someone has made or is making a mod with a similar concept to yours, don't stress! Our community promotes the idea of "two cakes", where two versions of the same idea can peacefully co-exist. Your mod will have your own unique stamp on it that makes it special.

brittle pasture
#

we have 4 different types of butter, it's fine

rose pond
#

Au okay-

lucid iron
#

if your crop mod doesn't add butter and olive oil does it even count \j

hard fern
#

I didn't know you could grow butter

tiny zealot
#

skill issue

rare pilot
#

Damn it's nice seeing that this place is still active 5 years after I last looked at it

twin wadi
#

got a slight problem here in winter... i didnt know the tree appeared on garden areas in town! welp, this is going to be fun fixing it

rare pilot
#

Is Zoe still around ?

brave fable
#

the aussie Zoe? sure, she's around still SDVpufferthumbsup

twin wadi
brave fable
#

id say that's a nice spot for a tree

twin wadi
#

oh actually its a different object, not the garden... maybe ill move it just a little so that the tree isnt broken

brisk wedge
#

are there any machines in vanilla that output more than 1 item where the items don't stack? if no are there mods that do this?

lucid iron
#

yes EMC

#

PFM too i think?

shut plank
#

I'm having an issue getting custom cutscenes to trigger with my first mod. It is similar to an issue that was posted here last night. I am trying to add a cutscene that happens with Sebastian when the player enters the mountain. Right now I have it really simple just to try and get it to work. My mod has an assets/blank.json . This is what my content.json looks like im sure i am doing something wrong: ```{
"Format": "2.6.0",
"Changes": [
{
"Action": "Load",
"Target": "Data/Events/Mountain",
"FromFile": "assets/blank.json",
"Priority": "Low"
},

{
     "Action": "EditData",
     "Target": "Data/Events/Mountain",
     "Entries":{
    "0601202500/f Sebastian 1250/t 0600 2300": "speak Sebastian \"Hey @, the cut scene is working!\"/end"
     }
}

]
}```
When I debug in smapi it recognizes the event but nothing triggers. Any help is appreciated!

brisk wedge
#

tytyty

#

also if a machine has "OutputMethod": "StardewValley.Object, Stardew Valley: OutputSolarPanel", does it bypass the normal outputmachine entirely?

uncut viper
#

might actually be doing worse than nothing its probably erasing all the vanilla events there