From c7d629644a7597db619c30fbb6a889e0bc92c46d Mon Sep 17 00:00:00 2001 From: pleb Date: Sat, 11 Jul 2026 16:25:20 -0700 Subject: [PATCH] Add accsaber and don't update menu after reloading --- locks/1.44.1.lock.toml | 10 +++++++++ menu.bat | 27 ++++++++++++++++++------- registry/plugins/accsaber-reloaded.toml | 9 ++++++++- 3 files changed, 38 insertions(+), 8 deletions(-) diff --git a/locks/1.44.1.lock.toml b/locks/1.44.1.lock.toml index b95837d..b2ab81a 100644 --- a/locks/1.44.1.lock.toml +++ b/locks/1.44.1.lock.toml @@ -248,6 +248,16 @@ sha256 = "0b7c2adcf4db9806cdc765164788a9394bca2ee12179fad1b8ed255da1b7104e" install_strategy = "bsipa-zip" reason = "User-provided GitHub releases URL https://github.com/BeatLeader/beatleader-mod/releases. Latest non-draft, non-prerelease release v0.10.0 includes this highest compatible asset, labeled for Beat Saber 1.42+; GitHub release digest matched the downloaded asset. The archive bundles Plugins/LeaderboardCore.dll, so the standalone LeaderboardCore lock entry is intentionally omitted." +[[plugins]] +id = "accsaber-reloaded" +repo = "not-dexter/accsaber-reloaded-plugin" +tag = "v1.1.3" +asset = "1.40.8.zip" +download_url = "https://github.com/not-dexter/accsaber-reloaded-plugin/releases/download/v1.1.3/1.40.8.zip" +sha256 = "c1b1687e8378ee7f550edcbd0811fa71f8ddbaa9f167a5d1b48d4cbf9e808af7" +install_strategy = "bsipa-zip" +reason = "User-provided GitHub releases URL https://github.com/not-dexter/accsaber-reloaded-plugin/releases. Latest release v1.1.3 has no 1.44.x asset; use highest available game-version asset 1.40.8.zip. GitHub release digest matched the downloaded asset. Depends on BSIPA, BeatSaberMarkupLanguage, SiraUtil, SongCore, and LeaderboardCore (satisfied by BeatLeader-bundled LeaderboardCore)." + [[plugins]] id = "beatsaverdownloader" repo = "Top-Cat/BeatSaverDownloader" diff --git a/menu.bat b/menu.bat index 44e1f5a..e819ab4 100644 --- a/menu.bat +++ b/menu.bat @@ -3,23 +3,36 @@ setlocal cd /d "%~dp0" -if not exist ".venv\Scripts\python.exe" ( +set "VENV_PY=.venv\Scripts\python.exe" +set "STAMP_FILE=.venv\.last-install" +set "NEED_INSTALL=0" + +if not exist "%VENV_PY%" ( echo Creating virtual environment... py -m venv .venv if errorlevel 1 ( echo Failed to create virtual environment. exit /b 1 ) + set "NEED_INSTALL=1" +) else if not exist "%STAMP_FILE%" ( + set "NEED_INSTALL=1" +) else ( + "%VENV_PY%" -c "import pathlib, sys, time; p=pathlib.Path(r'%STAMP_FILE%'); sys.exit(0 if time.time()-p.stat().st_mtime >= 20*3600 else 1)" + if not errorlevel 1 set "NEED_INSTALL=1" ) -echo Installing plugin-helper... -".venv\Scripts\python.exe" -m pip install -e . -if errorlevel 1 ( - echo Failed to install plugin-helper. - exit /b 1 +if "%NEED_INSTALL%"=="1" ( + echo Installing plugin-helper... + "%VENV_PY%" -m pip install -e . + if errorlevel 1 ( + echo Failed to install plugin-helper. + exit /b 1 + ) + type nul > "%STAMP_FILE%" ) -".venv\Scripts\python.exe" -m plugin_helper +"%VENV_PY%" -m plugin_helper set EXIT_CODE=%ERRORLEVEL% endlocal & exit /b %EXIT_CODE% diff --git a/registry/plugins/accsaber-reloaded.toml b/registry/plugins/accsaber-reloaded.toml index 16557d4..fc59eae 100644 --- a/registry/plugins/accsaber-reloaded.toml +++ b/registry/plugins/accsaber-reloaded.toml @@ -1,6 +1,13 @@ id = "accsaber-reloaded" name = "AccSaber Reloaded" repo = "not-dexter/accsaber-reloaded-plugin" -asset_patterns = ["1.40.8.zip"] +asset_patterns = ["1.*.zip"] install_strategy = "bsipa-zip" category = "leaderboard" +dependencies = [ + { id = "bsipa", constraint = ">=4.2.2" }, + { id = "beatsabermarkuplanguage", constraint = ">=1.6.10" }, + { id = "sirautil", constraint = ">=3.1.2" }, + { id = "songcore", constraint = ">=3.10.2" }, + { id = "beatleader", constraint = ">=0.10.0" }, +]