@echo off
setlocal
title Zarkolab Updater

set "SCRIPT_URL=https://mine.zarkolab.com/downloads/Zarkolab-Updater-Windows.ps1"
set "SCRIPT_PATH=%TEMP%\Zarkolab-Updater-Windows.ps1"

echo [Zarkolab] Actualizador de Prism para Zarkolab SMP
echo [Zarkolab] Cierra Prism y Minecraft antes de continuar.
echo.
echo [Zarkolab] Descargando actualizador interno...

powershell -NoProfile -ExecutionPolicy Bypass -Command "try { [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; Invoke-WebRequest -Uri '%SCRIPT_URL%' -OutFile '%SCRIPT_PATH%' -UseBasicParsing; exit 0 } catch { Write-Host $_.Exception.Message; exit 1 }"
if errorlevel 1 (
  echo.
  echo [Zarkolab] No se pudo descargar el actualizador.
  echo [Zarkolab] Revisa tu conexion e intenta otra vez.
  pause
  exit /b 1
)

echo.
echo [Zarkolab] Aplicando actualizacion en Prism...
if defined ZARKOLAB_UPDATER_INSTANCE_PATH (
  powershell -NoProfile -ExecutionPolicy Bypass -File "%SCRIPT_PATH%" -InstancePath "%ZARKOLAB_UPDATER_INSTANCE_PATH%"
) else (
  powershell -NoProfile -ExecutionPolicy Bypass -File "%SCRIPT_PATH%"
)
set "EXIT_CODE=%ERRORLEVEL%"

echo.
if not "%EXIT_CODE%"=="0" (
  echo [Zarkolab] El actualizador fallo. Manda una captura de esta ventana.
  if not defined ZARKOLAB_UPDATER_NO_PAUSE pause
  exit /b %EXIT_CODE%
)

echo [Zarkolab] Listo. Abre Prism y usa la misma instancia.
if not defined ZARKOLAB_UPDATER_NO_PAUSE pause
exit /b 0
