#making-mods-general
1 messages · Page 70 of 1
the sarcasm lol
I was thinking of giving two options, joystick or dpad, but it would directly control the green bar like the mouse would do. But yeah, now the name for the mod could change
Oh that's how I took it, though I guess it wouldn't be that weird for some dev from Unity to want to make SDV mods
ill help test if u send a build
thanks! I will DM you it
The later ofc
i'm fairly sure the dpad is mapped to the joystick axes ingame
unless i'm wrong, i really only use the gamepad to test menus lol
D-pad control wouldn't be analog, though, obviously. Sounds pretty hard to control that way.
good enough for the nes, good enough for you
I will set up a repo, good idea
NES games didn't have anything as fancy as the Stardew fishing minigame.
Actually, if we're going chronologically, very old fishing minigames like the one in BoF2 worked very much like Stardew's, and other games of Stardew's era had already moved onto other mechanics, mostly using the analog stick.
Got it
Doing my division by writing to a register
And waiting eight clocks
Pah, who needs division anyway?
(Would you believe me if that is the only thing I know about the nes?)
I think there's two different key bindings https://stardewvalleywiki.com/Modding:Player_Guide/Key_Bindings#Controller I would use DPadDown/DPadUp vs RightThumbstickDown/RightThumbstickUp
i've waited many clocks for this day..
Division is just degenerate multiplication.
wait what is BigButton
(That and it would take about 10% of the cpu time to render Mario's score due to that weird division.)
This is probably not the way you want to handle it in the minigame; you want to read the actual analog stick values so the player can control speed.
this thing apparently
is it an accessibility controller?
looks like a buzz controller to me lol
Wow, I didn't realize there were controllers out there worse than the N64, or the PowerGlove, but there it is. Way to go, Microsoft.
it was for a trivia game, the big button is for the buzzer
ABXY becomes the choices
How do I get the analog stick values? If I use OnButtonsChanged https://stardewvalleywiki.com/Modding:Modder_Guide/APIs/Events#Input.ButtonsChanged It only gives whether the joystick is held or not
You don't use SMAPI events for this. Use Input.
laugh if you must, but sony made the same for the ps2 
Ok thanks, makes sense
I'm not sure if SMAPI even gives access to the stick values, now that you mention it... might have to just use Game1.GetInputState()
was there a big trivia video games phase that i slept through
yep hahah
Correction, that's Game1.input.GetGamePadState()
buzz and scene it for ps2/xbox were huge. thus started the funky controllers era of guitar hero
Guitar Hero was always cringe to me but it at least sort of had a reason to go that way. I mean, the goofy rock star fantasy was half the appeal of the game, and it did appeal to the boomers and some gen-xers.
Do we really need a special controller to make a Jeopardy game feel more immersive?
.. i wonder how hard itd be to support a guitar hero controller for the instrument item in the mod im making
do u own one such controller
yes
just up to monogame then
(absolutely)
does it make more sense to fish with the right joystick or left joystick?
(apparenbtly those controllers just send standard xbox button mappings so, as easy as adding normal controller support, really)
I'd go with left, since normal directional input is blocked during the minigame anyway.
my instinct would be to use the right joystick
do i need to do a poll
And fishing minigames in other games that use the analog stick invariably use the left as well. It's just what players are used to.
no but you can make it a config
Left stick is "move", right stick is "aim".
(or, if not a config, you really can just probably make both work)
You could stick the stick in a config too. Of course there is still the question of which to choose as default.
i will just make everything work including dpad good idea
you could also go the Halo route and just assign it to whichever joystick the player uses when prompted to
I'm not sure how you're designing this but I'd expect a difference in the way d-pad and stick behave.
D-pad can only move up or down with some fixed velocity; whereas with a stick, I'd expect the position of the stick to actually mirror the position of the bobber bar.
idk how the mod works with mouse so maybe my assumption would change after using it/reading the description but i woulda just assumed the position of the joystick would control the speed of the bobber bar movement
That is not really much of an improvement over vanilla behavior, though.
yea i mentioned d-pad arbitrarily, i dont play game with controller so my opinion is not relevant 
with full throttle up being maximum speed upwards, pointed just a lil bit up being it moves upwards slowly, and vice versa for downwards
it would be an improvement for bobber bar bouncing
Why, though? The bobber bar is not a 360° axis, it's a fixed range. The stick range is a fixed range. The mental map is 1:1.
"why?" because thats how id like it if i was a user. dont really need a reason
not saying thats how ruggerbuns SHOULD do it. just chimin in with thoughts from a user perspective for them to take into consideration if they want or discard if they dont
guys its ok im not looking for the perfect system yet, i will just do a first easy test version and see how it feels and adjust as i go
no test. only perfect
yeah I second button, I would not like a "hold the joystick in this expect alignment to keep the bobber in one exact position"
if u do make dpad support then i can rebind it to page up and down right 
you have a Page Down Right?
those space cadet keyboards have lots of buttons
I haven't looked at Key Binding settings much, is it easy to code a custom keybinds menu?
with Generic Mod Config Menu it's pretty easy
you can look at its documentation for examples
yea, just slight limitation in that u can only bind 1 key at a time even though keybindlist supports multiple
ah yes, I have Generic Mod Config Menu setup already, i will look into it
you can bind multiple keys
just a tad fiddly
(and by that i just mean when you bind the second/third/whatever key it will temporarily show JUST that new key on the config menu but will in fact be saved as a keybindlist and look like one the next time you open your config)
(you do need to write custom GMCM save function code tho)

Does the https://stardewvalleywiki.com/Modding:Modder_Guide/APIs/Events#Input.CursorMoved CursorMoved event get raised when the user moves a joystick?
My mod works
if it moves the cursor, I think so
now I have night-day transitions, Buttom!
I mean, as an example, using an xbox controller, if I use the r-pad, I move the cursor. so I would expect it to raise
now just might wanna make sure it doesnt break with other mods that might need rigid daytime rules 
it doesn't change the daytime rules so far
Well I'm trying to detect joystick movement when the user is in the fishing minigame, but there's no visual cursor there. CursorMoved does get raised when the user moves the mouse in the fishing game even though there's no visual cursor, so I assumed it'd be the same. Probably need to test this.
I just postfixed the UpdateGameClock to consider values between 2600 and 3000 when making the ambient light transitions
yeap. seems plausible at least
I hope it works
I am so happy that now I can launch a Night Owl Plus with all the things that had broken and with somethings more
like getting exhausted if don't sleep and having diminished energy recover if sleeping closer to 6AM
the base game already have it to 2AM, I just made it all the way
It won't. You have to use the gamepad state. Gamepad doesn't move the cursor unless there's a menu open. (Or unless you turn off controller-style menus, which I assume no one does because it's broken)
question, if i wanted to make a machine where you have to hit it 3 times with a custom tool, would this have to be C#?
yes
oh boy! thank you
do ppl stack crit damage
i am make ability that heals u when u land a crit, relative to the damage amount, not sure what % to set
i think daggers are built around crits
iridium needle crit stacking is a build
yeah iw as gonna say crit dagger is my go to build so yes
it checks the amount of damage given by the weapon or received by the target?
what if you went a bit extra and made it scale downwards with the number of crits in a given timeframe
first hit gets 10% and every crit after that within a 1 second period goes down 1%
thats complicated logic to expose
thats why i suggested it to you and not myself
but yea i do have general proc timeout
if i make it proc only once every second though, that just favors the dragontooth hammer build
all the complicated trinket related ideas i had back when i was considering a trinket framework i can now just dump onto you since i dont need to do the annoying implementations. 

i dont think its necessarily bad for some things to favour some builds. i think thats why builds exist at all
number of crits in a given timeframe is like
if everything was the same there would be no builds
not very hard to impl at all in C#
but i think it's too niche to make then try to expose to content pack
Is this a random proc in addition to time-limited?
this is the type of thing i expect ppl such as button to register an Action for
its only random insomuch as "player must get a crit"
outsourcing...
10% is pretty much a full heal for every iridium needle special, then.
tbh, how many people with an iridium needle crit build are really dying anyway?
That's not necessarily so bad, I mean you can just bring a stack of cheese, healing is not a huge deal in Stardew.
why not make the crit heal exposed to the content pack author
like let them change the %
it is
oh
yeah, i'm team "time freezes to eat and a single iridium-quality magma cap is a full HP/Energy refill, so who cares"
there is Qi's no eating challenge, but that one gives you free healing so eh
The main thing it'd be useful for is the Skull Cavern No-Eating quest (I forget the name... Qi's Hungry Challenge maybe?)
things already supported by the framework
- healing based on % damage dealt
- proc only when crit
- a cooldown on proc
thing i am not sure if i want to support - dynamic proc magnitude based on number of proc in a time frame
real challenge is crossing the crimson badlands with no eating allowed
anyways i dont think ppl are dying by the time they have trinkets
Thing is, HP and energy management are more of a mid-game thing. By the time you get trinkets, they're irrelevant.
if the content pack author alreeady controls the crit heal % why do you need to worry about 10% vs 5%
we have fairy in vanilla after all
im the content pack author
this is my spirit's eve mod
oh. i understand now
so im asking for balance advice 
Ah, your content mod is an advertisement for your framework, hahahaha
for what it's worth, you could do a very basic dynamic proc magnitude by just setting the power level to 50% of normal as soon as it procs, then lerping it back to 100% over the next <value> milliseconds
or change 50 to whatever, i'm not in charge
(honestly im jealous of the genius and opportunity here)
Free real estate
Yeah I don't have a problem with it. (Insert "I'm not even mad" meme)
maybe if i rush my museum framework i can make a halloween museum to advertise mine. whats scarier than an empty museum, after all?
me and my tree machine framework
It's funny though.
tbh its just me being big slacc about the event
I did contemplate adding BETAS to mothman but I wanted a quick and dirty npc
a seemingly empty museum that isn't
wow smurt
No one will see the 13 though. Make it a flat 13 points instead.
13% is too abstract.
oh yeah true. what frankenfocus said
I think health is an int.
(i was gonna say make it show 8.00 for "boo")
yea it is lol
Stamina is a float though for some reason
health is an int
does the framework support crop/machine/forage harvesting 
CA must have wanted those 0.1 reductions in energy use for higher skill levels but didn't want to have huge values
yea i was gonna do it
originally i wanted to do some cursed spaget where the trinket can perform the function of some tool id you provide
it was too cursed though, so i am do it normally now
i would just make a dracula-looking trinket that did a heal over time but idk if you had that implemented
i did sort of
kinda like the tractor?
spacecore has a hot buff
I wish I knew what everyone was talking about.
That's not too different than the fairy though
i think bats should be heal on damage dealt, given the vampire ring
a -hp one that slowly damages you but boosts your dmg then 
thats on theme 
I wonder at what point we're going beyond trinkets and into "generic combat buffs for equippables" territory
now I thought about a functional weapon scythe
eh spacecore has that already too 
it has?
because a lot of these ideas I'd want for a ring/shirt/weapon/food/etc
there is greater focus on implementing things in a way that are dependent on the companion doing stuff
ngl i don't think i've ever used the trinkets
so like the hoeing works by random tiles around the companion
not around the player
making these work for wearables is gonna need harmony 
but i will make separate mod that let you wear more trinkets
to create your class instead if Ring
so that the harmony can be quarantined
i think wear more rings already has the feature but havent tried
wait why machine harvesting
your fairy flies up to a ready machine, yanks the output and flies back to you
admittedly that will be only useful if you dont use Automate
this seems very impractical yea 
That sounds slower than walking to the machine and getting it, unless the fairy is super fast.
yeah lol, on second thought probably not
the one that i will probably do is forage
I mean you can make it fast
so the companion can just yoink stuff for you as you walk around
or even stuff like vacuum every ready machine in a shed
If you've got a shed full of machines though, you have to wait for the fairy to go to one, come back to you, go to the next, come back...
and throw them at your feet like debris

Yeah, if it could just grab everything in one go through Forest Magic (tm) then that'd work. But then that's basically just Automate, haha
oh yea i am still trying to figure out how i want inventory to work
It is a fairy, and fairy dust is used to make machines finish faster...
flying chest? or add directly to player inventory?
i was going to give the companion an Inventory
former for immersion, latter for simplicity
so it can hold stuff for certain purposes
I think it'd be interesting for a fairy-type trinket to make machines run faster - but not finish instantly, only run at like 3-5x speed, and only when you're in range.
but that is same energy as parking a bot at the minecraft machine to make it run 
That would actually serve as an incentive against automate, since the time you spend walking around to all the machines actually subtracts total time.
Well sure, if your idea of playing the game is just sitting around in one shed waiting for the machines to finish. But that's neither anything a casual player would do, nor a viable minmaxing strategy.
i would think ppl dont usually want to stand around in a shed all day
That's the point, you're not supposed to stand around all day. You put the trinket on when you go to collect/restart the machines.
We do this with rings - there's even a mod to make it easier (Swap Rings).
i think that is doable as long as i make the ability that decrease remaining time
It's not really Halloween themed, mind you, was just riffing on the whole "machine fairy" thing that had already come up.
later™️
now do I want to un-fix my transpilers so I can submit my halloween mod for 1.6.8 and benefit from the Nexus visibility
cant u just do a #if
good point. my brain was too mush to even consider it
it is still annoying with stuff like lights though
yea pein
1.6.9 string light IDs my beloved
hm
what if u put it on sdv forums first, with big text saying SDV 1.6.9 beta only
and then release to nexus after 1.6.9
anybody know the range of int direction values an IClickableMenu can receive in the receiveScrollWheelAction method?
my mouse does distinct clicks and each of them is -120/120. i figure smooth scrolling wheels or trackpads or whatever will give lower magnitude values at slow speeds?
i've never checked the actual value, only that positive values are up
but then again, loc code..```cs
foreach (GenericPage page in this._pages)
{
if (page.IsVisible)
{
page.OnScrolled(x: cursor.X, y: cursor.Y, isUp: direction > 0);
}
}
this.InventoryManager.OnScrolled(x: cursor.X, y: cursor.Y, isUp: direction < 0);
i have no idea
i was hoping to avoid having it be too sensitive. maybe that's not a concern?
https://stackoverflow.com/questions/18321372/xna-zoom-using-mouse-scroll-wheel
"ScrollWheelValue gets the cumulative mouse scroll wheel value since the game was started, so every time you get it you need to copy that value in a variable, in order to compare it the next cycle."
errrrrr
the direction var is presumably the game doing that comparison for you
makes sense. so i guess it just depends on what your hw/os sends
i'll just assume everyone has a setup comparable to mine. that's always a sure bet /j
respond to every performance issues with "just buy a $3000 PC"
smapi tell me that love of cooking, renamed cooking assistant cant find the love of cooking dll? ways to resolve this?
selph im right here 
did you download BOTH the Love of Cooking and Love of Cooking [CP] folders from the alpha zip?
It's gross and totally erratic. I use it only for direction; pretty much the only thing you can rely on is that > 0 is up and < 0 is down.
At least from my experience, it only works in the Y direction. I have a wheel that can scroll in the X direction and receiveScrollWheelAction simply doesn't fire for that.
apparently XNA also keeps track of horizontal scroll separately
hmm, ok. mine is 100% consistent, but i have an old-style mouse where the wheel clicks and each click gives the same value, so who knows lol
the game probably doesn't have that hooked up
smapi say in red , loveofcooking.dll doest exist
What I meant by erratic is that the values don't seem to correspond to anything objective. They may be consistent on a single machine/device but I would not count on the values to be broadly applicable.
did you install it with vortex or nexus mod manager?
manual
ah, i see what you've done. you want to download the 1.6 alpha from this zip file:
#modded-stardew message
you've downloaded the source folders, which aren't usable ingame without being compiled
(the work folder is a bunch of psds and test images and files, hence a dead giveaway 😌 )
This is literally all I do with the scroll wheel: https://github.com/focustense/StardewUI/blob/eae702d5fa9be2b6949761855e397c5444c82e53/Core/ViewMenu.cs#L414
But hey, if you find some way to interpret the values objectively, let me know, I'd love to incorporate it.
ahh that the reason, ok i check it
as an alternative, you can just set up Visual Studio and compile your own version of Love of Cooking yourself
hahaha yes i checked and that the reason
(The sparkles emoji looks exactly like the AI buttons being used everywhere today...)
@brave fable now, i need to find why my cp portraits doenst work, they load but dont show
Here is the repo for the Mouse Fishing mod: https://github.com/ruggerbuns/MouseFishing The controller support is basic for now. There are no settings or keybinding options yet. If you could test moving the Right joystick, Left joystick and D-Pad that would be great. There is only one speed for now, so moving the joystick a tiny bit vs moving it all the way makes no difference. Let me know how it feels and if I should try to get a more dynamic speed based on how far the joystick is moved.
im judging you for all these null warnings \s
boooooooo
ah well that's not my mod, so i don't know hahah. off to #1272025932932055121 with you 
default value null being indistinguishable from "I told you null"
being annoying AGAIN
If it's a CP mod they're making then it would just be here lmao
i suppose so
are you making a mod or using someone else's?
Fairly certain they're not making the mod just using it
I'm thrown by the "my cp portraits" part in this case
oh youre the owner, thank im really enjoyed your mod, that the fist taht i search, for my new playthrougth with 1.6
they're trying to make it seem like ✨magic✨
theoretically the IsReadyToMouseFish() call should ensure this.bobberBarMenu is not null, but the editor isn't smart enough to detect that
The real magic is the code we stole along the way
[DefaultValue(ReallySeriouslyNull)]
Doesn't it almost make you wish for... undefined?
works as expected though
i did find dpad to be easiest to use
esp on this test save with 1 fishing
Pssh, you curmudgeons can emote however you like, I think Atra knows the score.
awesome, that's great news. So do you think a more dynamic speed for the joystick would make it easier to use?
there is a trick to that
tbh it could just be my controller being mystery brand off amazon and therefore trash
the problem isn't there. The problem is that later in the code they use null to mean the programmer did not set an attribute and didn't ahve the concept to say the programmer set an attribute and the attribute was null
Or, you know, using the stick to control position instead of velocity.
u should really ask opinion from ppl who actually use controller to play stardew
it should NOT BE SERIALIZED ANYWAYS
Right, that's what I was saying. undefined means "didn't provide a value" and null means "no really it's actually null".
Yes, I will try this
I mean, if we had undefined, that's what the difference would be.
Thank you for your help, at least now I know the keybinds work, I can continue from here
(in python for a similar case I used...heck, I think I did something silly like a singleton object named Null lol. Or did I name it Nil. It's mostly only useful for metaprogramming)
unfortunately, xmlser is metaprogramming
in a perfect world there'd be no world hunger, cancer is cured, and we're all using Optionals
XML is just hostile to any language that tries to interact with it.
why is it so long
Actually, Option[al] doesn't solve this problem. However, a discriminated union does.
why is a bool? or a int? so long in xml 😦
realistically what you need in this scenario is a random ass singleton you declared somewhere that means "programmer did not supply value" in your context
because I've only come across this in metaprogramming stuff
What you need is a Nullable<Nullable<Nullable<Nullable<Nullable<Nullable<bool>>>>>>.
Which may not be a valid type, but VS has suggested it to me regardless.
Yeah, xsi:nil
Wait, you didn't know that existed?
Or is this just further commentary on not knowing the difference between "not supplied" and "actually null"?
okay whyyyyyyy
I TOLD YOU TO NOT EXIST
why are you existing
I EXPLICITLY TOLD YOU TO GO AWAY
That actually looks exactly like how I'd expect.
why? the value matches the default value. according to docs, that should not have serialized
Did you set IsNullable = false?
Oh, never mind, I just read the very end of the doc, sigh.
Well, value types are Like That.
yeah, what I want is
true and false to be included in the xml
but null to be removed/ignored
The doc at the end of the page is pretty explicit, though. Probably the two requirements are in conflict.
Spec says that nullable value types must be serialized with xsi:nil when null.
really?
That's what it says at the bottom of the page.
yeah, and that's what the code is telling me, it's just weird that I can't see to get [DefaultValue] to work
The default value is an object, it's understood as "null reference" and a nullable value type cannot be a null reference.
Default null just doesn't work with value types, nullable or not.
that's not how C# defines "default" in this case
Possibly, default null doesn't work period, and it just doesn't matter for reference types since they're already default null.
yeah, for reference types they're taken out
The default keyword and DefaultValueAttribute are two very, very different things...
it's a bit hard to have a custom reference type instance in DefaultValueAttribute though 😦
Not custom, though I think it works with strings and maybe some convertible types. But sure, it's meant to work with values. It's just that null isn't a value.
the attribute is academic, I'm just using it for testing at the moment to see what xmlser will do as I try to follow the code 😛
You can get mad, or you can get even. Stick it in a reference type wrapper or, if you can't because of some protocol thing, just override the serialization on the containing type.
(Nothing clears the room like XML, amirite?)
What kind of bird is that?
(its cus i cant draw and the bat sprites were right there)
i was so sure there was an event command to show npcs in the location as they exist outside fo the event
maybe i'm just going nuts after looking at this so long
@brave fable How do i compile your open source 1.6 mods like green house entry and love of cooking
hi, no need to compile them yourself if you just want to play -- there's a zip file of my built 1.6 mods at #modded-stardew message
if you want to compile them yourself for development, it's as simple as cloning the repo and rebuilding from visual studio.
Thanks
do you know why
it says
that it requires
oh wait
yep! you didn't copy both folders from the zip file. it needs Love of Cooking as well as Love of Cooking [CP]
I tried to make a mod for this game but i cant understand the methode namespace or script names concernape uses to get the specific things what i am looking for
If i want to change something in the villagers i do not know where to look xD
depends on what you want to do, if you just want to change names around or make them romanceable, you can use content patcher
if you want more in depth things like new behaviors then you'd have to read c# docs
Like forinstance there is a mod i would like to get but it does not exist in 1.6
It is called action sitting
I would love to update that to 1.6
It is not my mod
just curious, is it possible to make a mod that adds some tv's into the game that can actually be turned on/off that have little animations to make the tv look like its on all the time playing a movie or tv show. is there anything that would make this impossible ? surprised it hasnt been done if not.
But the mod maker does not seem to be active
if it's open source you can just download it off of wherever it's hosted (usually github)
Jupe
Still though kinda difficult to change stuff if i cant understand the naming convencion
Making mods can be broadly divided into two categories:
- Content packs are formatted text files, and don't need any programming knowledge. They can add/edit NPCs, maps, new items, shops, and more. To get started, see the list of framework mods, the wiki tutorial for Content Patcher, and there might be relevant guides on the tutorial wiki.
- C# mods use programming code to change fundamental game mechanics. See getting started with C# modding.
Usually it’s easier to start with making content packs, since you don't need to learn programming.
and dont know what the methodes do for what part of the game
!decompile
If you want to make SMAPI mods with C#, one important resource is decompiling the game to read the game code. Here's how to do it: https://stardewvalleywiki.com/Modding:Modder_Guide/Get_Started#How_do_I_decompile_the_game_code.3F
I have 8 years of active c# expiriance
Making a game atm in unity
The decompile is handy
Will look into that
The decompile is cool but not what i am looking for
Still thx
Just keep in mind you won't be able to release this updated mod.
Decompiling and updating it for personal use is fine, though!
Thx for the headsup
How feasible is harmony patching bits of closed source mods at runtime to fix them for 1.6?
Seems to me your mod wouldn't be able to patch it before SMAPI recognizes it's broken
can you patch SMAPI to patch the mod after it loads it but before it rejects it
Lol, I'm sure you could patch SMAPI to make it do what you want, but I also feel like that's risking really blowing some shit up
oh definitely
Agreed
that's the fun part
Also true
Hrmmm. I had some special dialogue for my NPC on spring 16, but they don't say it after marriage. I added a line to their marriage dialogue file but they still don't seem to use it. "spring_16":"{{i8n:Shannon_spring_16}}",
Try changing your key to marriage_spring_16?
The wiki says that married NPCs don't use the other keys without marriage_ in front
I'm looking at this, should I be looking at a different wiki page? https://stardewvalleywiki.com/Modding:Dialogue
Oops, I am tired, I was looking at the schedule data
no problem thanks for trying to help
In this case I can't use a location schedule to say the line because the dialogue gifts a strong item, and location dialogue repeats itself with every interaction, as opposed to daily dialogue which happens just once.
Which dialogue is being used?
I know the algorithm section talks about the order it looks for the dialogue strings in, so I am curious as to if a StringsFromCSFiles location line is taking priority
so, if I talk to the spouse in the kitchen that morning, they say their line for two kids in the kitchen
Ah
if I don't talk to them at all in the farmhouse, they say nothing at the desert location, just do the kiss animation
(also just do kiss animation if I speak to them in the kitchen in the morning since they already spoke earlier)
I guess the two kids line might take priority but that seems kind of weird that anything takes priority over the specific season_day key
might be because the second kid just came two days ago idk
Very possible
what am doing wrong
You're adding it to Data/Objects though
:(((((((((((oh
right
im just numb to this feeling of crying over stupid mistakes now
Learning is a time consuming process, unfortunately
It also requires a lot of grace for oneself because it's normal and okay to make mistakes even though it feels like it isn't.
If you're feeling overwhelmed, you can always take a break and recharge before tackling it again
the only thing thats making me taking constant breaks is trying to figure out events
the rest is fun to do
Yeah, I avoid NPC stuff if I can help it lmao
but when i noticed the average event is like 3k characters long and no clear way to make it easy to do
that just makes me go :(
Like, I have a basic knowledge of how things should be formatted, but no desire to become very familiar with it
this is rlly being fun to make otherwise, ive never done pixel art before and i started now with this
and i done some nice lil item icons
i think
Ayo, finally someone else who cries about event, my brethren...
I'm more comfortable making garbage in 3D than pixel art lmao
Mind boggling to me how people do all these cool effects n stuff
It's trash either way, but at least I can make it kind of look like what it's supposed to be in 3D
XD 3d is hell i am lucky to have a artist doing all my art for my game
i just dont think i can do this
Events are, like, the last things i tend to do
I think you might be able to using Furniture Framework, though I don't know if you could get it to animate and still function as a real TV. Tea made an adorable washing machine with an animation #1284843685112053883 message
i think i'll go that way too, i think im only left to do compactibility with other mods and then events (which im mad scared of)
You could probably use SpaceCore for the animations but I dunno how you would control when they happen lol
You just have to take events very slowly and test them frequently
would be such a cool little mod if it was possible
Yeah I was also thinking of SpaceCore but I knew I could offer Tea's washing machine as an example for FF
To be fair anything is posible in coding the question is how long will it take before it is made
is that mod public ?
Yeee, tbh ive got 4 npcs ahead of me ad i made two small events for the first but rn i do everything BUT events for any of em lol i wanna do fancy stuff too tho wahhh
THe washing machine itself? I don't think she has released it but I'm sure you could ask her about it. Or you could ask Leroy (the creator of Furniture Framework - he's often around and doesn't seem to mind pings).
Maybe i gonna peek at Arks stuff...
Yeah Void you should definitely look at the fancy event makers' stuff if you want fancy events yourself
Arks, like, the event god
Yeah I've never failed an event before playing his lol
hey i dont know if this is the right channel to do/ask this, but i want to re-draw items from Stardew in my style to, maybe, turn it into a mod and i can find anything but the items, like the fruits, the fishes etc. I was thinking it could be the tool im using to unpack the files and turn the .xnb files into .png files, which is StardewXnbHack, but even on the original "Content" file, i can't find anything that might be the items💀 i really want to just change the items's appearance, not how they work or something. So if someone can help me with that, I'd be so so so grateful
sorry for the big ahh text and if this is the wrong channel to ask this
Maps/springobjects is where they are
(And this channel is just fine to ask your question in!)
let me check
StardewXnbHack is the correct tool, not sure if the other one even works correctly now
OMG i found ittt!!! tysmm😭😭💗 i didnt find anything about it on internet
[[Modding:Index]] is where you'll find most of the modding related info
Most other sites aren't going to be very helpful
There’s a wiki article that details which item is which, too. Not sure if it’s on the regular or the modding wiki, though.
!springobjects
Most vanilla object sprites are in the Maps/springobjects asset. See a table of springobject sprites by index.
Some newer object sprites are in TileSheets\Objects_2. You can check the entry in Data/Objects to see where its sprite is stored; SpriteIndex is the position, and Texture is the asset name (defaulting to Maps/springobjects).
Yup, that’s not the one I meant.
Haha I did not know that one existed. The one you were thinking of (I guess) is on the modding wiki.
There we go.
https://stardewmodding.wiki.gg/wiki/SpringObjects_Coordinates
These two could probably combined into one. 
This is a table with co-ordinates for every sprite in the springobjects.png file. To use, reference the X and Y values in the row and column headers - eg: leek has a column header of 320 and a row header of 0, so its co-ordinates are 320,0.
thats actually so helpful, thank uuu!!!
Could add that link to the spring objects command Oh you said that lmao
another good starting point is looking at mods that do something similar (esp if its "just" changing art)
there's quite a few mods on nexus you could use as reference for how to format the files and where to put stuff
With the Winter Star Gift Giving dialogue: can you edit that?
is this what the say before gifting it to you?
"WinterStar_GiveGift_Before":
Yeah
There's also roommate and spouse options
And the same for what they say after giving it to you
i thought of doing it but i was afraid this is something that i shouldnt do loll
just like tracing art or smth
There's only a very small amount of variation possible (and in some areas, none) for how to write the Content Patcher json for mods (the "code" part when you're not doing anything with C#) so copying what someone else is doing with their json is not considered to be stealing the same way that copying creative work is.
^
Yeah, if you try to have too much variation then you end up with a broken mod lol
the json is basically just telling content patcher where to find things (and what to do with the things you provide)
Or weird violations of conventions that are in place for a reason
so i could just download a CP mod and change the png files to my files? 😭
Pretty much, yeah.
you do have to change some things in the files - telling cp it's your mod etc
that's mostly in the manifest though
It's a good idea to try to figure out what is actually happening as you do that so you can take full ownership over the end product (and fix bugs, make improvements etc) though.
and i was thinking of lesrning how to mess with the codes just to do mods lmaoo
stardew is very, very easy to get started without much coding knowledge imo
(until you want to change that one specific thing that you cant just patch ....)
Every time I do something new-to-me in a CP mod I start by copying what someone else has and then playing around with it until it does what I want. And after that, I copy my own work every time I want to do it again lol
The only time I ever write CP json from scratch is when I'm helping someone else and I'm on mobile haha
i see that, is just that i dont know the basic about coding lol id like to learn about it but it would cost money and making mods would just be a hobby yk
Oh, here's another very useful site - the Content Patcher documentation: https://github.com/Pathoschild/StardewMods/blob/develop/ContentPatcher/docs/author-guide.md
There's a few online resources you can use to learn various coding languages for free, but json is easy because it's not actually code so you really only have to learn how CP wants you to format stuff and that's free
yall are so helpful, thank u!!
Most modding for Stardew Valley isn't actually coding. JSON is a text format for storing data, not a programming language, so you only really need to learn its formatting for Content Patcher (using the Content Patcher docs and other mods) and learn how the game stores information (using the wiki and other mods). You can do it completely for free without having to learn any programming.
personally I'd still call it coding
it's not a programming language for sure but you're still using formatted text in order to tell the game what to do
just not using a programming language
I still refer to it as coding and code a lot of the time, but I find that it's helpful to make a distinction when people are feeling intimidated by it.
I call it coding because it's easier than arguing about it 
Because nobody cares that vegetables aren't a scientifically accurate category, they're still gonna call a pepper a vegetable
Lol except Demetrius
I think the best summary is there are opinions on both sides, and sometimes one particular side can get a little bit...

The urge to banish this ridiculous tile action set up for my crane game mod and make it pull from a custom data asset instead
What's the simplest way to make a tile giving out light outdoors? I tried using the light path tile and giving it the forceLoadPathLayerLights properties but that doesn't seem to work.
What is a good boolean config variable name to ask if the mod should take care of late night ambient light or not? I am having problem to define a name not too long to this...
maybe attaching an invisible light source with it?
it is a CP or C# thing?
CP.
ok, so I cannot help. let's wait for an expert
check out the Light map property, it's used in Town if you need a reference
format is x y 4 repeating for as many lights as you want, where 4 can be various numbers, but usually 4 for a bright light and 1 for a dim light
Aa, so put it on general map properties, right? Not tile properties?
this may help to define the light strength
Alright, I'll try it. Thanks!
playable 
Yey it works. And looks very nice too. 
nice! I loved it!
Nirnroot in Stardew Valley
ok, so my fellow code cookers more fluent in C#, specially @calm nebula :
private void OnAssetRequested(object? sender, AssetRequestedEventArgs e)
{
if (e.NameWithoutLocale.IsEquivalentTo("Data/Fish"))
{
e.Edit(asset =>
{
NightFishing nightFish = new();
var data = asset.AsDictionary<string, string>();
foreach (KeyValuePair<string, string> pair in data)
if (" 2600" in value)
data[key] = value.Replace("2600", "3000");
},
AssetEditPriority.Late);
}
}
It raises an error in foreach because data is of type IAssetDataForDictionary, which doesn't have GetEnumerator() method.
just pinging you because it was your idea and I failed to implement it seems like
I have no idea how to fix it and iterate over data
oh, you want var data = asset.AsDictionary<string, string>().Data
ok, that was the original solution. somehow I failed to copy-paste correctly...
why I am so dumb sometimes?
sorry Atra. Thanks a lot, berry
everyone makes mistkaes 
other errors are raising, as they calling pair.Value a bool and not a string, but this I think I can take care
That's a neat idea, but there's an issue: it would be the same button to watch the TV (see chanels) and turn it on/off.
sooo i read that in the wiki, the random bubble spots are only available on riverlands farm; how do i give this feature to an AdditionalFarms farm map?
but wouldnt they be custim tvs ? as in these new added tvs dont have the typical stardew tv function ?
is there a debug command to check if a event is set as seen or not?
it's possible to do that but it requires custom C# code
Can't you just not make them TVs, Leroy?
I'm curious, how do you imagine this new TV type to work?
well, yeah, but then you can't watch them like vanilla TVs
Yeah but what I gathered from their message was that they wouldn't expect them to be watchable
Not exactly
The thing I do is patch parse "{{HasSeenEvent|contains=myeventid}}"
oh, then it's just an animated Furniture, with all frames identical when the TV is off, so pretty easy to do with FF
@amber radish
thank you, I will try that!
maybe some of them are just on like you place one down and it looks like its just on all the time
yeah i know nothing of modding but it would really add some life to the houses i think xD
!modideas so this is more of a loose request/idea
If you have a mod idea that you aren't planning to make yourself, you can put it in the mod ideas github: https://github.com/StardewModders/mod-ideas
However, this does not mean anyone is guaranteed to work on your idea—modders who are looking for ideas sometimes go through and work on what they find interesting off this list. If you want to pay someone to make your mod idea, there are a few people who do commissions (mostly art, sometimes code); you can ask around, search usernames for the word comms, or see !commissions.
if you want to give it a go, here's the FF documentation https://github.com/Leroymilo/FurnitureFramework/tree/main/doc
All the tools you need is a pixel art editor and a text editor, and if you ever need help with FF, you can always ping me
A Mod Framework for Stardew Valley to give more options when making custom Furniture. - Leroymilo/FurnitureFramework
thank you !
Remind me in 9 hours to see if I completely broke this mod or not
now that is a quality reminder
consider it done (#6315026) (9h | <t:1729549135>)
(me every time I touch FF code)
(the answer is always yes)
tv that is always on 
maybe if the logic was like
use -> watch a channel -> channel stays on until use again -> tv off
so, my aunt's house
Double down with the contest, add spooky images
ah yes gotta get some tv ambiance sounds to make it really immersive
Hey @ivory plume
What I just pushed to gh is the aquarium 1.6.1. I...apologize.
I'm probably going to pause on this for a while, there still stuff I'd like to do (like making TS optional, removing the JA dependency entirely, dealing with possible internal name collisions, and somehow figuring out the MNF migration) but it works!
Is it possible to render cyrillic in chat while client is using english language? Cuz they just appear like this :(
( @chrome mountain and at some point of time I should go over the new extensibility stuff; hopefully in the future fish expansions can add their own aquarium rooms so you don't have to do all of it 😛 )
Yet it works the other way around when you try to print english letters on russian interface language
@calm nebula Thanks a lot for that solution! it pushed me in the right direction to make the mod compatible with most mods that add fishes to the game
I just wanted to properly thank you

the font is tied to the language and the game's english font doesnt have cyrillic
is it possible to counter that somehow?
just adding a file of cyrillic font
or smth like that
I think would need to edit the english font file to add the characters
maybe if u load the ru-RU fonts over the no suffix ones
hmm
thanks!
pt-BR has a separate font file that doesn't incorporates our ç
this is outrageous
!officialbug
If you've checked that it's not a mod bug:
- Report gameplay bugs to the Stardew Valley developers here: https://forums.stardewvalley.net/forums/12/ (do a quick search first so you don't report something they're already looking into).
- Report typos or translation errors here: https://forums.stardewvalley.net/forums/32/
Alternatively, you can emailsupport@stardewvalley.net
if a method has a return type, the only way to patch it with Harmony is with a prefix? or a postfix would do too?
nah, I am good
return type doesn't affect which kinds of patches are available
the question is if a postfix would replace the returned value successfully or if the original method would return before the postfix is applied
postfixes can absolutely change the return value. it's one of their best uses
maybe I am just thinking in it too much. If Harmony patches works by holding the return before the postfixes runs and making sure the last has precedence, it will work
thanks
your void postfix(..., ref T __result)
{
if (your conditions) {
__result = the new value;
}
}```
where T is the return type of the original method
broadly, if a postfix can accomplish your goal, you should prefer to use one over the other types of patch
hmmm
class isTimeToTurnOffLighting
{
public static bool Postfix(GameLocation location)
{
return ((Game1.timeOfDay >= Game1.getTrulyDarkTime(location) - 100) || (Game1.timeOfDay <= 300));
}
}
Doesn't work like this so
that is not how to change the return value. see my example above
yeap, I was just confirming this
you need another parameter to your postfix called ref bool __result (exactly so)
I bet that example is given in the harmony documentation
don't count on it. i find the documentation quite terrible
class isTimeToTurnOffLighting
{
public static void Postfix(GameLocation location, ref bool __result)
{
__result = ((Game1.timeOfDay >= Game1.getTrulyDarkTime(location) - 100) || (Game1.timeOfDay <= 300));
}
}
I too. that's why I got focused on the examples on the wiki
that looks better
just to reference, patching this one:
public static bool isTimeToTurnOffLighting(GameLocation location)
{
return timeOfDay >= getTrulyDarkTime(location) - 100;
}
so trying to keep the same structure to easier reading
hopefully it will make the windows lights update when indoors on my late hours
not successful
back to the code reading
😔 how would i go about making a custom npc mod in this day and age? it's been so long....
!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:
-
Tiakall has a great tutorial on making a custom NPC for 1.6.
-
NPCs no longer use dispositions, check the wiki page for the new NPC data.
-
Aviroen has put together a template that will allow you to easily create a romanceable NPC.
-
Feel free to jump into the https://discord.com/channels/137344473976799233/1277457201077813280 thread for more interactive feedback and help!
tyy
I found a property that is just set once out of context that I am looking for it
ExtraMillisecondsPerInGameMinute is set only once as base.ExtraMillisecondsPerInGameMinute in MineShaft.cs under the condition if (!Game1.IsMultiplayer && getMineArea() == 121). But it is used to update lighting in all indoor ambients
I have no idea what to do with this

I thought changing window light from day to night would be easier after I had made a complete day-night-day cycle... but no...
I have no idea what I am doing with git and just deleted half of my mods, woo. Now I have to get them back and add them back to the repo I just deleted them from.
this is also me working with git
good luck
I have no other idea to change indoor lights...
nothing that I do works
I know that indoor tiles changes on 1800 and windows get dark at 2000, but have no idea what changes it and how to make them go reverse
I'm pretty sure the timeOfDay always counts up, and only goes back down to 600 (for 6:00 a.m.) after the player sleeps.
so 2:00 a.m. when the farmer faints is actually 2600
for context, I am making another Night Owl mod, which the core mechanic is to override the forced fainting at 2am and let the game run to 6am.
almost everything is working fine. I fixed most of the original mod problems and added features of Stay Up Plus. Both are crashing at 6am and other things, because new warp conditions...
I just need to patch the method that checks for the time and decides that 200 is a good time to full blow sun through windows
I tried to patch two methods already to no avail. I can't find the right method that turns up windows lights
the base logic is if timeOfDay >= getStartingToGetDarkTime() { \\\ do nighty things }
i don't know if this helps you, but this bit is what causes time to pass more slowly in the skull cavern
your patch idea is good, but your comparison isn't: your should have (Game1.timeOfDay <= 2700) instead of (Game1.timeOfDay <= 300) because the time between 2 a.m. and 6 a.m. is actually 2600 to 3000 instead of 200 to 600
it does?! neat
if memory serves, leroy, he's also changing how time works so it loops back to 200
yeap, but currently the game forces passout if gametime goes above 2600. So the current fix is to jump from 2550 to 150 and count from there
well, check if this works too then, because the isTimeToTurnOffLighting patch should work
it didn't. or at least what it switches doesn't do shit
the game is full of redundant codes currently
yeah Ik that
I found two instances that activates Game1.currentLocation.SwitchOutNightTiles() at 1900
I had to patch collisions in 4 or 5 places to have FF work properly
I also found a method on GameLocation that seems to be used for it, _updateAmbientLighting(), but it is protected under protected virtual void, so no patching
reflection is your friend for accessing and patching non-public methods
also tried to force the change onUpdateTicking and Ticked, but also to no avail
I feel like CA doesn't like people changing certain things
hmmm... I will take a look
I didn't used reflection yet
the truth is that any game that ships is full of weird code because of how making a game goes
except Animal Well, Animal Well gets a pass
i wouldn't say "doesn't like". CA seems to enjoy that there is a modding community. i think he's just much more pragmatic about the game code: get it into a shippable state and then stop touching it. modders can figure it out
I know. I am kinda used in working with older games
one of the reasons I resisted bravely to not look at the decompiled code of SDV lol
yeap, he is not wrong from a viewpoint. but yet...
why wouldnt u look at the decompile 
I already did. too late
but I was resisting last week. because I knew it would trigger my coding ptsd's
i dont think strange code is a game dev exclusive thing anyways
a full game is more an art instance than an engineering instance
plenty of ??? makes it into software
to the joy of it's players and to panic of it's coders/modders
specially if the software is made as a shipping product by companies that just want to sell it, yep
I found the reflection helper. I just use the methods to get the parameters to patch, like name?
yeah, reflection gets you a MethodInfo which you give to the patch function
i am a boorish sort who uses standard C# reflection because that's what i learned first and what i remember how to do
it has some qol for when u need constructor but it is the same on the inside
harmony also has a thing called Traverse which makes reflection less of a syntax soup, but i haven't used that either
ok, I am dumb and I don't know how to use it...
I think I found how to
MethodInfo updateAmbientLighting = helper.Reflection.GetMethod(typeof("GameLocation"), "_updateAmbientLighting").MethodInfo;
MethodInfo updateAmbientLighting = helper.Reflection.GetMethod(typeof(GameLocation), "_updateAmbientLighting").MethodInfo;
harmony.Patch(
original: AccessTools.Method(typeof(GameLocation), nameof(updateAmbientLighting)),
postfix: new HarmonyMethod(typeof(_updateAmbientLighting), nameof(_updateAmbientLighting.Postfix))
);
no errors. let's now see if it fries my game
Traverse is convenient but it's mainly useful because it caches.
nope, MethodInfo can't reach _updateAmbientLighting too
for original:, you already have the methodinfo. just say original: updateAmbientLighting,
it breaks on defining MethodInfo updateAmbientLighting. it can't find the method
there's no updateAmbientLighting only _updateAmbientLighting which is protected
yeap, protected virtual
which u accessed with reflection so it's fine
hmmm
with accesstools u can just put string instead of using nameof
.
System.InvalidOperationException: 'The StardewValley.GameLocation object doesn't have a '_updateAmbientLighting' static method.'
The patch of my last attempt
MethodInfo updateAmbientLighting = helper.Reflection.GetMethod(typeof(GameLocation), "_updateAmbientLighting").MethodInfo;
harmony.Patch(
original: updateAmbientLighting,
postfix: new HarmonyMethod(typeof(updateAmbientLighting), nameof(Patches.updateAmbientLighting.Postfix))
);
anyone know where i can find this? -> 
TileSheets/emotes
thank you!
@blissful saddle if you're using helper.Reflection, it seems you have to pass an instance as the first parameter. if you pass a type, it tries to find a static method
if you have a suggestion how to use better, I am open
I copied the format from another code
you could try standard reflection:
MethodInfo ual = typeof(GameLocation).GetMethod("_updateAmbientLighting",
BindingFlags.NonPublic | BindingFlags.Instance);
trying it. thanks
ok, it didn't broke this time
thank a lot, eye. the patch didn't did what I expected though. but now it patched
it is not _updateAmbientLighting too, but if I find another method now I know how to patch it
the other thing that may give you trouble is that _updateAmbientLighting is virtual, so specific locations may have overridden it and your patch on the base class one won't run
I suspected something like this
once I get my motivation back, I will look for specific locations, as farmhouse
if windows were coded to reproduce the outside ambient light would be awesome
you can see which classes implement a virtual method with ilspy
I need to read IL?
only if you want to write transpilers. ILSpy is the name of a decompiler
(Fwiw I tried to argue with ambient lighting for screenshots and still haven't figured it out lol.)
Not that I have tried in the last year
it looks like a spouse room?
yeah i made that corner piece, but i didn't place the right corner
the 90 degree angle*
oh that's gonna bother me there's nothing that reaches up to the ceiling at that angle
it draws that corner i'm gonna 
i did give up, the beams just weren't there in 1.6.8 so now i also had to set a reminder to fix it in my other mod
actually now that it does draw that, i wonder if i can just make it wide, like will it splice the beams the wider i go
a test for later
I'm having some trouble with my NPCs, when I start a new save my NPCs don't exists. But when I load an old save they work just fine.
Content.json: https://smapi.io/json/none/a1c07c8a3f104b09ad27342c3de85849
Log (first patch summary is for a new save, 2nd is for an old save): https://smapi.io/log/84cb1d8e647645e4845febfe6715461a
Log Info: SMAPI 4.0.8 with SDV 1.6.8 build 24119 on Microsoft Windows 11 Home, with 37 C# mods and 36 content packs.
Aquarium.Curator is the missing npc?
fear
I shouldn't have to? They are anti-social NPCs
did 1.6 do away with the data/antisocial 
(that was a mod)
i'm not seeing it in my 1.6.9 unpack- oh
maybe u need "CanSocialize": "FALSE",
nope, no spawn conditions
But you can set npcs to not receive gifts or be social; unfortunately a lot of npc logic still requires them to have gift tastes, not sure if CanSocialize being false negates those
I do have a "CanSocialize": false, for them
i think by game logic even if it's an antisocial if it doesn't have a gift taste, the npc won't spawn
i don't think the unlockconditions not being there matters, i assume it just sets it to null if it's absent
(maybe we can get the npc un-gift tastes knitted in tightly for all kinds of random npc logic update in 1.7)
Gunther doesnt have gift tastes though and he still spawns
Yeah i'm not quite convinced gift tastes is the issue, i know i had npcs spawn in during the 1.6 alpha without gift tastes
It looks like it applies everything except the NPC dispositions when I read the patch summary
but on an old save they all work just fine
doesnt the X mean it did apply them?
first x is for loaded, 2nd is for conditions are met, 3rd is for applied
I'd maybe double check the Location in the home field, an invalid home feels like the most obvious reason it could happen
Home locations, Gervig
you have their Home locations as "FishMuseum" and "CuratorBedroom", but maybe the locations are called "Gervig91.StardewAquariumCP_FishMuseum" and "Gervig91.StardewAquariumCP_CuratorBedroom"
and here comes atra, immediately confirming my suspicions
I did try that, but then I got an error
Log: https://smapi.io/log/e3d13fb37df34bcf90ce2af21580c8b0
Log Info: SMAPI 4.0.8 with SDV 1.6.8 build 24119 on Microsoft Windows 11 Home, with 37 C# mods and 36 content packs.
the errors are all related to not finding the portraits
yeah your portraits are named just Curator so you'd need the .png to be named Aquarium.Curator
^ the Target has to match the NPC's internal name (unless you override it). you can call your .png files anything you want
(alternatively, add "TextureName": "Curator" etc, though i'd prefer just to correctly name the targets instead)
that said if you wanna keep using {{Target}} like you are now the pngs do need to change names
Alternatively change the fromfile to assets/{{TargetPathOnly}}/Curator.png

my brain is too flat for this one
but the only thing that i've found of the gift tastes and the receive gift thing
{
return null;
}
Dialogue dialogue = null;
string portrait = null;```
(*but now i must go back to fixing sprites on my non-halloween mod because i've put it off for like, 3 months now
*)
so, the biggest problem pertains not to antisocial npcs, but to social npcs
It's this method in npc.cs
public bool CanReceiveGifts()
{
if (this.CanSocialize && !base.SimpleNonVillagerNPC && Game1.NPCGiftTastes.ContainsKey(base.Name))
{
return this.GetData()?.CanReceiveGifts ?? true;
}
return false;
}```
Every single code path that leads to the player creating friendship with an npc uses an `NPC.CanReceiveGifts()` condition before it, so if the npc doesn't have a gift tastes entry, a `Friendship` is never created and you can never 'meet' the npc
Good to have the confirmation on the exact reason for GiftTastes requirements for social NPCs, though
https://www.nexusmods.com/stardewvalley/mods/24426?tab=bugs so do i actually have any power in doing anything about this?
what lang are they using
I'll find out, not sure when I'll get a response though
Why would it matter so ik for future?
the message mentions translations so i was wondering if it's an issue exclusive to non english
Not sure why that would matter though, a translation wouldn't change the key of the Data/Mail entries
so it depends how you send the mail
if you use the classic "friendship cooking letter" it should not repeat
if you use a trigger it should not repeat by default, unless you made it repeat for some reason
if you did ensure it is not marked to be repeated, or use the vanilla cooking letter method, then it's possible a mod is interfering with the sending
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:
- Open this page: smapi.io/log.
- Follow the instructions at the top of the page to upload the log file. (Don't copy & paste from the console window!)
- 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.
There were discussions of different pfps in the land of the bot people
Taking a peek at https://stardewvalleywiki.com/Modding:Custom_languages and I think I generally follow, but I'm not finding any information on getting a listing of translatable strings.
!unpack
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!
There's a Strings folder in the unpack
With so, so many strings for the translating
Thank you, much appreciated.
What's the maximum portrait size?
64x64 per expression, unless you are using Portraiture
And you need the portrait file to never have more than 2 side by side (max-width of 128px for vanilla-supported), but you can go as far down as you want to add more expressions.
Has anyone done LightData with IE as object extensibility?
IE?
Item Extension
Yesh
Is there a way to make NPCs dance on the "female" side of the Flower Dance regardless of gender?
no, i suggested this quite a time ago, but it was out of scope, and only the ability to set if they can dance or not was added (not a complain, it was already quite nice to have)
conditionally patch gender to female for the day of the festival?
i don't know if it'd affect anything else
it may affects display name of the datable relationship
Question: is there a way to add a glow/lighting effect to the outside of a farm building (shed in this case) at night through CP?
No I tried doing that with my dish
aw
You’d need spacecore iirc from what someone told me
No, for SVE it had to be done in C#
I don't think SpaceCore has functionality to attach lights to buildings
(it's very simple in c# if you're keen)
Oh okay
If it's simple enough for someone with zero C# knowledge to do, I wouldn't be opposed?
I basically just have a TARDIS shed, so the light on the top is what I want to have a light effect on it. >_>
ah well zero knowledge is always an important variable hahah
Yeah, that's my usual issue, blueberry. I know NOTHING of C#, y'all C# coders are wizards as far as my knowledge goes.
Solid Foundations support building lights IIRC
If there's a Tile Property that does light added by Spacecore, then I can use that, since our pack already uses Spacecore.
is solid foundations supported, though?
it still works in 1.6, though still with its own format instead of leveraging Data/Buildings
but this tho
the color for this one isnt inverted right
That's a Map Property and not a Tile Property, though, isn't it?
Yeah it's the map property
rip i thought it was tiles
like you can add a coloured light to a map with spacecore, but it won't move with the building
this is a buildable shed, after all
I don't think you can set overall map properties for Buildings, or I'd have just used the Light properties
yeah.
building exteriors are only for actions
In the meantime, maybe I can fake it with a well placed torch behind the TARDIS Shed. >_>
i had also wanted to make like
oh ik
there's the invisible fish tanks
its genius
is eventSeen actually used in the base game at all? i don't get any results searching data/events, and using the command in my own event doesn't seem to remove it from the player's eventsSeen list
i'm probs going to just remove it with c# on event exit but still
used where?
oh sorry, it's an event command
Is it possible to use all of the buff combinations from the ||chef at desert festival|| for a statue buff with CP?
oh wait butts i think i was meant to add false even if it's the current event id
it was added in 1.6, possibly at modder request
Not all of them simultaneously, but able to click the statue and cycle between each combination of buffs, randomly
so it may explain vanilla not using it, and it may explains it being untested
how are you formatting it? in case it may be a wrong formatting
if it's not, a small repro pack sent to pathos may help
yep it might be, trying it again
My lightdata don't go brrrrr
Well time to jump onto why my map isn't mapping anymore
ok it works too well now, the event replays itself when it ends because it wasn't seen lol
didn't think this through
without changing map?
it changes map from original -> temp -> original, so it goes 'ooooh free event' when it goes back to original
it shouldn't before changing map according to the Word of Pathos wiki to avoid loop
oh yeah maybe that's why
i think i'll just addmailreceived in the event on success, and remove the event from player.eventsseen at the end of the day if the success mail wasn't received
somehow i thought this would be simple
where did you get that sacred emoji. you're not staff and i know it
oh yeah linkoid found the eventseen one but I generally don't use it because I change maps a lot
wdym its just this server + nitro
there's a statue buff framework, but I think that only supports adding buffs to the existing statue, not custom ones. You also can't do the cycling one
https://www.nexusmods.com/stardewvalley/mods/25267
Gonna need some C#

oh my god it is
(Unrelated):
I'm curious if there's a way to do an if/else statement in json files.
For example, I'm integrating the Spouses React to Player 'Death' mod. However, if the player chooses to not download the mod, but still use the features of it with my NPC, I'd love to do that (obviously using GMC for it to be toggled).
The way I have it right now, I have it so the events only occur:
"When": {"HasMod": "CasualInvidia.SpousesReactToDeath"}
How would I manage to do something similar where I can do:
if {"HasMod": "CasualInvidia.SpousesReactToDeath" -> sets toggle to true} else {<toggle name> = "true"}
I know the code example is hella sloppy, but I haven't used JavaScript or general if/else statements in a HOT minute
aw tuxedo mask demetriums didnt make it into the emoji
Ah thank you… I had a really cool idea for the Halloween event
guess I can’t womp womp, thanks anyway
Urgh now my map is acting weird with the hasflag
Unless anyone wanted to collab for it 
Triggeractions so finicky with me >:|
not sure i understand what you're trying to do her completely - you want to have a reaction if either the mod is installed or your mods config is toggled?
You can have two blocks, one only applying with "HasMod |contains=CasualInvidia.SpousesReactToDeath": "true" and one only applying with "HasMod |contains=CasualInvidia.SpousesReactToDeath": "false"
I don't completely understand what you mean by two blocks exactly 😅
sad that end bed from a temp location warps you to the farmhouse door
maybe i can say you've been sleepwalking
though just to clarify, since I may have misunderstood - do you want your changes to apply if the mod is installed OR your config is true?
~it was a spooky dream~
actually no that's perfect lol
oh also can i set conversation topics to be spouse-only
somehow
you can set a condition to the dialogue/NPC edit if they're a spouse with the key being the convo topic yeah
you... might have an easier time in c# though considering 
oh so like use "Target": "Characters/Dialogue/MarriageDialogue{{spouse}}" with my value
yeah I was about to ask if it even works with spousal dialogue
speeses
we all know spouses lose all agency when they get married
they lose all personality as soon as they put the pendant on
why is it that whenever i have the simplest idea i hit the most incredible technical roadblocks nobody has ever walked into
i've walked into them, i just choose not to go that route
c# is my world hammer
yeah i suggested c# cause otherwise you'd have to iterate somehow of all spouses in cp... and would that even catch custom npcs etc
C# is the best hammer
you're better off with NPC spouse 
i just want your husband/wife to say you look like shit in the morning after an event. maybe laugh at you. is this so hard
end dialogue <NPC> <"Text for next chat"> hmmmmmmmm
i was about to ask button
spouse whose only indication you're married is through dialogue, and is otherwise identical to dating mechanics-wise
wait would [Spouse] work
you could just set their dialogue the morning after via C#, BETAS, or a custom action
i guess end bed isn't putting me in the bed so i may as well try end dialogue
i'd use changeLocation FarmHouse after the event but i don't think it'd cover farmhands for cabins
unless there's a cp token i can use for player's home location..
there isn't, is there
debug warp farmhouse on mp sends me to the main house
wonder what end dialogue {{spouse}} abcdefg will do if you're not married
probably throw an error
spouse probably becomes blank space
i could've sworn you could fork based on a query but maybe that was a fever dream
yep, blank: end dialogue "Wow, you look awful today."
[SpouseFarmerText [EscapedText faceDirection [SpouseActor] 2 staring at the wedding code
Okay, so another question: Is it possible to change a building's paintmask depending on which skin is used? (if I'm using the Buildings "Skin" property)
maybe a dynamic token with when on spouse/roommate/random villager
yea i think so, vanilla cabins have paint masks per each
do u want this mod out before 1.6.9
very important Q given the light source changes
just let SMAPI automigrate it ez
ok but i do kind of want to use string light ids...
yeh
also I learned that Glow Buff unconditionally patches the light source draw to make colored lights show up properly
so now it's an optional dependency even though I literally use 0 of its framework features
so if you cant get your colored lights to look the way you want try installing Glow Buff
wait what does that mean 
@rancid temple: see if I completely broke this mod or not (9h ago)
does glow buff fix blue lights
apparently, at least on my machine/setup, as unbelievable as it sounds. try it
(you still need the inverting though)

It'd be for use in a personal mod I already have, but I'd be fine not implementing the lighting things until 1.6.9, if at all
yay ok
the other thing i rmbr ppl wanting is a better way to do night variants on the building
thats not update on time changed
hmm could have sworn draw layers support GSQs
might have totally misremembered though
maybe, i got no clue
lastly i wanna be able to walk into bog's moongate obelisks
so i gotta do the SF feature of passable building tiles
and then a smol cp mod to edit the warps
no it doesnt
ho ho, end dialogue {{random: list of idiots}} works
it may have been a struggle to remember what the characters are called, but by god we did it
"not custom spouse compatible, sorry, don't care enough"
i genuinely don't care enough lol
i want to see this chaos now, so i'm watching the modding-contest with eyes peeled
maybe i'll drop a playtest in here so it isn't a huge flop when it turns out the thing doesn't work 
well you were worried about the playtesting right?
though button got the hard hitting question out of the way: last version of the mod uploaded is the one that's gonna be judged
as long as it works on october 31st you've got time for bugfixes
even still it helps to release something that actually works
very true
and not like. 3 weeks later lol



)