-
Notifications
You must be signed in to change notification settings - Fork 0
/
install.ps1
81 lines (80 loc) · 2.79 KB
/
install.ps1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
$user = [System.Environment]::Username
$tmp = 'C:\Users\' + $user + '\AppData\Local\Temp'
$archive = 'hl521-minecraft-2022-05-10.zip'
$checksum = 'hl521-minecraft-2022-05-10.zip.sha512sum'
$minecraft = 'C:\Users\' + $user + '\AppData\Roaming\.minecraft'
$url = 'https://archives.hl521.me/'
$zip = $url + 'zip/' + $archive
$sum = $url + 'checksums/' + $checksum
$archiveOut = $tmp + '\' + $archive
$checksumOut = $tmp + '\' + $checksum
$minecraftTmp = $tmp + '\minecraft\'
$modsSrc = $tmp + '\minecraft\mods\*'
$shaderpacksSrc = $tmp + '\minecraft\shaderpacks\*'
$resourcepacksSrc = $tmp + '\minecraft\resourcepacks\*'
$modsDest = $minecraft + '\mods\'
$shaderpacksDest = $minecraft + '\shaderpacks\'
$resourcePacksDest = $minecraft + '\resourcepacks\'
$forge = 'forge-1.18.2-40.1.0-installer.jar'
$forgedir = $minecraftTmp + $forge
Write-Host "Checking for dependencies..." -ForegroundColor Yellow
sleep 1
Write-Host "Checking for java..." -ForegroundColor Cyan
sleep 1
if(Get-Command java){
Write-Host "Checking for Minecraft..." -ForegroundColor Cyan
sleep 1
if(test-path $minecraft){
Write-Host "Checking for Forge..." -ForegroundColor Cyan
sleep 1
if((test-path $modsDest) -and (test-path $shaderpacksDest) -and (test-path $resourcepacksDest)){
Write-Host "Dependencies Check Good!`nInstalling the goods... :)" -ForegroundColor Green
Invoke-Webrequest $zip -OutFile $archiveOut
Invoke-Webrequest $sum -OutFile $checksumOut
certutil -hashfile $checksumOut sha512
#Write-Host "Placeholder for sha512sum verification"
mkdir $minecraftTmp
Expand-Archive -LiteralPath $archiveOut -DestinationPath $minecraftTmp
cd $minecraftTmp
cp $modsSrc $modsDest
cp $shaderpacksSrc $shaderpacksDest
cp $resourcepacksSrc $resourcepacksDest
cd $tmp
Write-Host "Cleaning Up..." -ForegroundColor Yellow
sleep 1
rm -r -fo $minecraftTmp
rm $archiveOut
rm $checksumOut
Write-Host "Complete!!" -ForegroundColor Green
sleep 5
}
else{
Write-Warning -Message "Looks like Forge may not be installed..."
sleep 1
Write-Host "Would you like to install it?" -ForegroundColor Magenta
sleep 1
$userIn = Read-Host "## Y/n ##`n -> "
if(($userIn -eq 'y') -or ($userIn -eq 'Y')){
java -jar $forgedir
Write-Host "Re-Run script now that forge is installed :)"
sleep 5
}
elseif(($userIn -eq 'n') -or ($userIn -eq 'N')){
Write-Host "Okay, quitting." -ForegroundColor White
sleep 2
}
else{
Write-Error -message "Not understanding Input"
sleep 2
}
}
}
else{
Write-Error -Message "Minecraft is not installed. Please install to continue, then rerun the script. https://minecraft.net/"
sleep 2
}
}
else{
Write-Error -Message "Java Not installed. Please recitify this issue. Suggest Openjdk: https://docs.microsoft.com/en-us/java/openjdk/download/"
sleep 2
}