This readme is currently more of just my notes, check back later for a good install guide. Expect many .unwraps during the early development process
0.1.0 -> Initial commit, procedural structure for modlist population 0.2.0 -> Refactor from procedural to more object oriented. Feeling constrained by octocrab and the lack of text matches from a GitHub Code search. Going to switch to raw in the next version and see how it works, I can always just go back to the original way
I hate having to go to some specific folder to run Balatro+Mods, I want to have a binary I can install and run that will
- Set up the lua scripting process and the mod loader on first run (with an option to run it again as wanted)
- Install mods
- Run the game from anywhere
requirements: Git, <tbd>
- WIN:
lovely-x86_64-pc-windows-msvc.zip
->Probably somewhere in steamapps
- MAC:
lovely-aarch64-apple-darwin.tar.gz / lovely-x86_64-apple-darwin.tar.gz
->$HOME/Applications/Balatro.app/Contents/MacOS
- Windows:
cd %AppData%/Balatro;
- Mac:
cd ~/Library/Application Support/Balatro;
- Linux (WINE/Proton):
cd ~/.local/share/Steam/steamapps/compatdata/2379780/pfx/drive_c/users/steamuser/AppData/Roaming/Balatro
mkdir Mods
git clone https://github.com/Steamopollys/Steamodded.git
Switch to a different version of Steammodded: git fetch --all && git checkout tags/1.x.x -b 1.x.x && git checkout 1.x.x
Update Steammodded main: git pull
curl -H ‘Accept: application/vnd.github.text-match+json’ -H “X-GitHub-Api-Version: 2022-11-28” -H “Authorization: Bearer <TOKEN>” ‘https://api.github.com/search/code?page=<page>&per_page=100&q=”—+STEAMODDED+HEADER”’
let page = octocrab::instance()
.search()
.code("println! language:rust repo:rust-lang/rust")
.sort("indexed")
.order("asc")
.send()
.await?;
Just get everything and store it in a github gist, filter based on the word “Example”
{
"name": "",
"description": "",
"repo": ""
"isModpack": false
}
after we pull the modlist, as we create the modlist, we can check for the repo already existing and then just clone the repo directly into the Mod directory
"repo/name": {
"name": "--- NAME",
"description": "Description of the mod",
"repo": "repo/name",
"isModpack": true
}
incantation list
GET GIST url then display like
--- <NAME> [<FULL REPO>]
<Description>
git clone to $MODDIR
use git2::Repository;
let url = "https://github.com/alexcrichton/git2-rs";
let repo = match Repository::clone(url, "/path/to/a/repo") {
Ok(repo) => repo,
Err(e) => panic!("failed to clone: {}", e),
};
git pull all mods
*