#Balatro Mod Manager is now out! 🎉
1 messages · Page 5 of 1
well, i'll go to sleep now and DM u on how i run the game later
is that ok?
sounds good
oo
I can try to help possibly
@cunning matrix wdyt of making a separate BMM discord with a general channel and a support threads one
since this thread turned into a debugging and development discussion
also hi im having a hard time falling asleep and it's 2am now😢
Looks like an improvement to me, though I wasn't the one who requested the change, haha
if you have any ideas i be up to try them
rip worse case just rest your eyes
just to check (this is probably dumb, but just to be sure, you did install lovely, correct?
bmm installs lovely for you
ah alright (I setup the modding before realizing that bmm worked on linux lol
the thing im gonna suggest is running the game repacked as a native linux program with lovely builtin
i have a recipe for this, but linking it here will probably get me banned
suggest to who? (me or refaera? sorry if I'm being stupid)
refaera
ah cool
just to bypass all the steam and wine dll shenanigans
not linux specific, but the ability to sort mods by last updated would be nice
Good Idea. Will create it some day
create a feature request on github
otherwise the suggestion will probably be lost & forgotten
Any Ideas on how to implementent this without hitting the github api's rate limit?
Actually
Just embed in the index with the version
We could just add a last-updated tag in the json when it ran an auto update
yeah
Is there a way to submit or apply for submission of a mod?
Would this be for a mod made by you, or by someone else?
Mods can be submitted by pull requests to https://github.com/skyline69/balatro-mod-index. Check the how to publish steps
Both, a mod I'm working on I'd like to submit on behalf of the team and also I wanna submit a mod I use
For mods made by other people, just check with them first to see if they're happy for their mod to be included. Makes things simpler and keeps everyone happy
alright ill get into contact
some1 add mobile draggin to this shit pls
Has anyone had luck installing the linux version on a steam deck? I tried for a few hours yesterday and just kept hitting brick walls. Not the least of which being I know very little about Linux lol
BMM or the game?
BMM
not yet on my end BMM will not launch the game but BMM launches
Is the extra credit mod in here? I dont see it
also, is it possible to disable mods in the mod manager like you can in the mods tab in-game? It keeps crashing otherwise
Not currently, though it's a feature that's been requested a couple times, and wouldn't be too hard to add
that would save a world of trouble
BalatroMultiplayer now loads itself using nativefs so it expects its dir to be called BalatroMultiplayer but since its smods id is Multiplayer BMM saves it in Multiplayer
which leaves it broken
not sure if the smods id and the BMM index id have to be the same, but if they don't i'll make a PR to the index
Easy to fix. If you make a PR to change the folderName I can approve it right away
there's a folderName, that's neat thank you
I wish more mod devs would do a search for their mod folders instead of expecting a specific name
I also wish Lovely would provide the current directory of the mod being loaded so that searching wouldn't be necessary at all, but 🤷♂️
i honestly don't know what's wrong with requires
they're very flexible and their search paths can be modified
not sure what started the "searching for ur own source code" trend
That's true, I agree they're the better option. That's what I've used for both of my mods
wait ur the author of SystemClock & DismissAlert, right? great mods
yeah I have no idea why people don't think it's a problem that their mod needs a specific name
just remembered something:
average arch experience, ran pacman -Syu and can no longer run the game's dev env🫡
I'm out of the loop I guess. Why are people searching for their own mod names?
a lot of popular mods use nativefs to read and load lua files from their mods
i assume instead of structuring the paths to match requires or updating require's search paths
Nativefs doesn't use relative filenames?
The base filename mods have is the mod directory, not the mods specific directory.
Ah. That doesn't seem very intuitive
Not sure why we're picking recognizable mod names and not using that to narrow down which folder to check but something something competing mod standards.
This can happen pretty easily since SMODS redoing how it loads and reads files is going to be forced if we want a version to work for Gamepass.
also, which version of multiplayer has this issue? 🤔
And that would have to be on lovely's end
can't seem to make it crash on startup with either the latest release or latest commit
There is a kind of weird culture of carelessness and apathy about programming best practices in this modding community that I haven't really seen in other mod communities before. Sometimes i feel like the only person who cares about proper versioning and stable releases, for example...
Maybe it's a result of Lua drawing in more amateur programmers with only prior experience with Roblox or ComputerCraft? The average age of mod devs seems to trend pretty young
People see one mod doing something and then follow it because they don't really know how to do it any other way.
It's why some mods have object_type = "Joker" in their joker declarations, even though this is completely useless outside of Cryptid.
I think it's more about people who haven't programmed professionally/as a team before jumping into balatro modding (that includes me) and just not knowing about a lot of good practices and issues that can come with not following them
i think starting from 0.2.2
ive only installed it from BMM today
I think a lot of older mods did this with Talisman and thus a bunch of mods that don't search properly and just assume it has an exact name in the mods folder.
Talisman couldn't still can't find itself if not named "Talisman", no?
Weird, seems to boot up fine for me even with the folder being named "MyMod(1) - Copy"
Yep
if not nativefs.getInfo(lovely.mod_dir .. "/Talisman") then
error(
'Could not find proper Talisman folder.\nPlease make sure the folder for Talisman is named exactly "Talisman" and not "Talisman-main" or anything else.')
end
Latest version of Multiplayer 0.2.4 released like 10 minutes ago uses the better SMODS approach:
MP = SMODS.current_mod
...
local files = NFS.getDirectoryItems(MP.path .. "/" .. directory)
it prints a graphical warning that the folder is wrong instead of crashing
not much better🤷
and by "it" i mean the main branch 15 minutes ago, maybe they behave differently
the current release from ~10 min ago is the same as the main branch
Yeah, I can't find any indication that it wouldn't work if not named "BalatroMultiplayer" either. Is this a Linux-specific fault?
I'll look into how SMODS determines current_mod.path
huh🤔🤔
maybe🤷
this is the warning i saw
if not SMODS.current_mod.lovely then
G.E_MANAGER:add_event(Event({
no_delete = true,
trigger = "immediate",
blockable = false,
blocking = false,
func = function()
if G.MAIN_MENU_UI then
MP.UTILS.overlay_message(
MP.UTILS.wrapText(
"Your Multiplayer Mod is not loaded correctly, make sure the Multiplayer folder does not have an extra Multiplayer folder around it.",
50
)
)
return true
end
end,
}))
return
end
Oh. That is not an issue with the multiplayer folder being named wrongly, that's an issue with it being nested
this happened with the BMM installed version?
yes
i fixed it by renaming the dir tho
idk maybe something else was wrong, i was neither trying to play the game or install multiplayer, was just testing lovely love runtime things
🤔
I suspect lovely shenanigans. If you rename it now to a random string, does it fail?
nope, renamed it back to Multiplayer and checked in the same VM and it worked
also tried older releases
so it's nothing with the mod's code indeed
not SMODS.current_mod.lovely checks if the mod is a "lovely" mod, so this is really strange that renaming the file suddenly works.
So something unrelated caused Multiplayer's lovely patches to fail, but that's just the error message that it spits out when its lovely module hasn't loaded properly
yeah
Would you mind popping up another PR to revert the Multiplayer folder name change? Better to keep the name the same for most users if possible -- i'm not sure how smart BMM is about folderName differences, it's possible that it'll start creating multiple side-by-side installs
well, sorry for the noise then
No worries, we got to set a new fastest PR -> merge speed record
i have a github achievement related to this
but in a private repo
is there any saturn mod patch that plays nice with the current stuff in cryptid?
This might not be the right thread for that, #⚙・modding-general is probably a better fit, but have you tried https://github.com/OceanRamen/Saturn/releases
is this someone else's take on saturn?
Sort of, it was picked up by SleepyG11 after OceanRamen ducked out. They've fixed up most of the major conflicts in the last couple weeks
siick
I just installed it and it's yelling at me with cryptid saying "unresolved conflicts: Saturn"
is something about lovely conflicting?
Ah, looks like Cryptid has just marked all versions of Saturn as incompatible, that's a bit rude. I've just tested it and they seem to cooperate fine.
You can manually override the conflict by going to %AppData%/Balatro/Mods/Cryptid, opening up Cryptid.json and changing line 18 from
"Saturn",
```to
```json
"Saturn (<<0.2.2)",
Though there are reports from people saying that Saturn causes negative consumables to crash, and they recommend using Incantation instead of Saturn when playing with Cryptid
k this is me being dumb, but where do you download from here?
You're not dumb, their release system is. Download the whole collection from the main page with Code --> Download ZIP, then just copy out the Incantation folder
so each individually then throw it in my own file?
Ping me in #⚙・modding-general if you've got any other issues, this thread is for BMM
just realised i haven't played balatro for weeks, since i got into the BMM linux thing i've had no time for my mod or the game itself
it's fun tho
Hey I just started trying to mod balatro using the version.dll method, but the game doesn't seem to recognize the presence of any mods
Can anyone help me figure out what went wrong?
@cunning matrix this is what the appimage generated by tauri-action looks like
in the mint VM
on nixos it doesn't launch at all
i think i can get the VM to run on the gpu to prove whether or not the background animation is broken
but meehhhh
here's what my v0.2.4+good-css build looks like (renders better than tauri-action and is as slow)
hello @stuck sparrow, could you enable the background animation from the settings and let us know if it's slow on your mint install? no problems if u don't want to tho
i honestly think that "good-css" release works fine on ubuntu derivatives, but don't wanna install ubuntu on real hardware because my boot disk is ~50GB
runs smoothly on my end
thanks
@cunning matrix ^ looks like the issue has been solved on sane linux setups, only you and i have these issues, and i think mine is fixed in the nix flake too (haven't used that in so long since u hate it and i want to test what u think is relevant)
tho there were others testing on arch
@hidden nexus hellooo, does BMM still work well for u with nix run ...? could u enable the background animation and let us know if it's slow or not?
For testing I believe WSL has GPU acceleration(?)
i only use nixos and virtual machines
But reasonable
this is a project for running nixos in wsl, i already run nixos on my hardware and im trying to get someone to test on an ubuntu-derivative
i can try to get gpu acceleration working in the VM tho
oh, the person i asked about their nix install is just using the nix package manager on arch to run a build tweaked specifically for non-nixos setups, that's where the confusion came from
I can't believe it. I tried it on ubuntu & Arch. Both with the same results
last update u gave is that it doesn't launch at all
is this still the case for u? what errors are emitted in the logs then?
Wdym, it launches?
nah this was fixed
I mean that it ran well
They all ran like shit
could u show us ur inxi -G?
But it could maybe also be the shitty webkitgtk browser
I'm not on Linux rn
id honestly just say fuck it we ball and merge the code
i fear we're breaking a lot of stuff on other platform through the conditional comp macros the repo is currently littered with
With the current state of the code, we can't merge anything rn
and that we'll continue to obliviously do this until the linux branch is unmergable
it can be cleaned up and all mentions of linux are removed from the readme / docs
just how lovely does it
All the other platforms are broken currently
We need to fix the launching issue too.
it's caused by instances of this, i added a comment about it in the pr that introduced the change. although having variable argument count per-platform is ok in rust itself, looks like the tauri::command macro trips over it
all conditional comp is ok to remove here, and actually almost all conditional comp i used in all tauri commands can be omitted since the extra argument i added is an Option and does the non-linux thing when set to None
also i deliberately avoided having variable function signatures per-platform everywhere except in tauri commands (thinking it's fine since they're kinda managed and u don't pass that state struct urself)
anyways, will make a PR to fix this👍
i always knew the rust compilation time memes were true but i hate that BMM compiles in 10 minutes on my machine
uhm i got this erorr lovely doesnt want to instla idk no why but i use the mod laoder
wait maybe i should run it with no mods only steam modded and lovely
10/10 profile picture, best dragon, full marks.
This is because you have Lovely 0.6.0, need to update to 0.7.1.
Have you installed Lovely before?
huh owh where is the download for lovely again
yes once but that was begingin of the year
i think i found ti this one right https://github.com/ethangreen-dev/lovely-injector/releases/tag/v0.7.1
okay il instal it and delte the 0.6.0 version
- Install Lovely v0.7.1
version.dllintoC:\Program Files (x86)\Steam\steamapps\common\Balatro - Delete
dwmapi.dllin that same folder IF it's there - Restart the game
No need for that, that's just a folder for log files
owh okay
uhm wtf
i guess balatro is protect but why
why do i need administrator acces to chage the dill
Hmm, that's probably why BMM wasn't able to replace it. Try deleting version.dll first
okay
that worked thanks
my fing macaffe removed it ugh
Yep, you'll need to temporarily disable your antivirus, put Lovely in, then go into your antivirus settings and add version.dll to the whitelist or list of exceptions
i added it to the whitelist but it said no whitelist getting reverted f you no version dill for you
Haha, okay. You'll have to look up a guide for adding exceptions in McAfee, I don't know much about that
no i added ti as exception but was no we protect you no exceptioning this file
@wheat wave got this error anygeuse as to what is causing it
hopefully found ti it hink it wad the Entropy
mod
it was that mod okay yippe
it crashed againt hsi time its the yu gi oh mod ugh i was wanting to play that mod
u have too many mods, don't install them on top of each other
I don't think there are any known major issues with that. Try cutting down your mod list a bit - especially for content mods, start small, then add slowly onto that
only 11 pages of mods okay not to much
i used to run 6 pages fine had a descent mod pack goign that i mad emy self i could try to remake it but idk
sized it down to 9 pages but msot of the mdos are frameworks
I'm saying remove them all, then add them just a few at a time, starting and testing the game every few mods you add, just to check what works and what doesn't
nah i do the other way around
but probaly also gona play a diffirent game cuz that game jsut got the biggest update since release
what mod is called expandinhandabileties i can find it but i need to uninstal it
looks like... either JellyMod or LushMod
uhm i got hem both not installes
whats the difference between incantation and saturn
does this program overwrite your save files when you launch it? i cant find my old saves
Incantation adds only consumable stacking, Saturn also adds an Animation skipping feature, Pausing after scoring, and Hide played cards in the deck viewer
ah gotcha ty
nevermind it was just cryptid
It shouldn't have touched them. They'll be located at %AppData%/Balatro/1, 2 and 3. If you've installed Cryptid, though, it creates new save profiles at M1, M2 and M3 and leaves your old ones untouched to avoid corrupting them
the nix way still works for me on arch. the background animation is very slow on arch.
anything else?
thanks, could u give this binary try: https://github.com/janw4ld/balatro-mod-manager/releases/download/v0.2.4%2Bgood-css/Balatro.Mod.Manager_0.2.5_amd64.AppImage
it's self contained, u just download and run it (or maybe it needs chmod +x first)
oh, I already downloaded that one from the fork on the GitHub. I didn't even realize which version of the manager I was downloading. It is still slow there too.
@dawn grove Ahh you see. So it's not just us
I'll pop this over here too, only started getting this error with mod manger so maybe here can help
Current mod list:
Local:
Cheesy Jokers
Item Remover
Jank Jonklers
Run Reviewer
Joker Evolution
Kuso Modpack
Mika's Mods
Myst's Jokers
Ortalab
Spicy Jokers
Tessaract
UnStable
Mod Manager Catalog:
Betmma Mods
Bunco
Card Sleeves
Cartomancer
Cryptid
Galdur
Highest Priestess
Multiplayer
Neato Jokers
Steammodded
Talisman
i don't think the mod manager should cause anything like this
if theres an issue itll happen within the app
This is not related to the mod manager at all. The mods that you are using are causing this. Try to remove all of em and start by installing each mod and running the game by combining multiple mods until you hit the error. Then you'll see what's causing this issue
Alrighty, thank you!!
@wheat wave @vagrant plover Is there anyway to specify which mods should be loaded to Balatro when using lovely? Like an argument which you can pass to lovely.
there's no argument afaik, but you can create a .lovelyignore file in the mod's folder
that will prevent lovely and smods from loading the mod, and is also what smods does internally when you disable a mod ingame through the mod menu
Ahh nice
Makes things much easier
And how is this structured? Could you give me sources for it if possible?
I can give you a link to the smods code that does this?
Nvm I found it
Nvm, lovelyignore should be in mods right?
In the folder of the mod you want to disable
Ah I see
And it should include the ., like .git
Alr thanks
Alr got the enable/disable thing working now
@vagrant plover this alright?
or should I only do this for mods in the catalog
Hmm, I'm not sure. Might be hard to intuit what a checkmark is supposed to mean there?
What does it look like on mods installed through BMM?
Is it like the first screenshot?
yes
Do you have any ideas on how else it could be communicated to the user?
Maybe I'm reading too much into it and it's obvious enough though, let's see what other people think
Is the checkmark to enable the mod, or does it mean it's currently enabled?
It's currently enabled
I'm not sure what kind of UI presets are available to you in Tauri, but something more closely resembling a classic checkbox or toggle slider would be much more clear than a simple button.
that's a good idea
like this?
wait is that enabled or disabled
Might not be colorblind accessible to use the same icon just greyed out
I'm not sure that is what breeze meant
So an "X" then?
Not very clear. Doesn't resemble a checkbox, still looks like a button like the others. See if you're able to make a two-state slider in your UI library.
Moving it away from the other buttons and next to the mod name might also help to distinguish it as something that is acting "on" the mod directly, too
I think something like .slideThree in the image Breeze posted is probably a better idea
so this
There is no space for the slider
Personally I'd interpret an icon with an X as a way to remove the mod, and feel confused by the garbage bin icon
What else other than the slider then
button that just OFF/ON
a slider like this would probably work really well, if it fits 🤔
This is good I think
Maybe separate Enabled/Disabled mods so they aren't mixed in together
Show Enabled mods above, and Disabled mods below. Could be divided up like the local/downloaded mods are separated idk
Yeah thats alright
I was going to suggest graying out the mod instead of seperating, but that works too
looks ass
there should be a list view too
the grid is too cluttered
wdym?
It looks like this rn btw @dawn grove
imo, given the 4~5 buttons that are duplicated for each mod, a list view with all buttons separated from mod cards should be available or even the default, and the ability to multiselect from a list and batch update/disable/remove should be available
^ this is what my favorite minecraft launcher does, it's a native Qt app so it copies your system's theme too (none of that tauri & web slop)
I love Prism Launcher
Yeah I was thinking about moving to QT too, but it's too late now
And there is no way you can make the UI look like in BMM
yeah, and the toolkit doesn't really matter i was just being annoying
but adding a list view would be great for UX
I will add it later
current state
Seperate enabled/disabled mods like local/catalog mods?
6
6
1
Yes
👍
i was wondering how to download mods off the manager
because its just saying i dont have steam modded when i do to play jens almenac and such mods
Download steamodded through the mod manager
It's a mod
gotcha thank you
"Steamodded" is a pretty confusing name for a modding library, I think Steamo might not have fully thought it through when he picked the name.
I believe that is indeed one of the reasons it is now often referred to as "smods"
just tried out the manager and it says this when i press launch, any help?
i already had lovely and steamodded installed manually before this, maybe it's because of that?
welp i reinstalled balatro from steam and it seems to work now
Just to let you know it is because you had a preexisting mod folder and/or lively was already installed
^ you had a pre-existing version of lovely that was too old for one of your mods
reinstalling balatro deleted the old version of lovely, and BMM automatically installed the latest lovely, fixing your crash
New release guys: https://balatro-mod-manager.dasguney.com/download
(Finally with a pipeline)
guessing i just have to uninstall and then download this one to update right
unless its simpler
the way i do this is point the .git-index file at my repo and delete all caches, then find the mod im trying to add and see how it looks in BMM
but a better idea would be to use github pages to deploy the mod's page to a "BMM preview" app where users can click a link and see how their mod will look when merged
not sure if the code for that page is modular enough to be split out and deployed as a separate or not tho
Would we need a backend part for this when doing this? Like, if a user wants to publish their mod, they could instead use the "publish mod" page and we could use the oAuth of GitHub to automatically fork and create a Pull Request to the mod index automatically? Do you think something like this would be possible?
If this works as a static page, without requiring a backend, this would be great
one thing i noticed broke a bunch of mods previews is the lack[?] of image rendering in the markdown, or i think it's more that when someone tries to render their thumbnail.jpg using ![./thumbnail.png] the tauri app searches for that asset in public/ instead of relative to the mod's directory in the index
I don't think images in descriptions is a good idea anyway. It will increase the loading time for the mod manager by a lot and some images are not formatted correctly
i think doing it like this won't need BE logic
- user forks the repo and creates a PR
- a copy of the mod index is deployed to a new page using gh actions, where the static html+js searches for mod entries in its workdir (the pr's branch)
this will make it a bit weirder UX-wise since the user is still expected to search for their mod(s) to see how they'll look
but is the most convenient thing i can think of, and would easily support the use case for people adding multiple mods at once
No, we could just rebuild the UI from the mod manager on the page, with it being editable, so they can see in realtime, how it would look like
got u
then the whole page can be a form they submit then a json and md are created from what they type in
i think there are in-memory zip libraries
exactly
that can create archives on static pages
And then?
there might be something for git too, or if not we can just write something that uploads the mod as zip to something like https://pomf.lain.la and sends the link somewhere (to a discord channel for example)
and contributors run the PR creation automation on their machines
instead of having a central server
just as an initial poc 🤷
https://github.com/isomorphic-git/isomorphic-git
anyways, git client for browsers
A pure JavaScript implementation of git for node and browsers! - isomorphic-git/isomorphic-git
But why a zip? Couldn't we just automate the process directly without the need of creating a file and just pass it directly to the index?
i meant if it couldn't be automated directly (there are no git clients for the browser) then the zip thing can work
but there's one👍
But this would require github user authentification, right?
We could actually implement this
@viral locust Are you in on this?
idk if it can be used securely with no backend tho
wdym?
You still need to authenticate via github. It would just be an alternative front-end
if the flow is 100% client-side we may have to send the app's tokens to the client at some point so isomorphic-git can push commits
idk, you'll find out when u try to implement it
Are you sure? Because, you don't need access to the tokens when you make a PR anyways?
im sure u need either a token or SSH key to push to a branch
instead of avoiding a BE altogether we can try something with a generous free tier
i remember using vercel, planetscale and railway for all my college projects and paying absolutely nothing for them
Yeah but they're not really pushing anything. They are committing on their own fork and making a push request later on (automatically) and we check the PRs then
Having the Mod index on a server like vercel would definetly hit the free plans limit real quick, since there a lot of request being made to the server
not the index, just the PR maker page
I was planing on doing this anyways (hosting the mod index on seperate server and not on github) at the point where there is enough financial support for it
Oh I see
But I don't get why you would need a token from github to make a PR with your own Account?
ok im not sure anymore tbh, when i suggested a github app i meant the app would own these forks not create them on behalf of users
What you mean by "own"?
instead of users giving the app access to their account, so it creates a fork of the index and a PR, the app instead has access to the BMM index repo and creates a new branch and a PR to it
like no user credentials needed at all
this is how i thought of it first, and what i think would require leaking the app tokens to work 100% client side
Btw you don't need to remove your mods all the time anymore. You can just disable them in the latest version of the mod manager now!
I think it would be a better Idea that it would use the accounts of the users. No backend at all and it would also be more safer
i think using the users' accounts (from an app) would require a backend but idk, i don't really know how GH apps work
will have to read about that
at my job we use a dedicated user with a classic PAT (created before github apps were a thing) and it does all our automations
ok so
If you want your app to take actions on behalf of a user, you should use a user access token for authentication. This type of request is sometimes called "user-to-server," and it means that the app will be limited by the permissions that have been given to the app as well as the user's permission. With this pattern, the user must authorize the app before the app can take action. For more information, see Authenticating with a GitHub App on behalf of a user.
src
this means when someone logs into the app u can get a token similar to the PATs we use with https git requests and that token can be used to do anything on their behalf
neat and static webpage pilled
So I was thinking about something like this:
+---------------------------+
| User Login via GitHub |
| OAuth |
+---------------------------+
|
v
+---------------------------+
| Check if Fork Exists |
+---------------------------+
| |
| Yes | No
v v
+----------------+ +----------------+
| Create Branch | | Create Fork |
+----------------+ +----------------+
| |
+------------------+
|
v
+---------------------------+
| User Creates Metadata |
| (description, thumbnail, |
| meta.json) |
+---------------------------+
|
v
+---------------------------+
| Commit Metadata to Fork |
+---------------------------+
|
v
+---------------------------+
| Create Pull Request |
+---------------------------+
|
v
+---------------------------+
| Mod Index Maintainer |
| Reviews and Merges PR |
+---------------------------+
Alright, I'll look into this
Wonderful, thank you so much!
can u rebase the linux branch so i can release that?
or maybe give me contributor access to rebase the branch myself🥸
I‘m at the gym rn, I‘ll do when I‘m back home
when auto-update
like when user is launching outdated version of the manager it says 'Newer Release Detected! Do you want to download it right now?' or sum
looks ez too
Wasn't there a way to add modpacks for BMM?
I was thinking of this https://discord.com/channels/1116389027176787968/1339375696254074942
It's not a feature of the mod manager yet. This will be implemented in the feature
Kay
Yep, I can make some time to try and clarify the Index readme in the next couple of days -- IF you respond to my last readme-related suggestion about guidelines that I sent you 3 weeks ago 😛
Nvm about that. I‘m gonna make a website for this
Just catching up on the chat now
Yep, definitely important on the misuse and abuse side. If someone misused the App auth to make a million submissions per minute, it would be rate limited or suspended and the owner of the App would be responsible. Per-user authentication removes this possibility
Whoops, meant to reply to the message above yours. Sorry for the ping
Can I disable and enable modded balatro using this manager? Or is that still not possible without completely removing everything? Since I do like to play completely fresh Balatro between the occasional modded run.
Eh, I'll check myself. I'll just back up my profiles just in case.
Oooh! This is great! It seems to be a completely different profile system.
thats literally a thing that was added yesterday 😭
That's so cool! I choose the perfect time to try out this mod manager, ha! I wasn't going to try mods again until I got completionist+, and I JUST got it a few days ago so I decided it was finally time.
The mod manager dev is doing great work! This is a muuuch better experience than when I tried out cryptid raw a few months back. Took me hours to get it working, and it still had issues.
I should mention I only learned of this mod manager today.
I also feel compelled to say this is a feature of Cryptid, not the manager
other mods will still modify your saves (and may break them if they write Talisman numbers in them)
@dawn grove Do you think it would be a good Idea to be able to create/manage seperate profiles in the mod manager?
game profiles or mod profiles
i think game profiles are overkill
Both are the same, no?
idk what u mean, but mod profiles as in separate collections of mods that users switch, but BMM itself doesn't move or modify the game's saves
No, that's what I was talking about. Moving or modifying the game's saves
prismlauncher does that, but i never felt the need for it with balatro tbh
I could reverse engineer the .jkr files so the user would be able to modify the game files
they're a gzipped lua file
No way
bruh
Not even serialized binary structures
what an unoptimized way of doing things
anyways
that makes it easier
editable plaintext > serialized data in save files, fite me
and there's an editor
https://balatro.shorty.systems/
A simple save loader/modder for balatro. Contribute to WilsontheWolf/balatro-save-loader development by creating an account on GitHub.
I could build this into the mod manager so easily
In case you're unaware, there are a couple neat tricks for mod profiles that might make things even easier:
#⚙・modding-general message
Renaming the Balatro.exe, and using the --mod-dir argument with Lovely installed
I think moving the 1/ 2/ and 3/ directories out of the save folder would be more than enough
What would be the most optimal way of implementing seperation of modded and vanilla balatro in BMM?
imho mv version.dll version.dll.old
keep it simple yada yada
No, I mean having seperate profiles in the game. 3 for modded & 3 for vanilla
It would probably also be ideal to use a different AppData folder for maximum separation, most probably by making a symlink of Balatro.exe with a different name
Not possible. Windows doesn't allow programs to make symlinks without admin access & doing some shitty things
then make a copy
bruh
Ah, pity. Well, it's 55MB, so it's not nothing, but is fine
and i think a different executable is in fact the best approach for separating saves
does it allow hardlinks tho? i think mklink worked with no extra drivers or admin access
no
I already tried
So, a seperate exectuable with a seperate modded folder and seperate saves
Might also be a nice feature to copy over settings.jkr, especially for the Tutorial Completed ☑️ setting
I'm unclear on what the meta.jkr in the root folder stores exactly
Could you check rq?
i did
and?
You mean the one in the root folder, or the one in the save folder?
in the saves
i don't have any in the root
Ah i'm talking about the root one. In all of my mod profiles that I manage manually, meta.jkr in the root just contains return {}
So, can someone make an Issue for this real quick (Separate Modded Executable, ... & ability to Modify game saves)
Huh, interesting
lol peek my work chat in the task bar 🙈
Now THIS is corporate espionage
Hmm, just deleted the root meta.jkr and it hasn't been recreated. I might have placed it there by mistake at some point, or possibly been generated by an earlier version of SMODS. Nevermind that then, just settings.jkr is all that's necessary
this can be done by creating a copy of Balatro.exe with a different name, say BalatroModded.exe, this'll result in the creation of a new save and mods dir %AppData%\BalatroModded which will be ...
could be based on https://github.com/WilsontheWolf/balatro-save-loader, game saves are compressed plaintext lua or json files. it's a neat feature because i had to manually edit saves before to...
now im thinking of starting a new career trajectory as a product mommy managing JIRA tickets for the team
@dawn grove I know this might be asking too much, but could you make a design in Figma how this should optimally look like?
not sure if ur joking or not but i've never used figma in my life (does it even work on linux?)
It's easy. Just create shapes and forms in a colorful way
...is this a homework assignment? This feels like a homework assignment
yes it does, it's a web app made using web assembly
It is
(maybe)
@dawn grove You don't have to do it. But you'll get a bad mark if you don't show me your homework
it's above the pay grade of a product mommy. don't know of anyone who does design mockups😔😔
@wheat wave Alright this homework is being passed to you then
As long as you're cool with it being submitted a full month after the due date like all my uni work was
No, this is way more important than uni
This will grantly impact your life
Hold on
I have a perfect candidate for this
@rare mango here me out
wtf is this
yeah ik it was fixed, this is the npm deps updater CI logs
will update them manually
yeah yeah ik. I did something wrong in neovim, that's why this symbol appeared
<c-v> then random keys
Ok before I do the design then, I need to know which components are of which type(boolean, number, text, ...) and which values can be edited which ones are crucial and so on and so forth...
u can just unpack it and let users edit it raw like wilsonthewolf's app
no need to overengineer the feature, nobody's gonna use it
my only use case for it was editing fields that a mod added anyway
But it's cool to have it
so selecting specific fields to whitelist will limit its power significantly
Like a text editor then?
yes
Are you sure? No UI for it?
yes
?
u can have a UI for the basic fields someone can edit then an advanced mode which is just a text editor
but not allowing users to edit the save as plaintext will make save editing useless imo
Yeah what are those fields in basic mode then
if there's a field that says "achievements disabled" let people toggle it
can't think of much else tbh 🤷
when i edited my saves i deleted fields my mod added
because i kept renaming them and removing save or settings fields from the code doesn't remove them from the save
the second time was deleting talisman numbers because they crash the game if it's loaded without it
We need a design for the basic view of the Mod Profile editor (editing .jkr files)
It should match the design of the mod manager
It's slightly outside the purview of the submission policy section, but I can make the automatic-version-check explanation a little more clear, sure
I might be making more homework for myself by bringing this up, but I noticed that the Mod Index GitHub page doesn't mention the Mod Manager, and vice versa. Is this intentional or an oversight?
Well, I want the index to be available for everyone and every mod manager out there. That's why I didn't specify that BMM uses this
But we're gonna make a mod publishing page anyway
we stan a software openness queen establishing open standards with every tool they make🙂↔️
Also while reading the same section, on downloadURL:
(Can be same as
repoif no separate download link exists.)
Is this actually true? I think the validator would reject this case
Just curious if BMM would handle it
yeah doesn't work at all
i tried it with the .git-index.git_info hack
i think it needs to be the same as the repo url but with a .git suffix
u can't clone https://github.com/janw4ld/balatro-typist-mod but https://github.com/janw4ld/balatro-typist-mod.git works
but this is a guess
im trying it again to make really sure :3
did not work, here are the logs
i pushed this commit to branch caseycat of my fork and pointed BMM at that branch
pressing the download button on typist does nothing
so it's outright false
Thanks for checking. I might nix that then, while i'm making changes
Oooh, gotcha!
I backed up my vanilla profile before modding regardless.
@dawn grove Regarding to this issue, should the user have the option in the settings to select the "main executable" or "custom executable", which then creates the according new save and mods dir. Actually, there already is a custom executable option. I could just modify it so that it would use the mod directory of the custom executable, no?
u can make it get the saves dir name from the custom executable's name but that's a separate feature
what u wanna add now is a toggle between vanilla and modded and that toggle should create the custom executable for users without them having to know where the game files are or how love works with game saves
right?
yeah and its interface could be something as simple as a toggle next to the launch button like these
Alright. But I would rather put it in the middle down
Here
why not just to the left of the launch button?
launching into your mods or into vanilla is a decision you make the moment u wanna start the game
Because of the text
there's a lot of space for that to be on top
But wouldn't this make it look ugly? I don't like it in my opinion. It would look kinda weird
doesn't have to be [ launch ] vanilla [ ][x] modded could be just [ launch ] [x] modded and when the user toggles modded off the text changes to vanilla
idk, i hate moving my mouse and think the far placing will add a lot of friction
As an alternate idea, could you have two launch buttons?
Idk this could be confusing
Why?
One for modded and one for vanilla. I’d rather there be a toggle but it being at the bottom of the screen seems like one of the worst places for it
That's a super unintuitive place to put an interactive element, there are definitely better alternatives
wouldnt need to include the vanilla text either, just text that says "Mods" next to the toggle. people will know that "mods = off" means they're launching vanilla
I need some ideas on where to put this and how it should look like. Could you guys show me some quick draws to where I should put this button?
bro that's procrastination, just slap anything together and see how it looks
u prototype code changes by implementing them
Bruh, yes. But before I implement them, I need to know where and what to implement. I don't want to sit for hours just to code this implementation
First, design then prototype then implement
u can start with a simple checkbox and use that to find a location u like then style it into something better
🤷
Basic toggle mockups (not my preference)
Proper profile select mockup
Steam-like profile selector
My vote would be for a dropdown selector of some kind over a two-state toggle, simply so that the UI wouldn't need to be entirely redone if/when the multiple mod profile feature is implemented
Oh man I really like this one. Wait so will this allow to play with different mods on a new save without affecting my main save?
That's one of the main reasons for the feature suggestion, yep
That's gonna be so good 🔥
If you're going to put anything at the bottom of the screen, it should be this little pagination selector. It's always bothered me that it's at the top of the screen, since as you're scrolling down, your eyes track towards the bottom of the screen.
When it was first added, I was totally blind to it until i'd flicked through a few of the categories and thought "Wait, I'm sure this category had more than 12 mods in it.
I could link to a dozen different articles about good hierarchical UI/UX design patterns following Gestalt principles, but the gist is:
- Group related features together (proximity)
- Put UI elements where users would expect to find them (continuation)
More polished mockup, with the page Sort selector moved to the left to reduce overlapping elements, and the Page selector moved to the bottom
Honestly, this is great work from you, Breezebuilder. I‘ll implement it this way
Did you make this with Gimp?
Ah I see
Definitely not the ideal software for UI mockups, but I started with a rough sketch and couldn't help myself
Can't disable local mods that aren't in the catalog. Is this intended?
Also, do these two buttons do the exact same thing? Seems redundant to have them both there if so
Great news! Signpath authorized me to use their certificates for the executables of BMM. So no more anti-virus flaggings anymore in the future! Coming soon.
@wheat wave Could you test it out me for me rq? I'll send you the signed exectuable
Sure, i've got 10 minutes before bed
Just tell me if it worked
And? Did it work?
It's looking really good with the signpath certificate currently
just checked my mentions. if i’m understanding this right it sounds pretty good
(also sorry for being stupidly late)
can someone explain how it works? i put it into mods but do you put it somewhere else instead?
it's an exe, it runs seperate from balatro itself
I was just thinking about this, there would need to be some way to make sure it's possible to update the modded balatro install when thunk updates balatro itself
is there a Linux version?
or would it work under wine?
I wonder what the fastest way to determine this would be. Comparing the filesize of the copied executable and the original executable would probably be enough
Could also do a filehash on both exes, don't think that would take very long
Should be extremely easy unless we can't read the files inside the balatro zip.
very first line of globals.lua is the version string.
can also do that yes ^
You can also read version.jkr
true
That would require reading the contents of the .exe with an archiver though, it's significantly more complex to implement
Surely there's a lib for your language to browse zip files
I'm sure there is, but when the goal is to determine if two exes are different, it seems like an overcomplex solution
Ok, update all is nearly done now
I’ve been trying to install on steam deck but It won’t let me install tauri cli
SomebodyStoleAllTheSpacesInYourCategoriesList
IKnowIWasTooLazyToUndoItNeovimMadeMeDoThis
use the docker build script and run the appimage it creates
or get it from my fork's releases https://github.com/janw4ld/balatro-mod-manager/releases/download/v0.2.5/Balatro.Mod.Manager_0.2.6_amd64.AppImage
I get an error when trying to open the mods folder
what error / send logs
could you run ls -lh ~/.steam/steam/steamapps/compatdata/2379780/pfx/drive_c/users/steamuser/AppData/Roaming/Balatro/Mods/ and show its output?
i didnt even see this
steam deck isn't vanilla arch, to install packages using pacman you need to follow this first. this will make the system partitions writeable (which imo is a bad idea and may break steamOS upgrades) so idk maybe don't do it 😅
total 12K
drwxr-xr-x 3 deck deck 4.0K May 14 2024 BalaLib
drwxr-xr-x 2 deck deck 4.0K May 14 2024 HandPreview
drwxr-xr-x 4 deck deck 4.0K Apr 15 18:05 lovely
these are mods i manually installed
i got a error with the mod manager appimage
@dawn grove
nope
does installing mods from BMM work? i think the way things (folders and the game) are opened doesn't work in AppImages
could you ls ~/.steam/steam/steamapps/common/Balatro/, is there a version.dll file there?
they say installed but they arent in the folder in dolphin. also cant disable it or press the launch button
ok, let me check at what point does BMM try to install it
Unless this acts very weird
ok
Oh... well does it work if you manually place it? Just one part of the install being broken in Linux would be a minor issue
Just throwing things out
ima try and make it and then see what happens
i did it
and i still have the same problem
wait
i made it and its not blue like the other .dll files
this won't fix the launch button but running the game from steam should load ur mods
could u try that?
no, it should stay
when launched from steam? what mods did u install?
I tried building an app image with doctor but I got an error and it asked if docker is running or something like that
try sudo systemctl enable --now docker then try again
i don't think buliding it yourself will help tbh
this should be fine
not sure tbh but if u want it to match i think u can run chmod +x version.dll or ls -lh the directory and i'll tell u what chmod command is needed
it opened but no mods
did you put the winedll overide command in launch options
should i do that?
where do i put that
steam launch options
i dont see launch options on game mode
should i go back to desktop
go to properties
oo i see
its in general
IT WORKED
lets goo
thxx
does anyone know the mod that uncaps the joker count
i think i fixed it. i moved it to internal storage
it downloads a big thing at first then starts working normally
depends on your internet speeds too, it takes minutes for me with a 3.8MB/s connection but people with gigabit internet won't notice it
Guess I'll let it running instead.
steamodded on the mod manager isnt prompting for an update, and when I go to the Github for steamodded a "0406a" version doesnt even exist lol
You should be able to delete SMODS (force remove anyway), and reinstall the latest unstable version. I'm not sure why it doesn't prompt for an update
I would but the "latest" version I can find anywhere is 0323b, which is what I already have
reinstalling the latest unstable version through BMM by going to the steamodded page should give you 0416a (or something like that)
this one
looks like you did manage to update smods though
yeah I clicked the unstable drop down
*didnt even know I could til you showed me that *
it's a tad hidden (and one of the reasons I tell other mod devs to not require dev versions of steamodded unless necessary)
fair and true lol
are you running bunco or cryptid by any chance?
yeah I just ran through a list one by one, it only gives me the crash with Bunco installed.
You can grab this version of bunco https://github.com/jumbocarrot0/Bunco (code button, download zip)
I just throw in my mod folder manually right?
yeah
thanks
Yeah, it crashed on boot up because it doesn't support the latest version of the Steamodded.
not sure where else to ask this, but is anyone else having an issue with scaling jokers suddenly stopping?
I can be like deep into a run and suddenly if something scales it just stops working lol
i think #⚙・modding-general is a better spot
I had that issue with one of Familiar's Jokers
ight bet
it looks almost complete tho
Yeah, but should I add an option to pop out the editing window too?
i don't think so
Alr
a simpler approach would be sending the file to "Open with" in case someone wants to edit it in their fav app
but 🤷
Much better solution
similar to how git rebase -i opens an editor and waits for it to exit
I don't want to make an editor from scratch just for this
That's a good idea
But
yeah but you'll have to wait for the editor process to exit in order to recompress and save the file after it
That's what I wanted to say
and iirc vscode forks itself in a weird way (that makes it incompatible with git too) and i had to change its config to make it work before -i haven't used it since 2022 tho so this may not be the case anymore-
try doing EDITOR=code git rebase -i HEAD~5 for example and see if git can wait for vscode or immediately fails saying u made no edits
I'll just leave the editor tbh
I already implemented it
no point in undoing so
There is searching and replacing implemented anyways
awesome
there are editor libraries that you could've just imported i think
a lot of stuff nowadays has a little vscode inside it👀
vim mode when tho
good idea
Now I need to do more
because I forgot it
i don't think so
Dw I'll add Vim mode
https://preview--code-scribe-search-magic.lovable.app/
lovable made one in <2 minutes
it uses monaco (vs code's buffer component)
@dawn grove boom
but it's really shit tho
I need to disable it
because not all keybinds are included
i thought u meant this was shit
but looks like ur talking about the vim mode
svelte's tutorial has a good editor and a good vim mode i think
let's see how they wrote that
Just want to say the mod manager is very high quality and its great so thank you for making it
they're using replit's codemirror library which has an official vim mode plugin
https://github.com/sveltejs/learn.svelte.dev/blob/main/src/routes/tutorial/[slug]/Editor.svelte really simple thing too
It works
@dawn grove Are you still awake?
in bed
great
looks clean
idk, what is its content?
idk either
save.jkr is the current run iirc
Alr I will do this one too and I think it works then
if it has money, jokers, consumables these are the best contenders for a "basic mode" / form-based editor
also unlocked hands & hand levels
im bringing this up since the first thing u thought of was allowing edits only for specific fields and i pushed for the raw text approach
bruh
This is the coolest thing I've ever seen
hey why is bunco in QoL mods?
It has some QoL features in the mod
Um, I'm seeing different mods in my installed mods section based on the sort method I click. Here's what is displayed when sorting from A-Z:
And this is what I see when sorting from Z-A:
For example, Malverk is only listed in the second screenshot. Same with Redux Arcanum
check the next page?
oops, forgot pagination existed
lol
Now that I'm actually clicking the pages, I think the way the pagination is implemented right now is kinda confusing in the Installed Mods page. The pagination within each section isn't separate based on the category it is in. It's a little confusing
And when you click the next page, it scrolls all the way up to the local mods section, so you have to scroll back down to the category section
My suggestion is either remove the pagination from the Installed Mods section or have a different pagination system for each category
Unless i missread or missed it but will there be a Portable version of BMM ?
uninstall steamodded from the launcher, then go to download it again, you'll notice it has an extra version menu below the download button, pick "latest" instead of 0323b
i dont see anything like that
anytime i tried using the github the launcher didnt allow it so i was confused
right below the download button
heads up, apparently launching the game through the launcher disables controller input for some reason
Does the Apple Arcade version work?
there's a discussion on how to run the code injector with the apple arcade version https://github.com/ethangreen-dev/lovely-injector/issues/86
this probably means mods downloaded with BMM can be loaded
but ymmv with getting the launch button / automatic lovely installation working
does this pull versions from github releases or does it pull from source?
I hope its from source
also does bunco use the fixed fork?
most mods are pulled from source but it depends on how the mod submitter set it up
i made a thing: https://github.com/skyline69/balatro-mod-index/pull/192, ik it's rude to raw dog a PR with no issues or prior discussion, but if u generally don't want changes to the CI feel free to just close the PR with no comments🫡
would this affect mods that pull from source or only mods that pull from releases
neither
it adds a third category
mods that pull from releases are expected to have something like this https://github.com/skyline69/balatro-mod-index/blob/92d619d13122798fc4c78058ccc5310abd5d3b51/mods/Halo%40Gemstones/meta.json#L10
the link points to Gemstones.zip in the latest release, this link is always up to date, but requires all releases to have an extra asset called Gemstones.zip
and im adding the ability to fetch a commit by its tag, like here https://github.com/skyline69/balatro-mod-index/pull/193/commits/b2437a0c571a284c9b4d34d76ea2ee16d27c0727#diff-2d8568f1035a19ba5164f9f221953f559d16d877c5795a8078584aa0295bae1aL11
the tag gets auto updated to match the latest release, and it fetches the repo itself with no need to upload additional releases assets
this PR is unrelated to your previous questions btw, the timing is a coincidence, it's just how i wanted my mod to auto update when i first added it to BMM and today i had the time to implement it
is there a way to go to a previous version of a mod if its not on the mod loader
Only for Steamodded and Talisman, since they're handled differently from other mods. Due to the way BMM's backend works, there's currently no good way to be able to do this for all mods without requiring people to login with a GitHub account
hm i updated cryptid and now i think talisman breaks at higher score
although i havent tried no animations
yeah
cant find a fix
click the open mods folder in BMM (top left green folder icon)
and delete Cryptid* from there then download it following the official instructions
cryptid not talisman lol
Deleting Cryptid, Talisman and Steamodded and using the ones bundled with the Cryptid 0.5.5b zip might be the solution
thanks ill try this out
Cryptid seems to target random versions of Steamodded, and because it makes so many patches to SMODS code, it's always only a matter of time before a slight tweak breaks compatibility again, so Cryptid + Talisman usually only work with specific (and not at all documented) versions of SMODS
unrelated but when one of lovely's contributors suggested i patch other mods with lovely instead of modifying them as tables & functions i thought it was a terrible idea
"When all you have is a hammer" programming
came here to ask if this PR is pending on anything (no rush for a merge tho, just making sure i picked up on the whole convo)
Previously i've waited on Skyline to review code changes, but if you're around for the next couple of hours to submit fixes if anything goes wrong, then I'm confident in approving it
This is now a hostile takeover of the mod index 🏴☠️
it's 9am now, i think I'll be busy with work
also, looks like skyline's been offline for 5 or so days
lol sorry for asking here and on github, i think i pressed the comment button on autopilot when i intended to just close the page 😅
set an alarm for 10am to check the next ci run
saw the error
i tested on python3.13 and the f-string unfuckening PEP was in 3.12
Damnit. Should have insisted on you testing on your fork. Are you able to submit a fix?
yes, testing locally with python3.12, if it works will i'll update the workflow to use that, any concerns?
From a quick look, all other changes from 3.10 -> 3.12 shouldn't affect the scripts, so that'll work
All good!
✅ Updating janw4ld@typist from bce214b to 1.6.1 (VersionSource.RELEASE_TAG)
I've tried and failed 3 times now to write a succinct description of when to use automatic-version-check and it always ends up being several paragraphs that i'm certain nobody will read anyway, so I'm just going to hold off on the readme changes until I have the time and patience to implement the releases/download downloadURL updater
From a quick look, the assets on the GH API include a browser_download_url field that's perfect for us, so it might not be too challenging an addition
yeah i was too scared to tackle that, especially because my addition invalidates the old text completely
the point about it being "a url to an automatically updating source"
yes, but what if a release has multiple assets ¯_(ツ)_/¯
I was just writing about that, haha. The "safe" approach would be to just not update if there are multiple .zip assets, but it's not a great solution.
Switching to the releases/tag source download link would work in most cases, but i've also seen a few cases where devs have "hotfixed" a release without incrementing the version number by just updating the release zip (which i hate with a deep passion). In those cases the source code link will still point to a broken state while the release is functional - and that might be a complex issue to try and diagnose.
Using the largest .zip asset might be more robust, but that potentially makes the mod update process O(n^2) in the worst case, and wouldn't be a sure thing.
Anyone know of any mod releases that contain multiple zips?
The truly insane solution would be to make downloadURL an array and have BMM install all of them...
Anyone know of any mod releases that contain multiple zips?
huh, thinking about it, uploading multiple zips is close to impossible
so filtering for the asset with .zip suffix should be more than enough
if any mod has multiple assets i'd assume one is the zip and another one with its md5 or so
BTW I was just checking that Typist is now downloaded correctly through BMM and noticed you pushed your version bump occurred after your release, so the downloaded version still indicates 1.6.0
yeah i know, didn't bother to recreate the tag
can i just remove the smods version field? i keep forgetting it and my mod has nothing to do with smods asasan anyway
Just did a quick test and it seems like you can attach multiple .zips to a release. Not sure why somebody would, but it's an edge case that does need to be handled... somehow
It's not required by SMODS, but i think it's important to include (and keep up-to-date)
ah yeah, my point was it shouldn't be handled by BMM because why would someone do that for a balatro mod when it's the same files for every platform
From what i've read about the gamepass code changes, if Steamodded ends up supporting it, there's a chance some mods might end up releasing different versions for the different platforms.
I guess there's also the possibility that someone might release two different versions of their mod for Steamodded and Balamod, though I don't know of anyone who has
for Steamodded and Balamod
i thought balamod was dead, haven't heard of it since i joined the community except in history lessons
there's a chance some mods might end up releasing different versions for the different platforms
😔😔😔
imo there's no need to overengineer it yet btw
just pick the first zip and assume it's the only one
then figure other cases out if things start breaking
Good advice that I'll still struggle to follow, haha. I was also thinking about the possibility of checking for zips that contain "BMM" or similar, to allow people to make BMM-specific compatible releases...
https://github.com/isboyjc/github-trending-api/blob/68cdcdd5b5e49fc36e591a5c1e6fd06479af0c5a/data/weekly/svelte.json#L481
we're on github's trends for the "svelte" tag this week
Haha, linking to the json of the api instead of the trending page is what i believe the kids would call "big backend-dev energy".
Neat!
i was doing something unrelated to BMM when i found it so i linked the file i saw, but yeah it was odd🥸
i was investigating how destructive changing my github username would be, then completely lost access to the one thing i didn't bother to check: the open-vsx registry (VSCodium's extension marketplace)
Quick Q: how to run on Linux? I'm sure there are links, just couldn't find
love
either that or build it from source https://github.com/skyline69/balatro-mod-manager/tree/66-linux-support
fyi the launch button doesn't work in appimages, and the WINEDLLOVERRIDES things doesn't get applied automatically by BMM
so the deb or rpm packages are recommended, and you should make sure lovely works first (don't depend on BMM to install it)
Cheers. Got Lovely running fine, just need to update my mods to work with BMM
this is missing pretty much every single mod i use
get their authors' permission and contribute them to the index
or just not use this
the deck builder also crashes in this, but not if i mod it myself
new f-strings pep was released today, #750, introduces (pretty much) javascript's template literals. the pep's use case example is safely interpolating variables in sql query strings
Any chance BMM can introduce primitive dependency handling?
I'm thinking just an extra optional meta.json field called dependencies which is an array of Author@Mod strings. Then, BMM just installs all deps (only if missing) when the mod is installed.
The root problem is with Lovely, because it will load 'library mods' multiple times (and likely break), but this is an easier fix, imo.
Asking because my mods have a common dependency, which I include in each mod's release, but there's no good way to migrate that into BMM.
The best current way is to include a big warning in the description to install the dependency, but many people don't read the manual, so suggesting a simple fix.
If you greenlight the deps addition, I could look into implementing it.
BMM itself addresses mods by their id (in meta.json) so there's no need for Author@.
also @cunning matrix
im not the main dev, so it's up to Skyline (he hasn't been online for a while tho)
Whatever is most comfy for devs
I‘ll look into this when I‘m back home from the gym
Mom, we made it to the GitHub trending page
Of course, you could implement it and make a PR and I'll look into the implementation. The problem with this is, that some mods require specific version of those dependent mods, so don't forget about this
Yeah, I didn't mention it, but I'm aware that this will be a problem. I think it's fine to ignore it, though, because the vast majority of mods don't require any deps. Something like Talisman fared fine so far with no version compatibility checks 🤷♂️ (fine as in everyone has to deal with versioning issues sometimes)
Yeah, but I don't want to hear anything from anyone saying "YoUr MoD mAnAgEr Is BrOkEn, ThE mOdS i HaVe InStAlLed ArE nOt WoRkInG"
There's already plenty of that going around with Cryptid requiring a dev version of Steamodded that BMM doesn't download by default
I'm hoping that with Drago steering the Cryptid ship now, he'll stick to targeting releases instead, which would help stabilise things a bit
Yeah, so my only idea to handle that was to specify versions and if mismatch is detected then raise a warning somewhere.
I really don't think we should do any kind of dependency resolution. It's overkill at best and redundant at worst (ie. we just have to say that installed mods can't work with each other, like with the simple warning anyway)
Yeah that seems fine
The ideal fix is for Lovely to allow multi-file requires, I think, but I don't want to look into Rust code
multi file require?
bmm is rust tho :3
Oh well, I forgot.. Should be better than the low level stuff Lovely deals with, tho.
Don't remember the exact issue, but it's on the Lovely Readme, I think.
Probably just that it's not possible to require a module that has more requires
For some reason disabling mods is extremely sluggish or nonresponsive for me on the latest build
I click On to make it Off, and it just
doesn't
I've noticed that sometimes it just doesn't disable them. Some work just fine, but occasionally that happens
It would be very nice to be able to disable things because I'm getting crash on starts
I'm able to disable coremods like Steamodded and not content mods like MoreFluff
one question the mods that are in the launcher have to publicate the dev
im not sure i fully understand your question, but noone's required to advertise or donate to BMM's author, but he'll definitely appreciate it!
srry for myenglish, is not very good. the thingi trying to say if the mods tath are in the app( the ones you can dowload) it have imported by themod creator or you can import mod that you have istalled in you PC
is this thing safe at all
the mod manager detects your local mods even if they weren't installed by it
and you can also contribute new mods to the BMM index by following this guide
yes, take a look at the FAQ here https://balatro-mod-manager.dasguney.com/about
thanks
tnks
and signed executables for windows should be released soon™
I tried getting cryptid mod through here and it doenst work can anyone help?
it said something about version.dll having an error
now the launch button doesnt even work
does launching the game from steam still work? (i assume it doesn't)
yeah it does but the manager doesnt
are you on windows? you can go to %AppData%\Balatro and delete the broken version.dll
this path can be copied into the file explorer's address bar
how do i get rid of all the stuff i installed thinking i needed it because i saw the build prerequisites 😭
yes
please follow this guide to add an exception for the mod loader
thanks so much! it worked
BMM itself has nothing to do with the issue, but the game's mod loader, lovely can be detected as a virus because it injects code into another process (which is a virus-y thing to do)
yeah i get that
btw, if cryptid crashes after installation then you should follow its official install guide starting from 00:43
seems to work fine on my end btw
PR'd my new mod
https://github.com/skyline69/balatro-mod-index/pull/210
more details on the mod here: https://discord.com/channels/1116389027176787968/1364645878760996925
Hii! I am not seeing the double copy of smod in my mod folder, neither is the mod manager, what should I do?
this crash is blue btw, not the normal gray
is this the right place to ask?
you can click the green folder icon on the top left in BMM's installed mods page
this'll show u your installed mods folder, if it has two steamodded or smods directories delete one of them
I clicked and I only saw one, thats why I am asking here
🤔🤔🤔🤔
i don't think it's anything caused by BMM then
ok, tks! maybe empting the folder might help?
yes, deleting everything all mods and installing them from scratch will probably work
you'll need to press "validate BMM database" in the settings after deleting the mod folders to make BMM pick up their deletion
ok, I'll do it after dinner, tks for the help! also, the "validate BMM database" couldn't see the phantom double smod
yeah it kinda looks for things and says OK if they exist, but i don't think the case of double installs is handled by the code at all
I wouldn't mind seeing your mods folder btw 👀
the only non BMM mods are tsunami and beelatro
Hmm, weird
the error is technically possible with other mods but extremely unlikely
worked, not sure what caused it thou
@cunning matrix you should probably remove almanac patches off the of the bmm as ive seen many people in the cryptid server install it without knowing what it does and its also discontinued because almanac is update to new calc now
Does it make content changes to Almanac and other mods? Are you sure it's no longer relevant?
no
it was just making almanc newcalc compatable but its newcalc now so it doesnt matter
also submitted pr https://github.com/skyline69/balatro-mod-index/pull/212
@primal spade Just want to double-check that AlmanacPatches is no longer relevant.
Are you alright with its removal from the index?
yea
Sorted, thanks for the heads-up
Hey does anyone know why it is stuck on loading mods? is it just because i have bad interned or what?
yes, it downloads the mod index first, which became a bit huge lately
it takes like 2 minutes to show any mods on my ~3MB/s connection
oh thanks a bunch
ok now it's just not launching
So I figured it out
My antivirus quarantined the file needed to actually launch balatro via BMM
Fuck you Norton security
I can literally never mod the game
yeah, was just gonna link u this: https://github.com/Steamodded/smods/wiki#step-1-anti-virus-setup
i don't think anyone in 2025 needs more than windows defender and common sense for antivirus
but idk about that, i don't use windows anyway
uninstall this garbage right now
it's a virus itself
It’s my friends old PC and he has all the install/uninstall permissions
He will not cancel no matter how many times I ask
tell him again even if it ends your friendship
maybe also adding ublock origin to every browser u use
yeah but also add common sense to your brain!
Modding balatro is not worth losing a 10+ year friendship
can't you just add an exception for balatro in norton
tried that
GUYS I FIGURED OUT HOW TO DISABLE THE QUARENTINE
WE ARE BACK IN BUSINESS
do you have a custom installation by any chance
no its off steam