@echo off
setlocal
cd /d "%~dp0"
set "TOOLS_DIR=C:\Users\mihai\Documents\risemine\tools"
set "JAVA_EXE="
for /f "delims=" %%J in ('where /r "%TOOLS_DIR%" java.exe 2^>nul ^| findstr /i "\\jdk-21"') do (
if not defined JAVA_EXE set "JAVA_EXE=%%J"
)
if not defined JAVA_EXE (
for /f "delims=" %%J in ('where /r "%TOOLS_DIR%" java.exe 2^>nul') do (
if not defined JAVA_EXE set "JAVA_EXE=%%J"
)
)
if not defined JAVA_EXE (
if defined JAVA_HOME (
if exist "%JAVA_HOME%\bin\java.exe" set "JAVA_EXE=%JAVA_HOME%\bin\java.exe"
)
)
if not defined JAVA_EXE (
for %%J in (java.exe) do set "JAVA_EXE=%%~$PATH:J"
)
if not defined JAVA_EXE (
echo Java was not found.
echo Install JDK 21 into "%TOOLS_DIR%" or set JAVA_HOME to JDK 21.
pause
exit /b 1
)
set "JAVA_VERSION_FILE=%TEMP%\rockstar-java-version.txt"
"%JAVA_EXE%" -XshowSettings:properties -version > "%JAVA_VERSION_FILE%" 2>&1
for /f "tokens=3" %%V in ('findstr /c:"java.specification.version" "%JAVA_VERSION_FILE%"') do set "JAVA_MAJOR=%%V"
del "%JAVA_VERSION_FILE%" >nul 2>&1
if not "%JAVA_MAJOR%"=="21" (
echo Found Java: "%JAVA_EXE%"
echo Version: %JAVA_MAJOR%
echo.
echo Minecraft 1.21.4 requires Java 21.
echo Put JDK 21 into "%TOOLS_DIR%" or set JAVA_HOME to JDK 21.
pause
exit /b 1
)
for %%I in ("%JAVA_EXE%") do set "JAVA_BIN=%%~dpI"
for %%I in ("%JAVA_BIN%..") do set "JAVA_HOME=%%~fI"
set "PATH=%JAVA_HOME%\bin;%PATH%"
echo.
set /p "MC_USERNAME=Enter nickname: "
if not defined MC_USERNAME set "MC_USERNAME=Player"
if not exist "%~dp0run\mods" mkdir "%~dp0run\mods"
echo Using Java: %JAVA_EXE%
echo Nickname: %MC_USERNAME%
echo Mods folder: %~dp0run\mods
echo Starting Minecraft with Rockstar client...
echo.
call "%~dp0gradlew.bat" runClient --args="--username %MC_USERNAME%"
set "EXIT_CODE=%ERRORLEVEL%"
echo.
if not "%EXIT_CODE%"=="0" (
echo Minecraft/Gradle exited with code %EXIT_CODE%.
)
pause
exit /b %EXIT_CODE%