prepare repository, clean up template

This commit is contained in:
Obie Hinojosa 2024-12-31 15:44:54 -06:00
parent 90948ab81d
commit 0c04b8705f
107 changed files with 6 additions and 615 deletions

299
README.md
View File

@ -1,298 +1,11 @@
# Lobotomy Land Mods, Installer, and Documentation # Lobotomy Land Mods, Installer, and Documentation
## **ALL MOD TITLES HAVE EMBEDDED LINKS TO THEIR PAGES. CLICK ON A MOD TITLE TO LEARN MORE.** ## ****
![logo](logo-small.png) ![logo](hairythang.png)
# Description # Description
This repository contains all the mods running on lobotomy land, their associated links, and their descriptions - it shouldn't update often. This repository contains a mod installer/syncing script that adds stuff to the Silly Gay Fishing Game.™
# Major Content
### [Create](https://modrinth.com/mod/create-fabric)
Create mod base. Adds far too many features to cover here.
Mostly based in the automation of different things, but includes so many machines for automating and new materials that it's essentially an expansion pack for minecraft as a whole. Create mod has it's own in-game documentation - "Ponder."
Create mod and **[Just Enough Items](#jei)** go hand in hand. Seriously, JEI will save your life.
### [Create Diesel Generators](https://modrinth.com/mod/create-diesel-generators-fabric)
Adds diesel generators, fuel, oil drilling and refining, distillation, etc.
### [Create Deco](https://modrinth.com/mod/create-deco)
Adds a massive amount of decorative blocks to Create mod, including bricks, decals, shipping containers, and a huge assortment of railing, scaffolding, ladders, windows, and etc. using Create mod materials.
### [Create Crafts & Additions](https://modrinth.com/mod/createaddition)
Create mod plugin that adds electricity related items; motors, generators, batteries, collectors, wires, all driven by normal rotation force from create mod contraptions.
Electricity is generally very difficult to generate, as alternators (electricity generators) have a high torque requirement and electric motors require a LOT of electricity.
Also adds chocolate cake. :)
### [Create Power Loader](https://modrinth.com/mod/create-power-loader-fabric)
Adds chunk loaders that keeps chunks on the server loaded and contraptions in the radius running, even when away.
Major Features:
- 2 tiers of chunk loaders:
- Brass chunk loader: configurable loading range (1x1 to 5x5)
- Andesite chunk loader: loads a single chunk
- Chunk loaders work on the ground, on trains and on contraptions.
- Toggleable in-game via contraption controls
- Attaches to Train Stations for lag-friendly chunk loading
- Reliable chunk loading and unloading
### [Create High Pressure](https://modrinth.com/mod/create-high-pressure)
Create mod plugin that adds the ability to automate diamond production from coal or charcoal.
"Create High Pressure aims to give you a seamless and bloatless way of producing diamonds reliably, with no mining needed. It is quite costly though!"
**"It is meant to be survival friendly and not overpowered in any way."**
Adds graphite, created from compacting blasted coal/charcoal, which when compacted in a superheated basin has a low chance of becoming a diamond.
Also adds the ability to manufacture netherrack by mixing it with gravel and lava in a basin.
### [Create Enchantment Industry](https://modrinth.com/mod/create-enchantment-industry-fabric)
Create mod plugin that focuses on partially automating XP farming and enchantment/disenchantment. Below are some major features:
- *Liquid Experience: High-density experience that is easy to store and transport.*
- *Disenchanter: Disenchant items and collect experience as liquid.*
- *Blaze Enchanter: Automated enchanting.*
- *Printer: Enables copying your written books, enchanted books, name tags and train schedules.*
- *Deployer & Crushing Wheel Tweak: Mobs killed by the Deployer & Crushing Wheel drop experience nuggets.*
- *Hyper-enchant mechanism allows you to get enchantment whose level is higher than level cap.*
- *Mending on belt: Items enchanted with Mending can be repaired using Spout and Liquid Experience.*
- *Deployer with Sweeping Edge: Deployer now benefits from sword with Sweeping Edge Enchantment.*
### [Create Copycats+](https://modrinth.com/mod/copycats)
Create plugin that adds more copycat blocks that can be textured with any block when right clicked. Includes vertical slabs (sin)
### [Create Bells and Whistles](https://modrinth.com/mod/bellsandwhistles)
Create plugin that adds 36 new blocks, mostly decorative and train oriented.
### [Create Interiors](https://modrinth.com/mod/interiors)
Adds an assortment of chairs and stools, almost exclusively to be used in trains.
### [Another Furniture Mod](https://modrinth.com/mod/another-furniture)
Adds a large collection of furniture blocks, designed to look consistent and vanilla-like.
### [Naturalist Mobs](https://modrinth.com/mod/naturalist)
Adds a moderately sized collection of new animals, mostly peaceful. Giraffes, Deer, Bears, Lions, a small collection of birds, and some more.
### [Friends and Foes](https://modrinth.com/mod/friends-and-foes)
Adds previously outvoted mobs from past mob votes held by Mojang.
There are more than a few unique features added by this one, so I recommend just **[checking the wiki.](https://github.com/Faboslav/friends-and-foes/wiki)**
### [Friends and Foes Addon - Flowery Mooshrooms](https://modrinth.com/mod/friends-and-foes-flowery-mooblooms-fabric)
Addon to Friends and Foes that adds "Mooblooms" that wander flower covered plains.
### [Immersive Paintings](https://modrinth.com/mod/immersive-paintings)
Adds custom user-uploaded paintings as well as a gallery of paintings to select from.
### [Wandering Collector](https://modrinth.com/mod/wandering-collector)
Adds a variant of Wandering Trader that will sell you items that you've previously lost at a premium (despawned, burned after dying, etc.)
### [Vein Miner Enchantment ](https://modrinth.com/mod/vein-mining)
Adds a pickaxe enchantment that allows you to mine an entire vein of ore at once. When put on an axe, it allows you to cut down entire trees at once.
# Minor Content/QOL (Quality of Life)
### [Crops Love Rain](https://modrinth.com/mod/crops-love-rain)
Crops grow faster when it rains.
### [CraftPresence (Discord Rich Presence)](https://modrinth.com/mod/craftpresence)
More in-depth discord integration for java minecraft that shows the dimension you're in, your play time, etc.
### [CList (Coordinate List)](https://modrinth.com/mod/clist)
Coordinate list adds user-configurable waypoints that you can see from far away, useful for things like waypoints back to your house or to points of interest like structure or other bases.
### [Companion (Pet AI Improvements)](https://modrinth.com/mod/companion)
Improvements to pet AI to make it harder to lose your pets to stupid shit.
### [Clickthrough (Signs to Chests)](https://modrinth.com/mod/clickthrough)
Allows you to open chests through signs by right clicking on the sign.
### [Chef's Delight (Adds Chef Villagers)](https://modrinth.com/mod/chefs-delight)
Adds structures to villages with farmer's delight modded blocks and etc.
### [Campfires Cook Mobs](https://modrinth.com/mod/camp-fires-cook-mobs)
When mobs die on campfires, their drops are cooked. Eg. cooked porkchop from pigs.
### [Better than Mending](https://modrinth.com/mod/better-than-mending)
Allows you to repair tools enchanted with mending by right cicking with the tool in your hand while sneaking. Basically lets you repair tools with mending by exhanging XP you already have.
### [Appleskin](https://modrinth.com/mod/appleskin)
Simple UI improvement that shows you your saturation level.
### [Pigs have Litters](https://modrinth.com/mod/pigs-have-litters)
Pigs give birth to more piglets at once, but less often.
### [Pettable (Pet your Pets)](https://modrinth.com/mod/pettable)
Lets you pet your pets.
### [Leaves Be Gone](https://modrinth.com/mod/leaves-be-gone)
Leaves rapidly disappear after chopping down a tree.
### [Logical Zoom](https://modrinth.com/mod/logical-zoom)
Simple zoom keybinding for fabric. Functionally the same as optifine zoom.
### [JEED](https://modrinth.com/mod/just-enough-effect-descriptions-jeed)
Just Enough Items plugin that shows you different status effects.
### [JEP](https://modrinth.com/mod/just-enough-professions-jep)
Just Enough Items plugin that adds a context menu to show you items sold by different villager professions/items you can sell to them.
### [JEB](https://modrinth.com/mod/justenoughbreeding)
Just Enough Items plugin that shows you what items different mobs need to breed.
### [JER](https://modrinth.com/mod/just-enough-resources-jer)
Just Enough Items plugin that shows you different intangible resources, like water, lava, oil, etc.
### [JEI](https://modrinth.com/mod/jei)
Comprehensive item index to the right of your inventory. Shows everything there is to know about any given item in minecraft - nearly **ALL** modded items are supported by JEI. Left click items to see how to obtain/craft the item in question, right click to see what the item can be used for. (Crafting recipes, Breeding, Cooking, Create mod recipes, etc.)
### [New Item Highlighter](https://modrinth.com/mod/item-highlighter)
Adds a small star icon next to newly obtained items, disappears when the item is hovered over/selected.
### [Inventory Sorting](https://modrinth.com/mod/inventory-sorting)
Small button in your inventory to sort your quickly. Does not sort the hotbar.
### [No Hostiles Around Campfire](https://modrinth.com/mod/no-hostiles-around-campfire)
Campfires keep mobs away.
### [Hostile Mobs Improve Over Time](https://modrinth.com/datapack/hostile-mobs-improve-over-time)
As you play and in game time passes, **hostile** mobs progressively "level up" and deal more damage
### [Healing Campfire](https://modrinth.com/mod/healing-campfire)
When in the radius of a campfire, players be inflicted with regeneration.
### [Replanting Crops](https://modrinth.com/mod/replanting-crops)
If crops are destroyed with a hoe and you have matching seeds in your inventory they will be replanted automatically.
### [Show Me What You Got](https://modrinth.com/mod/show-me-what-you-got)
Hovering over an item in your inventory and pressing **"CTRL+T"** will send a preview of that item in the in-game chat.
### [Snowballs Freeze Mobs](https://modrinth.com/mod/snowballs-freeze-mobs)
Throwing snowballs at mobs will freeze them momentarily.
### [Shulker Box Tooltip](https://modrinth.com/mod/shulkerboxtooltip)
Tooltip that shows the items inside of a shulker box, if applicable.
### [Villager Names](https://modrinth.com/mod/villager-names-serilum)
Villagers are spawned with randomly generated names.
### [Where Is It](https://modrinth.com/mod/where-is-it)
Hovering over an item in your inventory and pressing **"Y"** will show you nearby containers with that item. Fairly short 5 block range.
# Performance/Functionality
### [Entity Culling](https://modrinth.com/mod/entityculling)
Entities are not rendered when behind blocks/not in view.
### [Chunky Extension](https://modrinth.com/mod/chunky-extension)
Pauses chunk generation when players join the server to save resources and increase performance.
### [Chunky](https://modrinth.com/plugin/chunky)
Plugin to pre-generate chunks to improve long-term performance.
### [Dynmap](https://modrinth.com/plugin/dynmap)
Web minimap for the world.
### [C2me (Concurrent Chunk Management Engine)](https://modrinth.com/mod/c2me-fabric)
Chunk loading, generating, and storing optimizations.
### [Anti X-Ray](https://modrinth.com/mod/anti-xray)
Block textures are changed randomly if they arent exposed to air or viewable by a player.
### [Packet Fixer](https://modrinth.com/mod/packet-fixer)
Network optimizations.
### [Presence Footsteps](https://modrinth.com/mod/presence-footsteps)
Audio engine for minecraft with spacial sound/muffling/echoes, etc.
### [Plasmo Voice](https://modrinth.com/plugin/plasmo-voice)
In game proximity chat, similar to lethal company.
### [Mod Menu](https://modrinth.com/mod/modmenu)
Simple menu showing all the installed mods and their descriptions.
### [Mobtimizations](https://modrinth.com/mod/mobtimizations)
Various optimizations to mob pathfinding, aggro, etc.
### [MiniMOTD](https://modrinth.com/plugin/minimotd)
Improved server message of the day. (Title.)
### [Lazy DFU](https://modrinth.com/mod/lazydfu)
Performance fix that stops unnecessary code from loading during startup.
"DataFixerUpper (often abbreviated to DFU) is the Minecraft component responsible for handling world upgrades from older versions of Minecraft to newer versions. DFU is initialized very early in the Minecraft startup process - in fact, it's initialized before the game window even appears. It is laughably overengineered and very slow, but it's what Mojang gives us to work with."
"As part of the DFU initialization process, it caches rules required to convert from older versions to MInecraft through every version in between, up to the version of the game being launched. This process takes place in the background, but it is extremely slow, as it is both CPU and memory intensive. With Minecraft 1.16.5, I have measured this process take 9 seconds on a Ryzen 9 3900X desktop (a high-end desktop CPU released in 2019) and 57 seconds on a laptop with an i5-8250U (a mid-range laptop chip from 2017)."
"All LazyDFU does is stop this process - it lets DFU initialize, but it will force it to not cache all these rules. As a result, the DFU rules are only compiled when a world needs to be converted. This means it is possible you may see lag spikes if LazyDFU forces the game to compile migration rules, but once complete there is no performance penalty."
### [Lamb Dynamic Lights](https://modrinth.com/mod/lambdynamiclights)
Dynamic lighting engine. Torches and other light sources held in your hand will light the immediate area, as if the block was placed down.
### [Item Model Gap Fix](https://modrinth.com/mod/item-model-fix)
Fixes gaps in item models. Most noticeable in the models for tools.
### [Create Deco Additions](https://modrinth.com/datapack/create-deco-additions)
Minor compatiblity fix for *[Create Deco](#create-deco)* involving item tags.
### [3D Skin Layers](https://modrinth.com/mod/3dskinlayers)
Skin layers are extruded to give skins a 3d appearance.
### [Sodium](https://modrinth.com/mod/sodium/versions?g=1.20.1&l=fabric)
Basically optifine.
### [Reeses Sodium Options](https://modrinth.com/mod/reeses-sodium-options)
Sodium plugin that expands the default set of video options.
### [Sodium Extras](https://modrinth.com/mod/sodium-extra)
Extra sodium QOL features. Quoted from their website:
- Animations Settings (Control fire, water, lava, block animations and etc...)
- Particles Settings (Control all types of particles, including ones from other mods)
- Details Settings (Control sky, stars, sun/moon, weather, and much more)
- Render Settings (Control fog, static entities, and other miscellaneous renderings)
- Extra Settings (Display FPS, coordinates, toast notifications, clouds, and much more)
### [Spark Performance Profiler](https://modrinth.com/mod/spark)
Extra statistics for debugging performance issues.
### [Iris Shaders](https://modrinth.com/mod/iris)
Shader engine for sodium.
### [Indium](https://modrinth.com/mod/indium)
Various rendering optimizations, should boost performance with shaders.
### [Immediately fast](https://modrinth.com/mod/immediatelyfast)
Improves rendering performance when used in combination with a dedicated GPU. (Optimizes how data is packaged and sent from the processer to your graphics card.)
# Libraries and API's
Libraries don't really have any clear additions to the game. They're generally just big dictionaries with different conde functions that other mods can look up and use - they only exist to make modders' lives easier, and that makes them pretty cool. :)
tl;dr, **This isn't incomplete, API's and libraries don't need descriptions.**
### [Fabric Language Kotlin](https://modrinth.com/mod/fabric-language-kotlin)
### [Fabric API](ttps://modrinth.com/mod/fabric-api)
### [Unilib](https://modrinth.com/mod/unilib)
### [CoroUtil](https://modrinth.com/mod/coroutil)
### [Collective](https://modrinth.com/mod/collective)
### [Cardinal Components API](https://modrinth.com/mod/cardinal-components-api)
### [Botarium (Liquid and Energy Transfer API)](https://modrinth.com/mod/botarium)
### [Balm API](https://modrinth.com/mod/balm)
### [Architectury API](https://modrinth.com/mod/architectury-api)
### [Puzzles lib](https://modrinth.com/mod/puzzles-lib)
### [Midnight lib](https://modrinth.com/mod/midnightlib)
### [Iris and Geckolib Animation Compatibility](https://modrinth.com/mod/geckoanimfix)
### [Silk Kotlin Language API](https://modrinth.com/mod/silk)
### [Gecko lib](https://modrinth.com/mod/geckolib)
### [Yet Another Config Library](https://modrinth.com/mod/yacl)
### [Iceberg Library](https://modrinth.com/mod/iceberg)
### [Trinkets](https://modrinth.com/mod/trinkets)
**See the [Mod List.](#mod-list)** (Or, alternatively, dig through the files yourself. You can find them in the `GDWeave` folder.)
# Mod List
Yup. Here are the mods. Nothin to see here. Just, y'know, a bunch of mods. That exist. They're listed there, trust me. No need to scroll, you can just take me at my word for this one. They're there.

BIN
boykisser.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 200 KiB

BIN
hairythang.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

BIN
image.ico

Binary file not shown.

Before

Width:  |  Height:  |  Size: 422 KiB

View File

@ -1,59 +0,0 @@
#!/bin/bash
# shebang!
#-H "Authorization: token c3971c2711faee3c824db29a16d4d547472cb0bf"
# ^^ 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"
moddir="/home/$USER/.minecraft"
cd ${moddir}
process0="Backing up existing mod folder..."
printf "${process0}"\\r;
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
sleep 1
process1="Removing old mods..."
printf "${process1}"\\r;
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 '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 c3971c2711faee3c824db29a16d4d547472cb0bf" -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;
sudo tar -xvzf mods.tar.gz;
# replaced?
printf "${process3} \e[32m[DONE!]\e[0m"
echo
sleep 1
#yes this is all for show it looks cool shut up
printf "Finalizing"\\r; sleep 1; printf "Finalizing."\\r; sleep 1; printf "Finalizing.."\\r; sleep 1; printf "Finalizing..."\\r; sleep 1;printf "Finalizing... \e[32m[DONE!]\e[0m";
echo
sleep 1
echo Exiting...
sleep 4
#god bash is so much nicer than windows CMD scripts
exit

View File

@ -1,97 +0,0 @@
@echo off
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 c3971c2711faee3c824db29a16d4d547472cb0bf" -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)
:: 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

View File

@ -1,166 +0,0 @@
# compiling this is easy, just run `pip install wget` and `pip install pyinstaller` and then...
# compile with `python -m PyInstaller --onefile installer.py --icon image.ico`
# (wget is a dependency for this python script that doesnt come with python by default)
#import dependencies
import wget
import tarfile
import os
import platform
import time
import shutil
from pathlib import Path
#define some functions ahead of time
def delete_directory(directory):
try:
shutil.rmtree(str(directory))
except OSError as e:
print("Error: %s - %s." % (e.filename, e.strerror))
#this defines a function to delete a directory (no shit)
def extract_tar_archive(tar_file_path, extract_to):
with tarfile.open(tar_file_path, 'r') as tar:
tar.extractall(extract_to)
#this defines a function to decompress a tar.gz file
def ascii_art():
print()
print()
print(" :+++++=")
print(" -++++++.")
print(" :++++++. .")
print(" .++++++. -=. -: .::")
print(" =+++++. :=. =- .--:. -")
print(" =+++++. .+ =: -=. :=")
print(" =+++++. +. :.=* .=: =:")
print(" =++++= .+ +. -- :+ .=")
print(" .+++++= .= ..=: :. =")
print(" .++=++- .= .+- =")
print(" ==++*=::.. * +")
print(" =*#-+- .:---:. :=-- .-=%. --=#- ..::.--")
print(" :#=-*- .::--:.*: .+ #@. - *@@- .. -#:")
print(" ++:*. .:--==:--:: .%%-.. :=.")
print(" =++.:...::::::..... :---+-:. .:.: --")
print(" *=..:::.. .=.")
print(" :-. .=:::")
print(" ..:=. :-..-:---:")
print(" ==:- .=-: :=-")
print(" .= =- :--. .--")
print(" -- :-:. -= .::::-:=.")
print(" :- =- :+ .+")
print(" --- -: .+ +.")
print(" := -= .+ =:")
print(" +. -: =: :=.")
print(" -. .=: --.....::-:")
print(" .=- .= :-:----- .::::.")
print(" .-: .= ..+:")
print(" -=......:.:-:+ :=")
print(" .::--::... := -")
print(" =: =:")
print(" --::.--")
print(" ....")
print()
#someone's gonna think im a furry or a femboy or some shit because of this.
def win_check_folder_exists(folder):
dir = os.path.normpath(str(Path.cwd()) + "/" + str(folder))
# fuck you microsoft
# this is some high-tier BULLSHIT right here
#print(dir)
if not os.path.exists(dir):
print()
print("[WARN!]: Mod folder not found. (is Fabric installed?)")
print("[WARN!]: (note: the script will go on as usual without breaking anything, but if")
print("[WARN!]: you don't have fabric installed, your mods won't load when you start the game.")
os.mkdir("mods")
print()
time.sleep(20)
#checks for mod folder existence and outputs [WARN!]
def check_for_old_mod_archive(filepath):
if os.path.exists(filepath):
print("Found previously downloaded archive, deleting... Done.")
#shut up
os.remove(filepath)
#deletes old downloaded mod archives
def compress_tar(folder_path, output_file):
with tarfile.open(output_file, "w:gz") as tar:
tar.add(folder_path, arcname=os.path.basename(folder_path))
#thank you google gemini you are a literal lifesaver
#detect operating system and find home, minecraft, & mod folders
homedir = os.path.expanduser("~")
os.chdir(homedir)
global mcfolder
global modfolder
# `global` sets these variables to exist outside of the scope of these specific `if` statements.
if platform.system() == "Linux":
print("Operating system detected: Linux")
os.chdir("/.minecraft")
mcfolder = Path.cwd()
modfolder = mcfolder + '/mods'
print("Changed current working directory to '" + str(mcfolder) + "'")
print("Backing up mod folder...")
print()
print("Don't close the window! This'll take a moment...")
compress_tar(mcfolder, "mod-backup.tar.gz")
elif platform.system() == "Windows":
print("Operating system detected: Windows")
os.chdir("AppData/Roaming/.minecraft")
mcfolder = Path.cwd()
print("Changed current working directory to '" + str(mcfolder) + "'")
win_check_folder_exists("mods")
modfolder = str(mcfolder) + '/mods'
print("Backing up mod folder...")
print()
print("Don't close the window! This'll take a moment...")
compress_tar(mcfolder, "mod-backup.tar.gz")
os.chdir(mcfolder)
time.sleep(2)
# unclear if this timeout is necessary for UX
#clear out preexisting mods
check_for_old_mod_archive("mods.tar.gz")
delete_directory("mods")
#custom function*
print("Deleting mod folder contents... Done.")
#shut up again
os.mkdir(str("mods"))
# download mod archive from https://git.adolin.xyz/saru and extract
print("Fetching mods...")
wget.download('https://git.adolin.xyz/saru/lobotomy-mod-pack/raw/branch/main/mods.tar.gz')
# #this is the SIMPLEST implementation of curl i have ever seen i just NUTTED SO FUCKING HARD
# take the last one back, this is fucking insane. `wget` the fucking goat. who knew windows package manager was so damn cool?
extract_tar_archive('mods.tar.gz', 'mods')
# ('tarfile', 'directory to extract to')
ascii_art()
#call func to print ascii art to console
print("sigma!")
print("all done!")
print("This window will exit and close in ten seconds. :)")
time.sleep(10)

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More