1
0

Merge branch 'main' into main

This commit is contained in:
the-Astra
2025-09-08 14:20:02 -04:00
committed by GitHub
483 changed files with 5832 additions and 726 deletions

5
.github/scripts/requirements.lock vendored Normal file
View File

@@ -0,0 +1,5 @@
certifi==2025.4.26
charset-normalizer==3.4.2
idna==3.10
requests==2.32.3
urllib3==2.4.0

1
.github/scripts/requirements.txt vendored Normal file
View File

@@ -0,0 +1 @@
requests

291
.github/scripts/update_mod_versions.py vendored Executable file
View File

@@ -0,0 +1,291 @@
#!/usr/bin/env python3
import json
import os
import re
import sys
import time
from datetime import datetime
from enum import Enum
from pathlib import Path
import requests
# GitHub API rate limits are higher with authentication
GITHUB_TOKEN = os.environ.get('GITHUB_TOKEN')
HEADERS = {'Authorization': f'token {GITHUB_TOKEN}'} if GITHUB_TOKEN else {}
TIME_NOW = int(time.time())
def extract_repo_info(repo_url):
"""Extract owner and repo name from GitHub repo URL."""
match = re.search(r'github\.com/([^/]+)/([^/]+)', repo_url)
if match:
owner = match.group(1)
repo = match.group(2)
# Remove .git suffix if present
repo = repo.removesuffix('.git')
return owner, repo
return None, None
VersionSource = Enum("VersionSource", [
("LATEST_TAG", "release"),
("HEAD", "commit"),
("SPECIFIC_TAG", "specific_tag"),
])
def get_version_string(source: Enum, owner, repo, start_timestamp, n = 1, tag_data=None):
"""Get the version string from a given GitHub repo."""
if source is VersionSource.LATEST_TAG:
url = f'https://api.github.com/repos/{owner}/{repo}/releases/latest'
elif source is VersionSource.SPECIFIC_TAG:
if not tag_data:
print(f"ERROR: SPECIFIC_TAG source requires tag_name")
return None
tag_name = tag_data['name']
url = f'https://api.github.com/repos/{owner}/{repo}/releases/tags/{tag_name}'
else:
if not source is VersionSource.HEAD:
print(f"UNIMPLEMENTED(VersionSource): `{source}`,\nfalling back to `HEAD`")
source = VersionSource.HEAD
url = f'https://api.github.com/repos/{owner}/{repo}/commits'
try:
response = requests.get(url, headers=HEADERS)
api_rate_limit = int(response.headers.get('x-ratelimit-limit'))
api_rate_usage = int(response.headers.get('x-ratelimit-used'))
api_rate_remaining = int(response.headers.get('x-ratelimit-remaining'))
api_reset_timestamp = int(response.headers.get('x-ratelimit-reset'))
api_resource = response.headers.get('x-ratelimit-resource')
print(f"GitHub API ({api_resource}) calls: {api_rate_usage}/{api_rate_limit}")
if response.status_code == 404:
# Not found
return None
if response.status_code == 200:
data = response.json()
if source is VersionSource.LATEST_TAG:
# Return name of latest tag
return data.get('tag_name')
elif source is VersionSource.SPECIFIC_TAG:
assets = data.get('assets', [])
if not assets:
print(f"⚠️ No assets found in release {tag_name}")
return None
latest_created_at = ""
latest_asset = None
for asset in assets:
created_at = asset.get('created_at', '')
if created_at > latest_created_at:
latest_created_at = created_at
latest_asset = asset['name']
# Convert 2099-12-31T01:02:03Z to 20991231_010203
parts = latest_created_at.replace('Z', '').split('T')
date_part = parts[0].replace('-', '') # 20991231
time_part = parts[1].replace(':', '') # 010203
version = f"{date_part}_{time_part}" # 20991231_010203
tag_data['file'] = latest_asset
return version
if data and len(data) > 0:
# Return shortened commit hash (first 7 characters)
return data[0]['sha'][:7]
print(f"⚠️ Warning: unexpected response format for {source}s:\n{
json.dumps(data, indent=2, ensure_ascii=False)
}")
return
if api_rate_remaining == 0 or (
response.status_code == 403
and "rate limit exceeded" in response.text.lower()
):
print(f"GitHub API access is being rate limited!")
current_timestamp = int(time.time())
# Check if primary rate limit is okay
if api_rate_remaining > 0:
# Secondary rate limit hit, follow GitHub instructions
if 'retry-after' in response.headers:
wait_time = int(response.headers.get('retry-after')) + 5
print(f"Response retry-after {wait_time}s")
else:
# Start at 60 seconds and double wait time with each new attempt
print(f"Attempt {n}")
wait_time = 60 * pow(2, n - 1)
else:
api_reset_time = datetime.fromtimestamp(api_reset_timestamp).strftime('%H:%M:%S')
print(f"GitHub API rate limit resets at {api_reset_time}")
wait_time = api_reset_timestamp - current_timestamp + 5
# Wait only if the wait time would finish less than 1800 seconds (30 min) after program start time
if current_timestamp + wait_time - start_timestamp < 1800:
print(f"Waiting {wait_time} seconds until next attempt...")
time.sleep(wait_time)
n += 1
return get_version_string(source, owner, repo, start_timestamp, n, tag_data=tag_data) # Retry
else:
print(f"Next attempt in {wait_time} seconds, but Action run time would exceed 1800 seconds - Stopping...")
sys.exit(1)
else:
print(f"Error fetching {source}s: HTTP {response.status_code} - {response.text}")
return None
except Exception as e:
print(f"Exception while fetching {source}s: {str(e)}")
return None
def process_mods(start_timestamp):
"""Process all mods and update versions where needed."""
mods_dir = Path('mods')
updated_mods = []
print(f"Scanning {mods_dir} for mods with automatic version control...")
# Find all mod directories
for mod_dir in (d for d in mods_dir.iterdir() if d.is_dir()):
meta_file = mod_dir / 'meta.json'
if not meta_file.exists():
continue
try:
if mod := process_mod(start_timestamp, mod_dir.name, mod_dir / 'meta.json'):
updated_mods.append(mod)
except Exception as e:
print(f"❌ Error processing {mod_dir.name}: {str(e)}")
return updated_mods
def process_mod(start_timestamp, name, meta_file):
if not meta_file.exists():
return
with open(meta_file, 'r', encoding='utf-8') as f:
meta = json.load(f)
# Skip mods without automatic version checking enabled
if not meta.get('automatic-version-check'):
return
print(f"Processing {name}...")
repo_url = meta.get('repo')
if not repo_url:
print(f"⚠️ Warning: Mod {name} has automatic-version-check but no repo URL")
return
owner, repo = extract_repo_info(repo_url)
if not owner or not repo:
print(f"⚠️ Warning: Could not extract repo info from {repo_url}")
return
print(f"Checking GitHub repo: `{owner}/{repo}`")
# If download url links to latest head, use version of latest commit hash
download_url = meta.get('downloadURL')
new_version = None
if "/archive/refs/heads/" in download_url:
print("Download URL links to HEAD, checking latest commit...")
source = VersionSource.HEAD
new_version = get_version_string(VersionSource.HEAD, owner, repo, start_timestamp)
elif (meta.get('fixed-release-tag-updates') == True) and "/releases/download/" in download_url:
source = VersionSource.SPECIFIC_TAG
tag_data = {}
# Pattern: /releases/download/{tag}/{file} - tag is second-to-last
print("Download URL links to specific release asset, checking that asset's tag...")
tag_name = download_url.split('/')[-2]
print(f"Checking release tag: {tag_name}")
tag_data['name'] = tag_name
new_version = get_version_string(
source, owner, repo, start_timestamp, tag_data=tag_data
)
else:
print("Checking releases for latest version tag...")
source = VersionSource.LATEST_TAG
new_version = get_version_string(source, owner, repo, start_timestamp)
if not new_version:
print("No releases found, falling back to latest commit instead...")
source = VersionSource.HEAD
new_version = get_version_string(source, owner, repo, start_timestamp)
if not new_version:
print(f"⚠️ Warning: Could not determine version for {name}")
return
current_version = meta.get('version')
# Update version if it changed
if current_version == new_version:
print(f" No version change for {name} (current: {current_version})")
return
print(
f"✅ Updating {name} from {current_version} to {new_version} ({source})"
)
meta['version'] = new_version
meta['last-updated'] = TIME_NOW
if "/archive/refs/tags/" in download_url:
meta['downloadURL'] = f"{repo_url}/archive/refs/tags/{meta['version']}.zip"
elif source == VersionSource.SPECIFIC_TAG:
meta['downloadURL'] = f"{repo_url}/releases/download/{tag_data['name']}/{tag_data['file']}"
with open(meta_file, 'w', encoding='utf-8') as f:
# Preserve formatting with indentation
json.dump(meta, f, indent=2, ensure_ascii=False)
f.write("\n") # Add newline at end of file
return {
'name': meta.get('title', name),
'old_version': current_version,
'new_version': meta['version'],
'source': source
}
def generate_commit_message(updated_mods):
"""Generate a detailed commit message listing all updated mods."""
if not updated_mods:
return "No mod versions updated"
timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
message = f"Auto-update mod versions ({timestamp})\n\n"
message += "Updated mods:\n"
for mod in updated_mods:
old_ver = mod['old_version'] or 'none'
message += f"- {mod['name']}: {old_ver}{mod['new_version']} ({mod['source']})\n"
return message
if __name__ == "__main__":
start_timestamp = int(time.time())
start_datetime = datetime.fromtimestamp(start_timestamp).strftime('%H:%M:%S')
print(f"🔄 Starting automatic mod version update at {start_datetime}...")
updated_mods = process_mods(start_timestamp)
if updated_mods:
# Write commit message to a file that the GitHub Action can use
commit_message = generate_commit_message(updated_mods)
with open('commit_message.txt', 'w', encoding='utf-8') as f:
f.write(commit_message)
print(f"✅ Completed. Updated {len(updated_mods)} mod versions.")
else:
print(" Completed. No mod versions needed updating.")
# Exit with status code 0 even if no updates were made
sys.exit(0)

View File

@@ -11,41 +11,89 @@ jobs:
steps:
- name: Check out repository
uses: actions/checkout@v3
with:
fetch-depth: 0 # Get full history for comparing changes
- name: Install ImageMagick
- name: Use ImageMagick from cache
uses: awalsh128/cache-apt-pkgs-action@v1
with:
packages: imagemagick
version: 8:6.9.12.98+dfsg1-5.2build2
- name: Identify Changed Mods
id: find-changed-mods
run: |
sudo apt-get update
sudo apt-get install -y imagemagick
# Get the list of files changed in the PR using GitHub API
API_RESPONSE=$(curl -s -X GET \
-H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
-H "Accept: application/vnd.github.v3+json" \
"https://api.github.com/repos/${{ github.repository }}/pulls/${{ github.event.pull_request.number }}/files")
# Use fallback method if API fails
if echo "$API_RESPONSE" | jq -e 'if type=="array" then true else false end' > /dev/null; then
echo "Using GitHub API method to find changed files"
echo "$API_RESPONSE" | jq -r '.[] | .filename' | grep -E '^mods/[^/]+/' | cut -d'/' -f1-2 | sort | uniq > changed_mods.txt
else
echo "Using git diff method as fallback"
# Fetch the base branch of the PR
git fetch origin ${{ github.event.pull_request.base.ref }}
# Find all added or modified files in mods directory using git diff
git diff --name-only --diff-filter=AM origin/${{ github.event.pull_request.base.ref }}..HEAD | grep -E '^mods/[^/]+/' | cut -d'/' -f1-2 | sort | uniq > changed_mods.txt
fi
# Check if any mods were found
if [ ! -s changed_mods.txt ]; then
echo "No mods were added or modified in this PR."
echo "changed_mods_found=false" >> $GITHUB_OUTPUT
exit 0
fi
echo "Changed mods found:"
cat changed_mods.txt
echo "changed_mods_found=true" >> $GITHUB_OUTPUT
# Create a newline-separated list for JSON schema validation
META_JSON_FILES=$(while read -r mod_path; do
[ -f "$mod_path/meta.json" ] && echo "$mod_path/meta.json"
done < changed_mods.txt)
echo "meta_json_files<<EOF" >> $GITHUB_OUTPUT
echo "$META_JSON_FILES" >> $GITHUB_OUTPUT
echo "EOF" >> $GITHUB_OUTPUT
- name: Check Required Files
if: steps.find-changed-mods.outputs.changed_mods_found == 'true'
run: |
for dir in mods/*/; do
if [ -d "$dir" ]; then
MOD_DIR="$(basename "$dir")"
while read -r mod_path; do
if [ -d "$mod_path" ]; then
MOD_DIR="$(basename "$mod_path")"
# Ensure description.md and meta.json exist
if [ ! -f "$dir/description.md" ]; then
if [ ! -f "$mod_path/description.md" ]; then
echo "Error: Missing description.md in $MOD_DIR"
exit 1
fi
if [ ! -f "$dir/meta.json" ]; then
if [ ! -f "$mod_path/meta.json" ]; then
echo "Error: Missing meta.json in $MOD_DIR"
exit 1
fi
fi
done
done < changed_mods.txt
- name: Check Thumbnail Dimensions
if: always() && steps.find-changed-mods.outputs.changed_mods_found == 'true'
run: |
for dir in mods/*/; do
if [ -d "$dir" ]; then
MOD_DIR="$(basename "$dir")"
THUMBNAIL="$dir/thumbnail.jpg"
while read -r mod_path; do
if [ -d "$mod_path" ]; then
MOD_DIR="$(basename "$mod_path")"
THUMBNAIL="$mod_path/thumbnail.jpg"
if [ -f "$THUMBNAIL" ]; then
# Extract width and height using ImageMagick
DIMENSIONS=$(identify -format "%wx%h" "$THUMBNAIL")
# Extract width and height using ImageMagick identify
# Using identify-im6.q16 directly as identify is a symlink that is not created by the cache restoration
DIMENSIONS=$(/usr/bin/identify-im6.q16 -format "%wx%h" "$THUMBNAIL")
WIDTH=$(echo "$DIMENSIONS" | cut -dx -f1)
HEIGHT=$(echo "$DIMENSIONS" | cut -dx -f2)
@@ -56,27 +104,36 @@ jobs:
fi
fi
fi
done
done < changed_mods.txt
- name: Validate JSON Format
uses: github/super-linter@v4
env:
VALIDATE_JSON: true
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
if: always() && steps.find-changed-mods.outputs.changed_mods_found == 'true'
run: |
# Use jq to validate each JSON file
while read -r mod_path; do
if [ -f "$mod_path/meta.json" ]; then
if ! jq empty "$mod_path/meta.json" 2>/dev/null; then
echo "Error: Invalid JSON format in $mod_path/meta.json"
exit 1
fi
fi
done < changed_mods.txt
- name: Validate meta.json Against Schema
uses: dsanders11/json-schema-validate-action@v1.2.0
if: always() && steps.find-changed-mods.outputs.changed_mods_found == 'true'
uses: dsanders11/json-schema-validate-action@v1.4.0
with:
schema: "./schema/meta.schema.json"
files: |
mods/*/meta.json
files: ${{ steps.find-changed-mods.outputs.meta_json_files }}
custom-errors: true
- name: Validate Download URLs
if: always() && steps.find-changed-mods.outputs.changed_mods_found == 'true'
run: |
for dir in mods/*/; do
if [ -d "$dir" ]; then
MOD_DIR="$(basename "$dir")"
META_JSON="$dir/meta.json"
while read -r mod_path; do
if [ -d "$mod_path" ]; then
MOD_DIR="$(basename "$mod_path")"
META_JSON="$mod_path/meta.json"
# Check if downloadURL exists and is not empty
DOWNLOAD_URL=$(jq -r '.downloadURL // empty' "$META_JSON")
@@ -91,14 +148,4 @@ jobs:
exit 1
fi
fi
done
review-and-approve:
needs: validate # This job will only run after 'validate' completes successfully.
runs-on: ubuntu-latest
environment:
name: mod-review # This is the environment you created earlier.
steps:
- name: Await Approval from Maintainers
run: echo "Waiting for manual approval by maintainers..."
done < changed_mods.txt

View File

@@ -0,0 +1,51 @@
name: Update Mod Versions
on:
schedule:
- cron: '0 * * * *' # Run every hour
workflow_dispatch: # Allow manual triggers
jobs:
update-versions:
runs-on: ubuntu-latest
if: github.repository == 'skyline69/balatro-mod-index'
steps:
- name: Checkout repository
uses: actions/checkout@v3
with:
token: ${{ secrets.PAT_TOKEN }} # Use PAT for checkout
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.12'
cache: 'pip' # This enables pip caching
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r .github/scripts/requirements.lock
- name: Update mod versions
env:
GITHUB_TOKEN: ${{ github.token }}
run: |
python .github/scripts/update_mod_versions.py
- name: Commit and push changes
run: |
git config --global user.name 'Version Update Bot'
git config --global user.email 'bot@noreply.github.com'
if [[ $(git status --porcelain) ]]; then
COMMIT_MSG="Auto-update mod versions"
if [ -f commit_message.txt ]; then
COMMIT_MSG=$(cat commit_message.txt)
fi
git add mods/*/meta.json
git commit -m "$COMMIT_MSG"
git push
else
echo "No changes to commit"
fi

175
.gitignore vendored
View File

@@ -1 +1,176 @@
.DS_Store
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class
# C extensions
*.so
# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST
# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec
# Installer logs
pip-log.txt
pip-delete-this-directory.txt
# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/
cover/
# Translations
*.mo
*.pot
# Django stuff:
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal
# Flask stuff:
instance/
.webassets-cache
# Scrapy stuff:
.scrapy
# Sphinx documentation
docs/_build/
# PyBuilder
.pybuilder/
target/
# Jupyter Notebook
.ipynb_checkpoints
# IPython
profile_default/
ipython_config.py
# pyenv
# For a library or package, you might want to ignore these files since the code is
# intended to run in multiple environments; otherwise, check them in:
# .python-version
# pipenv
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
# However, in case of collaboration, if having platform-specific dependencies or dependencies
# having no cross-platform support, pipenv may install dependencies that don't work, or not
# install all needed dependencies.
#Pipfile.lock
# UV
# Similar to Pipfile.lock, it is generally recommended to include uv.lock in version control.
# This is especially recommended for binary packages to ensure reproducibility, and is more
# commonly ignored for libraries.
#uv.lock
# poetry
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
# This is especially recommended for binary packages to ensure reproducibility, and is more
# commonly ignored for libraries.
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
#poetry.lock
# pdm
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
#pdm.lock
# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
# in version control.
# https://pdm.fming.dev/latest/usage/project/#working-with-version-control
.pdm.toml
.pdm-python
.pdm-build/
# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
__pypackages__/
# Celery stuff
celerybeat-schedule
celerybeat.pid
# SageMath parsed files
*.sage.py
# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/
# Spyder project settings
.spyderproject
.spyproject
# Rope project settings
.ropeproject
# mkdocs documentation
/site
# mypy
.mypy_cache/
.dmypy.json
dmypy.json
# Pyre type checker
.pyre/
# pytype static type analyzer
.pytype/
# Cython debug symbols
cython_debug/
# PyCharm
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
# and can be added to the global gitignore or merged into this file. For a more nuclear
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
#.idea/
# Ruff stuff:
.ruff_cache/
# PyPI configuration file
.pypirc

View File

@@ -35,17 +35,32 @@ This file stores essential metadata in JSON format. **Make sure you adhere to th
"categories": ["Content"],
"author": "Joe Mama",
"repo": "https://github.com/joemama/extended-cards",
"downloadURL": "https://github.com/joemama/extended-cards/releases/latest/extended-cards.tar.gz"
"downloadURL": "https://github.com/joemama/extended-cards/releases/latest/download/extended-cards.zip",
"folderName": "ExtendedCards",
"version": "1.0.0",
"automatic-version-check": true
}
```
- **title**: The name of your mod.
- **requires-steamodded**: If your mod requires the [Steamodded](https://github.com/Steamodded/smods) mod loader, set this to `true`.
- **requires-talisman**: If your mod requires the [Talisman](https://github.com/MathIsFun0/Talisman) mod, set this to `true`.
- **categories**: Must be of `Content`, `Joker`, `Quality of Life`, `Technical`, `Miscellaneous`, `Resource Packs` or `API`.
- **categories**: Must contain at least one of `Content`, `Joker`, `Quality of Life`, `Technical`, `Miscellaneous`, `Resource Packs` or `API`.
- **author**: Your chosen username or handle.
- **repo**: A link to your mod's repository.
- **downloadURL**: A direct link to the latest version of your released mod. (Can be same as `repo` if no separate download link exists.)
- **downloadURL**: A direct link to the latest version of your released mod. Using an automatic link to the [latest release](https://docs.github.com/en/repositories/releasing-projects-on-github/linking-to-releases) is preferred.
- **version**: The version number of the mod files available at `downloadURL`.
- *folderName*: (*Optional*) The name for the mod's install folder. This must be **unique**, and cannot contain characters `<` `>` `:` `"` `/` `\` `|` `?` `*`
- *automatic-version-check*: (*Optional* but **recommended**) Set to `true` to let the Index automatically update the `version` field.
- Updates happen once every hour, by checking either your mod's latest Release, latest commit, or specific release tag, depending on the `downloadURL`.
- Enable this option **only** if your `downloadURL` points to an automatically updating source:
- **Latest release** (recommended): Using a link to [releases/latest](https://docs.github.com/en/repositories/releasing-projects-on-github/linking-to-releases)
- **Latest commit**: Using a link to the [latest commit (HEAD)](https://docs.github.com/en/repositories/working-with-files/using-files/downloading-source-code-archives#source-code-archive-urls)
- *fixed-release-tag-updates*: (*Optional*) Set to `true` if your mod uses a fixed release tag and still wants to auto-update when modifying the underlying files. This can be useful for repositories with multiple mods, allowing you to have a release tag dedicated for each mod where you upload new versions. Note that:
- Requires `automatic-version-check` to also be set to `true`.
- The `downloadURL` must point to a specific release asset using a link such as `https://github.com/author/repo/releases/download/my-release-tag/mod.zip`.
### 3. thumbnail.jpg (Optional)
If included, this image will appear alongside your mod in the index. Maximum and recommended size is 1920x1080 pixels.
@@ -88,4 +103,40 @@ Once your submission is reviewed and approved, your mod will be added to the Bal
---
Thanks for contributing to the **Balatro Mod Index** and helping the community grow!
## Submission Policy
All submissions must be safe, legal, and appropriate for a general audience. This means:
1. No mods containing malware or spyware.
2. No copyrighted content that is used without permission.
3. No hateful, discriminatory, or offensive material.
By submitting your own mod to the *Balatro Mod Index*, you are agreeing to allow your mod to be displayed in and redistributed by [Balatro Mod Manager](https://github.com/skyline69/balatro-mod-manager/).
If you would like your content to be removed from the *Balatro Mod Index* at any point, please create an [Issue](https://github.com/skyline69/balatro-mod-index/issues) or submit a [Pull Request](https://github.com/skyline69/balatro-mod-manager/pulls) with the relevant content deleted.
### Third-Party Submissions
Mods should ideally be submitted by their creators. If you would like to submit a mod on behalf of a mod's creator, please do so in a way that is considerate of the author, their creative works, and their time.
Mods will only be accepted on the Balatro Mod Index if they have been released under a redistribution-friendly license (such as GPL, MIT, MPL or similar), or if the mod's authors have given explicit and public permission.
It is strongly encouraged to ask for permission before submitting other's mods to the *Balatro Mod Index*, regardless of license.
**Before submitting mods created by other people:**
1. Check that the mod is **working** on the most current version of the game, and has not been **deprecated** or **abandoned**.
2. Check that the mod's **license** allows **redistribution** by third parties - otherwise, **ask permission** from the creator.
3. Check the mod's requirements for **Steamodded** and **Talisman**, along with any other dependencies that should be listed in the description.
4. Check if the mod requires a specific installation **folder name**, and set the `folderName` parameter accordingly.
5. Check that the mod doesn't have any other special or unusual **installation requirements**.
6. Check if the mod has any **promotional images** that might be suitable for use as a **thumbnail**.
When submitting a mod on behalf of someone else, please link to the latest **Release** whenever possible rather than the latest repository HEAD.
This helps to keep modded Balatro stable for more players, by only using tested releases instead of potentially untested in-development builds.
Thanks for contributing to the *Balatro Mod Index* and helping the community grow!

View File

@@ -0,0 +1,55 @@
# Brainstorm Rerolled
This is a fork of both [Brainstorm](https://github.com/OceanRamen/Brainstorm) created by [OceanRamen](https://github.com/OceanRamen) as well as [Immolate](https://github.com/SpectralPack/Immolate) please give credit to them as I have simply modified the hard work they did
# /!\ Not compatible with macOS /!\
## Description
This repository houses both the code for the brainstorm mod as well as the code for the C++ version of the Immolate seed finder. If you would like to create your own filters simply
add the code to the Immolate.cpp file, update the brainstorm endpoints to include whatever you need and then build it. This will generate a dll
that you can then place in the mods folder of balatro. The brainstorm mod will automatically detect the dll and use it, though you will need to update the brainstorm.lua and ui.lua
in order to properly use your new options
## Features
### Save-States
Brainstorm has the capability to save up to 5 save-states through the use of in-game key binds.
> To create a save-state: Hold `z + 1-5`
> To load a save-state: Hold `x + 1-5`
Each number from 0 - 5 corresponds to a save slot. To overwrite an old save, simply create a new save-state in it's slot.
### Fast Rerolling
Brainstorm allows for super-fast rerolling through the use of an in-game key bind.
> To fast-roll: Press `Ctrl + r`
### Auto-Rerolling
Brainstorm can automatically reroll for parameters as specified by the user.
You can edit the Auto-Reroll parameters in the Brainstorm in-game settings page.
> To Auto-Reroll: Press `Ctrl + a`
### Various Filters
In addition to the original filters from brainstorm I have added a few more filters that can help facilitate Crimson Bean or simply an easy early game
ANTE 8 BEAN: This ensures you get a Turtle Bean within the first 150 items in the shop
LATE BURGLAR: This ensures there is a burglar within the first 50-150 cards in the ante 6, 7, or 8 shop
RETCON: This ensures that the retcon voucher appears before or in ante 8
EARLY COPY + MONEY: This ensures that between the shop and the packs in ante 1 you get a brainstorm, blueprint, and some form of money generation
### Custom Filtering
I have added some basic code and an example to go off of to create custom filters. I have set it up so that custom filters will override any other selected filter to avoid crashes. If you want to use
the mod as originally created simply keep the custom filters set to "No Filter". If you want to create your own custom filters you will need to edit immolate.cpp and immolate.hpp to add your custom filter similar to how I added the "Negative Blueprint" filter
once added there you can build it and then copy the resulting dll into the brainstorm mod folder. Then you need to update the ui.lua and brainstorm.lua too add your new filter to the list.
#### Adding Custom Filters
1. Open immolate.hpp
1. Add the name of your new filter to `enum class customFilters`
1. Add a new case in `inline std::string filterToString(customFilters f)` for your new filter
1. add a new if statement in `inline customFilters stringToFilter(std::string i)` for your new filter
1. Open immolate.cpp
1. Add a new case in the switch statement for your filter to `long filter(Instance inst)`
1. Add corresponding code inside of that case for your custom filter
1. Save and build the C++ code and copy the resulting dll into the brainstorm mod folder
1. Open ui.lua
1. Add a new entry to the `local custom_filter_list` corresponding to your new filter
1. Add a new entry to the `local custom_filter_keys` corresponding to your new filter
1. Save ui.lua and run the game
1. Your new filter should now be usable in the brainstorm settings

View File

@@ -0,0 +1,16 @@
{
"title": "Brainstorm-Rerolled",
"requires-steamodded": false,
"requires-talisman": false,
"categories": [
"Content",
"Technical",
"Miscellaneous"
],
"author": "OceanRamen and ABGamma",
"repo": "https://github.com/ABGamma/Brainstorm-Rerolled/",
"downloadURL": "https://github.com/ABGamma/Brainstorm-Rerolled/releases/latest/download/Brainstorm-Rerolled.zip",
"folderName": "Brainstorm-Rerolled",
"version": "Brainstorm-Rerolled-1.0.2-alpha",
"automatic-version-check": true
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

View File

@@ -0,0 +1 @@
A content mod with 50 Vanilla-balanced Jokers, and 5 Decks. Fully complete but some new Jokers may be added in the future!

View File

@@ -0,0 +1,15 @@
{
"title": "Greener Jokers",
"requires-steamodded": true,
"requires-talisman": false,
"categories": [
"Content",
"Joker"
],
"author": "ABuffZucchini",
"repo": "https://github.com/ABuffZucchini/Greener-Jokers",
"downloadURL": "https://github.com/ABuffZucchini/Greener-Jokers/archive/refs/heads/main.zip",
"folderName": "Greener-Jokers",
"version": "d1624d2",
"automatic-version-check": true
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 377 KiB

View File

@@ -0,0 +1,8 @@
# AMY's Waifus
retexture some jokers with my artstyle
## Credits
Updated by me ([AMY](https://github.com/mikamiamy)) to work with [Malverk](https://github.com/Eremel/Malverk)
## Art
Art by AMY aka Mikami
## Requirements
Requires [Malverk](https://github.com/Eremel/Malverk)

View File

@@ -0,0 +1,14 @@
{
"title": "AMY's Waifu",
"requires-steamodded": true,
"requires-talisman": false,
"categories": [
"Resource Packs"
],
"author": "AMY",
"repo": "https://github.com/mikamiamy/AMY-s-Balatro-texturepack",
"downloadURL": "https://github.com/mikamiamy/AMY-s-Balatro-texturepack/archive/refs/heads/main.zip",
"folderName": "AMY's Waifu",
"automatic-version-check": true,
"version": "36785d5"
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

View File

@@ -1,6 +1,5 @@
# Balajeweled
A resource pack that replaces the playing cards' suits into gems from the Bejeweled series.
As of v0.1.2, the face cards had their letters and suit icons changed, to better align with the other cards.
**REQUIRES STEAMODDED**
**REQUIRES STEAMODDED AND MALVERK AS OF v0.1.3a**

View File

@@ -1,9 +1,13 @@
{
"title": "Balajeweled",
"requires-steamodded": true,
"requires-talisman": false,
"categories": ["Resource Packs"],
"author": "ARandomTank7",
"repo": "https://github.com/ARandomTank7/Balajeweled",
"downloadURL": "https://github.com/ARandomTank7/Balajeweled/releases/latest/download/Balajeweled.zip"
"title": "Balajeweled",
"requires-steamodded": true,
"requires-talisman": false,
"categories": [
"Resource Packs"
],
"author": "ARandomTank7",
"repo": "https://github.com/ARandomTank7/Balajeweled",
"downloadURL": "https://github.com/ARandomTank7/Balajeweled/releases/latest/download/Balajeweled.zip",
"automatic-version-check": true,
"version": "v0.1.3a"
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 MiB

After

Width:  |  Height:  |  Size: 1.2 MiB

View File

@@ -0,0 +1,49 @@
# Absent Dealer
A Balatro mod adding cute plushies and other silly jokers. Also adds new decks and a new Spectral Card that creates new enhancements based on the seven deadly sins. Have fun and remember to pet the plushies when they do well :3
## Installation
Requires [Steamodded](https://github.com/Steamodded/smods). See their installation guide for more details
Download absentdealer.zip from the [latest release](https://github.com/AbsentAbigail/AbsentDealer/releases), extract the contained folder, and place it inside of Balatros mods folder.
## Features
- Over 30 Jokers
- 3 new Decks
- 1 Spectral Card
- 7 card enhancements
- Supported Languages
- English
- German
- Support for [JokerDisplay](https://github.com/nh6574/JokerDisplay)
## Screenshots
Jokers:
<img src="https://github.com/user-attachments/assets/e946af64-dd48-4333-a883-afd523878696" alt="Jokers page 1" width="600"/>
<img src="https://github.com/user-attachments/assets/645a96ec-9afb-4124-a32e-5ba80a0aaec4" alt="Jokers page 2" width="600"/>
<img src="https://github.com/user-attachments/assets/eac10718-7977-435c-9143-6cba29cf1c84" alt="Jokers page 3" width="600"/>
Decks:
<img src="https://github.com/user-attachments/assets/a884495f-8c01-4cb3-8813-49a368feb555" alt="Royal Deck" width="600"/>
<img src="https://github.com/user-attachments/assets/19ecdfae-362e-4fdc-a361-a37e9b44ae66" alt="Voucher Deck" width="600"/>
<img src="https://github.com/user-attachments/assets/e8941280-96eb-4563-a98e-a0ccb11bd45d" alt="Big Deck" width="600"/>
Sin Spectral Card:
<img src="https://github.com/user-attachments/assets/e2d33caa-511f-4729-8dec-52e0451c8c7c" alt="Sin Spectral Card" width="400"/>
Enhancements:
<img src="https://github.com/user-attachments/assets/e3f2212c-5e61-4599-8340-c6fa4cf5d01b" alt="Enhancements" width="400"/>
## Plushie Deck
Additionally, if you like the plushies, feel free to also check out the [PlushieDeck](https://github.com/AbsentAbigail/PlushieDeck) mod for plushie reskins of the playing cards
<img src="https://github.com/user-attachments/assets/21556c1f-60ff-4e66-be66-d63b62b372e5" alt="Plushie Deck" width="400"/>

View File

@@ -0,0 +1,15 @@
{
"title": "Absent Dealer",
"requires-steamodded": true,
"requires-talisman": false,
"categories": [
"Content",
"Joker"
],
"author": "Absent Abigail",
"repo": "https://github.com/AbsentAbigail/AbsentDealer",
"downloadURL": "https://github.com/AbsentAbigail/AbsentDealer/releases/latest/download/absentdealer.zip",
"folderName": "AbsentDealer",
"version": "v1.3.2",
"automatic-version-check": true
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 529 KiB

View File

@@ -0,0 +1,9 @@
# Joker Miku over Jimbo
Replaces the default "Jimbo" Joker with art of Joker Miku<br><br>
## Credits
Texture mod originally made by [WitchofV](https://www.nexusmods.com/balatro/users/61309311) on [Nexus](https://www.nexusmods.com/balatro/mods/170)<br>
Updated by me ([AgentWill](https://github.com/AgentWill)) to work with [Malverk](https://github.com/Eremel/Malverk)
## Art
Art by [Kaatokunart](https://bsky.app/profile/kaatokunart.bsky.social) on Bluesky
## Requirements
Requires [Malverk](https://github.com/Eremel/Malverk)

View File

@@ -0,0 +1,14 @@
{
"title": "Joker Miku over Jimbo",
"requires-steamodded": true,
"requires-talisman": false,
"categories": [
"Resource Packs"
],
"author": "AgentWill",
"repo": "https://github.com/AgentWill/MikuJimbo",
"downloadURL": "https://github.com/AgentWill/MikuJimbo/archive/refs/heads/main.zip",
"folderName": "MikuJimbo",
"automatic-version-check": true,
"version": "5576478"
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 250 KiB

View File

@@ -0,0 +1,9 @@
# Waifu Jokers
Texture pack that replaces many joker faces with altered illustrations of waifu jokers<br><br>
## Credits
Texture mod originally made by [Gibovich](https://www.nexusmods.com/balatro/users/20767164) on [Nexus](https://www.nexusmods.com/balatro/mods/260)<br>
Updated by me ([AgentWill](https://github.com/AgentWill)) to work with [Malverk](https://github.com/Eremel/Malverk)
## Art
Art by [hosses21](https://x.com/hosses21) on twitter
## Requirements
Requires [Malverk](https://github.com/Eremel/Malverk)

View File

@@ -0,0 +1,14 @@
{
"title": "Waifu Jokers",
"requires-steamodded": true,
"requires-talisman": false,
"categories": [
"Resource Packs"
],
"author": "AgentWill",
"repo": "https://github.com/AgentWill/WaifuJokers",
"downloadURL": "https://github.com/AgentWill/WaifuJokers/archive/refs/heads/main.zip",
"folderName": "WaifuJokers",
"automatic-version-check": true,
"version": "711d45a"
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 478 KiB

View File

@@ -1,10 +1,14 @@
{
"title": "Flush Hotkeys",
"requires-steamodded": true,
"requires-talisman": false,
"categories": ["Quality of Life"],
"author": "Agoraaa",
"repo": "https://github.com/Agoraaa/FlushHotkeys",
"downloadURL": "https://github.com/Agoraaa/FlushHotkeys/archive/refs/heads/main.zip"
}
"title": "Flush Hotkeys",
"requires-steamodded": true,
"requires-talisman": false,
"categories": [
"Quality of Life"
],
"author": "Agoraaa",
"folderName": "FlushHotkeys",
"repo": "https://github.com/Agoraaa/FlushHotkeys",
"downloadURL": "https://github.com/Agoraaa/FlushHotkeys/archive/refs/heads/main.zip",
"automatic-version-check": true,
"version": "ac9d035"
}

View File

@@ -1,4 +1,9 @@
# Aikoyori Paint Job
Retextures some Jokers.
Retextures specific Jokers.
Currently
- Idol -> Hoshino Ai from Oshi no Ko
- Egg -> [Instagram Egg](https://en.wikipedia.org/wiki/Instagram_egg)
- Square Joker -> some Terrain from Minecraft
**Requires Malverk**

View File

@@ -1,9 +1,13 @@
{
"title": "Aikoyori Paint Job",
"requires-steamodded": true,
"requires-talisman": false,
"categories": ["Resource Packs"],
"author": "Aikoyori",
"repo":"https://github.com/Aikoyori/Balatro_AikoPaintJob",
"downloadURL": "https://github.com/Aikoyori/Balatro_AikoPaintJob/archive/refs/heads/main.zip"
"title": "Aikoyori Paint Job",
"requires-steamodded": true,
"requires-talisman": false,
"categories": [
"Resource Packs"
],
"author": "Aikoyori",
"repo": "https://github.com/Aikoyori/Balatro_AikoPaintJob",
"downloadURL": "https://github.com/Aikoyori/Balatro_AikoPaintJob/archive/refs/heads/main.zip",
"automatic-version-check": true,
"version": "df146e1"
}

View File

@@ -0,0 +1,43 @@
Basically a content mod where I add whatever I feel like adding.
The thumbnail is not doing this mod's justice because there are way more than what's there.
## What does it have?
This mod features (as of time writing this)
- 50+ Jokers and!
- At least three unique new mechanics never before seen in Balatro!
- Literally play Scrabble in Balatro
- 11 Planet Cards and at least 25 consumables (I ain't putting the exact numbers)!
- Two Balance Mode for either a Balanced experience or Maximum numbers
- 30+ Boss Blinds
- 10+ Card Enhancements
- 4 Decks
- Hardcore Challenge Mode (for those looking to test their mod set)
- A lot of cross-mod content! (I am looking for more cross-mod)
- More to come!
## What, what?
Yes, that's right, this mod features a "Balance" system (which is basically just Cryptid gameset in disguise)
where you can pick the number you want to play with depending on your mood!
> Note: Absurd Balance (the likes of Cryptid) requires [Talisman](https://github.com/SpectralPack/Talisman) to be installed. Talisman is not essential if you want to play Adequate (Vanilla) Balance
## But...
That's not it. This mod features a bunch of cross-mod content already from the likes of More Fluff, Card Sleeves, Partners, and more!
## I haven't even said a thing yet
Oh.
## I wanted to ask if I can spell swear words when playing the so called Scrabble?
That's for you to find out! Download now!
## What if I have more questions?
Feel free to ask in [Discord Server](https://discord.gg/JVg8Bynm7k) for the mod or open an issue!
## Credits
`@larantula_l` on Discord for their Maxwell's Notebook contribution
@nh_6574 for his Card UI code
Balatro Discord for everything else

View File

@@ -0,0 +1,14 @@
{
"title": "Aikoyori's Shenanigans",
"requires-steamodded": true,
"requires-talisman": false,
"categories": [
"Content"
],
"author": "Aikoyori",
"repo": "https://github.com/Aikoyori/Balatro-Aikoyoris-Shenanigans",
"downloadURL": "https://github.com/Aikoyori/Balatro-Aikoyoris-Shenanigans/archive/refs/heads/main.zip",
"automatic-version-check": true,
"version": "b473cb4",
"last-updated": 1757326751
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 658 KiB

View File

@@ -0,0 +1,6 @@
# Vocalatro
Ever want your face cards to be anime girls? Now you can with Vocalatro!
Featuring very obscure virtual singers like Hatsune Miku, Kasane Teto, KAFU and not so singer Neru
and well known singers like Utane Uta, Kizuna Akari, and Elainor Forte!

View File

@@ -0,0 +1,14 @@
{
"title": "Vocalatro",
"requires-steamodded": true,
"requires-talisman": false,
"categories": [
"Resource Packs"
],
"author": "Aikoyori",
"repo": "https://github.com/Aikoyori/Vocalatro/",
"downloadURL": "https://github.com/Aikoyori/Vocalatro/archive/refs/heads/main.zip",
"folderName": "Vocalatro",
"automatic-version-check": true,
"version": "0cf7086"
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 158 KiB

View File

@@ -0,0 +1,72 @@
# Maniatro
## ¿Qué es Maniatro?
Maniatro es un mod para el juego Balatro que añade nuevos Jokers y más para hacer la experiencia de juego más caótica.
## Jokers
De momento, hay 45 Jokers, 2 cartas de Tarot y 2 cartas mejoradas para disfrutar en este momento.
Cada actualización añadirá de 12 a 17 Jokers, los cuales vendrán en forma de Waves. Varios de estos Jokers han sido creados gracias a las ideas de amigos y más, por lo que esté mod no sería el mismo sin ellos. En el mod estarán las personas que han estado involucradas en esto, con su respectivo agradecimiento.
El mod depende de Talisman, aqui un link para poder descargarlo: https://github.com/SpectralPack/Talisman
## Waves
### Wave 1 - Maniatro Basics (1.0.0)
| # | Joker | Mecánica |
|----|----------------------|--------------------------------------------------------------------------|
| 1 | Manzana Verde | Si juegas exactamente 5 cartas, ganas +3$ y +5 multi por esa mano.|
| 2 | Ushanka | Obtienes +1 espacio de Joker pero tu mano se reduce a -1 carta.|
| 3 | Xifox | X2 multi por cada 7 que puntúe.|
| 4 | Net | Si la mano jugada tiene exactamente tres palos distintos, NET dará X2 chips.|
| 5 | Keep Rollin' | Cualquier carta de picas jugada tiene un 25% de probabilidad de retriggearse. Si acierta, lo vuelve a intentar en la misma carta.|
| 6 | Loss | Si la mano usada tiene exactamente 4 cartas en este orden: As, 2, 2, 2, gana X3 multi.|
| 7 | Insomnio | X1.5 multi. Al comenzar una ronda, tiene 50% de ganar +0,5X. Si falla, se destruye.|
| 8 | Red Dead Redemption II | Si ganas la ronda en tu primer intento, +15 multi Si usas más de un intento, -5 multi al acabar la ronda.|
| 9 | Minion Pigs | Por cada Joker de rareza común adquirido, este Joker contiene +15 multi.|
| 10 | Ale | Cada vez que juegas una mano, hay una probabilidad del 50% de darte +50 chips o quitarte -50 chips.|
| 11 | Nauiyo | +0.2X por cada carta más en tu baraja. -0.2X por cada carta menos en tu baraja.|
| 12 | Tablet | Si repites el mismo tipo de mano en dos jugadas seguidas, el multiplicador pasa a X2.5. Aumenta +0.5X por cada repetición adicional.|
| 13 | Amongla | X3 multi. 0.125% de probabilidad de cerrar el juego.|
| 14 | Fatal | . . . |
| 15 | Proto | Por cada ronda, copia la habilidad de un Joker aleatorio. |
### Wave 2 - Cat Attack (2.0.0)
| # | Joker | Mecánica |
|----|----------------------|--------------------------------------------------------------------------|
| 16 | Rufino | +3 multi por cada consumible usado.|
| 17 | Pisu | Por cada gato que tengas comprado, +2X chips.|
| 18 | EVIL Pisu | X1 multi. Aumenta +0.01X por cada segundo transcurrido.|
| 19 | Sappho | X2 multi si la mano jugada no contiene ninguna figura.|
| 20 | Mia | Si ganas la ronda sin hacer ningún descarte, gana +25 chips. Si descartas, perderás todo el progreso.|
| 21 | Parabettle | Por cada 10 descartes, gana +25 chips permanentes.|
| 22 | Joker tributario | Si tienes menos de 20$, este joker te dará +3$ por cada mano jugada. Si tienes más, no surgirá efecto.|
| 23 | Mr. (Ant)Tenna | Todo lo que hay en la tienda tiene un 50% de descuento.|
| 24 | BALATRO TOMORROW | Gana +0.25X chips por cada ronda ganada.|
| 25 | Weezer | Este Joker se duplica cada 3 rondas. Por cada Weezer repetido, ganará +0.5X multi.|
| 26 | Pride | Gana +69 multi por cada carta policromo que poseas.|
| 27 | Lata de cerveza | Empieza con +50 multi. Pierde -5 multi por cada mano jugada.|
| 28 | Paquete de cigarros | Al final de cada ronda: Si tienes dinero acumulado, pierdes -1$ y este gana +3 multi |
| 29 | Caja vacía | . . . |
| 30 | Julio | +24 multi. Cada 4 manos jugadas, el multi se eleva al cuadrado. |
| 31 | Nuevo comienzo | Al final de cada ronda: Destruye un Joker al azar y gana +0.5X chips |
| 32 | Determinación | Este Joker aplica X5 multi Cuántas más manos juegues, más fuerte se vuelve.|
### Wave 3 - Burned Memories (3.0.0)
| # | Joker | Mecánica |
|----|----------------------|--------------------------------------------------------------------------|
| 33 | Ushanka desgastado | Cada 4 rondas, hay un 25% de probabilidad de conseguir +1 espacio para Jokers.|
| 34 | Xifox desgastado | Si juegas un 7, hay un 10% de probabilidad de volverlo policromo.|
| 35 | Obituary | Cada As o 2 jugado dará +4 multi.|
| 36 | Amongla desgastado | X6 multi. 25% de probabilidad de cerrar el juego.|
| 37 | Diédrico | Una mano cuenta como 2 manos. |
| 38 | Pendrive | Cada minuto, este dará +5 chips. Alcanza un límite de hasta 100 chips.|
| 39 | Gafas de Spamton | Si tienes menos de 20$, este joker te dará +3$ por cada mano jugada. Si tienes más, no surgirá efecto.|
| 40 | Euro | +1$ por cada mano jugada.|
| 41 | Frutos del bosque |+30 chips o +15 multi.|
| 42 | Nira | ^1 multi. Si la mano jugada solo contiene corazones, aumenta en +0.2^ multi.|
| 43 | Matkrov | Cada Joker raro que tengas dará X5 chips.|
| 44 | Drokstav | Al acabar la mano, crea una carta mejorada aleatoria y la añade directamente a tu mano.|
| 45 | Letko | Aplica N! multi basado en el número de cartas en tu primera mano.

View File

@@ -0,0 +1,12 @@
{
"title": "Maniatro",
"requires-steamodded": true,
"requires-talisman": true,
"categories": ["Content"],
"author": "Applemania",
"repo": "https://github.com/AppleMania30/Maniatro",
"downloadURL": "https://github.com/AppleMania30/Maniatro/archive/refs/tags/3.0.0.zip",
"folderName": "Maniatro",
"version": "3.0.0",
"automatic-version-check": true
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 381 KiB

View File

@@ -0,0 +1,5 @@
# Arashicoolstuff
Some jokers I made with Joker Forge.
If you want to add your joker ideas to the mod, just join my Discord server!

View File

@@ -0,0 +1,15 @@
{
"title": "Arashicoolstuff",
"requires-steamodded": true,
"requires-talisman": false,
"categories": [
"Joker"
],
"author": "Arashi Fox",
"repo": "https://github.com/ArashiFox/Arashicoolstuff",
"downloadURL": "https://github.com/ArashiFox/Arashicoolstuff/archive/refs/heads/main.zip",
"folderName": "Arashicoolstuff",
"version": "228226f",
"automatic-version-check": true,
"last-updated": 1757153689
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 157 KiB

View File

@@ -1,5 +1,4 @@
Welcome to Mistigris! Inspired by the likes of Paperback, Ortalab and Maximus, this is a vanilla-style mod intended to bring new, spicy gimmicks and playstyles to Balatro, while ensuring there is still a sense of order and balance!
> Requires Steamodded 1.0.0~BETA-0301a (or newer) and Lovely 0.7.1 (or newer)
Mistigris is a brand new, Vanilla style mod designed to spice up Balatro with new gimmicks and playstyles, while still ensuring a sense of order and balance!
* **[Join the Official Mistigris Discord!](<https://discord.gg/fjcBm5YmdN>)**
Keep up with development and chat with others who might like the mod!

View File

@@ -2,8 +2,13 @@
"title": "Mistigris",
"requires-steamodded": true,
"requires-talisman": false,
"categories": ["Content", "Joker"],
"categories": [
"Content",
"Joker"
],
"author": "astrapboy",
"repo": "https://github.com/astrapboy/Mistigris",
"downloadURL": "https://github.com/astrapboy/Mistigris/archive/refs/heads/main.zip"
"downloadURL": "https://github.com/astrapboy/Mistigris/releases/latest/download/Mistigris.zip",
"automatic-version-check": true,
"version": "v0.4.1"
}

View File

@@ -1,9 +1,13 @@
{
"title": "Six Suits",
"requires-steamodded": true,
"requires-talisman": false,
"categories": ["Content"],
"author": "Aure",
"repo":"https://github.com/Aurelius7309/SixSuits",
"downloadURL": "https://github.com/Aurelius7309/SixSuits/archive/refs/heads/master.zip"
}
"title": "Six Suits",
"requires-steamodded": true,
"requires-talisman": false,
"categories": [
"Content"
],
"author": "Aure",
"repo": "https://github.com/Aurelius7309/SixSuits",
"downloadURL": "https://github.com/Aurelius7309/SixSuits/archive/refs/heads/master.zip",
"automatic-version-check": true,
"version": "d2044ee"
}

View File

@@ -0,0 +1,10 @@
# (WIP)
Collabs-Reimagined
A balatro texture mod that applies each collab from "friends of Jimbo" to each respective suit
Current Collabs:
Among Us
Cyberpunk 2077
Dave the Diver
The Witcher
Vampire Survivors

View File

@@ -0,0 +1,14 @@
{
"title": "Collabs Reimagined",
"requires-steamodded": true,
"requires-talisman": false,
"categories": [
"Resource Packs"
],
"author": "Auto Watto & RS_Mind",
"repo": "https://github.com/AutoWatto/CollabsReimagined",
"downloadURL": "https://github.com/AutoWatto/CollabsReimagined/archive/refs/heads/main.zip",
"folderName": "CollabsReimagined",
"version": "89ebe04",
"automatic-version-check": true
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

View File

@@ -0,0 +1,5 @@
# Balatro Community College Pack
a **vanilla-like** mod with 24 new jokers intended to maintain the original balance of the base game. Inspired by Rofflatro & Extra Credit consider us the cheaper, worse, but still homely alternative to BalatroU. Challenges and decks to come. Follow ow development & updates [@BalatroCC](https://www.youtube.com/@BalatroCC) on YouTube!
### by BKM (BalatroCC)

View File

@@ -0,0 +1,16 @@
{
"title": "Balatro Community College Pack",
"requires-steamodded": true,
"requires-talisman": false,
"categories": [
"Content",
"Joker"
],
"author": "BKM",
"repo": "https://github.com/beckcarver/balatro-cc-pack/",
"downloadURL": "https://github.com/beckcarver/balatro-cc-pack/releases/latest/download/balatro-cc-pack.zip",
"folderName": "BalatroCC",
"version": "0.1.3",
"automatic-version-check": true,
"last-updated": 1756948491
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 189 KiB

View File

@@ -1,9 +1,15 @@
{
"title": "Bakery",
"requires-steamodded": true,
"requires-talisman": false,
"categories": ["Content", "Joker", "Miscellaneous"],
"author": "BakersDozenBagels",
"repo": "https://github.com/BakersDozenBagels/BalatroBakery",
"downloadURL": "https://github.com/BakersDozenBagels/BalatroBakery/archive/refs/heads/main.zip"
"title": "Bakery",
"requires-steamodded": true,
"requires-talisman": false,
"categories": [
"Content",
"Joker",
"Miscellaneous"
],
"author": "BakersDozenBagels",
"repo": "https://github.com/BakersDozenBagels/BalatroBakery",
"downloadURL": "https://github.com/BakersDozenBagels/BalatroBakery/archive/refs/heads/main.zip",
"automatic-version-check": true,
"version": "bc85bf0"
}

View File

@@ -0,0 +1,5 @@
# Valley of the Kings
Adds 20 Egyptian God themed jokers, made for Osiris' birthday.
Ideas come from Maple Maelstrom and Reaperkun; Coding was done by BakersDozenBagels and Revo

View File

@@ -0,0 +1,11 @@
{
"title": "Valley of the Kings",
"requires-steamodded": true,
"requires-talisman": false,
"categories": ["Content", "Joker"],
"author": "BakersDozenBagels",
"repo": "https://github.com/BakersDozenBagels/balatroValleyOfTheKings/",
"downloadURL": "https://github.com/BakersDozenBagels/balatroValleyOfTheKings/archive/refs/tags/v0.1.0.zip",
"version": "0.1.0"
}

View File

@@ -1,9 +1,14 @@
{
"title": "Wilder",
"requires-steamodded": true,
"requires-talisman": false,
"categories": ["Quality of Life", "Miscellaneous"],
"author": "Sir. Gameboy",
"repo": "https://github.com/Balin-P/Wilder",
"downloadURL": "https://github.com/Balin-P/Wilder/releases/download/Release/Wilder.zip"
}
"title": "Wilder",
"requires-steamodded": true,
"requires-talisman": false,
"categories": [
"Quality of Life",
"Miscellaneous"
],
"author": "Sir. Gameboy",
"repo": "https://github.com/Balin-P/Wilder",
"downloadURL": "https://github.com/Balin-P/Wilder/releases/download/Release/Wilder.zip",
"automatic-version-check": true,
"version": "Release"
}

View File

@@ -1,7 +1,7 @@
# Cardsauce
A Balatro mod made for Vinesauce!
**Cardsauce** is a Vinesauce-themed expansion for Balatro, made in collaboration with the Balatro Discord and Vinesauce communities! Featuring art from several talented artists, Cardsauce adds 70 new Jokers, as well as a handful of other new additions to the game.
**Cardsauce** is a Vinesauce-themed expansion for Balatro, made in collaboration with the Balatro Discord and Vinesauce communities! Featuring art from several talented artists, Cardsauce adds 120 new Jokers, as well as a lot of other new additions to the game.
[Join the discord here!](https://discord.gg/evwdM4Tvc5)

View File

@@ -2,8 +2,15 @@
"title": "Cardsauce",
"requires-steamodded": true,
"requires-talisman": false,
"categories": ["Content", "Joker", "Miscellaneous"],
"categories": [
"Content",
"Joker",
"Miscellaneous"
],
"author": "BarrierTrio & Keku",
"repo": "https://github.com/BarrierTrio/Cardsauce",
"downloadURL": "https://github.com/BarrierTrio/Cardsauce/releases/latest/download/Cardsauce.zip"
"downloadURL": "https://github.com/BarrierTrio/Cardsauce/archive/refs/heads/main.zip",
"folderName": "Cardsauce",
"automatic-version-check": true,
"version": "71485d9"
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 96 KiB

After

Width:  |  Height:  |  Size: 310 KiB

View File

@@ -1,9 +1,13 @@
{
"title": "Pampa Joker Pack",
"requires-steamodded": true,
"requires-talisman": false,
"categories": ["Joker"],
"author": "batabata3",
"repo":"https://github.com/batabata3/balatro-pampa-joker-pack",
"downloadURL":"https://github.com/batabata3/balatro-pampa-joker-pack/archive/refs/heads/main.zip"
"title": "Pampa Joker Pack",
"requires-steamodded": true,
"requires-talisman": false,
"categories": [
"Joker"
],
"author": "batabata3",
"repo": "https://github.com/batabata3/balatro-pampa-joker-pack",
"downloadURL": "https://github.com/batabata3/balatro-pampa-joker-pack/archive/refs/heads/main.zip",
"automatic-version-check": true,
"version": "91c0618"
}

View File

@@ -1,9 +1,13 @@
{
"title": "Math Blinds",
"requires-steamodded": true,
"requires-talisman": false,
"categories": ["Content"],
"author": "dvrp0",
"repo":"https://github.com/Bazinga9000/MathBlinds",
"downloadURL":"https://github.com/Bazinga9000/MathBlinds/archive/refs/heads/main.zip"
"title": "Math Blinds",
"requires-steamodded": true,
"requires-talisman": false,
"categories": [
"Content"
],
"author": "dvrp0",
"repo": "https://github.com/Bazinga9000/MathBlinds",
"downloadURL": "https://github.com/Bazinga9000/MathBlinds/archive/refs/heads/main.zip",
"automatic-version-check": true,
"version": "8807e86"
}

View File

@@ -2,8 +2,12 @@
"title": "Betmma Mods",
"requires-steamodded": true,
"requires-talisman": false,
"categories": ["Content"],
"categories": [
"Content"
],
"author": "Betmma",
"repo": "https://github.com/betmma/my_balatro_mods",
"downloadURL": "https://github.com/betmma/my_balatro_mods/archive/refs/heads/main.zip"
"downloadURL": "https://github.com/betmma/my_balatro_mods/archive/refs/heads/main.zip",
"automatic-version-check": true,
"version": "b233911"
}

View File

@@ -0,0 +1,24 @@
Prism is a content mod that aims to enrich the Balatro experience while maintaining the vanilla feel
# Content
The mod currently adds:
- A brand new Consumable type: Myth Cards
- Over 30 new Jokers
- New Enhancements and Seals
- New Decks with matching Card Sleeves (Requires [CardSlevees](https://github.com/larswijn/CardSleeves))
- And much more
You can see a more detailed list of additions in the mods [Wiki](https://balatromods.miraheze.org/wiki/Prism)
# Requirements
- [Steamodded](https://github.com/Steamopollys/Steamodded)
- [Lovely](https://github.com/ethangreen-dev/lovely-injector)
# Known Issues
- Using the mod together with Codex Arcanum will crash the game, using [Redux Arcanum](https://github.com/jumbocarrot0/Redux-Arcanum) instead fixes the issue
# Credits
- Chinese localization by 姓氏是个毛 and VisJoker
- Spanish localization by Frander
- Vietnamese localization by Shinosan

View File

@@ -0,0 +1,14 @@
{
"title": "Prism",
"requires-steamodded": true,
"requires-talisman": false,
"categories": [
"Content"
],
"author": "Blazingulag",
"repo": "https://github.com/blazingulag/Prism",
"downloadURL": "https://github.com/blazingulag/Prism/archive/refs/heads/main.zip",
"folderName": "Prism",
"automatic-version-check": true,
"version": "55d0533"
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 967 KiB

View File

@@ -0,0 +1,39 @@
# Themed Jokers:Retriggered
A new and updated version of my old mod Themed Jokers.
This time the jokers are more in line with vanilla jokers.
Feel free to leave feedback and suggestions for more themes.
## Overview
### Combat Ace
Join the Combat Aces on the battlefield.
Recruit Aces to your deck and increase their strenght my promoting them.
- 7 Jokers (3 Common, 2 Uncommon, 2 Rare)
- 1 Tarot Card
- 1 Deck (Back)
- 1 Blind
### Infected
A deadly Infection spreads.
Use Infected Cards in special pokerhands to unleash their full potential.
- 9 Jokers (2 Common, 4 Uncommon, 2 Rare, 1 Legendary)
- 1 Spectral Card
- 1 Tarot Card
- 1 Deck (Back)
- 1 Enhancement
- 5 Poker Hands
### Jurassic
Dinosaurs rise again!
Use Dinosaurs to beat the blinds. Harness their power when they get extinct again!
- 13 Jokers (2 Common, 8 Uncommon, 3 Rare)
- 1 Spectral Card
- 1 Tarot Card
- 1 Deck (Back)
### Mischief
???
- 6 Jokers (5 Common, 1 Legendary)
- 1 Tarot Card
- 2 Vouchers

View File

@@ -0,0 +1,16 @@
{
"title": "Themed Jokers: Retriggered",
"requires-steamodded": true,
"requires-talisman": false,
"categories": [
"Content",
"Joker"
],
"author": "Blizzow",
"repo": "https://github.com/BlizzowX/Themed-Joker-Retriggered",
"downloadURL": "https://github.com/BlizzowX/Themed-Joker-Retriggered/releases/latest/download/ThemedJokersRetriggered.zip",
"folderName": "Themed Jokers Retriggered",
"version": "1.10",
"automatic-version-check": true,
"last-updated": 1757168020
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

View File

@@ -0,0 +1,5 @@
# Dismiss discovery alerts with a click!
DismissAlert makes it possible to dismiss the new discovery alert icons ( ! ) on the Main Menu, Pause menu and Collection menu with a single click<br>
- Clicking the icon on the main menu or in the pause menu will dismiss all alert icons and mark the contents of all categories as read<br>
- Clicking individual alert icons on the Collection page will only dismiss and mark the contents of that individual collection category<br>

View File

@@ -0,0 +1,14 @@
{
"title": "DismissAlert",
"requires-steamodded": false,
"requires-talisman": false,
"categories": [
"Quality of Life",
"Miscellaneous"
],
"author": "Breezebuilder",
"repo": "https://github.com/Breezebuilder/DismissAlert",
"downloadURL": "https://github.com/Breezebuilder/DismissAlert/releases/latest/download/DismissAlert.zip",
"automatic-version-check": true,
"version": "v1.0.0"
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 341 KiB

View File

@@ -2,8 +2,13 @@
"title": "SystemClock",
"requires-steamodded": false,
"requires-talisman": false,
"categories": ["Quality of Life", "Miscellaneous"],
"categories": [
"Quality of Life",
"Miscellaneous"
],
"author": "Breezebuilder",
"repo":"https://github.com/Breezebuilder/SystemClock",
"downloadURL": "https://github.com/Breezebuilder/SystemClock/releases/download/v1.6.4/SystemClock-v1.6.4.zip"
"repo": "https://github.com/Breezebuilder/SystemClock",
"downloadURL": "https://github.com/Breezebuilder/SystemClock/releases/download/v1.7.1/SystemClock-v1.7.1.zip",
"automatic-version-check": false,
"version": "v1.7.1"
}

View File

@@ -0,0 +1,14 @@
# Glowypumpkin
This Mod is an overhaul of card textures, centered around the streamer Glowypumpkin and her community
Changes include:
-Suits, their names and colours;
-Jokers;
-Tarots;
-Spectrals;
-Enhancements;
Art was made mainly by Orangesuit1, with some few exceptions made by AngyPeachy
Technical modding was done by Butterspaceship
THIS MOD REQUIRES STEAMODDED TO WORK

View File

@@ -0,0 +1,13 @@
{
"title": "Glowypumpkin Community Deck",
"requires-steamodded": true,
"requires-talisman": false,
"categories": [
"Resource Packs"
],
"author": "ButterSpaceship",
"repo": "https://github.com/ButterSpaceship/Glowypumpkin-Community-Mod",
"downloadURL": "https://github.com/ButterSpaceship/Glowypumpkin-Community-Mod/releases/latest/download/GlowyPumpkin-Custom-Deck.zip",
"version": "V5.0",
"automatic-version-check": true
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

View File

@@ -0,0 +1,12 @@
# Extra Credit
A small-scale vanilla-style content mod for Balatro University.
## Features
- 45 jokers with new effects and art :)
- 3 cool new decks too!
## Credits
Made by CampfireCollective and Balatro University Community.

View File

@@ -0,0 +1,14 @@
{
"title": "ExtraCredit",
"requires-steamodded": true,
"requires-talisman": false,
"categories": [
"Joker",
"Content"
],
"author": "CampfireCollective",
"repo": "https://github.com/GuilloryCraft/ExtraCredit",
"downloadURL": "https://github.com/GuilloryCraft/ExtraCredit/archive/refs/heads/main.zip",
"automatic-version-check": true,
"version": "0855210"
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 189 KiB

View File

@@ -0,0 +1,18 @@
# Key Features
- Dark versions of:
- Playing Card Backs
- Tarot Cards
- Planet Cards
- Spectral Cards
- Card Backs
- All Jokers retextured to dark versions
- Splash screen and backgrounds darkened
- Custom suit colors
- Custom tag textures
- Custom booster pack textures
- Custom voucher textures
# How To Use
To use Balatro Dark Mode, you need to have **Malverk** installed. The pack contains two subpacks, a **Malverk** pack which contains the bulk of the textures and an **Extras** pack which contains small bits that are not supported by *Malverk*.

View File

@@ -0,0 +1,11 @@
{
"title": "Balatro Dark Mode",
"requires-steamodded": true,
"requires-talisman": false,
"categories": ["Resource Packs"],
"author": "Carroton",
"repo": "https://github.com/CarrotonMan/balatrodarkmode",
"downloadURL": "https://github.com/CarrotonMan/balatrodarkmode/releases/download/latest/balatroDarkMode.zip",
"folderName": "balatroDarkMode",
"version": "1.1.0"
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 296 KiB

View File

@@ -0,0 +1,6 @@
# Balatrin Gaming Deck
Deck design for Balatro cards inspired by [Ratatin Gaming](https://www.youtube.com/@RatatinGaming). Requires [Steamodded](https://github.com/Steamopollys/Steamodded).
Made by [Celestin Gaming](https://x.com/CG64_oficial)

View File

@@ -0,0 +1,14 @@
{
"title": "BalatrinGamingDeck",
"requires-steamodded": true,
"requires-talisman": false,
"categories": [
"Resource Packs"
],
"author": "Celestin Gaming",
"repo": "https://github.com/CelestinGaming/BalatrinGamingDeck",
"downloadURL": "https://github.com/CelestinGaming/BalatrinGamingDeck/archive/refs/heads/main.zip",
"folderName": "BalatrinGamingDeck",
"automatic-version-check": true,
"version": "d1bc486"
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 926 KiB

View File

@@ -0,0 +1,3 @@
# Soup
A simple mod that retextures the Shop sign to say Soup instead.

15
mods/Coo29@Soup/meta.json Normal file
View File

@@ -0,0 +1,15 @@
{
"title": "Soup",
"requires-steamodded": true,
"requires-talisman": false,
"categories": [
"Content",
"Resource Packs",
"Miscellaneous"
],
"author": "Coo29",
"repo": "https://github.com/Coo29/Soup",
"downloadURL": "https://github.com/Coo29/Soup/archive/refs/heads/main.zip",
"automatic-version-check": true,
"version": "79c38cd"
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 KiB

View File

@@ -1,10 +1,8 @@
# YippieMod
An in progress mod for balatro, (hopefully) adding various things!
An in progress vanilla+ mod for balatro, adding jokers, decks, and more in the future!
(Requires Steamodded, untested on versions prior to v1.0.0~ALPHA-1424a)
Currently added:
3 Jokers
# Credits

View File

@@ -1,10 +1,14 @@
{
"title": "Yippie",
"requires-steamodded": true,
"requires-talisman": false,
"categories": ["Content", "Joker"],
"author": "Coo29",
"repo": "https://github.com/Coo29/YippieMod",
"downloadURL": "https://github.com/Coo29/YippieMod/archive/refs/heads/main.zip"
}
"title": "Yippie",
"requires-steamodded": true,
"requires-talisman": false,
"categories": [
"Content",
"Joker"
],
"author": "Coo29",
"repo": "https://github.com/Coo29/YippieMod",
"downloadURL": "https://github.com/Coo29/YippieMod/archive/refs/heads/main.zip",
"automatic-version-check": true,
"version": "bc91c0b"
}

View File

@@ -0,0 +1,28 @@
# Project Moon Balatro Texture Pack
A Balatro Mod that adds custom made textures with Project Moon related characters, abnormalities and themes
## To install
1. Download and install, [Steammodded](https://github.com/Steamodded/smods), [Lovely](https://github.com/ethangreen-dev/lovely-injector) and [Malverk](https://github.com/Eremel/Malverk)
2. [Ignore this step if you're downloading via the mod manager] Download the desired ProjectMoonTexturePack.zip file from Releases on the right menu (default has black backgrounds for playing cards, WhiteVersion has white backgrounds), extract it and then place it in your Mods folder. You'll know it's correct if you open the ProjectMoonTexturePack folder and there's an assets, localization and .lua file inside
3. [Optional] Repeat step 2 for the ProjectMoonMusicAddon.zip if you desire to include the music
5. [Optional] If you want to add the custom Balatro logo, you'll have to use 7zip to open up the Balatro.exe file located in the installation folder (Steam\steamapps\common\Balatro), navigate to resources -> textures -> 1x and replace the Balatro logo there. I provided the custom Balatro.png in my mod folder, inside the assets folder
6. Go to Options -> Texture click on the custom Eternal sprite and hit Enable. It'll move up top, meaning the custom Spectral textures are enabled
7. Enjoy the mod!
## Known issues
- Certain UI elements are still using the old colour schemes
## Special Thanks
Special thanks to Novell, [Dawni](https://x.com/hidawnihere), Sans, Simon and Oath for testing out the mod and giving suggestions!
Also thanks to [DB](https://x.com/Despair_Bears) for showcasing my work on Twitter and in Detroit and everyone in the RegretfulDiscord and MentalBlock servers for the support!

View File

@@ -0,0 +1,12 @@
{
"title": "Project Moon Texture Pack",
"requires-steamodded": true,
"requires-talisman": false,
"categories": ["Resource Packs"],
"author": "Kiro",
"repo": "https://github.com/CountKiro/PMBalatroMod",
"downloadURL": "https://github.com/CountKiro/PMBalatroMod/releases/download/v1.0/ProjectMoonTexturePack_v1.0.1.zip",
"folderName": "ProjectMoonTexturePack",
"version": "1.0",
"automatic-version-check": false
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 205 KiB

View File

@@ -1,9 +1,13 @@
{
"title": "HD Balatro",
"requires-steamodded": true,
"requires-talisman": false,
"categories": ["Resource Packs"],
"author": "DDRitter",
"repo":"https://github.com/Eremel/HD-Balatro",
"downloadURL": "https://github.com/Eremel/HD-Balatro/archive/refs/heads/main.zip"
"title": "HD Balatro",
"requires-steamodded": true,
"requires-talisman": false,
"categories": [
"Resource Packs"
],
"author": "DDRitter",
"repo": "https://github.com/Eremel/HD-Balatro",
"downloadURL": "https://github.com/Eremel/HD-Balatro/archive/refs/heads/main.zip",
"automatic-version-check": true,
"version": "01a76b7"
}

View File

@@ -0,0 +1,20 @@
# Lost Edition
Lost Edition is a Vanilla+ expansion for Balatro, carefully crafted to keep the original game's spirit while introducing plenty of fresh content to discover!
## Features
- 🃏 70+ new Jokers to shake up your runs
- 💀 Challenging new Boss Blinds
- ✨ New Enhancements to expand your strategies
- ⭐ New Editions to explore
- ♠️ Extra Decks for even more playstyles
- 🎟️ New Vouchers to change up your game
- 🎨 Exciting new themed and collaborative Friend of Jimbo skins
- **And much more!**
This mod requires [Steamodded](https://github.com/Steamopollys/Steamodded) and [Lovely](https://github.com/ethangreen-dev/lovely-injector).
## Credits
Created by **ClickNoPaulo** & **Danitskkj**
Detailed credits for everyone else who contributed to the mod can be found in-game. Thank you to all collaborators and artists who helped make Lost Edition a reality! ❤️

View File

@@ -0,0 +1,16 @@
{
"title": "Lost Edition",
"requires-steamodded": true,
"requires-talisman": false,
"categories": [
"Content",
"Joker",
"Quality of Life"
],
"author": "ClicknoPaulo & Danitskkj",
"repo": "https://github.com/Danitskkj/Lost_Edition",
"downloadURL": "https://github.com/Danitskkj/Lost_Edition/archive/refs/heads/main.zip",
"folderName": "Lost_Edition",
"automatic-version-check": true,
"version": "58567c7"
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 226 KiB

View File

@@ -1,9 +1,13 @@
{
"title": "Planet Nine",
"requires-steamodded": true,
"requires-talisman": false,
"categories": ["Resource Packs"],
"author": "DarkAutumn2618",
"repo":"https://github.com/DarkAutumn2618/balatro-planetnine",
"downloadURL": "https://github.com/DarkAutumn2618/balatro-planetnine/archive/refs/heads/master.zip"
"title": "Planet Nine",
"requires-steamodded": true,
"requires-talisman": false,
"categories": [
"Resource Packs"
],
"author": "DarkAutumn2618",
"repo": "https://github.com/DarkAutumn2618/balatro-planetnine",
"downloadURL": "https://github.com/DarkAutumn2618/balatro-planetnine/archive/refs/heads/master.zip",
"automatic-version-check": true,
"version": "f551f58"
}

View File

@@ -0,0 +1,6 @@
# What is Pokerleven?
Pokerleven is an overhaul mod for Balatro based on Inazuma Eleven series. Currently it is in alpha state, be aware of bugs.
It adds new small, big and boss blinds, as well as jokers and completely new mechanics.
It is intended to play this mod without balatro content for the best experience.
> by Deco

View File

@@ -0,0 +1,16 @@
{
"title": "Pokerleven",
"requires-steamodded": true,
"requires-talisman": false,
"categories": [
"Content",
"Joker"
],
"author": "Deco",
"folderName": "Pokerleven",
"repo": "https://github.com/DecoXFE/PokerLeven",
"downloadURL": "https://github.com/DecoXFE/PokerLeven/releases/latest/download/PokerLeven.zip",
"automatic-version-check": true,
"version": "v0.1.2a-BETA",
"last-updated": 1756592073
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

Some files were not shown because too many files have changed in this diff Show More