#making-mods-general

1 messages · Page 85 of 1

uncut viper
#

newtonsoft json is not a mod thing

latent mauve
#

Miss Coriel's NPC Creator is its own program and used as a tool, it's not a mod. 🙂

cyan marsh
#

yes.. I use newtonsoft.. the question wasn't how to do it.. i just needed to make sure I implemented it xD

uncut viper
#

you can use newtonsoft json in things that are not mods

#

it is mostly used in independent programs

lucid iron
#

something like this

JSchemaGenerator generator = new JSchemaGenerator();
JSchema schema = generator.Generate(typeof(CharacterData));
#

then u do whatever u want with the exported schema

cyan marsh
#

here's my data model

#

let me know if I set one up wrong

brittle pasture
#

since the game's NPC datas are proper models now it might be a good idea to just use them as-is in your program

#

then you don't have to worry about translating between your model and the game's

lucid iron
#

oh i was under impression npc creator wasnt C#

cyan marsh
#

xD ofc it is

uncut viper
#

(what do you mean ofc. theres a lot of ways you can make a program)

lucid iron
#

would there be legal problems if u just lift the CharacterData.cs from StardewValley.GameData.dll think

cyan marsh
lucid iron
#

for some reason i thought it was like, a webapp

cyan marsh
lucid iron
#

hence the export a json schema idea

cyan marsh
#

I like that NPC Creator is offline.. meaning you can work if your internet dies

brittle pasture
#

alternatively, maybe you can directly reference the game DLL somehow
[[REDACTED]]

ivory plume
uncut viper
#

you could make them set a game path

lucid iron
#

yea thats what i figured blobcatgooglyblep

#

but referencing the StardewValley.GameData.dll would work right

ivory plume
#

Yep (but not redistributing it).

cyan marsh
#

I had enough trouble getting the older program to talk to SMAPI enough to know what version of CP you had xD

lucid iron
#

csproj

<PropertyGroup>
  <GamePath>path/to/your/Stardew Valley</GamePath>
</PropertyGroup>
<ItemGroup>
  <Reference Include="StardewValley.GameData" Private="False">
    <HintPath>$(GamePath)/StardewValley.GameData.dll</HintPath>
  </Reference>
</ItemGroup>
#

then u should be able to do using StardewValley.GameData for whatever models desired

cyan marsh
#

would that work for a non-mod program?

lucid iron
#

i wrote it like this specifically cus u are not using ModBuildConfig

cyan marsh
#

i see isee

dim yew
#

I think I need a second brain cell on this problem 🤔 I have a map edit that makes an area on the cliffs in the forest accessible but for some reason I’m getting collision tiles at Forest 102,66 even though there’s not even collision tiles in the base map and no custom properties that would add that. (And yes, I have checked that there is nothing on the buildings layer and yes, I have transferred my tmx file x3)

#

Any ideas? 🤔

ivory plume
# cyan marsh would that work for a non-mod program?

Yes, though the issue is that you can't really redistribute the DLL; so you'd need to detect the game folder path on the user's computer and load the DLL dynamically from there. (At least if you want to be fully legal.)

cyan marsh
#

yeah.. i suppose how i do it is fine

lucid iron
#

what is the error DokkanStare

next plaza
cyan marsh
#

it said it needed a </Project> even though it was there

cyan marsh
#

all you have to do it tell NPC Creator where the SDV exe is and it detects your mod folder and if you have an extracted content folder there made by the StardewHack program it will find it there too

lucid iron
#

did u put that block inside the existing <Project></Project> bolbthinking

cyan marsh
#

yes

lucid iron
#

odd

cyan marsh
#

it's fine.. how i do things isn't bad

lucid iron
#

ik i do this exact thing to use smapi-internal/Newtonsoft.Json.dll at least blobcatgooglyblep

cyan marsh
#

I am just happy that I am in the mood for coding again

#

I kicked myself pretty hard and it's been a challenge to get back up

next plaza
#

That's a mood

cyan marsh
#

it's all my fault too DX

#

i delayed backing up my HDD to my new SSD and lost everything

vernal crest
dim yew
#

I feel like every time I come back to modding after a break I have to re-learn lol

vernal crest
#

Lol so it goes. I'm going to lose all my knowledge as soon as I take a break

cyan marsh
#

blah windows being a butt with trusted programs

rancid temple
#

I have to re-learn my own code whenever I abandon a project for more than a day

cyan marsh
#

Might as well extract the content folder while I'm thinking about it

finite ginkgo
#

would be nice if i left comments for future me returning to a project days to weeks later, too bad it'll never happen

teal bridge
rancid temple
#

Sometimes I do the // TODO: fix this and later come back like "what's wrong with it?"

cyan marsh
#

I'm trying to be better

teal bridge
#

(Pen Pals isn't Nexusified either, so it's kind of ironic. It'll probably be the first one I rewrite to use the Framework.)

finite ginkgo
vernal crest
#

I have a mix of relevant comments and comments left over from wherever I copied my starting point from which are completely incorrect for the current project

rancid temple
#

One reason I try to copy as little as I can stomach is because of how much stuff I forget to change after I've copied it lol

vernal crest
#

Reasonable

#

I just approach it all knowing I'm going to screw something up so I don't mind too much which bit it is lol

cyan marsh
#

I've been thinking about making my own personal Toolkit for a while

#

why have I not tried to make one

brittle pasture
#

(is it waiting for the framework release and rewrite?)

teal bridge
#

It's waiting for me to get around to it, mainly. And fix one bug.

lucid iron
#

idk what i'll do about machines mod

#

i would have to kill the overlays to switch to sml i think

teal bridge
#

You don't have to update to the Framework if you've based stuff on the shproj, I just want to make it clear to new users that the Framework is the lower-friction choice.

brittle pasture
#

rewrite too SDVpufferwoke
makes me glad I started this GUI-needed mod idea late lol

teal bridge
#

I might've misunderstood, but there hasn't been any rewrite. Lots and lots of bug fixes, of course, but the Framework is a mod built on top of the same shared project that existed before.

lucid iron
#

Yeah I will at least fix up the namespace import

#

And yeet my fork after I get the bug fixes in sleep

teal bridge
#

There definitely won't be a rewrite in the near future, either - at least, not for a very long time, like years. I'm satisfied with the current state, plus the extensibility features set for M3.

#

So just wanting to be clear here, if anyone's thinking "I don't know if I should try it because it's not stable yet" - the API is stable, I've just been killing myself writing documentation over the past 2 weeks, that's why it's not on Nexus yet.

cyan marsh
#

hmm.. now how to obtain item Ids...

tropic walrus
#

I got a bunch of help in another server in order to understand how SYNCED_CHOICE works, but I still have some additional questions I need answered before I'm comfortable using it in my mod.
So, I have two trigger actions: Action 1 uses SYNCED_CHOICE to guarantee that four letters will be sent randomly over the course of a specific season, and Action 2 marks Action 1 as Applied once they're all sent so it doesn't run in the background forever.

       "Id": "TMM_Mail_Spring",
       "Trigger": "DayStarted",
       "Condition": "SEASON spring",
       "Actions": [
       "If RANDOM SYNCED_CHOICE season TMM.Mail.Spring 1 4 1 ## AddMail Current TMM.Mail.Spring1 now",
       "If RANDOM SYNCED_CHOICE season TMM.Mail.Spring 1 4 2 ## AddMail Current TMM.Mail.Spring2 now",
       "If RANDOM SYNCED_CHOICE season TMM.Mail.Spring 1 4 3 ## AddMail Current TMM.Mail.Spring3 now",
       "If RANDOM SYNCED_CHOICE season TMM.Mail.Spring 1 4 4 ## AddMail Current TMM.Mail.Spring4 now",
  ],
  "MarkActionApplied": false,
     },
     
"TMM_Mail_Spring_Applied": {
       "Id": "TMM_Mail_Spring_Applied",
       "Trigger": "DayStarted",
       "Condition": "PLAYER_HAS_MAIL Current TMM.Mail.Spring1 Any, PLAYER_HAS_MAIL Current TMM.Mail.Spring2 Any, PLAYER_HAS_MAIL Current TMM.Mail.Spring3 Any, PLAYER_HAS_MAIL Current TMM.Mail.Spring4 Any",
       "Actions": [
       "MarkActionApplied Current TMM_Mail_Spring true",
  ],
  "MarkActionApplied": true,
     },```
However, my grasp of SYNCED_CHOICE is still a little shaky, and I'm not actually sure if I'm meant to keep Action 1's MarkActionApplied field as false or true to begin with. Can someone with a good grasp on randomization review whether this whole thing actually works as I intend it to?
lucid iron
cyan marsh
#

if the game loads them somewhere i could grab them all

finite ginkgo
#

They’d all be in Data/Objects

lucid iron
#

short of doing something to interface with the game as it is running, i think patch export Data/Objects is the easiest way

cyan marsh
#

i don't want it's json

#

i want to go through all the items, check if it can used as a gift or is able to be picked up and add it to a list with name: id

#

cat says im done for the moment but im still here

lucid iron
#

but you would read the json to find out this info

cyan marsh
#

i have utility needs for what i want

teal bridge
lucid iron
#

transform the json as desired blobcatgooglyblep

teal bridge
#

Iterate through categories, iterate through items in each category. It should (?) handle modded items.

lucid iron
#

yea but they r not interface with game from what i understand

#

this is a separate program, just happens to be written in C# too

teal bridge
#

Oh. I don't see how you could possibly account for all modded items, then.

lucid iron
#

now u can ofc provide your own mod with custom console command to output in desired format

cyan marsh
#

i want to use this as an ingame thing.. which should virtually stick everything in Data/Objects

lucid iron
#

if it is regular mod then ItemRegistry is right thing to use wew

lucid iron
#

it seems fine at a glance

tropic walrus
#

Exactly

lucid iron
#

i never seen this RANDOM SYNCED_CHOICE usage before though

#

thought u just use SYNCED_RANDOM?

tropic walrus
#

So TMM_Mail_Spring should have MarkActionApplied set to false so the chances can be rolled across all season, right? I don't get if setting it to true would break it

#

Well, that's what I was recommended, I never used either before this

lucid iron
#

well you would want 3 more sets of these actions

#

with summer fall winter mail ids

#

assuming spring works the way you wanted

tropic walrus
#

I already have that, don't worry

lucid iron
#

and yea you are delegating the MarkActionApplied step to a different trigger

#

so the initial trigger should not mark itself as applied after succeeding once

#

hence MarkActionApplied=false

tropic walrus
#

Neat, that's all the confirmation I needed. Thank you.

velvet narwhal
#

SDVpufferlurk it might yell at you for the RANDOM SYNCED_CHOICE but i've never seen it used like that, unsure how it parses after the RANDOM if it just checks for a double or any value it tries for a float so it might Scream

hidden locust
#

Hello

#

Can I make a machine output items with a context tag?

brave fable
#

as in you want to create a random item from a pool of all items with a given context tag, or you want to create an item and apply a context tag to it?

hidden locust
#

the first

brave fable
hidden locust
#

thank you!

brave fable
#

substitute the output item ID with the ITEM_CONTEXT_TAG GSQ and you're probably good to go SDVpufferthumbsup

brittle pasture
#

You would use RANDOM_ITEMS as the output, and put your context tag condition into PerItemCondition

hidden locust
#

thanks everyone SDVemoteheart

#

now I can finish this

fiery cobalt
#

I am getting mad

#

At least I am almost done

#

I can literally see nothing different

brave fable
#

you should really sort out your indentation

velvet narwhal
#

squints
i think there's an extra } right before black horse

brave fable
#

it's impossible to tell where any {} objects start and end, but that aside simply folding the Bay Horse object shows you have an extra } object closure:

#

and the reason you don't see a difference is because every entry has one, lol

#

this should be formatted correctly

fiery cobalt
#

I have not done anything this involved

#

So yeah

#

Thank you ❤️

fiery cobalt
brave fable
#

same principles as always! match your braces and format your files

fiery cobalt
#

After all that it still crashed. Why? Because I forgot to make a shop icon for horse

#

Oops

#

Quick fix at least

soft wolf
#

Hey, trying to update the Better Junimos Forestry mod. Got it working on the main farm, but it's throwing errors on any other buildable farm, such as the area across the bridge in SVE's Frontier Farm. The problem is with this method:

public static JunimoHut GetHutFromId(Guid id) {
            Farm farm = Game1.getFarm();
            try {
                return farm.buildings[id] as JunimoHut;
            }
            catch (Exception ex) {
                ModEntry.SMonitor.Log($"GetHutFromId: exception while getting position of {id}", LogLevel.Error);
                ModEntry.SMonitor.Log($"{ex.ToString()}", LogLevel.Error);
                return null;
            }
        }

I'm guessing it's because getFarm() is getting the main farm, not the farm the junimo hut is located at. Any tips on how to fix this?

#

It's actually using getFarm() in a number of places, which I'm guessing is out of date?

brave fable
#

maybe something like this? it's not a very efficient lookup, but given any location can have buildings now, iterating over them all is maybe your best bet:


public static JunimoHut GetHutFromId(Guid id)
{
    JunimoHut output = null;
    Utility.ForEachBuilding((JunimoHut j) =>
    {
        if (j.id.Value == id)
            output = j;
        return output is null;
    });
    return output;
}
uncut viper
#

getFarm() is still a thing but i dont know how the rest of the mod works so it might just require some more untangling and updating to account for the fact that you can build anywhere thats set to buildable now

soft wolf
#

Yeah, seems like I should replace getFarm in most of these instances, such as when the junimos harvest grass they should try to add hay to the farm they are currently on, not the main farm, right?

uncut viper
#

i dont think the other areas you can build actually count as Farms and not just buildable locations that allow seed planting

#

i could be wrong though

soft wolf
#

Hmmmm I guess that's a good question. If you build a silo in another location, where does grass decide to go when cut?

calm nebula
#

(Do consider whether or not iterating the whole damn world has the performance characteristics you would like.)

uncut viper
#

id assume it just looks at the buildings in the current gamelocation

calm nebula
#

And consider possibly asking if a junimo should know where it's home ks

brave fable
#

without having seen any of the rest of the mod code, i'm going to assume that's been accounted for

cyan marsh
#

fast question

brave fable
#

it's a method that gets any junimo hut by id, it's going to have to look in more places than one now

cyan marsh
#

what object type is for gifts

#

(I dissapeared to walmart to make a cucumber salad and watch anime)

soft wolf
brave fable
#

you can check with Item item.canBeGivenAsGift()

#

it's a little arbitrary

cyan marsh
#

well i'm looking through the list so I was using a foreach

brave fable
#

the list of what?

calm nebula
#

I'm using my ta voice lol

cyan marsh
#
foreach (var item in ItemRegistry)```
brave fable
#

i don't know what var is or what itemregistry is hahah

calm nebula
#

I'm quite sure ItemRegistry is a static class

#

Anyways

brittle pasture
brave fable
#

ItemRegistry is a static class, but you can't just iterate that one

brittle pasture
#

autofeeders will also pull hay from anywhere, prioritizing current location
it's putting/pulling hay in/from silos and the hopper that's local

soft wolf
#

Is there any documentation for these classes I can look at?

brave fable
#

no ☀️

#

!decompile

ocean sailBOT
soft wolf
#

Fun times

brittle pasture
#

I think tryToAddHay is local, you want StoreHayInAnySilo

#

which is global

#

and yeah reading the GameLocation code is still the best documentation lol

rancid temple
#

The documentation is the headaches we got along the way

cyan marsh
#

I have no idea where to grab what I want

soft wolf
brittle pasture
#

also GameLocation
sorry should have clarified

#

it's a static method

uncut viper
#

you should really have the decompile and/or ilspy up for reference, it helps a lot

calm nebula
cyan marsh
#

I want to give the ability to go through all loaded items and if they can be used as gifts add them to a list using the following format : ItemName: ID

calm nebula
#

is trying to forget

soft wolf
#

Yeah, I'm pretty new to modding Stardew lol but I want this mod in my playthrough darn it! 😛

#

The best reason to update a mod, selfish reasons.

rancid temple
#

That's how I got started lol

brittle pasture
#

The very first SDV modding thing I did was trying to fix/update smaller fish ponds
I gave up, but it was informative

brittle pasture
#

I'm sure if I get back to it now I'd probably succeed haha, but lazy

soft wolf
calm nebula
#

Shortcut

brave fable
#

from the decompiled game code:

/// <param name="action">The action to perform for each building. This should return true (continue iterating) or false (stop).</param>

we only want the one matching JunimoHut for our guid, so we return once it's found

calm nebula
#

Yay I'm walking out of work before sundown

cyan marsh
#

I have annoyed my wife but she says she's happy that I've gotten back into coding

brave fable
#

it won't actually account for non-object items that're giftable, but i don't know of any?
oh. trinkets.

cyan marsh
#

yeah, i'm spreading around my questions.. I hope to find a definite answer

#

it would be nice to give people a utility mod that they can jump in the game, and pull in improved item lists, map locations, heck even NPCs

lucid iron
#

lookup anything do this stuff Bolb

cyan marsh
#

it's an utility not for you to play the game but help with NPC Creator

lucid iron
#

yea i mean, you can reference the data models code there

#

some of the data without clear models get converted, like recipes

cyan marsh
#

I don't think there is a way to communicate with it tho

lucid iron
#

*reference the source code

cyan marsh
#

ah

#

that sounds a bit more doable x3

soft wolf
#

Quick question, where are smapi logs stored?

rancid temple
#

!log I think this says

ocean sailBOT
#

Important note: Your computer username may appear in the log. If your username is your full name, please be aware of this before uploading it.

Please share your SMAPI log file. To do so:

  1. Open this page: smapi.io/log.
  2. Follow the instructions at the top of the page to upload the log file. (Don't copy & paste from the console window!)
  3. After uploading, it will show a green box with a URL to share. Post that URL here.

Please do it even if you don't see any errors. This has useful info like what mods and versions you have, what the mods are doing, etc. If the issue didn’t occur in your last session, please load the game to the point where the issue occurs, then upload the log.

rancid temple
#

Hm, maybe it's on the actual log site

soft wolf
#

Yep, found it

#

%appdata%\StardewValley\ErrorLogs

spice parcel
#

i was curious if anyone knows how to make dialogue choices during an event?

finite ginkgo
#

There's multiple options, the easiest in my opinion would be using quickQuestion, it's explained on [[Modding:Event_data]], watch out for the syntax I've seen it get people before

spice parcel
#

ok thank you

dim yew
#

If you do a map edit with a tiledata does it also add the tiledata or do you need to add it separately?

calm nebula
#

Adds kt iirc

dim yew
#

Hm I wonder why it’s not working

spice parcel
#

also I don't think the speak farmer is supposed to be there before it. do I remove it?

frozen elm
dim yew
lucid iron
#

make sure you name it correctly

frozen elm
#

To clarify, there needs to be a tile in the same place. And back1 layer for example also wouldn't work

#

And yes I have gone crazy figuring out why it wasn't working because I didn't name it TileData

#

It's super easy to forget

steep blaze
silver pelican
teal bridge
#

Also, I used an incognito window to check the published version and holy moly, Nexus's logged-out state is stuffed full of gross ads. When did that happen?

brittle pasture
#

you dont get ads if you're a verified mod author

scenic heath
#

you guys see ads? (uBlock, Hosty, AdGuard, PiHole)

teal bridge
#

I know that - but the ads for everyone else have gotten so much worse.

brittle pasture
#

it probably did, I havent seen an ad for ages

next plaza
#

It's always been pretty bad I thought

#

Judging from when I do the dumb thing and try to check nexus on my phone

#

"always"

#

Maybe not always, but for a while

brittle pasture
#

I also have adblock on mobile so I have zero idea lol

next plaza
#

iOS woes

brittle pasture
#

(shh I am also on iOS. Safari content blockers my beloved)

#

(Firefox Focus is what I use)

next plaza
#

Huh, I didn't think apple allowed stuff like that for their browsers (and given the requirement that all mobile browsers use their browser engine, well...)

#

(I assume the mobile browser engine requirement is still a thing, but I'm pretty out of the loop on iOS dev stuff)

brittle pasture
#

the EU forced them to allow other browser engines now, but none of the other big ones have announced any plans to port theirs
and if they do port, I imagine Apple would make it a life mission to make installing alt browsers as much of a pain in the butt as possible

mighty quest
teal bridge
#

Haha, believe it! Hope I get to see some cool projects come out of it.

empty elbow
#

Where to discuss mods ? Like it's been I guess 2 years I think since I last played this game and I really feel like I have a lot to catch up to

tiny zealot
#

#modded-stardew to discuss using/playing with mods. here to discuss making your own mods

rare orbit
#

hey? this is the right place to discuss mod making/updating right?

#

thinking of converting some older mods that i'd love to use

#

mainly i wanna try to get the witch valley mod up and running for 1.6 i'm kinda a beginner tho so i'll probably try my hand at converting the furniture aspect of it first

brittle pasture
#

looked at that mod page, it's definitely convertible to the new 1.6 Content Patcher format

#

!converters these can help

rare orbit
#

thank you!

brittle pasture
#

obligatory mention that if you're planning to do anything with it beyond personal use (eg. uploading it to Nexus) make sure to get the author's permissions
the mod page's Nexus permissions is pretty permissive, but you do need permissions for "modifications", which qualifies in this case

rare orbit
#

sure! it's cool to test if it'll work first beforehand right?

brittle pasture
#

sure

rare orbit
#

what probably i'll do is send the files over to the original author so if i don't have permission to upload i can help update it

teal bridge
#

A lot of not-super-active authors do accept PRs to update their mods. (They did for me, anyway.)

rare orbit
#

i'll test it out! i just converted witch valley's furniture to content patcher

#

also? if it requires other requirements like json assets what should i do? will the furniture converter work ok?

brittle pasture
#

then you use a different converter. that list above has a JA -> CP converter

rare orbit
#

ohhh ok! thank you

brittle pasture
rare orbit
#

ohhh

#

that'll take me a while

brittle pasture
#

(MFM is technically not deprecated so if you don't want to you don't have to. I still recommend migrating to CP though)

tiny zealot
#

it still has one or two things it can do that CP can't. one of them i think is including items above base quality, but i don't know any others

lucid iron
#

is there a nice sound cue for big slash

brave fable
#

cut or clubSwing?

lucid iron
#

did clubSwing get deleted

brave fable
#

oh it's clubswipe

#

it's big and swing but not very slash

#

there's slosh if you want it SDVpufferfush

knotty phoenix
#

ah, slosh, perfect for a sward

lucid iron
#

slosh bolbclose

#

im trying to find replace for axechop + stumpCrack for scything giant grops

#

slosh is very wet hm

brave fable
#

u wanted a big slosh...

vernal crest
#

Giant melon explodes all over you

lucid iron
#

fishSlap DokkanStare

#

i wish there was a soundboard

vernal crest
#

I wish I understood enough about licensing to know what to do about the assets side of it.

lucid iron
#

isnt it your assets

vernal crest
#

Yeah. I just don't know if there's a license that you can get that applies to both code and assets or if you have to have one for each and how to do that.

#

(I am googling, I just wish I already knew the answer lol)

lucid iron
#

content patcher mod is technically data rather than software i suppose, i think you would use one of the CC licenses?

vernal crest
#

I am thinking about art and (creative) writing from an assets point of view and C# from a code point of view (now I have a mod with C# to release and will have more in future hopefully).

lucid iron
#

u can dual license if u want

brittle pasture
#

yeah I use CC-BY for content and Apache 2 for code

lucid iron
#

but i kind of just counted stuff associated with the C# as part of the software distribution

brittle pasture
#

Doom's source is open, but its assets are still all rights reserved

lucid iron
#

cus the only part that matters to me is credit me if u use my stuff

vernal crest
#

Like if you have art included in your C# mod you include it under the same terms as the code, chu?

lucid iron
#

yea but again, that's just cus i didnt care to license my assets with separate terms Bolb

#

i dont have rights to some assets that r just game sprite edits either

#

i included what art was by whom and what was not covered in the trinket tinker license

vernal crest
#

Thanks, I'll read that too. I'm currently reading a big writeup somebody did for Minecraft lol

brittle pasture
#

"you're free to use and redistribute, except that I use a bit of copyrighted code/asset from the original game I mod in these so technically these belong in a very, very gray area, so by accepting this license you also agree to sit in this gray area with me"

lucid iron
#

i wonder what is the line between "inexplicable knowledge of how game work" vs "i yoink this draw code from game"

vernal crest
#

Part of it is probably amount. Like if your mod is using a lot of code from the decompile and it also recreates a lot of the game mechanics that's not likely to be within fair use. But if it's a line or two that could definitely not be used to recreate game mechanics, maybe closer to fair use?

lucid iron
#

can u really copyright game rules though

uncut viper
#

you can't copyright mechanics (though you can patent them) but you can copyright implementations

vernal crest
#

I don't know but you can copyright the code you used to create them

#

Rar I want a license that explicitly allows people to make money from my stuff but not via paywall

brittle pasture
#

that definitely sounds like it needs a custom license, or at least a couple clauses on top of an existing one

lucid iron
#

You can just write that in right think

uncut viper
#

you can technically stipulate any legally enforceable thing you want. but if you're not a lawyer putting it in legalese and without loopholes can be difficult

lucid iron
#

Common licenses are really just suggested templates in the end

brittle pasture
#

yeah for CC, put another sentence in "Under the following terms:"

lucid iron
#

Unsure how you could make money but not via paywall

vernal crest
#

DP

uncut viper
#

i think if you change the terms of the license text in any way you cant call it CC, though

lucid iron
#

Isn't buying things generally like paying for access

vernal crest
#

Patreon, ko-fi

brittle pasture
#

in that case "this work is licensed under CC, but with the following additional terms"

vernal crest
#

(Where you get the thing regardless of if you pay, but you can pay)

lucid iron
#

Does donation count as commercial use

#

This is too much law for my puny brain LilyDerp

vernal crest
#

I think the answer is "it could be"

uncut viper
#

because its no longer CC

brittle pasture
#

darn, I spread illegal misinfo again

lucid iron
#

I wonder what license nexus perms count as

uncut viper
#

oh the next part is even more explicit

#

"If you place any restriction on use of a CC-licensed work that has the effect of limiting or further conditioning the permissions granted to the public under the standard CC license, you must not use any CC trademarks (including the Creative Commons name) or branding in connection with the license or in any way that suggests the work is available under a CC license. These restrictions often appear in terms of use on websites where CC-licensed content is hosted, or as part of terms for downloading CC-licensed content."

lucid iron
#

Cus it sounds like it has all the features aba wanted

uncut viper
#

i dont think nexus permissions are any specific license, theyre just you deciding your own license terms following their template

knotty phoenix
#

what license does expanded operate under? doesn't that only make money via patreon?

uncut viper
#

you dont really need to "pick" a license, you can just decide what the permissions are. as the rights holder, you are free to determine how you sublicense out your work

lucid iron
#

Is it valid to copy paste nexus perms into a LICENSE file and put that in ur repo

vernal crest
#

On the one hand, it'd be difficult to ensure I landed on a legal way to convey those permissions if I didn't pick a license. On the other hand, I'm not about to take anyone to court over this regardless.

brittle pasture
#

SDVE's C# code is under MIT, but no words on the rest

uncut viper
#

you can decide whatever terms you want for your license so long as they are legally enforceable

#

you could literally say "all rights reserved, except for Chu on NexusMods, who can do as they please with the repo"

vernal crest
#

Yeah but people are discouraged from writing anything of their own for permissions because of the unlikelihood that people write it in such a way that it is legally enforceable.

brittle pasture
#

brb renaming my username to chu

lucid iron
#

the rest would be all rights reserved then

uncut viper
#

yeah, exactly. companies usually pay lawyers a good amount of money to write somthing up if they really want a customized license

vernal crest
#

But SVE's Nexus perms are quite open

lucid iron
#

I'm not even named chu on nexus mods

uncut viper
#

all rights reserved is the default so naturally you can choose from there what you want to allow people to do

brittle pasture
#

(I am not a lawyer and this is guesswork, but) IMO most reputable hosters will usually side with the original creator, and it's usually up to the thief to bring their lawyers and find loop holes
(and tbh if someone is seriously going to sue Nexus for the right to host their license-violating content they have already lost)

brittle pasture
vernal crest
#

I think I'm just going to go with CC-BY-SA and then wish everlasting bodily discomfort on anybody who chooses to paywall my stuff

lucid iron
#

Brb writing zombfier into my will

vernal crest
#

I guess with CC-BY-SA, if someone was paywalling my stuff, someone could just buy it from them and then immediately post it everywhere for free.

#

Which I hope would happen lol

uncut viper
#

well, theyd still have to give credit to you too, so i imagine they would just get it for free from you in the first place

#

they need to credit you, link to your license, and indicate if they made any changes (and if they did make changes, those must also be distributed under CC-BY-SA)

vernal crest
#

Yeah I would hope for that but not expect it - not everybody does that sort of examining before spending money

#

Though I suppose if they're buying without checking the license they're not likely to then share it for free haha

#

Oh well, this is all extremely hypothetical anyway

velvet narwhal
#

SDVpufferlurk i just slapped cc-nc on all of my stuff

vernal crest
#

I don't want to make people who are conscientious scared of making money via donations if they use my assets, which I think could happen if I used NC

velvet narwhal
#

that's fair, i don't plan on making tilesheets or recolors so that's why i'm like "all of my art is actually personalized so, y'know, slap an nc on it"

uncut viper
#

technically CC defines commercial use as things that are primarily intended for commercial advantage or monetary compensation

#

but whether thats just a CC thing or something you are bound to as well by using their license terms, i couldnt say

quaint moss
#

Can you have multiple mail commands in the same letter, such as %item id (O)<ID> %% followed by %item conversationTopic <key> <days> %%? Through search I only found a message from 2021 saying it *may* not be possible

velvet narwhal
#

well conversationTopic isn't an item, so not that

#

but in your trigger action to send out said mail, yes, you can

uncut viper
#

i dont think they want the CT to happen until they actually read the letter

vernal crest
#

That seems pretty easy to test in game

vernal crest
#

And Avi the wiki command does have item in it

velvet narwhal
#

that's so weird

vernal crest
#

Almost all the commands have item in them

velvet narwhal
#

why is it like that SDVdemetriums

uncut viper
#

that said i dont think you can have multiple

#

the while loop seems to break after parsing the first one and then returns the letter

#

(break as in exit the loop)

velvet narwhal
#

i live on the 1.6 migration for mail data so i don't actually regularly see that one

vernal crest
#

Do I need to include the entire license text in my mod for each asset from other people I use? That seems so cumbersome!

uncut viper
#

that said you can have an %item command and an %action command it seems

#

but only one of each

#

or... maybe multiple actions but only one item

brittle pasture
lucid iron
#

If it's asset from other people then wouldn't u just copy their license

velvet narwhal
#

my chaos mail works "{{ModId}}_HandHolder": "{{i18n:Mail.HandHolder}} %item id (O)FlashShifter.StardewValleyExpandedCP_Fungus_Seed 1 %% %item id (O)FlashShifter.StardewValleyExpandedCP_Stalk_Seed 1 %% %item id (O)FlashShifter.StardewValleyExpandedCP_Void_Seed 1 %% %item id (O)FlashShifter.StardewValleyExpandedCP_Slime_Seed 1 %%[#]{{i18n:Mail.HandHolder.Title}}",

#

it's kind of strange though and it uh, spits everything out at once if you esc the mail, or you have to click through all of them to get them all

uncut viper
#

oh, those breaks i was seeing were from the switch statement

#

not the loop

#

i see

velvet narwhal
#

tldr: try it, probably works

vernal crest
uncut viper
#

that definitely depends on the license

vernal crest
#

They're all using CC so it should be okay

#

But I'll double check

uncut viper
#

"If supplied, you must provide the name of the creator and attribution parties, a copyright notice, a license notice, a disclaimer notice, and a link to the material. CC licenses prior to Version 4.0 also require you to provide the title of the material if supplied, and may have other slight differences."

#

thats how they define "appropriate credit"

vernal crest
#

I am reading the full text of CC-BY-SA 4.0 right now and it specifies I can use a hyperlink

uncut viper
#

it says that same thing on the CC-BY-SA 4.0 page

#

where do you see it saying something about a hyperlink?

vernal crest
#

Digging deep into the legalese lol

hard fern
#

i dont speak lawyer

uncut viper
#

i wonder why it contradicts that on the other page. legalese overrules it though for sure

velvet narwhal
#

Where's Claire

brittle pasture
#

we need a real lawyer to save us from the legalese

vernal crest
brave fable
#

grandpa wouldn't have wanted us to have to read legal documents on the farm SDVpufferfush

uncut viper
#

yeah. if you click that "appropriate credit" part it shows what i sent

velvet narwhal
#

Grandpa gave us the farm to avoid taxes

uncut viper
#

notably on that page it doesnt say or

lucid iron
#

How do we know grandpa even legally own the land

vernal crest
#

I think a license notice and "the full text of the license" are different things...?

teal bridge
lucid iron
#

Is there a deed in the letter

uncut viper
#

i already coneded that id look to the legalese first, im just saying why i thought otherwise because it says otherwise

teal bridge
#

Made from 100% locally milled paper sourced from local maple trees.

vernal crest
#

One person had their permissions text (not using a specific license) in an image so I had to type the whole thing out by hand >_<

rancid temple
#

Unhinged

teal bridge
#

Could've copied the image?

uncut viper
#

if they serve federal employees you can slap them with an ADA lawsuit

#

out of luck if they dont though

#

would copying the image require attributing to them that image, needing you to link to the image again, and again needing more attribution

#

the license image itself might not even be CC

teal bridge
#

Smaller image inside the image.

#

Infinite images.

#

Eventually it shrinks down to a single pixel, but that's OK, because calculus.

vernal crest
#

I guess I could've but I was writing it all up in a txt file and I wanted the permissions to be there rather than "go look at this image in the folder for the perms for this one"

uncut viper
#

i remember being told that there was hardly any calculus in modding

teal bridge
#

Ah, but you didn't ask about the legal side. Lots of it there.

#

Integrating the fractal equations of recursively embedded licenses to eliminate duplication of text is one of the key skills needed to become a certified modding legal professional.

#

...in all seriousness, though, it probably wasn't done out of malice or mean-spiritedness. How many times a day do people post screenshots of their code or JSON in here? I don't know what compels them to do it, but clearly there is some pervasive thought pattern behind it. Sometimes I'll consider myself lucky if I get an actual screenshot as opposed to a skewed, blurry and upside-down phone-camera photo.

vernal crest
#

Oh no I definitely don't think it was done to make things harder for me. They don't actually require that I include the terms of their permissions in my files anyway, I just wanted to for accountability. So the extra work was on me lol

#

Although every time I do see text in an image without alt text it makes me go "well this sucks for vision impaired people - was an image really necessary?"

teal bridge
#

Well, I am inspired. I'm going to switch all my licenses to images, written in a combination of Comic Sans and Edwardian Script, being sure not to skimp on the JPEG compression artifacts.

hard fern
#

oh my

teal bridge
#

And stipulate that they must be reproduced in full, and that the license image itself is copyright.

vernal crest
#

Oh nooo I just realised I can't get Nexus to take down AI stuff of my work if I use CC-BY-SA

#

This is all so haaaard

teal bridge
#

Eh, I say don't overthink things. What's the diff if a human copies it vs. if an AI copies it? If it's free, then it's free.

#

The kerfuffle over GenAI is that it's taking stuff that isn't free, that is 100% copyrighted material, and reproducing the work or derivative works using the memory in its training data.

uncut viper
#

(and the extreme energy use. but i do agree it would be more palatable if it only ever did take free to use stuff)

teal bridge
#

Sure, yes, there's also the fact that we are doing extremely silly, impractical and downright ridiculous things with AI. Most of those things are legal, though.

#

Frankly, I have more pity for the poor GPUs, and the poor bastards trying to afford them for actual graphical purposes.

vernal crest
#

I don't want to say too much because I don't want to get us caught up in an argument about AI, but it does matter to me. I just don't think there's any practical way I can do anything about it /sigh/

teal bridge
#

Not unless you want to hire a lawyer to write a bespoke anti-AI license, and fight it in the courts with companies who ignore it anyway.

uncut viper
#

could always just leave it as "ask me for permission to use" and then stipulate terms if someone does ever ask

half tangle
#

@ivory plume I was encouraged to share a bug report: The door in FishShop gets a warp in GameLocation.cs to tile 6 11 in BoatTunnel for non-NPCs, but the tile action WarpBoatTunnel is also attached to that door's tile and it goes to 6 12 in BoatTunnel and seems to take precedence (the action is given in the .tmx, the action is interpreted in FishShop.cs). I don't know which tile destination is intended, but 6 12 is currently used while 6 11 is not.

silver pelican
#

I feel lazy to create an interior of an apartment where most of my NPCs would reside. Is there a way to make those NPCs 'disappear' (or the illusion of them entering) when they enter said building? SDVemoteperchance Idk. XD
experimenting :3 i think i know.
Edit: im dum lmao. xd solved.

tough crater
#

Are dynamic tokens alphanumeric?

#

And do they only apply within the mod or could other mods accidentally trigger them in they have the same dynamic token name?

#

For example: Mod1 has a dynamic token named "catsleep" and Mod2 also uses the same dynamic token name

vernal crest
#

I'm not sure of all the characters a dynamic token will accept, but they definitely accept letters and numbers (and other tokens)

tough crater
#

Awesome, thanks!

hard fern
#

SDVpufferflat after much fumbling, i finished my seasonal portraits..

#

now i have to make sprites...

#

(the dialogue is still not done)

granite bluff
#

heey, if my file has a space in it's name, how to i write the directory in json?

velvet narwhal
#

wdym directory? would suggest removing all spaces and just replacing with underscores or some other symbol though

granite bluff
#

"Target": "Buildings/BigShed",
"FromFile": "assets/Buildings/BigShed.png",

#

the Target File Name is Big Shed not BigShed so i dont't know how to write the space in json correctly

velvet narwhal
#

uhhhhhhhhhh i'm trying to remember if cp auto detects the underscore as a space when finding a direct file

granite bluff
#

i can give underscore a try 🙂

velvet narwhal
#

though i wouldn't suggest replacing something like that, you can turn it into a skin instead

vernal crest
#

Your target would need to be "Buildings/Big Shed" because vanilla has a space in the asset name.

icy viper
#

@brittle pasture Sorry for the ping but I'm wondering, is "allowing non-object outputs from machines" feature implemented in EMC Nexus beta version?

velvet narwhal
#

also, aba, found out that calendar and social aren't the same syntax, pissed (for data/characters)

vernal crest
#

Lol yeah they are slightly different

velvet narwhal
#

cause it's all your unique id + your own unique slot

vernal crest
#

Lol my game log is such a mess

#

Oh speaking of logs, I need to find out if my username gets put in the log if my mod errors. But I don't know how to check that.

velvet narwhal
#

depends on the error, but i slap a LogName on everything

vernal crest
#

I meant my C# mod, sorry

hallow prism
#

29000
That is a beautiful ID...

#

it's nearly a shame it's for such a small mod

vernal crest
#

I don't know how to make it error so I can check

#

Such a tidy ID

hallow prism
#

(also we have a lot of mod)

velvet narwhal
#

oh, uhhh monitor.log

#

the thing that i copy-paste from atra all the time this.Monitor.Log($"Huh, can't find my loction, that's weird.");

lofty ruin
#

Can emotes be used outside of events?

icy viper
#

You can manually emote I'm sure of it. What's the context?

vernal crest
velvet narwhal
#

shouldn't be

#

should just paste to the smapi console whatever's in quotes

lofty ruin
vernal crest
velvet narwhal
#

incase your statement fails SDVpufferthink

granite bluff
#

can i set the amount of values that are allowed? i have two sections and want either section 1 or section 2 to be allowed, not both at the same time

vernal crest
#

I don't think you are following what I am trying to do, Avi. I just want to know if my mod doxxes me by putting my real name into the log if my mod fails somehow lol

velvet narwhal
#

o-h SMCKekLmaoDog no, sorry, i didn't understand that, the monitor.log in that context will only spit out "Huh, can't find my location, that's weird." if it fails the statement, nothing else

#

(i had no sleep, demons, i am finally sipping my coffee)

rancid temple
#

Or in this case, dll I guess

finite ginkgo
calm nebula
#

So yes.

#

The default location.

rancid temple
#

Hm, so can you put it somewhere that doesn't climb out of your username?

calm nebula
#

Yes

rancid temple
#

Welp, time to move your repos again SDVkrobusgiggle

vernal crest
#

Thanks atra, is there a way I can check the stack trace(s)?

vernal crest
rain basalt
#

I was about to ask a dumb question I already knew the answer to lol 😂 question“is there a way to reference other mods maps to load into an area” answer “ just set a dependency and reference the loaded maps name from maps folder” SDVkrobusgiggle

calm nebula
#

Monitor.Log((new StackTrace()).ToString())

hallow prism
rain basalt
#

Trying to fix my farmhouse light mod to work with sve

vernal crest
#

Nice one, Lumi!

hallow prism
#

i am pretty happy with the concept, it's really enjoyable for me to play with. Stuff like "i may as well craft this item now so maybe i'll get a letter as reward"

vernal crest
#

I'm going to add it to my game

velvet narwhal
#

it was lumi who had the nice number SDVpufferpensive

hallow prism
#

happy accident, i didn't even notice there was a nice number to grab 😄

rancid temple
#

Does it send mail for existing saves with previously achieved progress?

hallow prism
#

it should! i may add a note about that on mod page

#

it's a question others may have too

rancid temple
#

I was considering starting over to actually do an SVE playthrough, I'm definitely using this either way, I love getting stuff for making progress lol

velvet narwhal
#

my next playthrough is vmv

hallow prism
#

i am really appreciative for the GSQ because it's autocompatible with whatever you install instead of me having to be "hmm, what is a good amount of item shipped for this reward? 100 in a normal game, 17805 if using raffadax?"

#

and in the same time, if someone wants to make a "SVE flavored" version there's space for that too, as my rewards are vanilla items but someone may want to also get mod specific rewards/machines

vernal crest
calm nebula
#

Interesting

tiny zealot
finite ginkgo
calm nebula
#

yes vs this is what I want

hallow prism
velvet narwhal
#

obviously it's because you do so many PRs, atra, it knows you wanna do more threading optimization

hallow prism
#

VMV number i got because i released the previous mod, saw the id was one number off a round one, and so was able to grab VMV one too, but modding was less active now

rancid temple
#

I saw Cooking was a possible future feature but I think this will probably confuse some users who are allergic to reading mod descriptions

[Content Patcher] Ignored Lumisteria - Progress Toward Perfection > Cooking: the When field is invalid: 'Cooking|contains=All, BigMilestones' can't be used as a token because that token could not be found.
hallow prism
#

hmm, i need to comment that then

#

thanks 🙂

calm nebula
vernal crest
#

That's what I've got, isn't it? Monitor.Log((new StackTrace()).ToString());

tiny zealot
#

missing the true argument

vernal crest
#

Oh no there's true

#

I will try that thanks

hallow prism
#

(i will see if other issues arise before posting a fix, hopefully mod users will not be afraid too much)

vernal crest
#

Hmm, no change

calm nebula
#

oh, then just throw an excepetion or something

finite ginkgo
vernal crest
#

I know how to break things by mistake but I don't know how to do it on purpose lol

rain basalt
calm nebula
#

throw new InvalidDataException();

vernal crest
#

Okay I must try this in Entry because I still didn't get a filepath with the exception either

finite ginkgo
#

Congrats you're filepath immune i suppose SDVkrobusgiggle

velvet narwhal
#

doxx-immune

vernal crest
#

I wonder if it's Profiler doing something to stop it?

calm nebula
#

it is, actually

#

if you have a harmony patch on something it'll surpress it

vernal crest
finite ginkgo
#

now i know where you keep your mods on your computer SDVkrobusgiggle

calm nebula
#

I mean, you know that for every major C# modder

rancid temple
#

Just 32 more steps to identity theft

calm nebula
#

it would help if you knew, also, maybe, Aba's first name

#

and country

tender bloom
#

Even then it might not help much

vernal crest
#

You get to see how messy my setup is

tender bloom
#

You know my first name and country

rain basalt
vernal crest
#

I was accidentally putting my first name in a bunch of my commits of Hiria for a while

calm nebula
#

I bet I could probably have some success pretending to be a MathPerson

velvet narwhal
#

i wonder if i even get doxxed, i have my bin build in my separated HDD SMCKekLmaoDog

tender bloom
#

I don’t have twitch or twitter or instagram or Snapchat or tiktok

rain basalt
#

Facebook?

tender bloom
#

Yeah but it’s private and under a different name

tender bloom
rain basalt
#

I have 3 different ones myself

vernal crest
finite ginkgo
velvet narwhal
#

i have no organization for my mods, throw it in there and stardrop puts it into categories for me, i am blind

rain basalt
#

Anyone off the top of there head remember what goes here
When: “mod tag”,
Load

vernal crest
#

Thank you atra and Tedi for helping me with that! SDVpufferheart I would've been very unhappy to find out it included my full name after publishing (which it doesn't anyway but I was worried it might).

velvet narwhal
#

"HasMod"?

rain basalt
#

Specific mod name but yes

vernal crest
#

"When": { "HasMod": "spacechase0.SpaceCore" } Like this? I don't really understand your question.

rain basalt
#

Yep that’s the format I needed

finite ginkgo
#
"When": {
  "HasMod": "modid"
   //or
  "HasMod |contains= modid": true //or false
}```
latent mauve
#

IIRC, Tedi's second part of the example is the structure you need to have more than one HasMod

rain basalt
#

Making changes to a map but trying to incorporate sve as well so have to use hasmod sve to allow certain changes only when that mod is present

tiny zealot
calm nebula
#

Hmm, not sure about new server nick

#

Let's see how it goes for a while

tiny zealot
rain basalt
tender bloom
lucid iron
#

spooky maths

drowsy pewter
#

spooky maths from a distance

tender bloom
#

Atra is definitely the spookier one

#

6480 beat me to the joke

tiny zealot
#

(Netcode) is there some kind of NetObject or NetStruct i can use to punt a struct (of my own making) over a NetEvent1Field for syncing with farmhands? asking for me

rain basalt
#

How is II+IV spooky 😉

lucid iron
#

its a generic so u do like NetRef<EyeCorerData>

tiny zealot
#

ok i'll check it out. thanks!

lucid iron
#

i think the type inside needs to implement INetObject<NetFields> too

tiny zealot
#

the struct is quite simple (string, int, int) but it specifies a map and coordinates. when one player modifies that spot, the others need to do the same

velvet narwhal
#

oh SDVpufferpensive i thought you were finally implementing "throw your friends into the volcano"

tiny zealot
#

maybe it's easier to send over the pieces separately or something but i wouldn't know how to sync them all (i don't really know how the netcode works and i try to avoid thinking about it)

#

no, this is an unrelated project, sorry

ornate trellis
#

question about machines: if i have the DayUpdate trigger do i still gotta specify minutesuntilready or will it automatcally know to just do it once per day

brittle pasture
#

that will work yeah, the coffee machine is like that

ornate trellis
#

nice

lucid iron
#

honestly i think the game's netfields are a big ball of ???

#

it was much simplier to just use smapi events LilyDerp

ornate trellis
#

im triyng to get my lil few fall machines mod out for the event and this is like the last day and i suddenly realized oh i never did amchines before :B

#

ive focused so much on art and just random map making i am even more out of the loop what 1.6 gave us and everything lol

lucid iron
#

that said, maybe you can just put your data into the gamelocation.moddata

#

that is already netsync'd so the only limitation is that u need to do it as a string

ornate trellis
#

also was multiple recipes in one mail possible or do i gotta do one recipe per mail with CP still

ornate trellis
velvet narwhal
#

chu was responding to ichor SMCKekLmaoDog

lucid iron
#

sorry i was talking about ichor's thing

brittle pasture
ornate trellis
#

oh lol i was about to say

velvet narwhal
#

i've never tried a multi cooking/crafting in a mail

brittle pasture
#

I only know because I did try lol

ornate trellis
velvet narwhal
#

only one thing at a time will ever show, yeah

ornate trellis
#

hmmm

#

I can work with that

velvet narwhal
#

items do make the active popping noises, but i can't remember the uh, action upon receiving a recipe in the mail

ornate trellis
#

i dont wanna write 5 mail the player gets one after another

lucid iron
#

slacc writing mail and just stick it in a shop AquaThumbsup

ornate trellis
#

since its the wizard who gonna send the mail i just gonna add something like "i infused the letter with magic so you#ll know X recipes for new stuff" or something

brittle pasture
#

attaching multiple items is fine, you'll get them one after another
For recipes there's only a "new recipe added" text in the mail, and it only shows the first one

#

but they all get added

ornate trellis
#

i dont want pierre to get the good goods /j

#

ehh i just do mail. even if i add to shop i gotta make a json for that

#

idk

#

first the machines gotta work

tiny zealot
lucid iron
#

what kind of thing are u syncing anyways bolbthinking

#

if it is like a placed object then location does that already

tiny zealot
#

it is like a placed object but not the same, because i feel the need to be extra

#

it is a tile change and tile property (action)

#

it's not just to be extra though, it works a little differently than a placed object, by design

lucid iron
#

oh yea neither of those r netsync by default i vote for smapi events PecoSmile

calm nebula
#

Yeah

#

Netevemts have to be polled every tick

#

Smapi multiplayer message is probably easier

ornate trellis
#

hm, am i reading this wrong or cant I add an amount to my machine(like, itll produce 5 void essence per day)?

ornate trellis
#

oh flushed_clown

brittle pasture
#

If you look at machine data output (or other places) you'll see something like "See item spawn fields for the generic item fields", that means that it contains the fields in the Item Queries page

#

alongside whatever's on top specific for machines

#

anyway to answer your question you want MinStack

ornate trellis
#

thank you

astral prism
#

**Posted on behalf of @royal nimbus **
https://www.nexusmods.com/stardewvalley/mods/28206/
~New 'Goth Friendly' Stardew!~

This mod turns the UI and player aesthetics gothic. It also changes a lot of the NPCs to be goth or alternative. Everything the player gets will be goth but not everything in the game will be changed.
The purpose of this mod is to make the game more goth friendly.

Nexus Mods :: Stardew Valley

This mod is not currently available

royal nimbus
#

:D <3

violet mica
#

Hi! im making my own portraits for Ridgeside Village using portraiture. I have named the pngs the same way they are in the og mods portrait folders but some of them wont work. Specific ones atm are Maddie_Lab and Irene_Chef. I was told to ask help here SDViconpumpkin

rancid temple
#

Wonder why it says mod unavailable, definitely takes me to a working Nexus page

brittle ledge
brittle ledge
rancid temple
#

Ah

royal nimbus
#

tyty ^^

vernal crest
#

Congrats Ralo!

velvet narwhal
#

Yeah idk if the embed will work for Leah unless it'll populate later?

lucid iron
#

r u submit that to contest DokkanStare

#

im kind of surprise there is only 19 submissions rn actually

#

is that the typical count for mod jam?

royal nimbus
#

idk if i can submit it actually

velvet narwhal
#

Does it fit any of the prompts?

ornate trellis
#

does this look about right for simple output rules?

"OutputRules": [
                        {
                            "Id": "VWW.VoidEssence",
                            "Triggers": [
                                {
                                    "Trigger": "OutputCollected, DayUpdate",
                                }
                            ],
                            "OutputItem": [
                                {
                                    "Id": "VWW.VoidEssence",
                                    "ItemId": "(O)769",
                                    "CopyQuality":true,
                                    "CopyPrice": true,
                                    "MinStack": 1,
                                    "MaxStack": 10,
                                }
                            ],
                        },
                        {
                            "Id": "VWW.SolarEssence",
                            "Triggers": [
                                {
                                    "Trigger": "OutputCollected, DayUpdate",
                                }
                            ],
                            "OutputItem": [
                                {
                                    "Id": "VWW.SolarEssence",
                                    "ItemId": "(O)768",
                                    "CopyQuality":true,
                                    "CopyPrice": true,
                                    "MinStack": 1,
                                    "MaxStack": 10,
                                }
                            ],
                        },
                    ],```
brittle ledge
royal nimbus
#

well its goth and spooky theme so im sure it would be fine with that but it was made to be compatible with another mod so it has a couple assets from another mod in it

brittle ledge
#

Doesn't say you can't use another mod's assets, just no stolen content

rancid temple
#

I was checking out RSV for how those two are loaded, looks like they are Maddie_Lab and Irene_Chef, but I'm wondering actually how they're used

vernal crest
#

Yeah it definitely fits the spooky decorations theme. I don't think it would be an issue that it uses SVE assets because SVE permissions allow that - and they're your recolours of the SVE assets anyway right?

rancid temple
#

Portraiture has some issues with location based portrait changes

brittle ledge
rancid temple
#

Oh, PortraiturePlus should cover this issue

velvet narwhal
#

plus?

royal nimbus
#

k well i can enter it then i guess :3

rancid temple
#

It's an additional mod built to compliment Portraiture, since Portraiture hasn't been updated since 1.6 beta and no PR's have been accepted

velvet narwhal
#

Huh, is it still user-based?

rancid temple
#

I'm guessing that was the reasoning anyways

tiny zealot
#

platonymous is out of country for an indefinite period, if memory serves

velvet narwhal
#

Tbh I might look further into scale up 2 because I want nicer portraits but I hate user-based

rancid temple
#

As far as I can tell, PortraiturePlus just adds more naming conventions that Portraiture will accept

royal nimbus
#

there we go. entered it. also bear with me not in the best headspace rn as im dealing with some heavy personal stuff atm

rancid temple
#

Well, I'm pretty sure it's gonna survive 1.6.9 so it's not a big deal lol

vernal crest
velvet narwhal
#

There were many a good idea in my head but alas, I didn't wanna deal with making a new farm map just to implement my Addams family farmhouse idea SMCKekLmaoDog

tiny zealot
#

i had only one idea and i triaged it early on for being too much work

velvet narwhal
#

I'm curious now what that idea is

tiny zealot
#

spooky hunt for unseen monster in dark forest

rain basalt
#

I have 5 mod ideas sitting on a shelf while I fix current ones lol

lucid iron
#

wow its got all the things i am afraid of

velvet narwhal
#

A monster with a running away pathfinding?

lucid iron
#

like npcs and minigames and pathfinding

rancid temple
#

I was working on other crap until fairly recently so I didn't make anything lol, thought about trying to put together some kind of crow jump scare mod

tiny zealot
rancid temple
#

Random chance when breaking stuff on the farm that 100 crows spawn

lucid iron
#

a shadow prowls the abandoned house in the woods ||it was just lacey||

tiny zealot
#

instead i have been working on my current pet project, which i expected to finish by now, but i keep architecting it poorly and having to rewrite stuff

rancid temple
#

A haunted house was another idea, but I couldn't think about what to actually do with that lol

velvet narwhal
#

I did contemplate using my treant monster which stops moving when in the player viewport but slowly creeps towards the player when out of sight

tiny zealot
#

last year i wanted to have the villagers sing "this is halloween", but (search for my gripes about this topic in this channel) i could not get reliable sync to the music in an event. turned out to be good, since i would have had to make a ton of art to pull it off

velvet narwhal
#

Don't look at me putting off karaoke I don't know what you mean

#

More involved probably woulda been blueb's route of transpiling the playerControl event command iirc

lucid iron
#

i think i would have slacc too if i didnt think of way to turn example into mod sleep

velvet narwhal
#

Free advertisement

vernal crest
#

I have so many of those Halloween mods left to download

#

And of course my own to upload soon so I don't fall asleep and miss the deadline

lucid iron
#

you got like 8hrs sleep

vernal crest
#

Will have to put my wife to bed and then hustle

brittle pasture
#

the perfect length for a refreshing nap

violet mica
#

Also i do have portraiture plus but yea haven't done modding before so don't really know how to use it :/

tiny zealot
#

you open up the .json files in the mod and read them. you'll need to find the patches for the specific items

hard fern
#

portraiture is location based iirc?

#

because "beach" portraits will affect npcs standing on the beach in town

#

and i had to rename them to IslandSouth

#

to get it to work on the resort

ornate trellis
#

hm. would it be stupid to make a joke for my skeleton machine where the recipe is just 206 bone fragments (since theres 206 bones in an adult human body)

fathom hound
#

Would like to make a mod for putting hats on barn & coop animals… I’m assuming it’s C# only?

rain basalt
rancid temple
#

That wouldn't let you place hats on animals

rain basalt
#

Hmm like ingame placement yah C#

#

Just making them cuter could be done with CP

rancid temple
#

Not sure what you would need to do to make giving them the hat a thing

sweet sphinx
#

possibly look at how the game does it for pets, urchins, horses, and scarecrows

lucid iron
rain basalt
#

Hmm 🤔 you can pet and brush animals so guess you could make the hat an interactive item for them that updates there sprite sheets

lucid iron
#

for farm animals, i would add a way to specify hat offset

#

so that u can handle ostrich and cow with the same code

brittle ledge
sweet sphinx
#

or just manually offset it in their spritesheets

lucid iron
#

im rejecting your PR PecoSmile

sweet sphinx
#

PR?

brittle pasture
#

wow I could have sworn hat offset was a field on pet data. Nope, it's just hardcoded for cats and dogs

lucid iron
#

looking forward to new eac feature \j

tiny zealot
#

i had to put a little warning about it on my cat, since it does not line up with the hardcoded placements

rancid temple
#

Looking at how horse does it, this seems awful lmao

tiny zealot
fathom hound
#

Oh jeez

sweet sphinx
#

nice

tender bloom
#

I have a hats on turtles pack you can reference if you want to make a hat pack!

lucid iron
brittle pasture
tender bloom
#

Hats hats hats

lucid iron
#

scarecrows hold the hat with rarity

tender bloom
#

I don’t think hpp does farm animals, no

tiny zealot
violet mica
brittle ledge
#

Content Patcher is actually pretty easy to learn! But trying to parse a big expansion right off is like jumping into the deep end first SDVpuffersquee

violet mica
#

ohh im so sorry i didn't know SDVpufferwaaah

lucid iron
#

u could try doing portraiture on a vanilla npc first

violet mica
#

yea i do want to make them, i just did RSV first cause i'm not personally a fan of the vanilla style :/ maybe it wasn't the smartest way to start

lucid iron
#

it's usually expected that hd portraits are not vanilla art style DokkanStare

#

maybe u are thinking of the designs

brittle ledge
#

Oh, I'm not sure if any are working in 1.6, but there have been other Ridgeside Portraiture mods, I believe. You could see what they did, if they covered the extra outfits and if so how?

silver pelican
#

How do you control or set the spawn point of an NPC in his/her schedule??
Mon: "610 Custom_InsideSupplies 3 10 2/1130 Custom_InsideSupplies 13 5 0/1210 Custom_InsideSupplies 3 10 2/1600 Custom_InsideSupplies 29 16 2" despite this, he still spawns outside the shop at start of day and goes inside the shop. I wanted him to start his day in his shop and head to 3 10.

vernal crest
#

If you don't want to make his home (set in Data/Characters) inside the shop you need to make your first point on the schedule 0 instead of 610 and then he will spawn at the Custom_InsideSupplies location.

#

He will spawn at 3 10 rather than going there though

violet mica
#

i'm on 1.6 i did try to find how others names them but the few portraiture mods there are for RSV use the same names i have tried 😔

silver pelican
#

thank you so much! :333

vernal crest
#

Oh my goodness I'm up to 282 Stardew-modding related tabs open

violet mica
vernal crest
#

This needs to stop

lucid iron
#

oh i was just unsure what you meant by art style Bolb

icy viper
#

@brittle pasture Hey, sorry for the ping again, I tested the feature and it works really well. The only problem is that it seems like MinutesUntilReady doesn't work and I get the item instantaneously (without needing to collect it myself) even if I null overrideMinutesUntilReady and add MinutesUntilReady in machine data. Any ideas why this happens?

#

Also forgot to mention, while testing with Automate, the holder item appear right after the intended output item while automate collect item and Automate also collect it into the chest. Not sure how if that happens manually since I cannot test due to the thing above.

brittle pasture
#

The feature shouldn't affect ready times. Can you post your machine data?
I'll look into the chest/automate interaction

icy viper
#

Machine data as in like CP one or C# one?

brittle pasture
#

CP
Though the C# snippet may be useful depending on what it does

violet mica
#

oh i meant i don't personally like the pixelated portrait style used in stardew, like the vanilla one, RSV didn't have a portrait mod i liked so i decided to draw my own SDVkrobushappy i also drew my farmer in my profile pic (i hope i understood what u meant)

lucid iron
#

yea i was just saying that the expectation for a portraiture is that it won't be very vanilla and so you should indulge in your own style

brittle ledge
#

Oh, something occured to me: does Portraiture/Plus support Appearances? Pretty sure RSV switched over to that in the 1.6 update.

hard fern
#

🤔 its got this

brittle pasture
#

so the answer is probably not then? looks like its own logic instead of leveraging Appearances

hard fern
#

yeah

vernal crest
#

In a final test run of my mod I discovered that my NPC was not wearing any clothes xD

hard fern
#

uh oh!

mellow verge
#

Hi everyone. I made a replacement river farm map in Tiled. I need help with the ponds (again!). But now I can fill the ponds with different types of fish. I added some fish to the river, but now I want to add algae and trash. By default, what is the chance of algae and trash dropping when fishing in normal rivers?

icy viper
# brittle pasture The feature shouldn't affect ready times. Can you post your machine data? I'll l...

C#: https://pastebin.com/FmbKNSCV
CP: https://pastebin.com/RGC5M1bU

Regarding ready time, I mistakenly put MinutesUntilReady under OutputItem instead of OutputRules so it caused the instant item problem. Overriding the MinutesUntilReady in C# doesn't seem to work still. But I might have also made an oopsie in the code. Can you please take a look at it?

eternal mortar
#

Hi! ive been working on a mod for a while, and my town map (labled MMItown) was working fine until now, as now the game cant seem to find it. It states its a key issue and im not sure how to fix that. sorry if this is a stupid question but id love some help to fit this. here is my log (Ignore all the character errors and mods i need to update): https://smapi.io/log/368c13c5626e4761ae0c2a8cc1c77ac5 and here is my JSON: https://smapi.io/json/none/640cb3d2c410492badea3290b2595a85 (please ping me)

ocean sailBOT
#

Log Info: SMAPI 4.0.8 with SDV 1.6.8 build 24119 on macOS Unix 13.5.0, with 40 C# mods and 37 content packs.
Suggested fixes: One or more mods are out of date, consider updating them

winged idol
#

hey guys i wanna make a mod about employment events... something like you'll apply for a job, have a sched, and then have blackout screen, and you get paid minimumwage.. is this easy

eternal mortar
hard fern
#

uhhh

#

it seems a little complicated

brittle pasture
#

overrideMinutesUntilReady doesn't work if your OutputMethod is in the secondary byproduct

#

I'll document this in the README in a couple hours, thanks for the info

vernal crest
icy viper
#

Ahh, okay. Is it easy to fix? I'm not exactly a programmer so not sure how complex things could get.

eternal mortar
dim yew
#

Can a kind soul remind me what it takes in 1.6 to add custom dialog for a certain gift? I remember it being a bit of a nightmare pre 1.6

eternal mortar
dim yew
brittle pasture
# icy viper Ahh, okay. Is it easy to fix? I'm not exactly a programmer so not sure how compl...

it's not that complex
just do something like this in your output method

Item output = ItemRegistry.Create("(O)selph.ExtraMachineConfig.Holder");
var chest = new Chest(false);
output.heldObject.Value = chest;
chest.addItem(/*put the secondary output here*/);

(disclaimer I typed all that on my phone, there's probably a syntax error in there. Fixing it is an exercise left to the reader)

vernal crest
hard fern
#

SDVpufferflat despair, i need to finish walk sprites

#

wait no i don't i can just "enlist" the help of abigail

#

for testing purposes

vernal crest
eternal mortar
#

no I had to re open it should i grab a new log

vernal crest
eternal mortar
ocean sailBOT
#

Log Info: SMAPI 4.0.8 with SDV 1.6.8 build 24119 on macOS Unix 13.5.0, with 40 C# mods and 37 content packs.
Suggested fixes: One or more mods are out of date, consider updating them

vernal crest
eternal mortar
#

Me neither I’m gonna explode 😭

mellow verge
vernal crest
eternal mortar
#

Yes I will give me like an hour as now im busy 😭

vernal crest
hard fern
#

😔 i dun forgot how to get a custom spouse room/patio loaded into the game

eternal mortar
#

Tysm!

dim yew
#

Does anyone know of a mod with an example of GiftEventTriggers in spacecore? I’m having trouble understanding these keys 😳

#

or even just a screenshot/paste of an example

ornate trellis
#

yall im crying i have a prblem with my machines

#

when i click to retrieve the items the number jsut changes and i can infinitely get more

brittle pasture
#

Remove OutputCollected

#

just DayUpdate will suffice

icy viper
ornate trellis
#

oh

brittle pasture
violet mica
#

i think i got the Maddie and Irene ones to work? i tested it with Maddie and i talked to her before and after she changed to the lab outfit

lucid iron
#

Professor Selph assigning spot the syntax error homework

ornate trellis
hard fern
#

where exactly are the spouse patios located in the game files... im lost 😭

ornate trellis
#

frick why is it this weird format

hard fern
#

💀 nvm

#

i found them

ornate trellis
#

what is going on

lucid iron
#

Endless shrooms

ornate trellis
#

endless everything...

lucid iron
#

Did you have output collected with no process time

brittle pasture
#

I still see OutputCollected in the solar essence rule

ornate trellis
brittle pasture
#

And presumably with all your remaining rules

ornate trellis
#

oh wait yeah...

#

i forgor i had to do that for every item..

hard fern
#

🤔 do some of the spouses just not have things to do at the patio?

tiny zealot
#

several of them just use the first one (abigail and a few others, i forget which)

hard fern
#

harbey, elliott

#

uhh

#

penny?

tiny zealot
#

easy to check in Data/Characters

hard fern
#

guess they're plant fans

brittle pasture
#

yepyep, they just read

#

Harvey should work on model planes or something, but on second thought that's probably not something typically done outside

ornate trellis
#

hmm

#

so i got my machines working

#

i am now stuck with mail

#

and how to add several crafting recipes at once lol

brittle pasture
#

just putting them one after the other should work

ornate trellis
#

and also, unrelated but my cat keeps snoring loudly and i keep thinking wth is that noise

hard fern
#

it's a boring spouse patio XD

tiny zealot
#

spouse patios are typically pretty boring

brittle pasture
#

hey, the barrel of indeterminate function really ties things together

hard fern
#

(it's so my npc can lean against it and look cool)

ornate trellis
#

I keep only learning the first recipe

hard fern
#

ugh wait did i embed my tilesheets...

brittle pasture
#

Only the first one shows, did you check that both are learned in the crafting tab

vernal crest
#

I AM FINISHED

ornate trellis
#

yeah i check the tab

brittle pasture
#

congrats! and with time to spare for that 8 hour nap

lucid iron
brittle pasture
vernal crest
#

I will happily take much more wrestling with C# and even learn transpilers over wrestling with file organisation and GitHub any longer puffer_flatter_1 puffer_flatter_2

lucid iron
#

Tbh all u need is git clone git commit git push

ornate trellis
#

i think i found the issue...

#

it somehow copied my items twice halfway?

#

lets ee if that fixed it

#

the reason i know one was cuz i forgor to change the recipe from default to none instead of the mail being an issue

#

huh

hard fern
#

sigh. (i did in fact almost forget the disposition)

#

now i have to actually go into the game to figure out where im gonna load in this npc

brittle pasture
ornate trellis
#

nope, still no recipes

#

even made a brand new file

#

err save

brittle pasture
#

can you post your recipes file?

ornate trellis
brittle pasture
#

Your mail refers to {{ModID}}_ArcanePlant while your recipe is VWW.CP.spookymachines.ArcanePlant
Presumably you wanted a dot instead of an underscore in the mail data?

ornate trellis
#

thatll be it...

#

deathpose that was it

#

thanks for the help

brittle ledge
#

(Are you trying to make a mod about them? If not, you want #modded-stardew )

hard fern
#

😓 its been so long since ive married an npc, does the heart cap increase to 14 as soon as you marry them?

brittle ledge
#

I would assume so?

dim yew
#

I hate to bump so soon but I have a mod contest entry…. 🤣🤣

brittle ledge
#

That seems like the kind of thing Avi would play with, check with them? SDVpuffersquee

hard fern
#

if i want an event to be able to be triggered as soon the player is married, how would i go about that? like as long as they're married to this npc they can see the event

brittle ledge
#

Just make the only precondition married to X NPC (not sure which one it is off the top of my head)

hard fern
#

when: { "relationship_NPC" : "married"} ?

#

or something like that

uncut viper
# dim yew Any ideas friends? Lol

i dont know of a mod for it, but going by the docs, i think this should be all you need?

{
  "Action": "EditData",
  "Target": "spacechase0.SpaceCore/NpcExtensionData",
  "Entries": {
    "NpcName": {
      "GiftEventTriggers": {
        "(O)ItemId": "EventId"
      }
    }
  },
  "When": {
    "LocationName": "WhereverYouWant"
  },
  "Update": "OnLocationChange"
}
#

with some considerations for using Fields or TargetField if its an existing NPC or disregarding the when/update condition if you dont care about the location

brittle ledge
#

Hmmm I was thinking there was a precondition like e and f but maybe marriage events just run off heart level SDVpufferthinkblob

dim yew
uncut viper
#

and also the disclaimer that ive never used that before, so im not 100% sure, just going off the wording in the docs. if that doesnt work then BETAS also has a GiftGiven trigger too

brittle ledge
#

Preconditions take GSQs right?

uncut viper
#

theres a GSQ precondition though it doesnt handle quoted things correctly right now if that matters

#

/G <GSQ> i think

hard fern
#

i'll just stick in big bolded letters "PLEASE SEE THIS EVENT 🥺" on the mod page or something SDVpufferflat

uncut viper
brittle ledge
#

When you say as soon as the player is married, does it matter that it's like the same day as the wedding?

dim yew
uncut viper
#

(and also if that example still doesnt work maybe try unqualifying the item ID iunno)

hard fern
brittle ledge
#

Because if it doesn't just use /f NPCname 2501. I'm like 90% certain NPCs can't get above 2500 FP without marriage.

uncut viper
#

as soon as possible can be as early as literally "once they receive the pendant" if you wanted it to be and had the right dependencies

brittle ledge
#

(edit because I can't math)

hard fern
#

😓 and one more question... when exactly are the library's hours

brittle ledge
#

It's in the library?

hard fern
#

yeah

#

err.. i kinda dont know where to put it

#

the farmhouse was my first guess but

lofty ruin
#

Is there a tutorial on how to add dialogue choices (from the farmer in response to the NPC)

hard fern
#

ooh questions

next plaza
#

(Or maybe I added it and then vanilla had it later)

uncut viper
#

(playevent is spacecore)

crystal yarrow
#

npc is finally working but now he is stuck in the playground and randomly runs around

hard fern
#

if i stare at my mod long enough it will write itself...

finite ginkgo
#

You'd think that after a year of the mod floating around in my brain it would've written itself by now

hard fern
#

why am i only writing marriage dialogue?? do I have nothing else in my brain?

cyan marsh
#

hey everyone

#

soo.. i managed my initial goal

#

but I need someone who uses mods that add items to test it

warm garden
#

Hey all, hope I'm not being a bother - I'm trying to create a mod in Visual Studio but I can't even get past making the manifest. When I click Build it throws this error:

[mod build package] Failed trying to deploy the mod.
System.IO.IOException: The process cannot access the file 'C:\Program Files (x86)\Steam\steamapps\common\Stardew Valley\Mods\ConfigurableCasks\manifest.json' because it is being used by another process.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.File.InternalCopy(String sourceFileName, String destFileName, Boolean overwrite, Boolean checkHost)
at StardewModdingAPI.ModBuildConfig.DeployModTask.CreateModFolder(IDictionary`2 modPackages, String outputPath)
at StardewModdingAPI.ModBuildConfig.DeployModTask.Execute() ConfigurableCasks C:\Users\alici.nuget\packages\pathoschild.stardew.modbuildconfig\4.3.0\build\Pathoschild.Stardew.ModBuildConfig.targets 87

I can't figure out how to fix this at all

rancid musk
#

Make sure you don't have the manifest.json file open in a text editor or something. That is, specifically, the copy of it in the destination folder.

round dock
warm garden
#

I don't think it is, I've even looked in Task Manager to make sure I don't have any other text editors or anything open in the background

tender bloom
#

Has restarting your computer helped?

#

A bit much I know, but it might clear things out

rancid musk
#

Sometimes Visual Studio will bug out and leave file handles open, so you'll need to close it and/or kill msbuild.exe

cyan marsh
#

Can I happen on a tester here?

old edge
#

Hello 👋 why doesn't the replace delimited text operation operate ?

warm garden
#

I've already tried restarting my computer, and even uninstalling and reinstalling VS, on top of deleting the file(including that hidden .suo file) and restarting

rancid temple
#

You can share what you're doing for specific help

old edge
#

I tried using it but it says it's not found I'm still on 1.6.5 and using content patcher format 2.3.0?

rancid temple
#

1.6.5?

old edge
#

I haven't updated

#

Since I run the game without steam

rancid temple
#

Do you have other CP mods that use 2.3.0?

#

I don't actually know how CP's backwards compatibility works, in that regard

lucid iron
rancid temple
#

Regardless of that though, the delimited text operation should have been available for a while now

old edge
#

No I think I just used 2.2.0 and got 2.3.0 from the wiki

uncut viper
#

ReplaceDelimited is CP 2.4.0

#

you're thinking of RemoveDelimited

rancid temple
#

I didn't even know 2.4.0 was out lmao

uncut viper
#

ReplaceDelimited is new and 1.6.9 only

#

it is not yet

#

besides in beta

rancid temple
#

Oh, I live only in the beta lmao, I haven't launched today though

uncut viper
#

(tbf i dont actually know if its in the currently like, compiled CP beta build. but it was merged into the repo a month ago)

rancid temple
#

!json @old edge if you share what you're doing I can try to help more