Skip to content

justinclitheroe/Incantation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Balatro Manager

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

Version updates

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

Functionality

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

  1. Set up the lua scripting process and the mod loader on first run (with an option to run it again as wanted)
  2. Install mods
  3. Run the game from anywhere

Lua Script + Steammodded install

requirements: Git, <tbd>

Lovely files go to:

  • 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

Steammodded

  • 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

Get mods <CI/CD>

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
}

Problem: Modpacks need to be installed

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
}

Get Mods <Client>

incantation list GET GIST url then display like

--- <NAME> [<FULL REPO>]
           <Description>

Install Mod

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),
};

Update mod(s)

git pull all mods

*

About

Balatro Mod Manager

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages