Merge remote-tracking branch 'upstream/main'
This commit is contained in:
58
.github/scripts/update_mod_versions.py
vendored
58
.github/scripts/update_mod_versions.py
vendored
@@ -27,14 +27,22 @@ def extract_repo_info(repo_url):
|
||||
return None, None
|
||||
|
||||
VersionSource = Enum("VersionSource", [
|
||||
("RELEASE_TAG", "release"),
|
||||
("LATEST_TAG", "release"),
|
||||
("HEAD", "commit"),
|
||||
("SPECIFIC_TAG", "specific_tag"),
|
||||
])
|
||||
def get_version_string(source: Enum, owner, repo, start_timestamp, n = 1):
|
||||
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.RELEASE_TAG:
|
||||
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`")
|
||||
@@ -58,10 +66,33 @@ def get_version_string(source: Enum, owner, repo, start_timestamp, n = 1):
|
||||
if response.status_code == 200:
|
||||
data = response.json()
|
||||
|
||||
if source is VersionSource.RELEASE_TAG:
|
||||
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]
|
||||
@@ -98,7 +129,7 @@ def get_version_string(source: Enum, owner, repo, start_timestamp, n = 1):
|
||||
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
|
||||
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)
|
||||
@@ -165,10 +196,22 @@ def process_mod(start_timestamp, name, meta_file):
|
||||
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.RELEASE_TAG
|
||||
source = VersionSource.LATEST_TAG
|
||||
new_version = get_version_string(source, owner, repo, start_timestamp)
|
||||
|
||||
if not new_version:
|
||||
@@ -192,6 +235,8 @@ def process_mod(start_timestamp, name, meta_file):
|
||||
meta['version'] = new_version
|
||||
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
|
||||
@@ -241,4 +286,3 @@ if __name__ == "__main__":
|
||||
|
||||
# Exit with status code 0 even if no updates were made
|
||||
sys.exit(0)
|
||||
|
||||
|
||||
3
.github/workflows/check-mod.yml
vendored
3
.github/workflows/check-mod.yml
vendored
@@ -121,10 +121,11 @@ jobs:
|
||||
|
||||
- name: Validate meta.json Against Schema
|
||||
if: always() && steps.find-changed-mods.outputs.changed_mods_found == 'true'
|
||||
uses: dsanders11/json-schema-validate-action@v1.2.0
|
||||
uses: dsanders11/json-schema-validate-action@v1.4.0
|
||||
with:
|
||||
schema: "./schema/meta.schema.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'
|
||||
|
||||
11
README.md
11
README.md
@@ -52,8 +52,15 @@ This file stores essential metadata in JSON format. **Make sure you adhere to th
|
||||
- **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 **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).
|
||||
- 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.
|
||||
|
||||
@@ -11,5 +11,5 @@
|
||||
"repo": "https://github.com/BakersDozenBagels/BalatroBakery",
|
||||
"downloadURL": "https://github.com/BakersDozenBagels/BalatroBakery/archive/refs/heads/main.zip",
|
||||
"automatic-version-check": true,
|
||||
"version": "c65bc75"
|
||||
"version": "6b48bcf"
|
||||
}
|
||||
|
||||
@@ -12,5 +12,5 @@
|
||||
"downloadURL": "https://github.com/BarrierTrio/Cardsauce/archive/refs/heads/main.zip",
|
||||
"folderName": "Cardsauce",
|
||||
"automatic-version-check": true,
|
||||
"version": "b604e72"
|
||||
"version": "8094b16"
|
||||
}
|
||||
|
||||
@@ -10,5 +10,5 @@
|
||||
"repo": "https://github.com/GuilloryCraft/ExtraCredit",
|
||||
"downloadURL": "https://github.com/GuilloryCraft/ExtraCredit/archive/refs/heads/main.zip",
|
||||
"automatic-version-check": true,
|
||||
"version": "94bd9fb"
|
||||
"version": "0855210"
|
||||
}
|
||||
|
||||
6
mods/CelestinGaming@BalatrinGamingDeck/description.md
Normal file
6
mods/CelestinGaming@BalatrinGamingDeck/description.md
Normal 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)
|
||||
|
||||
14
mods/CelestinGaming@BalatrinGamingDeck/meta.json
Normal file
14
mods/CelestinGaming@BalatrinGamingDeck/meta.json
Normal 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"
|
||||
}
|
||||
BIN
mods/CelestinGaming@BalatrinGamingDeck/thumbnail.jpg
Normal file
BIN
mods/CelestinGaming@BalatrinGamingDeck/thumbnail.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 926 KiB |
@@ -11,5 +11,5 @@
|
||||
"repo": "https://github.com/EricTheToon/Fortlatro",
|
||||
"downloadURL": "https://github.com/EricTheToon/Fortlatro/releases/latest/download/Fortlatro.zip",
|
||||
"automatic-version-check": true,
|
||||
"version": "1.1.6"
|
||||
"version": "1.1.7"
|
||||
}
|
||||
|
||||
@@ -9,5 +9,5 @@
|
||||
"repo": "https://github.com/Finnaware/Finn-Pokelatro",
|
||||
"downloadURL": "https://github.com/Finnaware/Finn-Pokelatro/archive/refs/heads/main.zip",
|
||||
"automatic-version-check": true,
|
||||
"version": "34651f5"
|
||||
"version": "edd7cc0"
|
||||
}
|
||||
|
||||
@@ -10,6 +10,6 @@
|
||||
"repo": "https://github.com/kierkat10/Cryptposting",
|
||||
"downloadURL": "https://github.com/kierkat10/Cryptposting/archive/refs/heads/main.zip",
|
||||
"folderName": "Cryptposting",
|
||||
"version": "2fd5488",
|
||||
"version": "1342ba6",
|
||||
"automatic-version-check": true
|
||||
}
|
||||
|
||||
@@ -11,5 +11,5 @@
|
||||
"repo": "https://github.com/GunnableScum/Visibility",
|
||||
"downloadURL": "https://github.com/GunnableScum/Visibility/releases/latest/download/Visibility.zip",
|
||||
"automatic-version-check": true,
|
||||
"version": "v1.0.1"
|
||||
"version": "v1.0.2"
|
||||
}
|
||||
|
||||
@@ -9,6 +9,6 @@
|
||||
"repo": "https://github.com/icyethics/Kino",
|
||||
"downloadURL": "https://github.com/icyethics/Kino/archive/refs/heads/main.zip",
|
||||
"folderName": "Kino",
|
||||
"version": "5e96140",
|
||||
"version": "5568884",
|
||||
"automatic-version-check": true
|
||||
}
|
||||
|
||||
@@ -11,5 +11,5 @@
|
||||
"repo": "https://github.com/InertSteak/Pokermon",
|
||||
"downloadURL": "https://github.com/InertSteak/Pokermon/archive/refs/heads/main.zip",
|
||||
"automatic-version-check": true,
|
||||
"version": "c77fb3b"
|
||||
"version": "0265040"
|
||||
}
|
||||
|
||||
4
mods/JosephPB09@CuriLatro/description.md
Normal file
4
mods/JosephPB09@CuriLatro/description.md
Normal file
@@ -0,0 +1,4 @@
|
||||
# CuriLatro
|
||||
This mod changes some jokers to curis created or shared in the Balatro fans Facebook group.
|
||||
|
||||
only put this folder into the mod manager folder
|
||||
14
mods/JosephPB09@CuriLatro/meta.json
Normal file
14
mods/JosephPB09@CuriLatro/meta.json
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"title": "CuriLatro",
|
||||
"requires-steamodded": true,
|
||||
"requires-talisman": false,
|
||||
"categories": [
|
||||
"Resource Packs"
|
||||
],
|
||||
"author": "JosephPB09 and Balatro fans",
|
||||
"repo": "https://github.com/JosephPB0909/CuriLatro",
|
||||
"downloadURL": "https://github.com/JosephPB0909/CuriLatro/archive/refs/tags/mod.zip",
|
||||
"folderName": "CuriLatro",
|
||||
"version": "mod",
|
||||
"automatic-version-check": true
|
||||
}
|
||||
BIN
mods/JosephPB09@CuriLatro/thumbnail.jpg
Normal file
BIN
mods/JosephPB09@CuriLatro/thumbnail.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 80 KiB |
@@ -10,6 +10,6 @@
|
||||
"repo": "https://github.com/KROOOL/Tiendita-s-Jokers",
|
||||
"downloadURL": "https://github.com/KROOOL/Tiendita-s-Jokers/archive/refs/heads/main.zip",
|
||||
"folderName": "Tiendita's Jokers",
|
||||
"version": "84db0dd",
|
||||
"version": "7c01a1e",
|
||||
"automatic-version-check": true
|
||||
}
|
||||
|
||||
@@ -10,5 +10,5 @@
|
||||
"repo": "https://github.com/larswijn/CardSleeves",
|
||||
"downloadURL": "https://github.com/larswijn/CardSleeves/archive/refs/heads/master.zip",
|
||||
"automatic-version-check": true,
|
||||
"version": "1b74176"
|
||||
"version": "c2a22f0"
|
||||
}
|
||||
|
||||
@@ -12,5 +12,5 @@
|
||||
"downloadURL": "https://github.com/MathIsFun0/Talisman/releases/latest/download/Talisman.zip",
|
||||
"folderName": "Talisman",
|
||||
"automatic-version-check": true,
|
||||
"version": "v2.2.0c"
|
||||
"version": "v2.3.0"
|
||||
}
|
||||
|
||||
@@ -9,5 +9,5 @@
|
||||
"repo": "https://github.com/Mysthaps/LobotomyCorp",
|
||||
"downloadURL": "https://github.com/Mysthaps/LobotomyCorp/archive/refs/heads/main.zip",
|
||||
"automatic-version-check": true,
|
||||
"version": "f46562b"
|
||||
"version": "62fc049"
|
||||
}
|
||||
|
||||
@@ -9,5 +9,5 @@
|
||||
"repo": "https://github.com/onesuchkeeper/Hunatro",
|
||||
"downloadURL": "https://github.com/onesuchkeeper/hunatro/releases/latest/download/hunatro.zip",
|
||||
"automatic-version-check": true,
|
||||
"version": "v1.1.0"
|
||||
"version": "v1.1.1"
|
||||
}
|
||||
|
||||
@@ -9,5 +9,5 @@
|
||||
"repo": "https://github.com/onesuchkeeper/telepurtedeck",
|
||||
"downloadURL": "https://github.com/onesuchkeeper/telepurtedeck/releases/latest/download/TelepurteCards.zip",
|
||||
"automatic-version-check": true,
|
||||
"version": "v1.0.0"
|
||||
"version": "v1.0.1"
|
||||
}
|
||||
|
||||
@@ -10,5 +10,5 @@
|
||||
"repo": "https://github.com/OOkayOak/Challenger-Deep",
|
||||
"downloadURL": "https://github.com/OOkayOak/Challenger-Deep/releases/latest/download/ChallengerDeep.zip",
|
||||
"automatic-version-check": true,
|
||||
"version": "v1.4.1"
|
||||
"version": "v1.4.2"
|
||||
}
|
||||
|
||||
@@ -9,5 +9,5 @@
|
||||
"repo": "https://github.com/RattlingSnow353/Familiar/tree/main",
|
||||
"downloadURL": "https://github.com/RattlingSnow353/Familiar/archive/refs/heads/BetterCalc-Fixes.zip",
|
||||
"automatic-version-check": true,
|
||||
"version": "8c562ca"
|
||||
"version": "0dcd89b"
|
||||
}
|
||||
|
||||
@@ -8,8 +8,8 @@
|
||||
],
|
||||
"author": "Roffle's Chat",
|
||||
"repo": "https://github.com/MamiKeRiko/Rofflatro",
|
||||
"downloadURL": "https://github.com/MamiKeRiko/Rofflatro/archive/refs/tags/v1.1.3d.zip",
|
||||
"downloadURL": "https://github.com/MamiKeRiko/Rofflatro/archive/refs/tags/v1.1.3e.zip",
|
||||
"folderName": "Rofflatro",
|
||||
"version": "v1.1.3d",
|
||||
"version": "v1.1.3e",
|
||||
"automatic-version-check": true
|
||||
}
|
||||
|
||||
@@ -10,5 +10,5 @@
|
||||
"repo": "https://github.com/SDM0/SDM_0-s-Stuff",
|
||||
"downloadURL": "https://github.com/SDM0/SDM_0-s-Stuff/archive/refs/heads/main.zip",
|
||||
"automatic-version-check": true,
|
||||
"version": "988681d"
|
||||
"version": "22d8d17"
|
||||
}
|
||||
|
||||
@@ -10,6 +10,6 @@
|
||||
"repo": "https://github.com/smg9000/Cryptid-MoreMarioJokers",
|
||||
"downloadURL": "https://github.com/smg9000/Cryptid-MoreMarioJokers/archive/refs/heads/main.zip",
|
||||
"folderName": "Cryptid-MoreMarioJokers",
|
||||
"version": "64e63c4",
|
||||
"version": "4f7c987",
|
||||
"automatic-version-check": true
|
||||
}
|
||||
|
||||
26
mods/SirMaiquis@Baldatro/description.md
Normal file
26
mods/SirMaiquis@Baldatro/description.md
Normal file
@@ -0,0 +1,26 @@
|
||||
# Baldatro Mod for Balatro
|
||||
|
||||
Baldatro is a mod that makes all the jokers bald, thats it, enjoy!
|
||||
|
||||
## Features
|
||||
|
||||
- **Makes almost all Jokers bald**: Thats it, not much to say.
|
||||
|
||||
## Installation
|
||||
|
||||
To install the "Baldatro" mod, follow these steps:
|
||||
|
||||
1. This mod requires [Steamodded](https://github.com/Steamodded/smods).
|
||||
2. Just the download the "Baldatro-vx.zip" file from releases of the mod and extract it in your C:\Users\<USER>\AppData\Roaming\Balatro\Mods or %appdata%\Balatro\Mods directory.
|
||||
|
||||
## Support
|
||||
|
||||
If you encounter any problems or have questions, please open an issue in this repository. Feedback and suggestions are always appreciated!
|
||||
|
||||
Thank you for using or contributing to the Stickers Always Shown mod!
|
||||
|
||||
## Contributors
|
||||
|
||||
Special thanks to the mod contributors:
|
||||
|
||||
- [@SirMaiquis](https://github.com/SirMaiquis) - Main developer and maintainer of the mod.
|
||||
15
mods/SirMaiquis@Baldatro/meta.json
Normal file
15
mods/SirMaiquis@Baldatro/meta.json
Normal file
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"title": "Baldatro",
|
||||
"requires-steamodded": true,
|
||||
"requires-talisman": false,
|
||||
"categories": [
|
||||
"Resource Packs",
|
||||
"Joker"
|
||||
],
|
||||
"author": "SirMaiquis",
|
||||
"repo": "https://github.com/SirMaiquis/Balatro-Baldatro",
|
||||
"downloadURL": "https://github.com/SirMaiquis/Balatro-Baldatro/releases/latest/download/Baldatro.zip",
|
||||
"folderName": "Baldatro",
|
||||
"automatic-version-check": true,
|
||||
"version": "v1.1.0"
|
||||
}
|
||||
BIN
mods/SirMaiquis@Baldatro/thumbnail.jpg
Normal file
BIN
mods/SirMaiquis@Baldatro/thumbnail.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.4 MiB |
@@ -9,5 +9,5 @@
|
||||
"repo": "https://github.com/SleepyG11/HandyBalatro",
|
||||
"downloadURL": "https://github.com/SleepyG11/HandyBalatro/archive/refs/heads/main.zip",
|
||||
"automatic-version-check": true,
|
||||
"version": "41ca519"
|
||||
"version": "ab4595b"
|
||||
}
|
||||
|
||||
@@ -9,6 +9,6 @@
|
||||
"repo": "https://github.com/Squidguset/TooManyDecks",
|
||||
"downloadURL": "https://github.com/Squidguset/TooManyDecks/archive/refs/heads/main.zip",
|
||||
"folderName": "TooManyDecks",
|
||||
"version": "8098d0c",
|
||||
"version": "7ecfc30",
|
||||
"automatic-version-check": true
|
||||
}
|
||||
|
||||
@@ -9,5 +9,5 @@
|
||||
"repo": "https://github.com/Steamodded/smods",
|
||||
"downloadURL": "https://github.com/Steamodded/smods/archive/refs/heads/main.zip",
|
||||
"automatic-version-check": true,
|
||||
"version": "b1179a4"
|
||||
"version": "67279fa"
|
||||
}
|
||||
|
||||
@@ -10,5 +10,5 @@
|
||||
"repo": "https://github.com/TheOneGoofAli/TOGAPackBalatro",
|
||||
"downloadURL": "https://github.com/TheOneGoofAli/TOGAPackBalatro/archive/refs/heads/main.zip",
|
||||
"automatic-version-check": true,
|
||||
"version": "83e12f6"
|
||||
"version": "9c38451"
|
||||
}
|
||||
|
||||
@@ -11,5 +11,5 @@
|
||||
"downloadURL": "https://github.com/thefaketh30ne/grab-bag/archive/refs/heads/main.zip",
|
||||
"folderName": "GrabBag",
|
||||
"automatic-version-check": true,
|
||||
"version": "6467c19"
|
||||
"version": "d28a242"
|
||||
}
|
||||
|
||||
@@ -7,8 +7,8 @@
|
||||
],
|
||||
"author": "The Motherfucking Bearodactyl",
|
||||
"repo": "https://github.com/thebearodactyl/insolence-balatro",
|
||||
"downloadURL": "https://github.com/thebearodactyl/insolence-balatro/archive/refs/tags/2.1.1.zip",
|
||||
"downloadURL": "https://github.com/thebearodactyl/insolence-balatro/archive/refs/tags/2.1.2.zip",
|
||||
"folderName": "Insolence",
|
||||
"version": "2.1.1",
|
||||
"version": "2.1.2",
|
||||
"automatic-version-check": true
|
||||
}
|
||||
|
||||
@@ -10,5 +10,5 @@
|
||||
"downloadURL": "https://github.com/Trif3ctal/Lucky-Rabbit/archive/refs/heads/main.zip",
|
||||
"folderName": "LuckyRabbit",
|
||||
"automatic-version-check": true,
|
||||
"version": "9b19f25"
|
||||
"version": "43057bf"
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
],
|
||||
"author": "baimao",
|
||||
"repo": "https://github.com/Icecanno/Partner-API",
|
||||
"downloadURL": "https://github.com/Icecanno/Partner-API/archive/refs/tags/1.0.2d.zip",
|
||||
"version": "1.0.2d",
|
||||
"downloadURL": "https://github.com/Icecanno/Partner-API/archive/refs/tags/1.0.2e.zip",
|
||||
"version": "1.0.2e",
|
||||
"automatic-version-check": true
|
||||
}
|
||||
|
||||
@@ -9,5 +9,5 @@
|
||||
"repo": "https://github.com/cg-223/toomanyjokers",
|
||||
"downloadURL": "https://github.com/cg-223/toomanyjokers/archive/refs/heads/main.zip",
|
||||
"automatic-version-check": true,
|
||||
"version": "2bdffd9"
|
||||
"version": "e38730c"
|
||||
}
|
||||
|
||||
@@ -9,6 +9,6 @@
|
||||
"repo": "https://github.com/lord-ruby/Entropy",
|
||||
"downloadURL": "https://github.com/lord-ruby/Entropy/archive/refs/heads/main.zip",
|
||||
"folderName": "Entropy",
|
||||
"version": "8700099",
|
||||
"version": "65a353b",
|
||||
"automatic-version-check": true
|
||||
}
|
||||
|
||||
@@ -10,5 +10,5 @@
|
||||
"repo": "https://github.com/nh6574/JokerDisplay",
|
||||
"downloadURL": "https://github.com/nh6574/JokerDisplay/archive/refs/heads/master.zip",
|
||||
"automatic-version-check": true,
|
||||
"version": "99a83ab"
|
||||
"version": "e90fa02"
|
||||
}
|
||||
|
||||
@@ -10,5 +10,5 @@
|
||||
"repo": "https://github.com/nh6574/JoyousSpring",
|
||||
"downloadURL": "https://github.com/nh6574/JoyousSpring/archive/refs/heads/master.zip",
|
||||
"automatic-version-check": true,
|
||||
"version": "a2630a0"
|
||||
"version": "c0a24f9"
|
||||
}
|
||||
|
||||
@@ -8,6 +8,6 @@
|
||||
"author": "pi_cubed",
|
||||
"repo": "https://github.com/pi-cubed-cat/pi_cubeds_jokers",
|
||||
"downloadURL": "https://github.com/pi-cubed-cat/pi_cubeds_jokers/archive/refs/heads/main.zip",
|
||||
"version": "76ba966",
|
||||
"version": "352ced1",
|
||||
"automatic-version-check": true
|
||||
}
|
||||
|
||||
@@ -10,5 +10,6 @@
|
||||
"downloadURL": "https://github.com/gfreitash/balatro-mods/releases/download/black-seal__latest/black-seal.zip",
|
||||
"folderName": "black-seal",
|
||||
"automatic-version-check": true,
|
||||
"version": "black-seal__v3.2.9"
|
||||
"fixed-release-tag-updates": true,
|
||||
"version": "20250708_032640"
|
||||
}
|
||||
|
||||
@@ -10,5 +10,6 @@
|
||||
"downloadURL": "https://github.com/gfreitash/balatro-mods/releases/download/qol-bundle__latest/qol-bundle.zip",
|
||||
"folderName": "qol-bundle",
|
||||
"automatic-version-check": true,
|
||||
"version": "black-seal__v3.2.9"
|
||||
"fixed-release-tag-updates": true,
|
||||
"version": "20250708_032641"
|
||||
}
|
||||
|
||||
@@ -11,5 +11,6 @@
|
||||
"downloadURL": "https://github.com/gfreitash/balatro-mods/releases/download/rebalanced-stakes__latest/rebalanced-stakes.zip",
|
||||
"folderName": "rebalanced-stakes",
|
||||
"automatic-version-check": true,
|
||||
"version": "black-seal__v3.2.9"
|
||||
"fixed-release-tag-updates": true,
|
||||
"version": "20250708_032641"
|
||||
}
|
||||
|
||||
@@ -9,5 +9,5 @@
|
||||
"repo": "https://github.com/stupxd/Cartomancer",
|
||||
"downloadURL": "https://github.com/stupxd/Cartomancer/archive/refs/heads/main.zip",
|
||||
"automatic-version-check": true,
|
||||
"version": "662c833"
|
||||
"version": "5489211"
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
{
|
||||
"title": "re:Unlock All",
|
||||
"folderName":"reUnlockAll",
|
||||
"requires-steamodded": false,
|
||||
"requires-talisman": false,
|
||||
"categories": [
|
||||
|
||||
@@ -49,6 +49,9 @@
|
||||
},
|
||||
"automatic-version-check": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"fixed-release-tag-updates": {
|
||||
"type": "boolean"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
@@ -60,5 +63,80 @@
|
||||
"repo",
|
||||
"downloadURL",
|
||||
"version"
|
||||
],
|
||||
"allOf": [
|
||||
{
|
||||
"$comment": "This rule prevents accidental freezing of updates",
|
||||
"not": {
|
||||
"allOf": [
|
||||
{
|
||||
"$comment": "'automatic-version-check' is true",
|
||||
"properties": {
|
||||
"automatic-version-check": {
|
||||
"const": true
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"automatic-version-check"
|
||||
]
|
||||
},
|
||||
{
|
||||
"$comment": "'downloadURL' points to a specific release asset",
|
||||
"properties": {
|
||||
"downloadURL": {
|
||||
"pattern": "^https?://github\\.com/[^/]+/[^/]+/releases/download/[^/]+/.+$"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"downloadURL"
|
||||
]
|
||||
},
|
||||
{
|
||||
"$comment": "'fixed-release-tag-updates' is NOT true (i.e., it's false, or it's completely missing)",
|
||||
"not": {
|
||||
"properties": {
|
||||
"fixed-release-tag-updates": {
|
||||
"const": true
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"fixed-release-tag-updates"
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"errorMessage": "When 'downloadURL' points to a specific GitHub release asset AND 'automatic-version-check' is true, 'fixed-release-tag-updates' must also be true. This prevents accidental update freezing."
|
||||
},
|
||||
{
|
||||
"$comment": "This rule checks the value of 'fixed-release-tag-updates' and guarantees consistency",
|
||||
"if": {
|
||||
"properties": {
|
||||
"fixed-release-tag-updates": {
|
||||
"const": true
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"fixed-release-tag-updates"
|
||||
]
|
||||
},
|
||||
"then": {
|
||||
"$comment": "Conditions when 'fixed-release-tag-updates' is true",
|
||||
"properties": {
|
||||
"automatic-version-check": {
|
||||
"const": true,
|
||||
"errorMessage": "'automatic-version-check' must be true when 'fixed-release-tag-updates' is true."
|
||||
},
|
||||
"downloadURL": {
|
||||
"pattern": "^https?://github\\.com/[^/]+/[^/]+/releases/download/[^/]+/.+$",
|
||||
"errorMessage": "When 'fixed-release-tag-updates' is true, 'downloadURL' must point to a specific GitHub specific release asset (e.g., '/releases/download/v1.0.0/asset.zip'), NOT a branch head or latest release URL."
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"automatic-version-check"
|
||||
],
|
||||
"errorMessage": "When 'fixed-release-tag-updates' 'automatic-version-check' must be true, and 'downloadURL' must point to a specific release asset."
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user