Merge branch 'skyline69:main' into main
5
.github/scripts/requirements.lock
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
certifi==2025.1.31
|
||||
charset-normalizer==3.4.1
|
||||
idna==3.10
|
||||
requests==2.32.3
|
||||
urllib3==2.4.0
|
||||
1
.github/scripts/requirements.txt
vendored
Normal file
@@ -0,0 +1 @@
|
||||
requests
|
||||
244
.github/scripts/update_mod_versions.py
vendored
Executable file
@@ -0,0 +1,244 @@
|
||||
#!/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 {}
|
||||
|
||||
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", [
|
||||
("RELEASE_TAG", "release"),
|
||||
("HEAD", "commit"),
|
||||
])
|
||||
def get_version_string(source: Enum, owner, repo, start_timestamp, n = 1):
|
||||
"""Get the version string from a given GitHub repo."""
|
||||
|
||||
if source is VersionSource.RELEASE_TAG:
|
||||
url = f'https://api.github.com/repos/{owner}/{repo}/releases/latest'
|
||||
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.RELEASE_TAG:
|
||||
# Return name of latest tag
|
||||
return data.get('tag_name')
|
||||
|
||||
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) # 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)
|
||||
|
||||
else:
|
||||
print("Checking releases for latest version tag...")
|
||||
source = VersionSource.RELEASE_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
|
||||
if "/archive/refs/tags/" in download_url:
|
||||
meta['downloadURL'] = f"{repo_url}/archive/refs/tags/{meta['version']}.zip"
|
||||
|
||||
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)
|
||||
|
||||
68
.github/workflows/check-mod.yml
vendored
@@ -14,20 +14,35 @@ jobs:
|
||||
with:
|
||||
fetch-depth: 0 # Get full history for comparing changes
|
||||
|
||||
- name: Install ImageMagick
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y 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: |
|
||||
# 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
|
||||
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
|
||||
# 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
|
||||
@@ -38,19 +53,14 @@ jobs:
|
||||
cat changed_mods.txt
|
||||
echo "changed_mods_found=true" >> $GITHUB_OUTPUT
|
||||
|
||||
# Create a comma-separated list for JSON schema validation
|
||||
META_JSON_FILES=""
|
||||
while read -r mod_path; do
|
||||
if [ -f "$mod_path/meta.json" ]; then
|
||||
if [ -z "$META_JSON_FILES" ]; then
|
||||
META_JSON_FILES="$mod_path/meta.json"
|
||||
else
|
||||
META_JSON_FILES="$META_JSON_FILES,$mod_path/meta.json"
|
||||
fi
|
||||
fi
|
||||
done < changed_mods.txt
|
||||
|
||||
echo "meta_json_files=$META_JSON_FILES" >> $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'
|
||||
@@ -73,7 +83,7 @@ jobs:
|
||||
done < changed_mods.txt
|
||||
|
||||
- name: Check Thumbnail Dimensions
|
||||
if: steps.find-changed-mods.outputs.changed_mods_found == 'true'
|
||||
if: always() && steps.find-changed-mods.outputs.changed_mods_found == 'true'
|
||||
run: |
|
||||
while read -r mod_path; do
|
||||
if [ -d "$mod_path" ]; then
|
||||
@@ -81,8 +91,9 @@ jobs:
|
||||
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)
|
||||
|
||||
@@ -96,7 +107,7 @@ jobs:
|
||||
done < changed_mods.txt
|
||||
|
||||
- name: Validate JSON Format
|
||||
if: steps.find-changed-mods.outputs.changed_mods_found == 'true'
|
||||
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
|
||||
@@ -109,14 +120,14 @@ jobs:
|
||||
done < changed_mods.txt
|
||||
|
||||
- name: Validate meta.json Against Schema
|
||||
if: steps.find-changed-mods.outputs.changed_mods_found == 'true'
|
||||
if: always() && steps.find-changed-mods.outputs.changed_mods_found == 'true'
|
||||
uses: dsanders11/json-schema-validate-action@v1.2.0
|
||||
with:
|
||||
schema: "./schema/meta.schema.json"
|
||||
files: ${{ steps.find-changed-mods.outputs.meta_json_files }}
|
||||
|
||||
- name: Validate Download URLs
|
||||
if: steps.find-changed-mods.outputs.changed_mods_found == 'true'
|
||||
if: always() && steps.find-changed-mods.outputs.changed_mods_found == 'true'
|
||||
run: |
|
||||
while read -r mod_path; do
|
||||
if [ -d "$mod_path" ]; then
|
||||
@@ -146,4 +157,3 @@ jobs:
|
||||
steps:
|
||||
- name: Await Approval from Maintainers
|
||||
run: echo "Waiting for manual approval by maintainers..."
|
||||
|
||||
|
||||
51
.github/workflows/update-mod-versions.yml
vendored
Normal 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
@@ -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
|
||||
|
||||
54
README.md
@@ -35,19 +35,25 @@ 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",
|
||||
"folderName": "ExtendedCards"
|
||||
"downloadURL": "https://github.com/joemama/extended-cards/releases/latest/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*: (*Optional*) If your mod requires the [Talisman](https://github.com/MathIsFun0/Talisman) mod, set this to `true`.
|
||||
- **requires-talisman**: If your mod requires the [Talisman](https://github.com/MathIsFun0/Talisman) mod, set this to `true`.
|
||||
- **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.)
|
||||
- *folderName*: (*Optional*) The name for the mod's install folder. This must not contain characters `<` `>` `:` `"` `/` `\` `|` `?` `*`
|
||||
- **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.
|
||||
- *folderName*: (*Optional*) The name for the mod's install folder. This must be **unique**, and cannot contain characters `<` `>` `:` `"` `/` `\` `|` `?` `*`
|
||||
- *version*: (*Optional*) The version number of the mod files available at `downloadURL`.
|
||||
- *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 **or** latest commit, depending on the `downloadURL`.
|
||||
- Enable this option **only** if your `downloadURL` points to an automatically updating source, using a link to [releases/latest](https://docs.github.com/en/repositories/releasing-projects-on-github/linking-to-releases) (recommended), or 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).
|
||||
|
||||
### 3. thumbnail.jpg (Optional)
|
||||
If included, this image will appear alongside your mod in the index. Maximum and recommended size is 1920x1080 pixels.
|
||||
@@ -90,4 +96,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!
|
||||
|
||||
@@ -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.2a"
|
||||
}
|
||||
|
||||
@@ -1,10 +1,13 @@
|
||||
{
|
||||
"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",
|
||||
"repo": "https://github.com/Agoraaa/FlushHotkeys",
|
||||
"downloadURL": "https://github.com/Agoraaa/FlushHotkeys/archive/refs/heads/main.zip",
|
||||
"automatic-version-check": true,
|
||||
"version": "076d296"
|
||||
}
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
|
||||
6
mods/Aikoyori@Vocalatro/description.md
Normal 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!
|
||||
|
||||
14
mods/Aikoyori@Vocalatro/meta.json
Normal 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"
|
||||
}
|
||||
BIN
mods/Aikoyori@Vocalatro/thumbnail.jpg
Normal file
|
After Width: | Height: | Size: 158 KiB |
@@ -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!
|
||||
|
||||
@@ -1,9 +1,14 @@
|
||||
{
|
||||
"title": "Mistigris",
|
||||
"requires-steamodded": true,
|
||||
"requires-talisman": false,
|
||||
"categories": ["Content", "Joker"],
|
||||
"author": "astrapboy",
|
||||
"repo": "https://github.com/astrapboy/Mistigris",
|
||||
"downloadURL": "https://github.com/astrapboy/Mistigris/archive/refs/heads/main.zip"
|
||||
}
|
||||
{
|
||||
"title": "Mistigris",
|
||||
"requires-steamodded": true,
|
||||
"requires-talisman": false,
|
||||
"categories": [
|
||||
"Content",
|
||||
"Joker"
|
||||
],
|
||||
"author": "astrapboy",
|
||||
"repo": "https://github.com/astrapboy/Mistigris",
|
||||
"downloadURL": "https://github.com/astrapboy/Mistigris/releases/latest/download/Mistigris.zip",
|
||||
"automatic-version-check": true,
|
||||
"version": "v0.4.1"
|
||||
}
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
|
||||
10
mods/AutoWatto@CollabsReimagined/description.md
Normal 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
|
||||
14
mods/AutoWatto@CollabsReimagined/meta.json
Normal 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
|
||||
}
|
||||
BIN
mods/AutoWatto@CollabsReimagined/thumbnail.jpg
Normal file
|
After Width: | Height: | Size: 1.3 MiB |
@@ -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": "5f89d04"
|
||||
}
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
|
||||
@@ -2,8 +2,14 @@
|
||||
"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/releases/latest/download/Cardsauce.zip",
|
||||
"automatic-version-check": true,
|
||||
"version": "Update1.4.1"
|
||||
}
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
|
||||
@@ -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": "9f1673d"
|
||||
}
|
||||
|
||||
24
mods/Blazingulag@Prism/description.md
Normal 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
|
||||
14
mods/Blazingulag@Prism/meta.json
Normal 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": "0b05bd1"
|
||||
}
|
||||
BIN
mods/Blazingulag@Prism/thumbnail.jpg
Normal file
|
After Width: | Height: | Size: 967 KiB |
5
mods/Breezebuilder@DismissAlert/description.md
Normal 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>
|
||||
14
mods/Breezebuilder@DismissAlert/meta.json
Normal 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"
|
||||
}
|
||||
BIN
mods/Breezebuilder@DismissAlert/thumbnail.jpg
Normal file
|
After Width: | Height: | Size: 341 KiB |
@@ -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"
|
||||
}
|
||||
|
||||
18
mods/Carroton@BalatroDarkMode/description.md
Normal 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*.
|
||||
11
mods/Carroton@BalatroDarkMode/meta.json
Normal 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"
|
||||
}
|
||||
BIN
mods/Carroton@BalatroDarkMode/thumbnail.jpg
Normal file
|
After Width: | Height: | Size: 296 KiB |
@@ -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"
|
||||
}
|
||||
|
||||
@@ -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": "e96e8c9"
|
||||
}
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
|
||||
@@ -1,9 +1,13 @@
|
||||
{
|
||||
"title": "Custom Suit Order",
|
||||
"requires-steamodded": true,
|
||||
"requires-talisman": false,
|
||||
"categories": ["Quality of Life"],
|
||||
"author": "DigitalDetective47",
|
||||
"repo": "https://github.com/DigitalDetective47/suit-order",
|
||||
"downloadURL": "https://github.com/DigitalDetective47/suit-order/archive/refs/heads/main.zip"
|
||||
}
|
||||
"title": "Custom Suit Order",
|
||||
"requires-steamodded": true,
|
||||
"requires-talisman": false,
|
||||
"categories": [
|
||||
"Quality of Life"
|
||||
],
|
||||
"author": "DigitalDetective47",
|
||||
"repo": "https://github.com/DigitalDetective47/suit-order",
|
||||
"downloadURL": "https://github.com/DigitalDetective47/suit-order/archive/refs/heads/main.zip",
|
||||
"automatic-version-check": true,
|
||||
"version": "0b2f126"
|
||||
}
|
||||
|
||||
3
mods/DigitalDetective47@NextAntePreview/description.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# Next Ante Preview
|
||||
|
||||
Shows a preview of the next ante on the Boss Blind's cash out screen, so that you don't have to always click Run Info after going into the shop.
|
||||
13
mods/DigitalDetective47@NextAntePreview/meta.json
Normal file
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"title": "Next Ante Preview",
|
||||
"requires-steamodded": true,
|
||||
"requires-talisman": false,
|
||||
"categories": [
|
||||
"Quality of Life"
|
||||
],
|
||||
"author": "DigitalDetective47",
|
||||
"repo": "https://github.com/DigitalDetective47/next-ante-preview",
|
||||
"downloadURL": "https://github.com/DigitalDetective47/next-ante-preview/archive/refs/heads/main.zip",
|
||||
"automatic-version-check": true,
|
||||
"version": "72c035a"
|
||||
}
|
||||
BIN
mods/DigitalDetective47@NextAntePreview/thumbnail.jpg
Normal file
|
After Width: | Height: | Size: 193 KiB |
@@ -1,9 +1,13 @@
|
||||
{
|
||||
"title": "Strange Library",
|
||||
"requires-steamodded": true,
|
||||
"requires-talisman": false,
|
||||
"categories": ["API"],
|
||||
"author": "DigitalDetective47",
|
||||
"repo": "https://github.com/DigitalDetective47/strange-library",
|
||||
"downloadURL": "https://github.com/DigitalDetective47/strange-library/archive/refs/heads/main.zip"
|
||||
}
|
||||
"title": "Strange Library",
|
||||
"requires-steamodded": true,
|
||||
"requires-talisman": false,
|
||||
"categories": [
|
||||
"API"
|
||||
],
|
||||
"author": "DigitalDetective47",
|
||||
"repo": "https://github.com/DigitalDetective47/strange-library",
|
||||
"downloadURL": "https://github.com/DigitalDetective47/strange-library/archive/refs/heads/main.zip",
|
||||
"automatic-version-check": true,
|
||||
"version": "aa9ef89"
|
||||
}
|
||||
|
||||
@@ -1,9 +1,13 @@
|
||||
{
|
||||
"title": "Strange Pencil",
|
||||
"requires-steamodded": true,
|
||||
"requires-talisman": false,
|
||||
"categories": ["Content"],
|
||||
"author": "DigitalDetective47",
|
||||
"repo": "https://github.com/DigitalDetective47/strange-pencil",
|
||||
"downloadURL": "https://github.com/DigitalDetective47/strange-pencil/archive/refs/heads/main.zip"
|
||||
}
|
||||
"title": "Strange Pencil",
|
||||
"requires-steamodded": true,
|
||||
"requires-talisman": false,
|
||||
"categories": [
|
||||
"Content"
|
||||
],
|
||||
"author": "DigitalDetective47",
|
||||
"repo": "https://github.com/DigitalDetective47/strange-pencil",
|
||||
"downloadURL": "https://github.com/DigitalDetective47/strange-pencil/archive/refs/heads/main.zip",
|
||||
"automatic-version-check": true,
|
||||
"version": "df43a20"
|
||||
}
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
# Divvy's Preview for Balatro
|
||||
Simulate the score and the dollars that you will get by playing the selected cards!
|
||||
|
||||
## Features
|
||||
- Score and dollar preview **without side-effects**!
|
||||
- **Updates in real-time** when changing selected cards, changing joker order, or using consumables!
|
||||
- Can preview score even when cards are face-down!
|
||||
- Perfectly **predicts random effects**...
|
||||
- ... or not! There is an option to show the **minimum and maximum possible scores** when probabilities are involved!
|
||||
|
||||
## Warning
|
||||
This mod **only simulates vanilla jokers**, it will not simulate modded jokers unless the mod that adds them supports this mod.
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"title": "Balatro-Preview",
|
||||
"requires-steamodded": false,
|
||||
"requires-talisman": false,
|
||||
"categories": ["Quality of Life", "Miscellaneous"],
|
||||
"author": "DivvyCr",
|
||||
"repo": "https://github.com/DivvyCr/Balatro-Preview",
|
||||
"downloadURL": "https://github.com/DivvyCr/Balatro-Preview/releases/latest/download/DOWNLOAD.zip"
|
||||
}
|
||||
7
mods/DrFuff@AJollyExpansion/description.md
Normal file
@@ -0,0 +1,7 @@
|
||||
# A Jolly Expansion
|
||||
|
||||
This is a themed joker mod that comes with 9 jokers (3 common, 3 uncommon and 3 rare) as well a seal made to reference the YouTuber and Twitch streamer, A Jolly Wangcore.
|
||||
|
||||
This mod has been tested and should remain mostly balanced with the vanilla jokers whilst introducing some new styles of play.
|
||||
|
||||
Note that the seal is not accessible through consumables in the game and only through one of the rare jokers.
|
||||
11
mods/DrFuff@AJollyExpansion/meta.json
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"title": "A Jolly Expansion",
|
||||
"requires-steamodded": true,
|
||||
"requires-talisman": false,
|
||||
"categories": ["Joker"],
|
||||
"author": "DrFuff",
|
||||
"repo": "https://github.com/HazzaMC/AJollyExpansion",
|
||||
"downloadURL": "https://github.com/HazzaMC/AJollyExpansion/releases/download/v1.0.0/A_Jolly_Expansion.zip",
|
||||
"folderName": "A Jolly Expansion",
|
||||
"version": "1.0.0"
|
||||
}
|
||||
4
mods/Dragokillfist@AlmanacPatches/description.md
Normal file
@@ -0,0 +1,4 @@
|
||||
This mod does nothing on its own it is used to make other mods work in newer versions of steamodded wether the mod is no longer being worked on or is in progress as of now the the mods that are supported by this are:
|
||||
Jen's Almanac (For more information check the github)
|
||||
Aurinko
|
||||
Cruel Blinds
|
||||
14
mods/Dragokillfist@AlmanacPatches/meta.json
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"title": "Almanac Patches",
|
||||
"requires-steamodded": true,
|
||||
"requires-talisman": false,
|
||||
"categories": [
|
||||
"Technical"
|
||||
],
|
||||
"author": "Dragokillfist",
|
||||
"repo": "https://github.com/Dragokillfist/almanac-patches",
|
||||
"downloadURL": "https://github.com/Dragokillfist/almanac-patches/archive/refs/heads/main.zip",
|
||||
"folderName": "AlmanacPatches",
|
||||
"version": "233c9ea",
|
||||
"automatic-version-check": true
|
||||
}
|
||||
@@ -2,8 +2,12 @@
|
||||
"title": "Textile",
|
||||
"requires-steamodded": true,
|
||||
"requires-talisman": false,
|
||||
"categories": ["Technical"],
|
||||
"categories": [
|
||||
"Technical"
|
||||
],
|
||||
"author": "EnderGoodra",
|
||||
"repo": "https://github.com/EnderGoodra/Textile/",
|
||||
"downloadURL": "https://github.com/EnderGoodra/Textile/archive/refs/heads/main.zip"
|
||||
"downloadURL": "https://github.com/EnderGoodra/Textile/archive/refs/heads/main.zip",
|
||||
"automatic-version-check": true,
|
||||
"version": "b5d0eb9"
|
||||
}
|
||||
|
||||
3
mods/Eramdam@StickyFingers/description.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# Sticky Fingers
|
||||
|
||||
Adds the mobile drag'n'drop controls to interact with consumables and Jokers to the PC game, making it more touchscreen friendly!
|
||||
14
mods/Eramdam@StickyFingers/meta.json
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"title": "Sticky Fingers",
|
||||
"requires-steamodded": true,
|
||||
"requires-talisman": false,
|
||||
"categories": [
|
||||
"Quality of Life"
|
||||
],
|
||||
"author": "Eramdam",
|
||||
"repo": "https://github.com/eramdam/sticky-fingers/",
|
||||
"downloadURL": "https://github.com/eramdam/sticky-fingers/archive/refs/heads/main.zip",
|
||||
"automatic-version-check": true,
|
||||
"folderName": "sticky-fingers",
|
||||
"version": "8cdac02"
|
||||
}
|
||||
BIN
mods/Eramdam@StickyFingers/thumbnail.jpg
Normal file
|
After Width: | Height: | Size: 42 KiB |
@@ -1,9 +1,14 @@
|
||||
{
|
||||
"title": "Galdur",
|
||||
"requires-steamodded": true,
|
||||
"requires-talisman": false,
|
||||
"categories": ["Content"],
|
||||
"author": "Eremel",
|
||||
"repo":"https://github.com/Eremel/Galdur",
|
||||
"downloadURL": "https://github.com/Eremel/Galdur/archive/refs/heads/master.zip"
|
||||
"title": "Galdur",
|
||||
"requires-steamodded": true,
|
||||
"requires-talisman": false,
|
||||
"categories": [
|
||||
"Quality of Life",
|
||||
"API"
|
||||
],
|
||||
"author": "Eremel",
|
||||
"repo": "https://github.com/Eremel/Galdur",
|
||||
"downloadURL": "https://github.com/Eremel/Galdur/archive/refs/heads/master.zip",
|
||||
"automatic-version-check": true,
|
||||
"version": "747c5ce"
|
||||
}
|
||||
|
||||
@@ -1,9 +1,14 @@
|
||||
{
|
||||
"title": "Malverk",
|
||||
"requires-steamodded": true,
|
||||
"requires-talisman": false,
|
||||
"categories": ["API", "Quality of Life"],
|
||||
"author": "Eremel",
|
||||
"repo":"https://github.com/Eremel/Malverk",
|
||||
"downloadURL": "https://github.com/Eremel/Malverk/archive/refs/heads/main.zip"
|
||||
"title": "Malverk",
|
||||
"requires-steamodded": true,
|
||||
"requires-talisman": false,
|
||||
"categories": [
|
||||
"API",
|
||||
"Quality of Life"
|
||||
],
|
||||
"author": "Eremel",
|
||||
"repo": "https://github.com/Eremel/Malverk",
|
||||
"downloadURL": "https://github.com/Eremel/Malverk/archive/refs/heads/main.zip",
|
||||
"automatic-version-check": true,
|
||||
"version": "914ebfc"
|
||||
}
|
||||
|
||||
9
mods/EricTheToon@Fortlatro/description.md
Normal file
@@ -0,0 +1,9 @@
|
||||
# Fortlatro
|
||||
A terrible Fortnite themed Balatro mod
|
||||
|
||||
**Fortlatro** is a Fortnite-themed expansion for Balatro with support for OldCalc and Newcalc (accessible in the config) featuring over 59 Jokers, 2 Decks, 11 Tarots, 2 Spectrals, 29 Consumables, 7 Enhancements, 3 Seals, 2 Booster Packs, and 2 Blinds.
|
||||
|
||||
[Join the discord here!](https://discord.gg/t8R3A6RUbN) or the [balatro discord thread here!](https://discord.com/channels/1116389027176787968/1327844797653843978)
|
||||
|
||||
## Credits
|
||||
Created by **EricTheToon**
|
||||
15
mods/EricTheToon@Fortlatro/meta.json
Normal file
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"title": "Fortlatro",
|
||||
"requires-steamodded": true,
|
||||
"requires-talisman": false,
|
||||
"categories": [
|
||||
"Content",
|
||||
"Joker",
|
||||
"Miscellaneous"
|
||||
],
|
||||
"author": "EricTheToon",
|
||||
"repo": "https://github.com/EricTheToon/Fortlatro",
|
||||
"downloadURL": "https://github.com/EricTheToon/Fortlatro/releases/latest/download/Fortlatro.zip",
|
||||
"automatic-version-check": true,
|
||||
"version": "1.1.3"
|
||||
}
|
||||
BIN
mods/EricTheToon@Fortlatro/thumbnail.jpg
Normal file
|
After Width: | Height: | Size: 106 KiB |
@@ -1,9 +1,13 @@
|
||||
{
|
||||
"title": "Finn's Pokélatro",
|
||||
"requires-steamodded": true,
|
||||
"requires-talisman": false,
|
||||
"categories": ["Resource Packs"],
|
||||
"author": "Finnaware",
|
||||
"repo":"https://github.com/Finnaware/Finn-Pokelatro",
|
||||
"downloadURL": "https://github.com/Finnaware/Finn-Pokelatro/archive/refs/heads/main.zip"
|
||||
"title": "Finn's Pokélatro",
|
||||
"requires-steamodded": true,
|
||||
"requires-talisman": false,
|
||||
"categories": [
|
||||
"Resource Packs"
|
||||
],
|
||||
"author": "Finnaware",
|
||||
"repo": "https://github.com/Finnaware/Finn-Pokelatro",
|
||||
"downloadURL": "https://github.com/Finnaware/Finn-Pokelatro/archive/refs/heads/main.zip",
|
||||
"automatic-version-check": true,
|
||||
"version": "3637b76"
|
||||
}
|
||||
|
||||
5
mods/Firch@Bunco/description.md
Normal file
@@ -0,0 +1,5 @@
|
||||
# Bunco
|
||||
|
||||
A mod that aims to add more content in a way that'd seamlessly exist within the vanilla Balatro!
|
||||
|
||||
https://firch.github.io/BuncoWeb/
|
||||
16
mods/Firch@Bunco/meta.json
Normal file
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"title": "Bunco",
|
||||
"requires-steamodded": true,
|
||||
"requires-talisman": false,
|
||||
"categories": [
|
||||
"Content",
|
||||
"Joker",
|
||||
"Quality of Life"
|
||||
],
|
||||
"author": "Firch",
|
||||
"repo": "https://github.com/Firch/Bunco",
|
||||
"downloadURL": "https://github.com/Firch/Bunco/releases/download/5.1/Bunco-5.1.zip",
|
||||
"folderName": "Bunco",
|
||||
"version": "5.1",
|
||||
"automatic-version-check": false
|
||||
}
|
||||
BIN
mods/Firch@Bunco/thumbnail.jpg
Normal file
|
After Width: | Height: | Size: 848 KiB |
17
mods/Garb@GARBSHIT/description.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# GARBSHIT: Garb's Self-Indulgent Joker Pack
|
||||
|
||||
##  > Hi! I'm Garb! I make Jokers!
|
||||
|
||||
## The Mod
|
||||
Every Joker and art in this mod is made by me unless stated otherwise
|
||||
|
||||
I make these Jokers (And misc stuff too as of now) for myself but i figure people might enjoy them, so they're available to download!
|
||||
|
||||
There are currently 31 Jokers in this mod, more will be on the way :]
|
||||
|
||||
There's also a few consumables and enhancements, more of that coming soon too, stay tuned!!
|
||||
|
||||
Check the repository every once in a while for updates :33
|
||||
|
||||
## Special Thanks
|
||||
Special thanks to Localthunk for making Balatro and to the Balatro discord (especially the people over on #modding-dev) for helping me whenever I had any issues, y'all the best >8]
|
||||
14
mods/Garb@GARBSHIT/meta.json
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"title": "GARBSHIT",
|
||||
"requires-steamodded": true,
|
||||
"requires-talisman": false,
|
||||
"categories": [
|
||||
"Content"
|
||||
],
|
||||
"author": "Garb",
|
||||
"repo": "https://github.com/Gainumki/GARBSHIT.git",
|
||||
"downloadURL": "https://github.com/Gainumki/GARBSHIT/archive/refs/heads/main.zip",
|
||||
"folderName": "GARBSHIT",
|
||||
"automatic-version-check": true,
|
||||
"version": "a871ad6"
|
||||
}
|
||||
BIN
mods/Garb@GARBSHIT/thumbnail.jpg
Normal file
|
After Width: | Height: | Size: 758 KiB |
@@ -1,9 +1,13 @@
|
||||
{
|
||||
"title": "D6 Jokers",
|
||||
"requires-steamodded": true,
|
||||
"requires-talisman": false,
|
||||
"categories": ["Joker"],
|
||||
"author": "GauntletGames-2086",
|
||||
"repo":"https://github.com/GauntletGames-2086/D6-Jokers",
|
||||
"downloadURL":"https://github.com/GauntletGames-2086/D6-Jokers/archive/refs/heads/main.zip"
|
||||
"title": "D6 Jokers",
|
||||
"requires-steamodded": true,
|
||||
"requires-talisman": false,
|
||||
"categories": [
|
||||
"Joker"
|
||||
],
|
||||
"author": "GauntletGames-2086",
|
||||
"repo": "https://github.com/GauntletGames-2086/D6-Jokers",
|
||||
"downloadURL": "https://github.com/GauntletGames-2086/D6-Jokers/archive/refs/heads/main.zip",
|
||||
"automatic-version-check": true,
|
||||
"version": "ac2a2ae"
|
||||
}
|
||||
|
||||
@@ -1,9 +1,13 @@
|
||||
{
|
||||
"title": "Paperback",
|
||||
"requires-steamodded": true,
|
||||
"requires-talisman": false,
|
||||
"categories": ["Content"],
|
||||
"author": "PaperMoon",
|
||||
"repo":"https://github.com/GitNether/paperback",
|
||||
"downloadURL": "https://github.com/GitNether/paperback/archive/refs/heads/main.zip"
|
||||
"title": "Paperback",
|
||||
"requires-steamodded": true,
|
||||
"requires-talisman": false,
|
||||
"categories": [
|
||||
"Content"
|
||||
],
|
||||
"author": "PaperMoon",
|
||||
"repo": "https://github.com/GitNether/paperback",
|
||||
"downloadURL": "https://github.com/GitNether/paperback/archive/refs/heads/main.zip",
|
||||
"automatic-version-check": true,
|
||||
"version": "6b73d3b"
|
||||
}
|
||||
|
||||
@@ -1,9 +1,13 @@
|
||||
{
|
||||
"title": "Balagay",
|
||||
"requires-steamodded": true,
|
||||
"requires-talisman": false,
|
||||
"categories": ["Miscellaneous"],
|
||||
"author": "GitNether",
|
||||
"repo":"https://github.com/GitNether/balagay",
|
||||
"downloadURL": "https://github.com/GitNether/balagay/releases/download/v1.0.0/BalaGay.zip"
|
||||
}
|
||||
{
|
||||
"title": "Balagay",
|
||||
"requires-steamodded": true,
|
||||
"requires-talisman": false,
|
||||
"categories": [
|
||||
"Miscellaneous"
|
||||
],
|
||||
"author": "GitNether",
|
||||
"repo": "https://github.com/GitNether/balagay",
|
||||
"downloadURL": "https://github.com/GitNether/balagay/releases/download/v1.0.0/BalaGay.zip",
|
||||
"automatic-version-check": false,
|
||||
"version": "v1.0.0"
|
||||
}
|
||||
|
||||
@@ -1,9 +1,13 @@
|
||||
{
|
||||
"title": "Gemstones",
|
||||
"requires-steamodded": true,
|
||||
"requires-talisman": false,
|
||||
"categories": ["Content"],
|
||||
"author": "Halo / OfficialHalo",
|
||||
"repo": "https://github.com/0fficialHalo/Gemstones",
|
||||
"downloadURL": "https://github.com/0fficialHalo/Gemstones/releases/latest/download/Gemstones.zip"
|
||||
}
|
||||
{
|
||||
"title": "Gemstones",
|
||||
"requires-steamodded": true,
|
||||
"requires-talisman": false,
|
||||
"categories": [
|
||||
"Content"
|
||||
],
|
||||
"author": "Halo / OfficialHalo",
|
||||
"repo": "https://github.com/0fficialHalo/Gemstones",
|
||||
"downloadURL": "https://github.com/0fficialHalo/Gemstones/releases/latest/download/Gemstones.zip",
|
||||
"automatic-version-check": true,
|
||||
"version": "v0.8.0"
|
||||
}
|
||||
|
||||
3
mods/Hoversquid@Condensed_UI/description.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# Condensed_UI
|
||||
|
||||
Pushes all UI elements into the left side and adds a tracker for the Ante's Blinds/Skip Tags
|
||||
13
mods/Hoversquid@Condensed_UI/meta.json
Normal file
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"title": "Condensed UI",
|
||||
"automatic-version-check": true,
|
||||
"requires-steamodded": true,
|
||||
"requires-talisman": false,
|
||||
"author": "Hoversquid",
|
||||
"categories": [
|
||||
"Quality of Life"
|
||||
],
|
||||
"repo": "https://github.com/Hoversquid/Condensed_UI",
|
||||
"downloadURL": "https://github.com/Hoversquid/Condensed_UI/archive/refs/tags/v1.0-alpha.zip",
|
||||
"version": "v1.0-alpha"
|
||||
}
|
||||
BIN
mods/Hoversquid@Condensed_UI/thumbnail.jpg
Normal file
|
After Width: | Height: | Size: 1.5 MiB |
@@ -1,9 +1,14 @@
|
||||
{
|
||||
"title": "LocFixer",
|
||||
"requires-steamodded": true,
|
||||
"requires-talisman": false,
|
||||
"categories": ["Quality of Life", "Miscellaneous"],
|
||||
"author": "HuyTheKiller",
|
||||
"repo": "https://github.com/HuyTheKiller/LocFixer",
|
||||
"downloadURL": "https://github.com/HuyTheKiller/LocFixer/archive/refs/heads/main.zip"
|
||||
}
|
||||
"title": "LocFixer",
|
||||
"requires-steamodded": true,
|
||||
"requires-talisman": false,
|
||||
"categories": [
|
||||
"Quality of Life",
|
||||
"Miscellaneous"
|
||||
],
|
||||
"author": "HuyTheKiller",
|
||||
"repo": "https://github.com/HuyTheKiller/LocFixer",
|
||||
"downloadURL": "https://github.com/HuyTheKiller/LocFixer/archive/refs/heads/main.zip",
|
||||
"automatic-version-check": true,
|
||||
"version": "bb19661"
|
||||
}
|
||||
|
||||
3
mods/HuyTheKiller@SauKhongHuDecks/description.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# SauKhongHuDecks 🐛
|
||||
This mod aims to add a set of themed decks for SauKhongHu's channel.
|
||||
You can still try this mod without consequences... or is it?
|
||||
13
mods/HuyTheKiller@SauKhongHuDecks/meta.json
Normal file
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"title": "SauKhongHuDecks",
|
||||
"requires-steamodded": true,
|
||||
"requires-talisman": false,
|
||||
"categories": [
|
||||
"Content"
|
||||
],
|
||||
"author": "HuyTheKiller",
|
||||
"repo": "https://github.com/HuyTheKiller/SauKhongHuDecks",
|
||||
"downloadURL": "https://github.com/HuyTheKiller/SauKhongHuDecks/archive/refs/heads/main.zip",
|
||||
"automatic-version-check": true,
|
||||
"version": "e4fd8e5"
|
||||
}
|
||||
BIN
mods/HuyTheKiller@SauKhongHuDecks/thumbnail.jpg
Normal file
|
After Width: | Height: | Size: 539 KiB |
@@ -1,9 +1,13 @@
|
||||
{
|
||||
"title": "Vietnamese Balatro",
|
||||
"requires-steamodded": true,
|
||||
"requires-talisman": false,
|
||||
"categories": ["Miscellaneous"],
|
||||
"author": "HuyTheKiller",
|
||||
"repo": "https://github.com/HuyTheKiller/VietnameseBalatro",
|
||||
"downloadURL": "https://github.com/HuyTheKiller/VietnameseBalatro/archive/refs/heads/main.zip"
|
||||
}
|
||||
"title": "Vietnamese Balatro",
|
||||
"requires-steamodded": true,
|
||||
"requires-talisman": false,
|
||||
"categories": [
|
||||
"Miscellaneous"
|
||||
],
|
||||
"author": "HuyTheKiller",
|
||||
"repo": "https://github.com/HuyTheKiller/VietnameseBalatro",
|
||||
"downloadURL": "https://github.com/HuyTheKiller/VietnameseBalatro/archive/refs/heads/main.zip",
|
||||
"automatic-version-check": true,
|
||||
"version": "69715f2"
|
||||
}
|
||||
|
||||
7
mods/IcyEthics@BalatroGoesKino/description.md
Normal file
@@ -0,0 +1,7 @@
|
||||
# Balatro Goes Kino
|
||||
|
||||
By Ice/IcyEthics
|
||||
|
||||
Balatro Goes Kino is a content overhaul mod that adds a large amount of content all inspired by the silver screen. Grabbing from every genre, it adds a large number of new jokers, new enhancements, new blinds and more. Grab some snacks from the new Confection consumable, while you watch your Sci-Fi jokers make use of the new Alien Abduction mechanic. Or maybe you'd prefer to cast spells using the Fantasy enhancement's Spellcasting system.
|
||||
|
||||
* **[Join the Kino Discord!](<https://discord.gg/z82PMJRQ>)**
|
||||
14
mods/IcyEthics@BalatroGoesKino/meta.json
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"title": "Balatro Goes Kino!",
|
||||
"requires-steamodded": true,
|
||||
"requires-talisman": false,
|
||||
"categories": [
|
||||
"Content"
|
||||
],
|
||||
"author": "IcyEthics",
|
||||
"repo": "https://github.com/icyethics/Kino",
|
||||
"downloadURL": "https://github.com/icyethics/Kino/archive/refs/heads/main.zip",
|
||||
"folderName": "Kino",
|
||||
"version": "4d0ba7b",
|
||||
"automatic-version-check": true
|
||||
}
|
||||
BIN
mods/IcyEthics@BalatroGoesKino/thumbnail.jpg
Normal file
|
After Width: | Height: | Size: 18 KiB |
1
mods/IcyEthics@GlueForModpacks/description.md
Normal file
@@ -0,0 +1 @@
|
||||
A QoL mod for when Balatro's tiny shop just can't contain the amount of content your mods add. Allows you to change the number of slots in the shop and card areas.
|
||||
14
mods/IcyEthics@GlueForModpacks/meta.json
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"title": "Glue For Modpacks",
|
||||
"requires-steamodded": true,
|
||||
"requires-talisman": false,
|
||||
"categories": [
|
||||
"Quality of Life",
|
||||
"Miscellaneous"
|
||||
],
|
||||
"author": "IcyEthics",
|
||||
"repo": "https://github.com/icyethics/Glue-For-Modpacks",
|
||||
"downloadURL": "https://github.com/icyethics/Glue-For-Modpacks/archive/refs/heads/main.zip",
|
||||
"automatic-version-check": true,
|
||||
"version": "3d3ad5f"
|
||||
}
|
||||
@@ -2,8 +2,13 @@
|
||||
"title": "Pokermon",
|
||||
"requires-steamodded": true,
|
||||
"requires-talisman": false,
|
||||
"categories": ["Content", "Joker"],
|
||||
"categories": [
|
||||
"Content",
|
||||
"Joker"
|
||||
],
|
||||
"author": "InertSteak",
|
||||
"repo":"https://github.com/InertSteak/Pokermon",
|
||||
"downloadURL": "https://github.com/InertSteak/Pokermon/archive/refs/heads/main.zip"
|
||||
"repo": "https://github.com/InertSteak/Pokermon",
|
||||
"downloadURL": "https://github.com/InertSteak/Pokermon/archive/refs/heads/main.zip",
|
||||
"automatic-version-check": true,
|
||||
"version": "9b7ef49"
|
||||
}
|
||||
|
||||
23
mods/Isotope@Runelatro/description.md
Normal file
@@ -0,0 +1,23 @@
|
||||
# Runelatro Features
|
||||
|
||||
### Features 150+ OldSchool RuneScape Monsters, based on Joker Rarity + MUCH more!
|
||||
|
||||
- Retextures the following:
|
||||
- Suit Cards (Uncut Gems)
|
||||
- Joker Cards (Monsters)
|
||||
- Tarot Cards (NPC's)
|
||||
- Spectral Cards (Items)
|
||||
- Planet Cards (Locations)
|
||||
- Chips/Stickers (Coins)
|
||||
- Card Backs/Enhancers
|
||||
- Vouchers
|
||||
- Tags
|
||||
|
||||
- Custom Runelatro Logo
|
||||
- Custom suit colors
|
||||
- Background colour change
|
||||
- Renamed cards
|
||||
|
||||
# How To Use
|
||||
Requires **Steamodded** and **Malverk** as Dependency.\
|
||||
Alternatively you can manually download and replace your desired textures within the game files.
|
||||
14
mods/Isotope@Runelatro/meta.json
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"title": "Runelatro",
|
||||
"requires-steamodded": true,
|
||||
"requires-talisman": false,
|
||||
"categories": [
|
||||
"Resource Packs"
|
||||
],
|
||||
"author": "Isotope",
|
||||
"repo": "https://github.com/IsotopeReal/Runelatro",
|
||||
"downloadURL": "https://github.com/IsotopeReal/Runelatro/archive/refs/heads/main.zip",
|
||||
"folderName": "Runelatro",
|
||||
"version": "53e8448",
|
||||
"automatic-version-check": true
|
||||
}
|
||||
BIN
mods/Isotope@Runelatro/thumbnail.jpg
Normal file
|
After Width: | Height: | Size: 289 KiB |
@@ -1,9 +1,13 @@
|
||||
{
|
||||
"title": "Codex Arcanum",
|
||||
"requires-steamodded": true,
|
||||
"requires-talisman": false,
|
||||
"categories": ["Content"],
|
||||
"author": "itayfeder, lshtech",
|
||||
"repo":"https://github.com/lshtech/Codex-Arcanum",
|
||||
"downloadURL":"https://github.com/lshtech/Codex-Arcanum/archive/refs/heads/main.zip"
|
||||
}
|
||||
{
|
||||
"title": "Codex Arcanum",
|
||||
"requires-steamodded": true,
|
||||
"requires-talisman": false,
|
||||
"categories": [
|
||||
"Content"
|
||||
],
|
||||
"author": "itayfeder, lshtech",
|
||||
"repo": "https://github.com/lshtech/Codex-Arcanum",
|
||||
"downloadURL": "https://github.com/lshtech/Codex-Arcanum/archive/refs/heads/main.zip",
|
||||
"automatic-version-check": true,
|
||||
"version": "cf24773"
|
||||
}
|
||||
|
||||
@@ -1,9 +1,14 @@
|
||||
{
|
||||
"title": "Fusion Jokers",
|
||||
"requires-steamodded": true,
|
||||
"requires-talisman": false,
|
||||
"categories": ["Joker"],
|
||||
"author": "itayfeder",
|
||||
"repo":"https://github.com/lshtech/Fusion-Jokers",
|
||||
"downloadURL":"https://github.com/lshtech/Fusion-Jokers/archive/refs/heads/main.zip"
|
||||
}
|
||||
{
|
||||
"title": "Fusion Jokers",
|
||||
"requires-steamodded": true,
|
||||
"requires-talisman": false,
|
||||
"categories": [
|
||||
"Joker",
|
||||
"API"
|
||||
],
|
||||
"author": "itayfeder",
|
||||
"repo": "https://github.com/lshtech/Fusion-Jokers",
|
||||
"downloadURL": "https://github.com/lshtech/Fusion-Jokers/archive/refs/heads/main.zip",
|
||||
"automatic-version-check": true,
|
||||
"version": "fb52ba8"
|
||||
}
|
||||
|
||||
@@ -1,10 +1,14 @@
|
||||
{
|
||||
"title": "Flower Pot",
|
||||
"requires-steamodded": false,
|
||||
"requires-talisman": false,
|
||||
"categories": ["Technical"],
|
||||
"author": "ItsFlowwey",
|
||||
"repo":"https://github.com/GauntletGames-2086/Flower-Pot",
|
||||
"downloadURL": "https://github.com/GauntletGames-2086/Flower-Pot/archive/refs/heads/master.zip",
|
||||
"folderName": "Flower-Pot"
|
||||
"title": "Flower Pot",
|
||||
"requires-steamodded": false,
|
||||
"requires-talisman": false,
|
||||
"categories": [
|
||||
"Technical"
|
||||
],
|
||||
"author": "ItsFlowwey",
|
||||
"repo": "https://github.com/GauntletGames-2086/Flower-Pot",
|
||||
"downloadURL": "https://github.com/GauntletGames-2086/Flower-Pot/archive/refs/heads/master.zip",
|
||||
"folderName": "Flower-Pot",
|
||||
"automatic-version-check": true,
|
||||
"version": "2c9ef70"
|
||||
}
|
||||
|
||||
@@ -1,9 +1,13 @@
|
||||
{
|
||||
"title": "Bad Apple",
|
||||
"requires-steamodded": true,
|
||||
"requires-talisman": false,
|
||||
"categories": ["Joker"],
|
||||
"author": "JamesTheJellyfish",
|
||||
"repo":"https://github.com/jamesthejellyfish/BadAppleBalatro",
|
||||
"downloadURL":"https://github.com/jamesthejellyfish/BadAppleBalatro/archive/refs/heads/main.zip"
|
||||
"title": "Bad Apple",
|
||||
"requires-steamodded": true,
|
||||
"requires-talisman": false,
|
||||
"categories": [
|
||||
"Joker"
|
||||
],
|
||||
"author": "JamesTheJellyfish",
|
||||
"repo": "https://github.com/jamesthejellyfish/BadAppleBalatro",
|
||||
"downloadURL": "https://github.com/jamesthejellyfish/BadAppleBalatro/archive/refs/heads/main.zip",
|
||||
"automatic-version-check": true,
|
||||
"version": "ee0d3c2"
|
||||
}
|
||||
|
||||
@@ -1,9 +1,13 @@
|
||||
{
|
||||
"title": "Deluxe Consumables",
|
||||
"requires-steamodded": true,
|
||||
"requires-talisman": false,
|
||||
"categories": ["Content"],
|
||||
"author": "JeffVi",
|
||||
"repo":"https://github.com/JeffVi/DX-Tarots",
|
||||
"downloadURL":"https://github.com/JeffVi/DX-Tarots/archive/refs/heads/master.zip"
|
||||
"title": "Deluxe Consumables",
|
||||
"requires-steamodded": true,
|
||||
"requires-talisman": false,
|
||||
"categories": [
|
||||
"Content"
|
||||
],
|
||||
"author": "JeffVi",
|
||||
"repo": "https://github.com/JeffVi/DX-Tarots",
|
||||
"downloadURL": "https://github.com/JeffVi/DX-Tarots/archive/refs/heads/master.zip",
|
||||
"automatic-version-check": true,
|
||||
"version": "7c5c1df"
|
||||
}
|
||||
|
||||
11
mods/Kars³p@HandsomeDevils/description.md
Normal file
@@ -0,0 +1,11 @@
|
||||
This is a vanilla-inspired mod that aims to enhance gameplay experience by adding new content such as Jokers, spectral cards, vouchers, seals (and more to come!)
|
||||
|
||||
Contents:
|
||||
- 15 new Jokers
|
||||
- 6 new Spectral cards
|
||||
- 2 new Seals
|
||||
- 2 new Vouchers
|
||||
- 1 secret?...
|
||||
|
||||
>>>SPECIAL THANKS: trif, Gappie, eremel_, BepisFever, baliame, Victin and other folks from the official Balatro Discord!
|
||||
mod by: Kars, sup3p
|
||||
13
mods/Kars³p@HandsomeDevils/meta.json
Normal file
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"title": "HandsomeDevils",
|
||||
"requires-steamodded": true,
|
||||
"requires-talisman": false,
|
||||
"categories": [
|
||||
"Content"
|
||||
],
|
||||
"author": "Kars, sup3p",
|
||||
"repo": "https://github.com/AlexanderAndersonAmenAmen/Handsome-Devils-Vanilla-mod-",
|
||||
"downloadURL": "https://github.com/AlexanderAndersonAmenAmen/Handsome-Devils-Vanilla-mod-/archive/refs/heads/main.zip",
|
||||
"automatic-version-check": true,
|
||||
"version": "d9039c2"
|
||||
}
|
||||
BIN
mods/Kars³p@HandsomeDevils/thumbnail.jpg
Normal file
|
After Width: | Height: | Size: 90 KiB |
@@ -1,9 +1,13 @@
|
||||
{
|
||||
"title": "DeckSkinsLite",
|
||||
"requires-steamodded": true,
|
||||
"requires-talisman": false,
|
||||
"categories": ["Miscellaneous"],
|
||||
"author": "Keku",
|
||||
"repo": "https://github.com/Kekulism/DeckSkinsLite",
|
||||
"downloadURL": "https://github.com/Kekulism/DeckSkinsLite/archive/refs/heads/main.zip"
|
||||
}
|
||||
{
|
||||
"title": "DeckSkinsLite",
|
||||
"requires-steamodded": true,
|
||||
"requires-talisman": false,
|
||||
"categories": [
|
||||
"Miscellaneous"
|
||||
],
|
||||
"author": "Keku",
|
||||
"repo": "https://github.com/Kekulism/DeckSkinsLite",
|
||||
"downloadURL": "https://github.com/Kekulism/DeckSkinsLite/archive/refs/heads/main.zip",
|
||||
"automatic-version-check": true,
|
||||
"version": "78cb154"
|
||||
}
|
||||
|
||||
8
mods/Keku@Vortex/description.md
Normal file
@@ -0,0 +1,8 @@
|
||||
# Vortex
|
||||
A simple mod that removes the pixelation effect from Balatro's backgrounds!
|
||||
|
||||

|
||||
|
||||
I've seen people post videos of the Balatro background without the pixelation effect, since a lot of people really like the look of it and wanted to use it as a desktop background, but for some reason no one had made an accessible mod for it. So here's this! There's almost nothing to it, this mod simply replaces the background shaders with an edited version that removes the pixelation effect.
|
||||
This mod is compatible with any other mods that change the background colors, like [Cryptid](github.com/MathIsFun0/Cryptid) or [Cardsauce](https://github.com/BarrierTrio/Cardsauce).
|
||||
If you wanna go crazy with making your own custom swirling balatro vortex desktop background, i reccomend getting [DebugPlus](https://github.com/WilsontheWolf/DebugPlus) and [Cardsauce](https://github.com/BarrierTrio/Cardsauce) and setting the background colors to your liking, then hide the UI with H!
|
||||
14
mods/Keku@Vortex/meta.json
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"title": "Vortex",
|
||||
"requires-steamodded": true,
|
||||
"requires-talisman": false,
|
||||
"categories": [
|
||||
"Miscellaneous"
|
||||
],
|
||||
"author": "Keku",
|
||||
"repo": "https://github.com/Kekulism/Vortex/",
|
||||
"downloadURL": "https://github.com/Kekulism/Vortex/archive/refs/heads/main.zip",
|
||||
"folderName": "Vortex",
|
||||
"version": "7f2ab8b",
|
||||
"automatic-version-check": true
|
||||
}
|
||||
BIN
mods/Keku@Vortex/thumbnail.jpg
Normal file
|
After Width: | Height: | Size: 249 KiB |
5
mods/Kingmaxthe2@Maxs-Jokers/description.md
Normal file
@@ -0,0 +1,5 @@
|
||||
Adds 30 unique and mostly balanced jokers
|
||||
|
||||
Some references from Half Life, Rain World, Inscryption, Viscera Cleanup Detail, Barotrauma, and more!
|
||||
|
||||
https://github.com/Kingmaxthe2/Kingmaxthe2-Joker-Pack
|
||||