Merge branch 'untested'

This commit is contained in:
Obie Hinojosa 2024-10-28 13:03:05 -05:00
commit 9ce3221711
5 changed files with 146 additions and 49 deletions

4
.gitignore vendored Normal file
View File

@ -0,0 +1,4 @@
*.log
*.env
test.py
checklist.md

View File

@ -1,22 +1,24 @@
#!/bin/bash
# shebang!
#-H "Authorization: token ***REMOVED***"
# ^^ public auth token, put here so i dont lose it pasting cURL snippets
echo "################"
echo SCRIPT STARTING
echo "################"
#template
#printf "${process0}"\\r;
#zip;
#printf "${process0} \e[32m[DONE!]\e[0m"
# template
# printf "${process0}"\\r;
# zip;
# printf "${process0} \e[32m[DONE!]\e[0m"
moddir="~/.minecraft"
moddir="/home/$USER/.minecraft"
cd ${moddir}
process0="Backing up existing mod folder..."
printf "${process0}"\\r;
zip -r -q ./mods/.mod-folder-backup.zip mods && printf "${process0} \e[32m[DONE!]\e[0m"
sudo zip -r -q ./mods/.mod-folder-backup.zip mods && printf "${process0} \e[32m[DONE!]\e[0m"
#i didnt even know `zip` as a standalone command existed.
#this needs to be a tar.gz archive.
echo
@ -24,30 +26,24 @@ sleep 1
process1="Removing old mods..."
printf "${process1}"\\r;
sudo rm /home/$USER/.minecraft/mods/* && printf "${process1} \e[32m[DONE!]\e[0m"
sudo rm -r /home/$USER/.minecraft/mods && sudo mkdir /home/$USER/.minecraft/mods && printf "${process1} \e[32m[DONE!]\e[0m"
echo
sleep 1
moddir="/home/$USER/.minecraft/mods"
cd ${moddir}
process2="Downloading mod package..."
printf "${process2}"\\r;
sudo curl http://192.168.7.208:420/api/shares/YxMjU3N/files/e641be0e-bccd-4f3d-8a86-7dbbb8f88263 -O -J -L -s && printf "${process2} \e[32m[DONE!]\e[0m"
#what the fuck?
#how does this work?
#fix this.
sudo curl 'https://git.adolin.xyz/saru/lobotomy-mod-pack/raw/branch/main/mods.tar.gz' -H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:131.0) Gecko/20100101 Firefox/131.0' -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/png,image/svg+xml,*/*;q=0.8' -H 'Accept-Language: en-US,en;q=0.5' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Prefer: safe' -H 'Alt-Used: git.adolin.xyz' -H 'Connection: keep-alive' -H "Authorization: token ***REMOVED***" -H 'Upgrade-Insecure-Requests: 1' -H 'Sec-Fetch-Dest: document' -H 'Sec-Fetch-Mode: navigate' -H 'Sec-Fetch-Site: same-origin' -H 'Sec-Fetch-User: ?1' -H 'Priority: u=0, i' -H 'TE: trailers' -o mods.tar.gz && printf "${process2} \e[32m[DONE!]\e[0m"
# fixed!
echo
sleep 1
process3="Extracting package..."
printf "${process3}"\\r;
unzip -q mod-archive.zip;
sudo tar -xvzf mods.tar.gz;
# replaced?
printf "${process3} \e[32m[DONE!]\e[0m"
echo
sleep 1

View File

@ -1,73 +1,98 @@
@echo off
@echo off
cd /D "%~dp0"
set mcroot="%USERPROFILE%\AppData\Roaming\.minecraft"
set modfolder="%USERPROFILE%\AppData\Roaming\.minecraft\mods"
set cusdate=%DATE:~4,2%-%DATE:~7,2%-%DATE:~10,4%
:: environment variables
echo "################"
echo SCRIPT STARTING
echo "################"
echo.
@timeout /t 1 >nul 2>&1
:: been using this timeout line for 4 years now and for the life of me i still dont know why it works
:: its hitting me that i should probably pick something better
echo Downloading latest fabric installer...
cd %mcroot%
curl -k "https://maven.fabricmc.net/net/fabricmc/fabric-installer/1.0.1/fabric-installer-1.0.1.exe" -o fabricinstaller.exe
ECHO ###### !!!!! ######
echo MAKE SURE YOU PICK THE CURRENT SERVER MINECRAFT VERSION, 1.20.1
echo You only need to change the minecraft version, don't worry about the launcher version option.
:: no one is gonna read this and im gonna get some dumbass questions.
ECHO ###### !!!!! ######
start /WAIT "%mcroot%" fabricinstaller.exe
:: `/WAIT` serves to stop the bat script from moving on until the windows closes. only works for some programs, luckily the fabric installer is one of them.
:: maybe needs a way to check if the installer actually needs to be updated. runs every time right now. annoying for beta testers.
echo Updating...
cd /d %mcroot%
curl -k "https://git.adolin.xyz/saru/lobotomy-mod-pack/raw/branch/main/mods.tar.gz" -H "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/png,image/svg+xml,*/*;q=0.8" -H "Accept-Language: en-US,en;q=0.5" -H "Accept-Encoding: gzip, deflate, br, zstd" -H "DNT: 1" -H "Sec-GPC: 1" -H "Alt-Used: git.adolin.xyz" -H "Connection: keep-alive" -H "Upgrade-Insecure-Requests: 1" -H "Sec-Fetch-Dest: document" -H "Sec-Fetch-Mode: navigate" -H "Sec-Fetch-Site: same-origin" -H "Sec-Fetch-User: ?1" -H "Priority: u=0, i" -H "TE: trailers" -H "Authorization: token ***REMOVED***" -o mods.tar.gz
:: GOD i fucking hate this line so much why does it need allat
echo Compressing and backing up existing mods...
tar -czf %mcroot%/mods-backup-%cusdate%.tar.gz %modfolder%
@timeout /t 2 >nul 2>&1
:: tar on windows is some bullshit
:: like why the fuck is it easier to extract a tarball than a fucking zip file
:: didnt microcock literally invent and standardize that file format themselves?
:: why is it fucking impossible to automate zipping and unzipping files on WINDOWS??
:: ITS EASIER ON LINUX.
echo Deleting existing mods...
rmdir /S /Q mods
mkdir mods
:: sloppy
@timeout /t 2 >nul 2>&1
tar -xvzf %mcroot%/mods.tar.gz -C %modfolder%
:::
::: ⠀⣿⡪⡪⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
::: ⢸⡯⡯⡪⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
::: ⢸⡯⡇⠪⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⢀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
::: ⢸⡯⡣⡨⣻⡀⠀⠀⠀⠀⠀⠀⠀⠀⡠⠚⠁⠈⢳⡀⠀⠀⠀⠀⠀⣀⠴⠖⢂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
::: ⠈⣿⡪⡺⣺⡇⠀⠀⠀⠀⠀⠀⠀⣸⠁⠀⠀⠀⣀⢳⠀⠀⠀⢀⠞⠁⠀⠀⠈⢧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
::: ⠀⢸⣮⣪⣨⣷⠀⠀⠀⠀⠀⠀⢀⡇⠀⠀⠀⠸⡏⠻⣇⠀⣰⠋⠀⠀⠀⠀⠀⢸⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
::: ⠀⢸⣯⣪⣹⡇⠀⠀⠀⠀⠀⠀⢸⠀⠀⠀⣀⢤⠇⠀⠈⠀⠗⠀⠀⠀⠀⠀⠀⠈⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
::: ⠀⠈⣿⣿⣿⣇⡀⠀⠀⠀⠀⠀⠸⡆⠀⠀⠉⠓⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
::: ⠀⢀⣿⠃⢸⠀⠉⠑⠲⢤⣀⠀⠀⢳⡶⠆⣠⢞⣶⠂⠀⣴⢲⣶⡄⠠⠤⠤⢤⡸⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
::: ⠀⠈⣇⠀⡘⠀⠀⠀⠀⠀⠈⠉⠒⠾⢧⣴⣟⡺⠿⣠⡄⠁⠸⣿⡿⢠⠀⢀⡞⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
::: ⠀⠀⠘⠶⠇⠤⠤⠤⠤⣤⣤⣤⣀⣀⣤⣄⣈⣉⣒⡶⠤⠆⠀⠸⠉⠉⠰⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
::: ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠙⢢⡄⠀⠀⠀⠀⠀⠀⢠⡄⠀⣽⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
::: ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣀⣴⠉⠀⠀⠀⠀⠀⠀⠀⠀⠙⠦⢠⡴⠶⠲⢄⡀⠀⠀⠀⠀⠀⠀⠀⠀
::: ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢡⠀⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⢢⡀⠀⠙⢦⡀⠀⠀⠀⢀⣠⠄
::: ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⢧⠀⠀⠀⠀⠀⠀⠀⠀⠓⢦⣀⠀⠀⠀⠀⢹⠀⠀⠀⠉⠒⠒⠒⢻⡟⠀
::: ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⣏⣄⠀⠀⠀⠀⠀⠀⠀⠀⡼⠉⠁⠀⠀⢀⡞⠂⠀⠀⠀⠀⠀⠀⡸⠁⠀
::: ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⡀⠀⠀⠀⠀⠀⠀⢸⠁⠀⠀⠀⠀⣞⠀⠀⠀⠀⠀⠀⠀⡰⠃⠀⠀
::: ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣧⠀⠀⠀⠀⢀⠀⠸⡄⠀⠀⠀⠀⢨⢇⠀⠀⠀⣀⡠⠞⠁⠀⠀⠀
::: ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡼⠇⠀⠀⠀⠸⣆⠀⠈⠲⠤⠤⡴⠋⠈⠉⠉⠉⠁⠀⠀⠀⠀⠀⠀
::: ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⣁⠀⠀⠀⠀⡀⣀⡼⢆⠀⠀⠀⠀⢱⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
::: ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠉⠉⠉⠉⠁⠀⠀⠸⡄⠀⠀⠀⠹⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
::: ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠳⣄⣀⠀⣸⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
::: ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
:::
::: :+++++=
::: -++++++.
::: :++++++. .
::: .++++++. -=. -: .::
::: =+++++. :=. =- .--:. -
::: =+++++. .+ =: -=. :=
::: =+++++. +. :.=* .=: =:
::: =++++= .+ +. -- :+ .=
::: .+++++= .= ..=: :. =
::: .++=++- .= .+- =
::: ==++*=::.. * +
::: =*#-+- .:---:. :=-- .-=%. --=#- ..::.--
::: :#=-*- .::--:.*: .+ #@. - *@@- .. -#:
::: ++:*. .:--==:--:: .%%-.. :=.
::: =++.:...::::::..... :---+-:. .:.: --
::: *=..:::.. .=.
::: :-. .=:::
::: ..:=. :-..-:---:
::: ==:- .=-: :=-
::: .= =- :--. .--
::: -- :-:. -= .::::-:=.
::: :- =- :+ .+
::: --- -: .+ +.
::: := -= .+ =:
::: +. -: =: :=.
::: -. .=: --.....::-:
::: .=- .= :-:----- .::::.
::: .-: .= ..+:
::: -=......:.:-:+ :=
::: .::--::... := -
::: =: =:
::: --::.--
::: ....
::someone's gonna think im a furry or a femboy or some shit because of this.
for /f "delims=: tokens=*" %%A in ('findstr /b ::: "%~f0"') do @echo(%%A)
echo Sigma!
echo All done. C:
echo .
:: this line prints every line that starts with ':::' non-destructively - pretty cool.
:: easier than escaping every single symbol that could potentially be interpreted as a functional character
echo Sigma! All done. C:
echo This window will close in ten seconds.
:: FBI secret agent self-destructing message headass.
@timeout /t 10 >nul 2>&1
exit

72
installer.py Normal file
View File

@ -0,0 +1,72 @@
import urllib
import urllib.request
import tarfile
import os
import platform
import time
import shutil
import sys
from pathlib import Path
#detect operating system and find home folder
homedir = os.path.expanduser("~")
#operating system specific operations.
#we find the minecraft folder in this section.
if platform.system() == "Linux":
print("Operating system detected: Linux")
elif platform.system() == "Windows":
print("Operating system detected: Windows")
elif platform.system() == "Darwin":
print("Operating system detected: MacOS")
print("fuck you.")
#needs function
os.chdir(homedir + '/.minecraft')
mcfolder = Path.cwd()
modfolder = homedir + '/.minecraft/mods'
os.chdir(mcfolder)
print("Changed current working directory to '" + str(mcfolder) + "'")
time.sleep(2)
#begin mod backup and deletion
#THIS DOESN'T CURRENTLY BACK UP EXISTING MODS.
try:
shutil.rmtree(modfolder)
print("Cleared previous mods.")
except OSError as e:
print("Error: %s - %s." % (e.filename, e.strerror))
os.mkdir(modfolder)
#begin download and extract
#this snippet below defines a tar extract FUNCTION
def extract_tar_archive(tar_file_path, extract_to):
with tarfile.open(tar_file_path, 'r') as tar:
tar.extractall(extract_to)
print("Starting install...")
print("Fetching mods...")
#this is the SIMPLEST implementation of curl i have ever seen i just NUTTED SO FUCKING HARD
url = 'https://git.adolin.xyz/saru/lobotomy-mod-pack/raw/branch/main/mods.tar.gz'
urllib.request.urlretrieve(url, 'mods.tar.gz')
print("Extracting and writing to disk...")
tar_file_path = 'mods.tar.gz'
extract_to = 'mods'
extract_tar_archive(tar_file_path, extract_to)
print("All Done!")
print("This script will exit and close in ten seconds. :)")
time.sleep(10)

Binary file not shown.