#💻・modding-dev
1 messages · Page 70 of 1
probably search "function juice_up"
you could enable regex and search for function .*?:juice_up
i'm so fuckin stupid how did i not think of this
isn't juice_up a global
okay i'm still not sure how exactly the values work but juice up shakes the joker
oh is that all you needed to know
Class method 🙃
yeah juice up shakes the joker
x and y intensity probably?
it's amount and rot_amount, whatever that means 🤷
oh that makes sense
it does?
god id be so much more helpful if I wasn't sitting on a bus right now
what's <eof> again?
rot stands for rotate
well yeah but doesn't tell me anything yet 🤣
end of field I think? regardless it means missing an end
but when i add an end it says unexpected end
i closed all the brackets
i hate when this happens cause it means I did something stupid and I can't see what it is cause the thing doesn't tell me
it means an end or a bracket close is in the wrong place but idk which one or where it should be
one of G.C.[color-name] is probably easiest
if your IDE is competent you should have lines above your ends; check which end doesn't have a line above it and delete it
the lines go up to whichever thing it's "connected" to is the best way of explaining it
so like if i want to get the suit colors what should i put in
okay
G.C.spades, G.C.hearts, etc?
that didn't help
uhhh show screenshot?
you should probably go look at the definition of G.C, it's at globals.lua:333*
sorry
globals.lua
here are the suit colours in globals.lua
not sure what each one does
but for example if u want the bottom ones use G.C.SUITS.Hearts
these brackets (highlighted line) especially hate me even though they're all properly closed
the red after the end wants me to put a } down but when I put a } down it tells me to get rid of it
and the return also wants a } somewhere
func has no end
bruh
return a
return b
doesn't make any sense, that's why it's yelling at you
neither does add_event
oh wait your indentations are completely wrong nvm
okay
do i even need the return true
i mean it's in the baseball card code but it looks unnecessary
you need it in the event function
if you hover over all that code that's incorrectly indented and press tab once it'll fix itself btw
also if you right click and hit format document
an event function will keep running over and over until it returns true
very useful for some stuff
okay so I should remove the return true
and move it down to the return box where the other stuff gets returned
?
currently
in the event
my intention is that it checks if a joker is from my mod or if it's splash
and if so it makes that joker give 2x mult
so, should the second return be inside the event or outside it?
okay i moved it outside
can you show?
alright, seems better
okay
I have no idea what that comma is doing there or what happens when it stays there though
i removed it
oh I guess it's in the table so it probaby won't break anything
yeah seems good now, try running it
im also running another experiment rn
seeing if i can make a joker with multiple fusion recipes
fuck this bitchass game and its bitchass mods man i fucking hate balatro
^ me whenever I have to work with balatro UI
how can I yoink a singular texture from the vanilla spritesheet? trying to take a legendary joker bg specifically
Just open the .exe, they're all in /resources/textures/[1x or 2x]/jokers.png I believe
(you can open it with 7zip or whatever)
so make sure .mod exists before you start indexing it
in lua, you can do that by e.g. if table.key and table.key.sub_key == "something" then ...
so i'd do if context.other_joker.config.center.mod and context.other_joker.config.center.mod.id == "Tsunami" then
am i getting this right
if mod is nil, that will already crash
oh
you're checking if id exists, not if mod exists
gotchu
also some of the question you ask are really basic lua stuff
you should be able to google/stack overflow some of it
yeah i'm very new to this
it's difficult because i only know things by the names i put in the code and not by what they are
i wouldn't know what to look up to find out the answer to what i just asked
that's all part of learning
yeah i'm starting to get the hang of things
been asking less and less questions about what im doing the more jokers i make
i almost got one to work without any outside help
read the lua docs
they're really informative
I guess they could be a little overwhelming if you have no programming experience...? but nothing beats them.
I'd say it's kinda python-like
Lua has some weird quirks though, mostly the "everything is a table" approach
Made a PR for it since I actually need it now >:) https://github.com/Steamopollys/Steamodded/pull/267
i forgor 💀
Huh, conveniently there’s a REMOVE THIS comment right next to it.
aint that convenient
that was never actually about that, it's about a testhelper unlock functionality that triggers when false and not _RELEASE_MODE aka never
Appreciate it! Also thanks for fixing the indentation a second time 😅
stupid merge conflict editor didn't even do it right, i don't think
🤔
Has this been completely replaced by DEPENDENCIES? I cannot find any references to LOADER_VERSION_ in steamodded's code.
nevermind, found the exact commit https://github.com/Steamopollys/Steamodded/commit/92c9636c69130a608fb72207c6fe7c345d6bc2d3 where it was removed
should probably still update the wiki 🙃
LOADER_VERSION_? No, it's old and no longer used
Ah
you can do the same thing using DEPENDENCIES now
i was really hoping i would be able to figure this one out on my own but i cant
trying to make a tarot card that creates splash
current issue being that the use button can never be pressed
Keep beating the code
whats above this?
What does create splash mean
splash the joker
almost the entirety of your definition is inside your loc_txt table
yeeah that's all it needed
i knew i did smthn stupid
thanks
You are one sytax away from amagedieon
do you know what is absolutely pissing me off right now?
if you have a joker give both chips and mult during the joker_main phrase, it works mechanically
but it uses the multhit1 sound... and G.C.CHIPS for the background color.
i can open baltro but there is no mod menu on it but every thing is conceited to the game and i don't know why it is not working any help?
it's working
How can some edit the code to add chips directly
I have an idea for a joker and I want to make sure it's possible
What do you mean by directly?
It takes %5 of overscored chips and you start with it next blind
Like the total score
Or whatever it's called
Jokers change blind requirements pretty often
If that's what you mean
Idk how they do it though
I don't want it to change the requirements
Lowering the requirement by that amount would so the same thing as adding it to the score
I want it to directly save a value then have the next round start with that value instead of just 0
But then it's not so much carrying stuff
It's a bucket
It's probably possible but idk how you'd do it
new to balatro mod dev, is there a way to make a deck only consisting of certain ranks? ex. deck of 3, 5, and 8s
Just look at the code for the abandoned deck
Well I can't help much because I don't have the code on my phone
Wait I have an idea
I canr find it but I know there is a deck with a deck of six's if you can find it you can look at that code
I think it was something kollection
I thought it had kollection in it instead of collection
Idk tho I might be crazy
Do anyone have details API of steamooded
I have no idea what initialization does or what we need example Png for
It's crimson's ultimate card kollection(
Also sometimes spelled with a c
.
(Its Id is 'cuck' lol)
which file is it in?
The release is probably your better bet
The repo is a bit of a grabbag rather than the mod itself
I feel it is a bit intentional
Looks like theres something called AllSixes ctrl+f for that
Intemtional?
Anyone know if this would work
hey yall, im trying to make a mod to expose certain pieces of the background.fs shader to the GUI so i can mess with it with original values
i want to see these seven values displayed on the GUI in realtime:
extern MY_HIGHP_OR_MEDIUMP number time;
extern MY_HIGHP_OR_MEDIUMP number spin_time;
extern MY_HIGHP_OR_MEDIUMP vec4 colour_1;
extern MY_HIGHP_OR_MEDIUMP vec4 colour_2;
extern MY_HIGHP_OR_MEDIUMP vec4 colour_3;
extern MY_HIGHP_OR_MEDIUMP number contrast;
extern MY_HIGHP_OR_MEDIUMP number spin_amount;
can anyone help?
Can you explain any of those values to me
time is what LOVE uses to change the background over time, spin_time changes how fast it spins, the three colors change the color of the spiral in the background, contrast makes them more distinct, and spin amount is how many spins have happened onscreen
Oh ok interesting
were is talisman 2.00 beta? cryptid will not work without it
Cryptid usually comes with talisman, but if you're using a version straight from the repoI bet talismans own repo is at that version
k thanks
(currently unfinished)
hi sooo uhhhh what color did hands use again? am i even doing this correctly i dunno how to do planet cards 💀
might be wrong but you need to put the atlas and name in quotes
also you can check localization>en-us.lua for the colors
might be onto something here
#8# and #50# should be #3# and #4#, these are variable indices
is this good so far btw (pretend the #3# and #4# have been fixed btw)
the hand type is supposed to be flush wheel
i'll try making it but dont expect much lel
was actually just about to ask about this
which of these refer to which variables
I recommend you read the Lua docs, it will help you massively :D
quick question, what's the color for the ante counter?
All colours will be in self.C inside of globals.lua
What kind of colour is it, is it like whiteish?
I'm just trying to edit my trance theme. I need to know what it's called in the game
Thunk seems to reuse colors in odd places to be fair
angry orange because it's uppercase apparently
No it’s uppercase bc it’s a global
yeah I don't need to write it out myself anyway. The colors are already in the skeleton of the theme
just needed to know which one it was
It's not ORANGE
this is what ORANGE is in my theme
not the very dark blue the ante number is
I think you put the card.ability line inside your card_eval
card.ability line?
is that the config = one
that of which is not inside my card eval i dont think
i haven't tested anything yet but yeah something is currently wrong with this
oh right i need to change the name of splashflag so it doesn't collide with another joker
The one in your screenshot
It was "IMPORTANT"
(Which I think is the same as attention?)
Agreed, no orange, that aqua
ohhhhhhhh
now it says return is an undefined global
i do need to return something to end the event
but yeah moving the brackets solved the other thing
i moved the return outside the function and inside the event
so now it works
okay
testing time
balatro says unexpected symbol near this end
oh right the comma
didnt see it
anyway how do i refer to card.ability.xmult in description text
{X:mult,C:white}X#1#{} Mult
At least that's how 0.98 jokers did it. Presuming it hasn't changed
alright so it didn't inherit the value from throwback, that's fine, i'll just recalculate the value manually so it "inherits" the value regardless
I might have misunderstood the question
do you mean the current xmult, or just xmult in general?
no you understood the question
this joker has two values, one of which is already referred to
the extra value, 0.05, which scales by 0.05 if played hand contains at least 1 extra card
and its xmult value which starts as the value throwback should have and then gets added onto
ah okay I see
did not work
Its case-sensitive
oh
idk it's not working
anyway my joker
seems like it's doing something?
i can't tell if the ability is working as intended because i can't see the values
it did reach 2.35x mult which means it's definitely doing something different
here's the description for a 1.0 joker, seems to still be the same way to do it
i'll try #3# and #4# to see what they come out as
if i try every number, one of them will work
okay this is actually a really tedious and bad idea
yeah idk
i need one of them to refer to card.ability.extra and one of them to refer to card.ability.x_mult
they both come out as nil no matter what numbers i put
idk what i'm doing differently
wait, x_mult should be part of extra
oh
okay i'll switch things around
it's extra.x_mult
(You really should just be going in your mods folder and referencing other mods like I do)
i am
oh okay sorry
i will test again with these values properly written in
this didn't fix my issue, both values still show up as Xnil
can I see the code?
every card.ability.x_mult needs to be card.ability.extra.x_mult
waiy
I mighta misreasd it
(and mistyped too :P)
lemme look again
yeah i missed two
i think i fixed it now
it is playing the chips sound when it gives xmult but uhh
i can fix that later
I think you have #1# and #2# swapped in the description
the index should be just the order you define them in extra
is there a context i can use for "do this immediately after this joker is obtained"
I really don't see any differences (besides this being a 0.98 mod) that keep your values from displaying
but the other mods I was looking at were 1.0 and seem to do it the exact same way
You need the loc_vars function
oh
it is angry at me
oh i didn't end it
ayy it worke
d
.
this is the last thing that i need and then the effect is functional
also why is this message making the chips sound when it gives xmult
how do i make it do the xmult sound
iirc it's Xmult_mod, not xmult
but the joker works
with xmult
it just makes the chip sound
will xmult_mod fix that
use add_to_deck(self, card, from_debuff)
add_to_deck = function(self, card, from_debuff)
-- do stuff
end
it did, actually
neat
it's outside
huh
and i think that one should be using set_ability instead (so it displays the value correctly when created but not picked up, e.g shop)
set_ability = function(self, card, initial, delay_sprites)
card.ability.eternal = true
end
put that next to the calculate function
calculate = function(...)
end,
set_ability = function(self, card, initial, delay_sprites)
-- do stuff
end
ohhh
okay i will try this
it won't actually appear in the shop because it's a fusion
unless you're using reverie or the cryptid equillibrium deck ig
this worked though
thank you
ah actually don't put it in add_to_deck because it will run every time the card gets undebuffed
yeah that'd be a bad thing
anyway
another fusion done
do you have a favourite vanilla joker myst
you can prevent it from running on undebuff by checking if the add to deck is run from debuff
true
god dammit
i already fused that with splash
can you pick again
sock and buskin
the swag
how do i retrigger a card again
context.other.card.retrigger?
wait i got this
return repetitions = card.ability.extra
context.repetition return {repetitions = <number>}
context w/o plural
it has to be a table
if this works this will be the fastest functional joker ive made
damn that's crazy, I love it
so
where would that go in my code
this doesn't make sense to me
it doesn't like it when i put it before the return
sec
if context.repetition and context.cardarea == G.play and context.other_card:is_face() then
return {
message = localize('k_again_ex'),
repetitions = card.ability.extra.retriggers,
card = card
}
end
that looks like it would trigger the code only if a retrigger happened
am i just misunderstanding context.retrigger
context.repetition is what's handling card retriggers
okay
having issues with the second part of the effect
this should retrigger all extra scored cards
and also if it's a face card retrigger it an extra time
it doesn't currently do anything and i'm not sure why
it is something to do with context.retrigger not working here
I'm guessing you saw it suggested in #1155557846805643434 too
wait nvm
you're the reason it was at the top
lol

Love it
I may be a bit [your username] sometimes
gaycoonie = context.other_card.name
anyway context.retrigger isn't working here
when i do if context.retrigger on this part of the effect it just doesn't pass
if i remove context.retrigger all the if statements and stuff work but it doesn't retrigger because there's no context.retrigger
nil
attempt to index nil value 
fuck
i'll fix it later i have to fix my fusion first
but context retrigger hates me
please help
god this thing is long
Is that a shader?
ya
I wonder if it works with Aura
I can already tell you it won't
since I don't check for sprite changes, only for center key
I mean... it would be ideal if it used whatever sprite the joker in question actually uses in game
Gosh this game is difficult at times 💀
I tried making 8 ball a 3 in 8 thinking editing the first number was gonna be very easy, oh boy was I wrong, no matter what I do, if I return G.GAME(don't remember the value), I in k pairs, register the number in vers, it just refuses to be anything but 1.
I hate this game's code at times, there are many redundant things about it but the one time they could have added something to ensure it functions is the one time it isn't there.
I've definitely seen plenty of probabilities with a numerator that isn't 1
and not just when modified by dice or w/e
Is there an example of a mod that does?
yeah you should be able to hard code the modification
It’s not hardcoded
Yeah that's what I was trying to do to avoid complications
Rose wants one that is
Hardcoding would be to avoid using G.GAME.probabilities.normal
You don’t need to avoid using it
Just multiply it by 3
I didn't mean make it fixed, though that's up to their use case
I just meant modify it themselves the same way oops does
what are you suggesting? They just want the numerator to be 3
You can modify it a posteriori
Okay I'll try that, at this point I just wanna see the number be anything but 1 lol
Also I've been trying to mess with G.GAME.probailites.normal but I could also be bad at math
are you sure your localization is correct?
You don’t want to change G.GAME.probabilities.normal
You just want to multiply that value by 3
Don't, oh
As I said plenty of jokers have non 1 numerators on probabilities that are then modified as normal by things like oops
That makes a lot more sense why nothing was happening
I wasn't suggesting a specific solution
For example, let X be the random variable used for determining if a random event happens, and let p be the constant modified by O!A6s
Then what you want to check is X < num*p/den to have a num in den chance of happening
Yeah, do you know what mods have them? I wanna peek at the code
Paperback
I’m pretty sure I told Lars how to do it lol
Nope different person
Just a blue profile picture too
I might add check for exact atlas and atlas pos at some point in the future, but for now it's fine as is. Aura is not even halfway through to a release version, I guess there's jimball in cryptid which is fairly popular, but yeah ¯_(ツ)_/¯
There are other Jokers that change sprites
Bunco has the tape
mayhaps
I think L Corp does too
fair enough, I always get really confused when someone I know changes their profile pic
The day Denver changed his from vapereon will live in infamy
Who’s Denver
it already uses atlas & sprite pos of another card as of the moment it detected the joker being copied
it only wont update if you changed texture pack mid round, which would be weird
former vaperon profile pic
now purple thing from some pther media
how did you misspell the pokemon name twice in different ways
fuck
I thought I fixed it
but didn't check
vaporeon
isn't even hazrd to spell
Vaperon the Poison Eevolution
(my keyboard sucks)
Hazardous name based magic
It's also 8 am and I haven't slept
but to be fair I got up at 3pm
... I feel like you should fix that
I'm nocturnal like a real raccoon /srs
So you’re a fake raccoon?
I mean I'm not quite a therian, lol
but that's getting dangerously close to FurryDiscourse™️
day two
(still day one but cooler)
of trying to get context.retrigger to like me
¯_(ツ)_/¯
im having so much trouble thinking of a showdown blind that revolves around modded and vanilla jokers
at first it was "Debuff modded jokers on even hands, debuff unmodded jokers on odd hands"
but thats just a more powerful Crimson Heart
it should work now in v.1.1 
I mean you could just make it lesser like 1 in 2 chance to debuff modded jokers per hand
or even debuff a random modded joker each hand
Good
Convert all vanilla Jokers into random modded Jokers
that could be fun
I had a Boss Blind which was just Cerulean Bell
im not trying to be cryptid bad
maybe even as a temportary thing
I did tweak it to not be Cerulean Bell, but I’d be fine if it was Cerulean Bell
you have 5 ouroboroses
btw math I was thinking what about a boss blind for crytpid that uses your glitched logic to half the values of all jokers
if number of modded jokers and vanilla jokers are not equal, each hand scores 90% less?
tbh for any modded vs non modded joker blind, you should do a check to make sure theres enough modded jokers (or at least provide them with your mod)
Or don’t
Skill issued player
Should’ve skill diff’d and installed more modded Jokers
every modded joker is destoryed when blind selected
oh yeah tried that
if you have only modded jokers or only vanilla jokers, all your personal information is shuffled and flipped
what if Regular Boss Blind on ante 7 that triggers a much more powerful Showdown Blind on ante 8
if you on;y have modded jokers crash the game. If you only have vanilla jokers lose
if you only have vanilla jokers all mods are uninstalled permanently
if you only have vannilla jokers you die in real life
open up one of my videos for every modded joker you have, install a virus for every vanilla joker you have
all jokers are debuffed until you install another mod
disable one joker for each mod you have installed
+2 Treants for each modded Joker, -2 Treants for each vanilla one
what if net negative treants?
death
You’re in Treant debt and the Treant union takes you to court
wyd when this mf pull up
the joke moment
this blind has a 1x blind requirement 😈
whats you do if over
ante 8 will be a little worse
don't score more than 0X required score
in this case just skip skip
also you definitely need to add a config to disable these blinds, lol
they seem unfair and unfun (to me, many people love that shit)
I'm presuming make the score 0
computer explodes
nope
i assume the storm probably comes
it does this
||i still dont know what it should do lmfao||
all your jokers become splash
how would that be a boss blind
that'd be a good thing
all your jokers becomes splash but you have to do badly
that's evil
splash becomes removed from the game
x1000 blind size if holding splash
splash makes no cards be scored
splash makes all jokers in the collection score as well
how do I put textures for jokers in correctly? I got the sprite already, just a bit very much confused on how they work
thinking of making an EID (External Item Descriptions) -esque mod for Balatro to explain jokers that have odd wording, odd effects, odd interactions, etc
any suggestions?
either with what it should visually look like, i.e should it be like when you hover over jokers like stickers and edition?, or just what information i should include about specific jokers
throwback applies retroactively
thats a pretty good suggestion actually, stating if something is retroactive or not
yes that is why i made the suggestion
anyway day 2 of uhhh
okay it's more like day 1.5
of trying to get context.repetition to like me
i think that might not be as necessary as i just thought
considering the wording is specifically 'this run'
in the case of throwback, steel, etc
the wording there is clear enough imo, it's not like obelisk where there's an effect that isnt stated; "resets after playing your most played"
that isn't stated?
nope
i really do need to get this working though i need a lua wizard to get me out of webbed hell
the second part of this code (after the first return) does not work whether i do or don't add context.retrigger into the individual if statements
if i do add context.retrigger the if statements don't go off and if i don't then it doesn't retrigger
i'm just now thinking of a solution but i have my doubts
that thing where you like
annotate your own code is really helpful
comments?
yeah i was gonna say
no like
saying what the code is doing out loud
it immediately makes me realise what's wrong with it
oh you mean logicking it out
flowchart moment
i think I solved the problem maybe
ill be really proud of myself if i have
IT WORKED
I FIXED IT
something rly wierdis going on with my game
i just installed mods, but every run is going the same, same skip tags, same delt hand, even across different decks.
i dont know how to fix it
i skipped the tutorial where jimbo tells you stuff. am i stuck in some sort of "tutorial hell"?
if jimbo is in the shop every time, yes
no no
did you win a run since?
i cant even pick the seed
i reset my files since installing mods. (integrity check)
steam's?
ive done basiclly nothing
yes
i mean, the install told me to do it, and i was having crashes so i meant to reinstall stuff anyway
yeah no it's fine that you did it - it just doesn't reset your savefile
anywho, what could be causing this? it's not even letting me start a new run properlly, it always takes me directlly to the repeated run
do you care about anything in your savefile?
reset your savefile and play out the tutorial
not just that but it always restarts the run
i just reset it
reset it how
deleting files and checkng integrity to recuperate them
that's not resetting the savefile
again, checking integrity doesn't do anything to your savefile
well it was meant for a diferent purpose. i was having a lot of crashes so i wnated to wipe the files clean
resetting the savefile is (turn off steam cloud sync) going to appdata/roaming/balatro/X number file
the 1 folder holds profile 1, and the 2 folder holds profile 2,, etc
yea yea i also did that as part of the crash fix process
i turned it off
if you're fine with all your stuff being done, all you have to do to get out of tutorial hell is play a few antes. idk how many but somone told me you didn't have to win a run
I do recall someone having a similar issue, but I think that was without any mods 🤔
I think you just need to go through all the tutorial dialog
welp i just deleted the numbered folder and am still stucj
its the settings file that keeps track of the tutorial
hmm what triggers are there? i think i already skipped 2
you need to delete settings.jkr
i don't remeber
there's like 10 lol
this is what i get for tryiing to get jimbo to shut up -_-
I was meaning to be able to enable/disbale the tutorial in DebugPlus but I forgor
well i havent installed that yet so it would have made no difference.
well I didn't make it yet
but if I did you could just disbale the tutorial
I can take a look and see if it's easy to disable
interesting. os during the tutorial the hand i received is indeed the same as the stuck seed
yeah just try playing it out
the tutroail has a forced seed
if you install the dev branch od DebugPlus you might be able to just run this in the console
eval G.SETTINGS.tutorial_complete = true G.SETTINGS.tutorial_progress = nil
yeah that works though you might need to go back to the title screen after hitting play
Doing a little testing
honestly not sure how to handle mods like betmmas
cause its multiple mods in a repo
but also the repo is technically a lovely mod
thinking mod index/database thing
but honestly it's probably too difficult
due to everyone and their mothers deciding they want to layout their mod in different ways
lmfao
xdd
mod index? kinda like aura was working on?
yeah maybe
this could maybe be used in addition to that
rn this can clone repos and read the metadata
There is plan to switch to mod.json for mod metadata (at least according to recent SMODS commit) which would likely make this much easier.
what about repos with multiple mods?
tbh we should njust remove smods loading mods from sub dirs
would make my life easier
wouldn't that disrupt any user accidentally nesting their mods?
I mean half the mods already crahs when a user does that do to lovely patches not happening
at some point lovely was planning to load patches from sub directories too
not sure what happened to that
It hasn't been merged yet
I think someone made a PR to add a variable to allow it but idk if methrule even wants it and alos that won't help if a user accidentally puts it under 2 paths
2 paths? like double nested?
like someone cloning a mod to Mods/path/path instead of Mods/path
really doesn't help that some people set up their repos that way
true
doesn't matter atm if they don't have lovely patches
yeah
though if we made those not load those mods would probably get changed right aay
eh
I feel like that's optimistic
lot of people just adding instructions to readmes and stuff in my experience
they'd just say to use the release or smth, and it'd be a headache for modpack makers
modpacks work a lot better when you can just include the repo as a submodule. At least if you don't wanna code an installer
actually @frosty dock how are you thinking the mod index should work with mods with multiple mods in it (like https://github.com/betmma/my_balatro_mods and https://github.com/WilsontheWolf/Balatro-Mods)?
betmma's is weird in particular
haven't thought super much about specifics, and i actually still need to get the automerge to work the way i want it to. interesting question though
same for jen's collection
also iirc jen's almanac doesn't even exist on git anymore
Luckily I don't use any cryptid stuff in my modpack, lol
also will it be able to yoink from releases?
can we just host a zip somewhere else and use that?
how will this mod index work?
it might not even use git directly or only have it as an option
love2d has methods to open zips
i don't mind having it allow specifying any download link
yoinking from releases, why not. pretty sure that requires git though
I'd certainly want my mods folder to have unzipped files so they could be modified if needed, but I get this would all be optional
you can use the release zip or just download the source at the tag of the release
like https://github.com/MathIsFun0/Cryptid/archive/refs/tags/v0.5.0.zip points to cryptid's release's source zip
yeah ik, but does that work for latest release?
uhh not sure
there is an api endpoint to get releases https://api.github.com/repos/MathIsFun0/Cryptid/releases
I could make a script that goes through and checks the latest releases and updates any mod links
run it on a cron job for the index
shame Windows is... Windows and y'all don't just have global access to bash (at least I think that's how linux works, I'd be technical for a windows user, not so much as the linux user I am)
(I do know bash isn't the only shell)
no you run the cron job on a server somewhere and then update the metadata on the webserver
side note cryptid's release zip won't work proper for the index cause it includes steamodded and talisman with it
I... still don't know why they do that
accessibility I guess, but it causes more problems than it solves imo
I mean it onl really caused one problem because of a lovely upgrade breaking the included smods
other than that I don't recall any issues with it
I mean like... it isn't even that good for accessibikity because people don't follow the directions
it seems decent
also most people just unzip into the mods folder which just works™️ with that zip
I guess windows is more consistent in whether it automatically creates a subfolder or not
so this exists but I'm not sure there's a way to have it point to source code?
I still see people with everything still in a nested Cryptid folder all the time
we can get the url from the api, so I wouldn't worry about it
fair enough
I'm willing to donate some compute to have something automatically updating url's
yeah I just did some testing and I should be abel to make a zip extracter for steamodded pretty easily
we can also inspect stuff about it before extraction it
so if we wanted to read the config for deps or wahtever
please don't try to automatically resolve dependencies lmao
Why data in a map instead of just object?
habit
it's a bit safer for unsafe user data as they can't make prototype modifications, but in this case, it's not going to be an issue I think
why not?
if you try installing crytpid it should install talisman as well
and if it's the wrong steamodded version it should probably abort installing
still not entirely sure about this github-based system tbh
maybe something database-backed is just better
I think it would be nice for people adding stuff
we can run a script on it to generate some other files and whatveer we need
it surely would provide better potential for UX/frontend
(most things would be better than using pull requests)
I mean we can built a front end that uses the github for the backend
oh for editing
yeah probably
I think jsut getting something working might be smart
then we can adapt the backend
probably use github pages for a custom domain
then if we need to we just swap out where the domain points when changing
from the slight amount I've heard about resolving dependencies, it's hell to implement yourself lol
I mean steamodded already resolves dependancies for conflicts
so we can know if they aren't met
yeah i just wasn't able to get my hands on anything quickly to start working on some kind of backend and didn't just wanna use some tiny mongo cluster lying around
i saw oracle have some free stuff but they didn't accept my fake credit card and i don't have a real one (yet)
tbh I was thinking just making a dcript that goes through some stuff, makes some config and then makes a static path and either host that or push it to github pages or smth
all you really need is some index file which justh as a bit of info about every mod in the index and then the client can make more requests from there to find out about certain mods
or if we need to then we just make a simple backend
doesn't sound half bad tbh
and if you need to run code, I can run it
I have a machine running with a bunch of unused resources that are availbe
also after looking into the specifics more, I'm not so sure if that would have me protected from having to pay up if something overloads lmao
that's great
it's just sitting there idling
also actually this thing has a 500GB disk why is only 100GB availbe
hm
out here with a RAID 5 drive god damn
I mean it wouldn't be a very good raid as it only has one disk
redundancy is redundancy!
tbh idk what is setup on this thing
it seems like sda3 has all the disk space but isn't where root is mounted
it's not just a 100g partition on an otherwise empty drive?
oh it is
can someone remind me if there was a reason for not considering a modding manager like thunderstore?
is there 2 disks in this system?
real, thunderstore would be so much less hassle
and is quite easy to setup, especially as you can share modpacks by just importing/exporting a profile code
I mean... why would they have to be physically seperate disks?
to the OS it's all the same
also means you can push updates and then have people semi-automatically download them
instead of doing it manually
ok idk what's going on here
I guess this is what lets it limit each vm's disk size
oh lvm
yeah that's voodoo
(I say as a non programmer or system admin)
I really shouldve spoken out about using thunderstore a while ago, would've made things so much easier much earlier
people ask about it all the time
we're trying for a system that's fully integrated with the game here
does thunderstore have an api?
TS was an option but it was never properly picked up
I really don't want the mods tro migrate off of github
ts is a database and api
which thunderstore would probably lead to
I never used a mod manager because github is easier and there were no benifits for me
same
github isn't easier for entering the modding space though
I mean they could probably exist on both.
yeah I love the github system too, but I can see why it's a pain for users
they could yes
but have you met humans?
well unless you're already a programmer
the reason we don't use TS is because modders didn't bother
which most people playing the game arent
or a linux user
but a lot of the mod devs are
that doesn't mean we shouldn't improve ease of use and access?
esecpfially for something like balatro where we don't need to compile anything for mods
hence why we're trying to build a system that integrates directly with the game and doesn't need anything else
how many people struggle with just getting steam modded to work, let alone getting mods to work
tbh I care mroe about my ease of use than users
it's a teaching tool
now these folk know a lot more about their computers
lol
which nobody who downloads mods uses, it's only those making them
also thunderstore or whatever wouldn't make getting steamodded easier
You are very naive
just mods for steamodded
if you think people are actually learning from that rather than getting pushed away by the difficulty
yes it would
steamodded doesn't install any harder than literally anything else
how?
Thunderstore already has steam modded on it
no, I'm talking shit because like Wilson I care more about my convience than theirs
how?
you... download thunderstore, and go to balatro, then download steammodded, then click Modded
you still need to manually put it in the same spot and install lovely
no you do not
oh theres an app for it?
I have never done that
YES
also you can make a frontend while still keeping the backend and manual option available
good god
which is the whole point
from my perspective, it works perfectly by means of me having previously uploaded it to their app manually
making it easier for the average user while keeping it the same for modders and powerusers
how does the automatic thing work with lovely and antivirus?
that's the ideal imo
it just works, I've never had to make an exception or change my antivirus
it doesn't
.???
at least not for recent lovely
the most recent version of lovely on TS is still like 0.3.0 right?
Right. I just feel like you guys are talking about how to completely re-invent a mod manager? It just seems... overkill?
are you still on lovely 0.4 and smodded 0.98
exactly
I mean a mod manager is just a program that downloads and deletes files
plenty of games have their own mod managers
when there's a reason for it
there isn't one here
thunderstore works perfectly fine
the only disadvantage is that you have to actually... upload and maintain your mods on it
crazy concept
forcing thunderstore isn't gonna happen
lmao
forcing a new mod manager is just ridiculous lmao
seems like the thunderstore manager is windows only so thats not a great option
it wouldn't be forced
so all you're asking is for me to make my own workflow inconvenient for the sake of having an install process for end users that's maybe slightly easier?
the mod manager is optional
right but then its no different downlaoding mods from github or thunderstore manually
it would be forced upon mod devs
"slightly" you mean orders of magnitude easier?
see that's a great reason to not use thunderstore specifically
fair enough
which I guess I technically am
but still as long as it's all github based i'd be fine
yeah that's an actually valid point, but it doesn't change the fact that thunderstore is a perfectly viable option which is readily available for windows
man.. computers aren't that hard. I see frankly braindead teenagers come on here everyday and even start trying to make their own mods
the largest hurdle people face, it literally can't solve
that is antivirus issues with lovely
downloading a zip file and extracting it into a folder isn't hard
people struggle with it in chat on the daily what are you talking about
at least not orders of magnitude harder than pressing two buttons
if that's what this comes down to
you're really arguing that we shouldn't make it easier for people because it would be slightly harder for you
when the whole point should be ease of access?
the hardest part for people is literally reading and follow instructions, which is frankly a skill issue
which can be avoided by.... using a mod manager
if you're using lovely you're using a really old version
I'm not arguing against ease of access
I'm saying we can't make thunderstore a viable option, mod devs like myself won't bother because they care about their own workflow first
you're completely right about that lmao
but I think that making something easier to use is a plus regardless
I've helped through many installation processes, the key issue is antivirus most of the time
that or mods crashing which is often not something that would be able to automatically be fixed
same
just takes a bit of patience to help them troubleshoot
tbf i should slap the antivirus warning on the install page right in their face as step zero
good idea
it's too out of the way
in my experience it's actually people not reading the installation instructions well enough
it's not clear enough that they definitely need to do it and do it right away
Maybe we should link the Anti-virus section in bold under the lovely section
but yeah this is the main reason thunderstore is a non starter regardless
also I suggest removing the link to releases from that page - I don't know how people scroll past the giant deprecation warnings, but it happens with some regularity
fair, but beta releases aren't far
I just feel it should include some working version of the index, even if not fully featured
you can just add the link back when beta releases happen
Also it seems there are ads which I don't really like suggesting we use a program with a bunch of ads in it (idk how bad the ads are)
yeah it's all a bit corporate seeming
Maybe just a version that allows self updating, without support for other mods
there is a single ad front. it's one banner.
Lilo, I use Linux, and many of the users and devs also use linux or mac
something windows only is completely irrelevent to balatro modding
imo
I can't provide input on Thunderstore but there is value in having "real" package management
"many" speak relatively. proportionally a vast majority of users are going to be running windows
again a good point against thunderstore specifically, but I feel like I should clarify
my original question was why not use any existing modding manager? thunderstore is just one of the options
To be fair Linux support isn't too bad as baaltro doesn't really have official Linux support, but macos is probably important
What other options are there?
outliers matter, especially for stuff like this
The only mod managers I've ever used are custom Minecraft launchers
And Olympus which is not a generic one
r2modman does exist and last time I checked it runs on Linux and Mac, but I agree in that I've rarely felt the need to use a mm for Balatro
outliers do matter, but when you're talking about relative effects you should accurately depict how much of your userbase it affects
Being totally transparent: I work for Thunderstore
pretty sure some of the devs on major mods are mac or linux users
so it's not just about poprotionality
I feel like Balatro is perfect for an in-game mod store
Lovely is also handy as it doesn't get wiped by updates
Honestly? I have no idea
Just kinda feels like you guys are about to create something when there might already exist something for what we need
the number of users effected doesn't equal its effect on the scene
if you guys dont want to commit to anything you can go about it like neovim and have package management work entirely around repos
lmao
thunderstore won't wipe github out like it's the only source for mods. having most of the stuff on thunderstore or other modmanagers means you don't have to worry about the majority of the problems that come with a fresh modding scene
Most games I've used have thier own mod managers (often built into the mod loader) and also it's nice having full control on how something behaves and not forcing somethifb else to fit for our use-case
which is mainly getting people into it
I mean I'm not vouching for Thunderstore lol
I think that the way it's currently being done is good, y'all just need proper package dependencies n such
I'll reiterate that an in-game solution is totally possible
the best case solution is officially supported mods, but that isn't going to be available, if ever, for at least another 6 months
i won't even bring up overwolf because again r2mm exists
tbh I think having more of a web presense outside of discord would help more like that more than anything. It's why I think #1260833176935465063 needs a webpage to go with it
steam workshop notoriously has the same issue of making it hard for mod devs for the sake of oversimplifying user experience
I mean whatever we use for auto updating, it should have a front end
which thunderstore would allow. thunderstore has a full web interface
Honestly? I think every game having it's own mod manager is usually kinda dumb lol. As user, I wouldn't want to use 5 different managers for my 5 different games
I mean it's a fundamental limitation with how mod manager tools develop and the needs that they fulfill
well ideally it's more that the manager becomes part of the game