Compare commits

...

43 Commits

Author SHA1 Message Date
Alexander Popov 2bd6c3506b
fix macos type 2024-03-31 18:09:46 +03:00
Alexander Popov 30e5926396
bump macos version to 1.20.4 2024-03-31 18:09:12 +03:00
Alexander Popov 779f02aaec
bump windows to 1.20.4 2024-03-31 18:05:19 +03:00
Alexander Popov 219cae9a82
version parser 2024-03-31 17:57:49 +03:00
Alexander Popov 9b2fdfda39
remove failed libs 2024-03-31 17:47:56 +03:00
Alexander Popov 1c7541eb76
bump linux version to 1.20.4 2024-03-31 17:22:24 +03:00
Alexander Popov 93924d50ba
added git reppo in src comment 2024-03-31 16:59:15 +03:00
Alexander Popov f17fa75dfb
added colors 2024-03-31 16:58:59 +03:00
Alexander Popov 582aedfd2e
added userdata dir by default 2024-03-31 16:50:22 +03:00
Alexander Popov 074112bce3
fix Konsole title change 2024-03-31 16:49:07 +03:00
Alexander Popov 4df1b53fc4
update README 2024-03-31 16:35:34 +03:00
Alexander Popov c73dc3c015
added curl checking 2024-03-31 16:20:41 +03:00
Alexander Popov 04883a7cd7
Assets downloader 2024-03-31 16:11:02 +03:00
Alexander Popov b877ff2dbc
added EditorConfig 2024-03-31 13:40:13 +03:00
Alexander Popov 8909077e6e
fixes 2024-03-31 11:15:16 +03:00
Alexander Popov 11a35a0d75
added 1.19.2-forge-43.3.8 for windows 2024-03-31 10:53:55 +03:00
Alexander Popov 49f3d41f7b
added 1.19.2-forge-43.3.8 for linux 2024-03-28 22:30:30 +03:00
Alexander Popov eac453ce91
1.20.4 2024-03-08 17:13:01 +03:00
Alexander Popov 8e2aa5567e
add other releases list 2023-12-03 11:08:30 +03:00
Alexander Popov e627ad8909
add other releases 2023-12-03 11:03:08 +03:00
Alexander Popov 6b11a23027
Update linux clent to 1.20.2
Store one version in repo (move old files)
2023-12-03 11:01:41 +03:00
Alexander Popov 662c736a5b
Update forge links 2023-08-09 17:14:12 +03:00
Alexander Popov c88ba587ae
Dirty Forge 47.1.43 launcher 2023-08-09 17:10:50 +03:00
Alexander Popov f28a14f4bb
update java path 2023-08-09 16:57:25 +03:00
Alexander Popov ade22f5f4a
update release 2023-07-13 02:44:29 +03:00
Alexander Popov a620e02067
bump to 1.20.1 2023-07-13 02:42:22 +03:00
Alexander Popov 862336a070
bump to 1.20.1 2023-07-13 02:39:52 +03:00
Alexander Popov 36ce1d14e8
bump to 1.20.1 2023-06-14 23:51:23 +03:00
Alexander Popov 0f99689117 bump 1.19.4 2023-03-22 12:25:06 +03:00
Alexander Popov a9d47320a5 add FORGE 1.16.5 2023-03-22 11:59:46 +03:00
Alexander Popov 550a5f18e0 fix quotes in variable set 2023-03-22 11:48:45 +03:00
Alexander Popov 8e91443674 change index value 2023-03-22 10:38:58 +03:00
Alexander Popov deb489f580 update libs to 1.19.4 2023-03-22 10:10:58 +03:00
Alexander Popov c62974a138
change latest release link 2022-09-16 03:57:25 +03:00
Alexander Popov 1ccc860233 1.19.2 update 2022-09-14 00:03:51 +03:00
Alexander Popov 5e2abec7d5 check empty PLAYER name 2022-09-13 23:54:54 +03:00
Alexander Popov 7c750c43c9 fix echo and add launcher title 2022-09-13 23:50:19 +03:00
Alexander Popov 2bba3657b8
update OSX to 1.19.2 2022-09-13 23:08:23 +03:00
Alexander Popov 21ab626d1f
update Windows to 1.19.2 2022-09-13 23:06:43 +03:00
Alexander Popov 22f34f8ec8
separate long LIBRARIES line 2022-09-13 23:02:07 +03:00
Alexander Popov 47fcf9a914
update linux to 1.19.2 2022-09-13 22:54:50 +03:00
Alexander Popov cd46e80bfa add HISTORY file 2022-07-30 23:12:07 +03:00
Alexander Popov 7738195e5c update maket 2022-07-30 23:05:43 +03:00
30 changed files with 1321 additions and 266 deletions

12
.editorconfig Normal file
View File

@ -0,0 +1,12 @@
root = true
[*]
indent_style = space
indent_size = 4
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
[*.md]
trim_trailing_whitespace = false

3
.gitmodules vendored Normal file
View File

@ -0,0 +1,3 @@
[submodule "deps/colors.sh"]
path = deps/colors.sh
url = https://git.a2s.su/iiiypuk/colors.sh.git

31
HISTORY.md Normal file
View File

@ -0,0 +1,31 @@
## Legend
- 🐛 - Bug
- ✔️ - Fixed
- ❌ - Removed
- - Added
- - Information
- ♻️ - Edited
## 31/03/2024 - (1.20.4 Update) **beta**
- - Linux client updated to 1.20.4 version
## 03/12/2023 - (1.20.2 Update) **beta**
- - Linux client updated to 1.20.2 version
## 13/07/2023 - (1.20.1 Update) **beta**
- - Client updated to 1.20.1 version
## 22/03/2023 - (1.19.4 Update)
- - Client updated to 1.19.4 version
- ✔️ - Fixed quotes in set variables for Windows launcher
## 14/09/2022 - (1.19.2 Update)
- - Update to 1.19.2 client version
- - Added check for empty player name
- - Added laucher title
- ✔️ - Fixed Windows echo bug
- ✔️ - Fixed long LIBRAIRES string variable
## 30/07/2022 - (macOS Release)
- ✔️ - Update to 1.19.1 client version
- - First macOS version

View File

@ -1,4 +1,5 @@
## Minecraft Natives
The natives catalog is located on [Mega.nz](https://mega.nz/#F!hUNg0Y6I!93cYw1NZg4MUWUHaVrCO7w).
Not need **after the 1.19** version.
**UPD 1:** 1.20.2 need natives.
**UPD:** Not need **after the 1.19** version.

View File

@ -14,9 +14,15 @@
# 🏁 Releases 🏁
**View all releases:**
[Latest release `1.20.1`](https://git.a2s.su/iiiypuk/minecraft-launcher/releases/tag/1.20.1). See other releases [this](RELEASES.md).
🐧 [Linux](https://git.a2s.su/iiiypuk/minecraft-launcher/raw/branch/master/linux/minecraft_vanilla.sh)
🪟 [Windows](https://git.a2s.su/iiiypuk/minecraft-launcher/raw/branch/master/windows/minecraft_vanilla.bat)
🍎 [macOS](https://git.a2s.su/iiiypuk/minecraft-launcher/raw/branch/master/macos/minecraft_vanilla.sh)
⬇️ [All releases | Все релизы](https://git.a2s.su/iiiypuk/minecraft-launcher/releases)
**Vanilla:**
* 🐧 [Linux](https://git.a2s.su/iiiypuk/minecraft-launcher/raw/branch/master/vanilla/linux.sh)
* 🪟 [Windows](https://git.a2s.su/iiiypuk/minecraft-launcher/raw/branch/master/vanilla/windows.bat)
* 🍎 [macOS](https://git.a2s.su/iiiypuk/minecraft-launcher/raw/branch/master/vanilla/macos.sh)
**Forge:**
* 🪟 [Windows `1.16.5-forge-36.2.34`](https://git.a2s.su/iiiypuk/minecraft-launcher/raw/branch/master/forge/1.16.5-forge-36.2.34/1.16.5-forge-36.2.34-windows.bat)
* 🖥️ [Linux/macOS `1.20.1-forge-47.1.43`](https://git.a2s.su/iiiypuk/minecraft-launcher/raw/branch/master/forge/1.20.1-forge-47.1.43/1.20.1-forge-47.1.43-unix.sh)

32
RELEASES.md Normal file
View File

@ -0,0 +1,32 @@
# 🏁 Releases 🏁
* ⬇️ [Latest release `1.20.1`](https://git.a2s.su/iiiypuk/minecraft-launcher/releases/tag/1.20.1)
* ⬇️ [`1.19.4`](https://git.a2s.su/iiiypuk/minecraft-launcher/releases/tag/1.19.4)
* ⬇️ [`1.19.2`](https://git.a2s.su/iiiypuk/minecraft-launcher/releases/tag/1.19.2)
* ⬇️ [`1.19.1`](https://git.a2s.su/iiiypuk/minecraft-launcher/releases/tag/1.19.1)
* ⬇️ [`1.19`](https://git.a2s.su/iiiypuk/minecraft-launcher/releases/tag/1.19)
* ⬇️ [`1.18.2`](https://git.a2s.su/iiiypuk/minecraft-launcher/releases/tag/1.18.2)
* ⬇️ [`1.17.1`](https://git.a2s.su/iiiypuk/minecraft-launcher/releases/tag/1.17.1)
* ⬇️ [`1.16.5`](https://git.a2s.su/iiiypuk/minecraft-launcher/releases/tag/1.16.5)
* ⬇️ [`1.16.4`](https://git.a2s.su/iiiypuk/minecraft-launcher/releases/tag/1.16.4)
* ⬇️ [`1.16.3`](https://git.a2s.su/iiiypuk/minecraft-launcher/releases/tag/1.16.3)
* ⬇️ [`1.15.2`](https://git.a2s.su/iiiypuk/minecraft-launcher/releases/tag/1.15.2)
* ⬇️ [`1.14.1`](https://git.a2s.su/iiiypuk/minecraft-launcher/releases/tag/1.14.1)
* ⬇️ [`1.12.2`](https://git.a2s.su/iiiypuk/minecraft-launcher/releases/tag/1.12.2)
* ⬇️ [`1.11.2`](https://git.a2s.su/iiiypuk/minecraft-launcher/releases/tag/1.11.2)
* ⬇️ [`1.10.2`](https://git.a2s.su/iiiypuk/minecraft-launcher/src/commit/b2beb3cbbc057f57f01b4db86b1fbe371b7d530d)
* ⬇️ [`1.8.9`](https://git.a2s.su/iiiypuk/minecraft-launcher/src/commit/e4ecb9ba74de7e117a9242e75f89131cd46a4b7b)
* ⬇️ [`1.7.10`](https://git.a2s.su/iiiypuk/minecraft-launcher/src/commit/7368e2478c3b48f25bc61e6c471803f230b38f6b)
* ⬇️ [`1.7.9`](https://git.a2s.su/iiiypuk/minecraft-launcher/src/commit/acefff87232ff10b7d1ffeb2efc018f0ebe7e47e)
* ⬇️ [`1.7.2-v2`](https://git.a2s.su/iiiypuk/minecraft-launcher/releases/tag/1.7.2-v2)
**Vanilla:**
* 🐧 [Linux](https://git.a2s.su/iiiypuk/minecraft-launcher/raw/branch/master/vanilla/linux.sh)
* 🪟 [Windows](https://git.a2s.su/iiiypuk/minecraft-launcher/raw/branch/master/vanilla/windows.bat)
* 🍎 [macOS](https://git.a2s.su/iiiypuk/minecraft-launcher/raw/branch/master/vanilla/macos.sh)
**Forge:**
* 🪟 [Windows `1.16.5-forge-36.2.34`](https://git.a2s.su/iiiypuk/minecraft-launcher/raw/branch/master/forge/1.16.5-forge-36.2.34/1.16.5-forge-36.2.34-windows.bat)
* 🖥️ [Linux/macOS `1.20.1-forge-47.1.43`](https://git.a2s.su/iiiypuk/minecraft-launcher/raw/branch/master/forge/1.20.1-forge-47.1.43/1.20.1-forge-47.1.43-unix.sh)

5
TODO.md Normal file
View File

@ -0,0 +1,5 @@
# TODO
- [x] assets downloader
- [x] library parser
- [ ] library downloader

1
deps/colors.sh vendored Submodule

@ -0,0 +1 @@
Subproject commit 9efc4b0ec45765dcb3f7bfd22d167f369eff88b1

View File

@ -0,0 +1,129 @@
@echo off
title Minecraft Launcher
echo Minecraft Launcher by iiiypuk
echo =============================
:: set username
set /p PLAYER=What username would you like?
IF [%PLAYER%] == [] set PLAYER=Steve
:: main directory of the game
set MC_DIR=.\
:: Are stored here...
:: saves/, resourcepacks/ and screenshots/ dirs
:: and options.txt and servers.dat files
set GAME_DIR=%MC_DIR%
:: libraries and resource dir (requires no changes)
set ASSETS_DIR=%MC_DIR%\assets
set ASSETS_INDEX=1.16
:: get archive from natives/ dir
set NATIVES_DIR=%MC_DIR%\bin\1.16.5
:: version minecraft (from versions/ dir)
set GAME_VERSION=1.16.5-forge-36.2.34
:: *.jar paths from version.json
set LIBRARIES_LIST=^
%MC_DIR%/libraries/net/minecraftforge/forge/1.16.5-36.2.34/forge-1.16.5-36.2.34.jar;^
%MC_DIR%/libraries/org/ow2/asm/asm/9.1/asm-9.1.jar;^
%MC_DIR%/libraries/org/ow2/asm/asm-commons/9.1/asm-commons-9.1.jar;^
%MC_DIR%/libraries/org/ow2/asm/asm-tree/9.1/asm-tree-9.1.jar;^
%MC_DIR%/libraries/org/ow2/asm/asm-util/9.1/asm-util-9.1.jar;^
%MC_DIR%/libraries/org/ow2/asm/asm-analysis/9.1/asm-analysis-9.1.jar;^
%MC_DIR%/libraries/cpw/mods/modlauncher/8.1.3/modlauncher-8.1.3.jar;^
%MC_DIR%/libraries/cpw/mods/grossjava9hacks/1.3.3/grossjava9hacks-1.3.3.jar;^
%MC_DIR%/libraries/net/minecraftforge/accesstransformers/3.0.1/accesstransformers-3.0.1.jar;^
%MC_DIR%/libraries/org/antlr/antlr4-runtime/4.9.1/antlr4-runtime-4.9.1.jar;^
%MC_DIR%/libraries/net/minecraftforge/eventbus/4.0.0/eventbus-4.0.0.jar;^
%MC_DIR%/libraries/net/minecraftforge/forgespi/3.2.0/forgespi-3.2.0.jar;^
%MC_DIR%/libraries/net/minecraftforge/coremods/4.0.6/coremods-4.0.6.jar;^
%MC_DIR%/libraries/net/minecraftforge/unsafe/0.2.0/unsafe-0.2.0.jar;^
%MC_DIR%/libraries/com/electronwill/night-config/core/3.6.3/core-3.6.3.jar;^
%MC_DIR%/libraries/com/electronwill/night-config/toml/3.6.3/toml-3.6.3.jar;^
%MC_DIR%/libraries/org/jline/jline/3.12.1/jline-3.12.1.jar;^
%MC_DIR%/libraries/org/apache/maven/maven-artifact/3.6.3/maven-artifact-3.6.3.jar;^
%MC_DIR%/libraries/net/jodah/typetools/0.8.3/typetools-0.8.3.jar;^
%MC_DIR%/libraries/org/apache/logging/log4j/log4j-api/2.15.0/log4j-api-2.15.0.jar;^
%MC_DIR%/libraries/org/apache/logging/log4j/log4j-core/2.15.0/log4j-core-2.15.0.jar;^
%MC_DIR%/libraries/org/apache/logging/log4j/log4j-slf4j18-impl/2.15.0/log4j-slf4j18-impl-2.15.0.jar;^
%MC_DIR%/libraries/net/minecrell/terminalconsoleappender/1.2.0/terminalconsoleappender-1.2.0.jar;^
%MC_DIR%/libraries/net/sf/jopt-simple/jopt-simple/5.0.4/jopt-simple-5.0.4.jar;^
%MC_DIR%/libraries/org/spongepowered/mixin/0.8.4/mixin-0.8.4.jar;^
%MC_DIR%/libraries/net/minecraftforge/nashorn-core-compat/15.1.1.1/nashorn-core-compat-15.1.1.1.jar;^
%MC_DIR%/libraries/com/mojang/patchy/1.3.9/patchy-1.3.9.jar;^
%MC_DIR%/libraries/oshi-project/oshi-core/1.1/oshi-core-1.1.jar;^
%MC_DIR%/libraries/net/java/dev/jna/jna/4.4.0/jna-4.4.0.jar;^
%MC_DIR%/libraries/net/java/dev/jna/platform/3.4.0/platform-3.4.0.jar;^
%MC_DIR%/libraries/com/ibm/icu/icu4j/66.1/icu4j-66.1.jar;^
%MC_DIR%/libraries/com/mojang/javabridge/1.0.22/javabridge-1.0.22.jar;^
%MC_DIR%/libraries/net/sf/jopt-simple/jopt-simple/5.0.3/jopt-simple-5.0.3.jar;^
%MC_DIR%/libraries/io/netty/netty-all/4.1.25.Final/netty-all-4.1.25.Final.jar;^
%MC_DIR%/libraries/com/google/guava/guava/21.0/guava-21.0.jar;^
%MC_DIR%/libraries/org/apache/commons/commons-lang3/3.5/commons-lang3-3.5.jar;^
%MC_DIR%/libraries/commons-io/commons-io/2.5/commons-io-2.5.jar;^
%MC_DIR%/libraries/commons-codec/commons-codec/1.10/commons-codec-1.10.jar;^
%MC_DIR%/libraries/net/java/jinput/jinput/2.0.5/jinput-2.0.5.jar;^
%MC_DIR%/libraries/net/java/jutils/jutils/1.0.0/jutils-1.0.0.jar;^
%MC_DIR%/libraries/com/mojang/brigadier/1.0.17/brigadier-1.0.17.jar;^
%MC_DIR%/libraries/com/mojang/datafixerupper/4.0.26/datafixerupper-4.0.26.jar;^
%MC_DIR%/libraries/com/google/code/gson/gson/2.8.0/gson-2.8.0.jar;^
%MC_DIR%/libraries/com/mojang/authlib/2.1.28/authlib-2.1.28.jar;^
%MC_DIR%/libraries/org/apache/commons/commons-compress/1.8.1/commons-compress-1.8.1.jar;^
%MC_DIR%/libraries/org/apache/httpcomponents/httpclient/4.3.3/httpclient-4.3.3.jar;^
%MC_DIR%/libraries/commons-logging/commons-logging/1.1.3/commons-logging-1.1.3.jar;^
%MC_DIR%/libraries/org/apache/httpcomponents/httpcore/4.3.2/httpcore-4.3.2.jar;^
%MC_DIR%/libraries/it/unimi/dsi/fastutil/8.2.1/fastutil-8.2.1.jar;^
%MC_DIR%/libraries/org/apache/logging/log4j/log4j-api/2.8.1/log4j-api-2.8.1.jar;^
%MC_DIR%/libraries/org/apache/logging/log4j/log4j-core/2.8.1/log4j-core-2.8.1.jar;^
%MC_DIR%/libraries/org/lwjgl/lwjgl/3.2.2/lwjgl-3.2.2.jar;^
%MC_DIR%/libraries/org/lwjgl/lwjgl-jemalloc/3.2.2/lwjgl-jemalloc-3.2.2.jar;^
%MC_DIR%/libraries/org/lwjgl/lwjgl-openal/3.2.2/lwjgl-openal-3.2.2.jar;^
%MC_DIR%/libraries/org/lwjgl/lwjgl-opengl/3.2.2/lwjgl-opengl-3.2.2.jar;^
%MC_DIR%/libraries/org/lwjgl/lwjgl-glfw/3.2.2/lwjgl-glfw-3.2.2.jar;^
%MC_DIR%/libraries/org/lwjgl/lwjgl-stb/3.2.2/lwjgl-stb-3.2.2.jar;^
%MC_DIR%/libraries/org/lwjgl/lwjgl-tinyfd/3.2.2/lwjgl-tinyfd-3.2.2.jar;^
%MC_DIR%/libraries/org/lwjgl/lwjgl/3.2.2/lwjgl-3.2.2.jar;^
%MC_DIR%/libraries/org/lwjgl/lwjgl-jemalloc/3.2.2/lwjgl-jemalloc-3.2.2.jar;^
%MC_DIR%/libraries/org/lwjgl/lwjgl-openal/3.2.2/lwjgl-openal-3.2.2.jar;^
%MC_DIR%/libraries/org/lwjgl/lwjgl-opengl/3.2.2/lwjgl-opengl-3.2.2.jar;^
%MC_DIR%/libraries/org/lwjgl/lwjgl-glfw/3.2.2/lwjgl-glfw-3.2.2.jar;^
%MC_DIR%/libraries/org/lwjgl/lwjgl-tinyfd/3.2.2/lwjgl-tinyfd-3.2.2.jar;^
%MC_DIR%/libraries/org/lwjgl/lwjgl-stb/3.2.2/lwjgl-stb-3.2.2.jar;^
%MC_DIR%/libraries/com/mojang/text2speech/1.11.3/text2speech-1.11.3.jar;^
%MC_DIR%/libraries/com/mojang/text2speech/1.11.3/text2speech-1.11.3.jar;^
%MC_DIR%/versions/%GAME_VERSION%/%GAME_VERSION%.jar
:: player nickname (the over head)
set PLAYER_NAME=%PLAYER%
:: game window resolution
set WINDOW_W=800
set WINDOW_H=640
:: java machine arguments
set JVM_RAM=-Xmx2G
set JVM_ARGS=-XX:+UnlockExperimentalVMOptions -XX:+IgnoreUnrecognizedVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M -XX:+IgnoreUnrecognizedVMOptions --add-opens=java.base/java.util.jar=ALL-UNNAMED --add-exports=java.base/sun.security.util=ALL-UNNAMED --add-exports=jdk.naming.dns/com.sun.jndi.dns=java.naming --add-exports=java.base/sun.security.util=ALL-UNNAMED --add-exports=jdk.naming.dns/com.sun.jndi.dns=java.naming --add-opens=java.base/java.util.jar=ALL-UNNAMED
:: running minecraft
cd /d %MC_DIR%
java.exe %JVM_RAM% %JVM_ARGS% ^
-Djava.library.path=%NATIVES_DIR% ^
-cp %LIBRARIES_LIST% ^
cpw.mods.modlauncher.Launcher ^
--launchTarget fmlclient ^
--fml.forgeVersion 36.2.34 ^
--fml.mcVersion 1.16.5 ^
--fml.forgeGroup net.minecraftforge ^
--fml.mcpVersion 20210115.111550 ^
--username %PLAYER_NAME% ^
--version %GAME_VERSION% ^
--accessToken 0 --userProperties {} ^
--gameDir %GAME_DIR% ^
--assetsDir %ASSETS_DIR% ^
--assetIndex %ASSETS_INDEX% ^
--width %WINDOW_W% ^
--height %WINDOW_H%

View File

@ -0,0 +1,168 @@
#!/bin/sh
echo -ne "\033]2;Minecraft Launcher\007"
# Launcher title
echo "Minecraft Launcher by iiiypuk"
echo "============================="
# Set username
read -p "What username would you like? " player
if [ ! $player ]; then
player="Steve"
fi
# A minecraft root directory
MC_DIR=$HOME/.minecraft
# Are stored here...
# saves/, resourcepacks/ and screenshots/ dirs
# and options.txt and servers.dat files
GAME_DIR=$MC_DIR/userdata/
# Libraries and resource dir (requires no changes)
ASSETS_DIR=$MC_DIR/assets
ASSETS_INDEX=1.19
# Version minecraft (from versions/ dir)
GAME_VERSION=1.19.2-forge-43.3.8
# *.jar paths from version.json
LIBRARIES_LIST="\
$MC_DIR/libraries/com/mojang/logging/1.0.0/logging-1.0.0.jar:\
$MC_DIR/libraries/com/mojang/blocklist/1.0.10/blocklist-1.0.10.jar:\
$MC_DIR/libraries/com/mojang/patchy/2.2.10/patchy-2.2.10.jar:\
$MC_DIR/libraries/com/github/oshi/oshi-core/5.8.5/oshi-core-5.8.5.jar:\
$MC_DIR/libraries/net/java/dev/jna/jna/5.10.0/jna-5.10.0.jar:\
$MC_DIR/libraries/net/java/dev/jna/jna-platform/5.10.0/jna-platform-5.10.0.jar:\
$MC_DIR/libraries/org/slf4j/slf4j-api/1.8.0-beta4/slf4j-api-1.8.0-beta4.jar:\
$MC_DIR/libraries/org/apache/logging/log4j/log4j-slf4j18-impl/2.17.0/log4j-slf4j18-impl-2.17.0.jar:\
$MC_DIR/libraries/com/ibm/icu/icu4j/70.1/icu4j-70.1.jar:\
$MC_DIR/libraries/com/mojang/javabridge/1.2.24/javabridge-1.2.24.jar:\
$MC_DIR/libraries/net/sf/jopt-simple/jopt-simple/5.0.4/jopt-simple-5.0.4.jar:\
$MC_DIR/libraries/io/netty/netty-common/4.1.77.Final/netty-common-4.1.77.Final.jar:\
$MC_DIR/libraries/io/netty/netty-buffer/4.1.77.Final/netty-buffer-4.1.77.Final.jar:\
$MC_DIR/libraries/io/netty/netty-codec/4.1.77.Final/netty-codec-4.1.77.Final.jar:\
$MC_DIR/libraries/io/netty/netty-handler/4.1.77.Final/netty-handler-4.1.77.Final.jar:\
$MC_DIR/libraries/io/netty/netty-resolver/4.1.77.Final/netty-resolver-4.1.77.Final.jar:\
$MC_DIR/libraries/io/netty/netty-transport/4.1.77.Final/netty-transport-4.1.77.Final.jar:\
$MC_DIR/libraries/io/netty/netty-transport-native-unix-common/4.1.77.Final/netty-transport-native-unix-common-4.1.77.Final.jar:\
$MC_DIR/libraries/io/netty/netty-transport-classes-epoll/4.1.77.Final/netty-transport-classes-epoll-4.1.77.Final.jar:\
$MC_DIR/libraries/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar:\
$MC_DIR/libraries/com/google/guava/guava/31.0.1-jre/guava-31.0.1-jre.jar:\
$MC_DIR/libraries/org/apache/commons/commons-lang3/3.12.0/commons-lang3-3.12.0.jar:\
$MC_DIR/libraries/commons-io/commons-io/2.11.0/commons-io-2.11.0.jar:\
$MC_DIR/libraries/commons-codec/commons-codec/1.15/commons-codec-1.15.jar:\
$MC_DIR/libraries/com/mojang/brigadier/1.0.18/brigadier-1.0.18.jar:\
$MC_DIR/libraries/com/mojang/datafixerupper/5.0.28/datafixerupper-5.0.28.jar:\
$MC_DIR/libraries/com/google/code/gson/gson/2.8.9/gson-2.8.9.jar:\
$MC_DIR/libraries/com/mojang/authlib/3.11.49/authlib-3.11.49.jar:\
$MC_DIR/libraries/org/apache/commons/commons-compress/1.21/commons-compress-1.21.jar:\
$MC_DIR/libraries/org/apache/httpcomponents/httpclient/4.5.13/httpclient-4.5.13.jar:\
$MC_DIR/libraries/commons-logging/commons-logging/1.2/commons-logging-1.2.jar:\
$MC_DIR/libraries/org/apache/httpcomponents/httpcore/4.4.14/httpcore-4.4.14.jar:\
$MC_DIR/libraries/it/unimi/dsi/fastutil/8.5.6/fastutil-8.5.6.jar:\
$MC_DIR/libraries/org/apache/logging/log4j/log4j-api/2.17.0/log4j-api-2.17.0.jar:\
$MC_DIR/libraries/org/apache/logging/log4j/log4j-core/2.17.0/log4j-core-2.17.0.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl/3.3.1/lwjgl-3.3.1.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl/3.3.1/lwjgl-3.3.1-natives-linux.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl/3.3.1/lwjgl-3.3.1-natives-linux-x86.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-jemalloc/3.3.1/lwjgl-jemalloc-3.3.1.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-jemalloc/3.3.1/lwjgl-jemalloc-3.3.1-natives-linux.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-jemalloc/3.3.1/lwjgl-jemalloc-3.3.1-natives-linux-x86.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-openal/3.3.1/lwjgl-openal-3.3.1.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-openal/3.3.1/lwjgl-openal-3.3.1-natives-linux.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-openal/3.3.1/lwjgl-openal-3.3.1-natives-linux-x86.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-opengl/3.3.1/lwjgl-opengl-3.3.1.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-opengl/3.3.1/lwjgl-opengl-3.3.1-natives-linux.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-opengl/3.3.1/lwjgl-opengl-3.3.1-natives-linux-x86.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-glfw/3.3.1/lwjgl-glfw-3.3.1.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-glfw/3.3.1/lwjgl-glfw-3.3.1-natives-linux.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-glfw/3.3.1/lwjgl-glfw-3.3.1-natives-linux-x86.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-stb/3.3.1/lwjgl-stb-3.3.1.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-stb/3.3.1/lwjgl-stb-3.3.1-natives-linux.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-stb/3.3.1/lwjgl-stb-3.3.1-natives-linux-x86.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-tinyfd/3.3.1/lwjgl-tinyfd-3.3.1.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-tinyfd/3.3.1/lwjgl-tinyfd-3.3.1-natives-linux.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-tinyfd/3.3.1/lwjgl-tinyfd-3.3.1-natives-linux-x86.jar:\
$MC_DIR/libraries/com/mojang/text2speech/1.16.7/text2speech-1.16.7.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-glfw/3.3.1/lwjgl-glfw-3.3.1-natives-linux-arm64.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-jemalloc/3.3.1/lwjgl-jemalloc-3.3.1-natives-linux-arm64.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-openal/3.3.1/lwjgl-openal-3.3.1-natives-linux-arm64.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-opengl/3.3.1/lwjgl-opengl-3.3.1-natives-linux-arm64.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-stb/3.3.1/lwjgl-stb-3.3.1-natives-linux-arm64.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-tinyfd/3.3.1/lwjgl-tinyfd-3.3.1-natives-linux-arm64.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl/3.3.1/lwjgl-3.3.1-natives-linux-arm64.jar:\
$MC_DIR/libraries/cpw/mods/securejarhandler/2.1.4/securejarhandler-2.1.4.jar:\
$MC_DIR/libraries/org/ow2/asm/asm/9.5/asm-9.5.jar:\
$MC_DIR/libraries/org/ow2/asm/asm-commons/9.5/asm-commons-9.5.jar:\
$MC_DIR/libraries/org/ow2/asm/asm-tree/9.5/asm-tree-9.5.jar:\
$MC_DIR/libraries/org/ow2/asm/asm-util/9.5/asm-util-9.5.jar:\
$MC_DIR/libraries/org/ow2/asm/asm-analysis/9.5/asm-analysis-9.5.jar:\
$MC_DIR/libraries/net/minecraftforge/accesstransformers/8.0.4/accesstransformers-8.0.4.jar:\
$MC_DIR/libraries/org/antlr/antlr4-runtime/4.9.1/antlr4-runtime-4.9.1.jar:\
$MC_DIR/libraries/net/minecraftforge/eventbus/6.0.3/eventbus-6.0.3.jar:\
$MC_DIR/libraries/net/minecraftforge/forgespi/6.0.0/forgespi-6.0.0.jar:\
$MC_DIR/libraries/net/minecraftforge/coremods/5.0.1/coremods-5.0.1.jar:\
$MC_DIR/libraries/cpw/mods/modlauncher/10.0.8/modlauncher-10.0.8.jar:\
$MC_DIR/libraries/net/minecraftforge/unsafe/0.2.0/unsafe-0.2.0.jar:\
$MC_DIR/libraries/com/electronwill/night-config/core/3.6.4/core-3.6.4.jar:\
$MC_DIR/libraries/com/electronwill/night-config/toml/3.6.4/toml-3.6.4.jar:\
$MC_DIR/libraries/org/apache/maven/maven-artifact/3.8.5/maven-artifact-3.8.5.jar:\
$MC_DIR/libraries/net/jodah/typetools/0.8.3/typetools-0.8.3.jar:\
$MC_DIR/libraries/net/minecrell/terminalconsoleappender/1.2.0/terminalconsoleappender-1.2.0.jar:\
$MC_DIR/libraries/org/jline/jline-reader/3.12.1/jline-reader-3.12.1.jar:\
$MC_DIR/libraries/org/jline/jline-terminal/3.12.1/jline-terminal-3.12.1.jar:\
$MC_DIR/libraries/org/spongepowered/mixin/0.8.5/mixin-0.8.5.jar:\
$MC_DIR/libraries/org/openjdk/nashorn/nashorn-core/15.3/nashorn-core-15.3.jar:\
$MC_DIR/libraries/net/minecraftforge/JarJarSelector/0.3.16/JarJarSelector-0.3.16.jar:\
$MC_DIR/libraries/net/minecraftforge/JarJarMetadata/0.3.16/JarJarMetadata-0.3.16.jar:\
$MC_DIR/libraries/cpw/mods/bootstraplauncher/1.1.2/bootstraplauncher-1.1.2.jar:\
$MC_DIR/libraries/net/minecraftforge/JarJarFileSystems/0.3.16/JarJarFileSystems-0.3.16.jar:\
$MC_DIR/libraries/net/minecraftforge/fmlloader/1.19.2-43.3.8/fmlloader-1.19.2-43.3.8.jar:\
$MC_DIR/versions/$GAME_VERSION/GAME_VERSION.jar"
# Player nickname (the over head)
PLAYER_NAME=$player
# Game window resolution
WINDOW_W=800
WINDOW_H=640
# Java machine arguments
JVM_RAM="-Xmx2G"
JVM_ARGS="-XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M"
# Running minecraft
cd $MC_DIR
$MC_DIR/runtime/java-runtime-gamma/linux/java-runtime-gamma/bin/java \
$JVM_RAM $JVM_ARGS \
-Djava.net.preferIPv6Addresses=system \
-DignoreList=bootstraplauncher,securejarhandler,asm-commons,asm-util,asm-analysis,asm-tree,asm,JarJarFileSystems,client-extra,fmlcore,javafmllanguage,lowcodelanguage,mclanguage,forge-,1.20.1-forge-47.1.43.jar \
-p $MC_DIR/libraries/cpw/mods/bootstraplauncher/1.1.2/bootstraplauncher-1.1.2.jar:$MC_DIR/libraries/cpw/mods/securejarhandler/2.1.4/securejarhandler-2.1.4.jar:$MC_DIR/libraries/org/ow2/asm/asm-commons/9.5/asm-commons-9.5.jar:$MC_DIR/libraries/org/ow2/asm/asm-util/9.5/asm-util-9.5.jar:$MC_DIR/libraries/org/ow2/asm/asm-analysis/9.5/asm-analysis-9.5.jar:$MC_DIR/libraries/org/ow2/asm/asm-tree/9.5/asm-tree-9.5.jar:$MC_DIR/libraries/org/ow2/asm/asm/9.5/asm-9.5.jar:$MC_DIR/libraries/net/minecraftforge/JarJarFileSystems/0.3.16/JarJarFileSystems-0.3.16.jar \
-cp $LIBRARIES_LIST \
--add-modules ALL-MODULE-PATH \
--add-opens java.base/java.lang.invoke=ALL-UNNAMED \
--add-opens java.base/java.util.jar=cpw.mods.securejarhandler \
--add-opens java.base/java.lang.invoke=cpw.mods.securejarhandler \
--add-exports java.base/sun.security.util=cpw.mods.securejarhandler \
--add-exports jdk.naming.dns/com.sun.jndi.dns=java.naming \
-DignoreList=bootstraplauncher-1.1.2.jar,securejarhandler-2.1.4.jar,asm-commons-9.5.jar,asm-util-9.5.jar,asm-analysis-9.5.jar,asm-tree-9.5.jar,asm-9.5.jar,JarJarFileSystems-0.3.16.jar \
-DlibraryDirectory=$MC_DIR/libraries \
cpw.mods.bootstraplauncher.BootstrapLauncher \
--launchTarget forgeclient \
--fml.forgeVersion 43.3.8 \
--fml.mcVersion 1.19.2 \
--fml.forgeGroup net.minecraftforge \
--fml.mcpVersion 20220805.130853 \
--versionType release \
--username $PLAYER_NAME \
--version $GAME_VERSION \
--accessToken 0 --userProperties {} \
--gameDir $GAME_DIR \
--assetsDir $ASSETS_DIR \
--assetIndex $ASSETS_INDEX \
--width $WINDOW_W --height $WINDOW_H

View File

@ -0,0 +1,161 @@
@echo off
title Minecraft Launcher
echo Minecraft Launcher by iiiypuk
echo =============================
:: set username
set /p PLAYER=What username would you like?
IF [%PLAYER%] == [] set PLAYER=Steve
:: main directory of the game
set MC_DIR=%APPDATA%\.minecraft
:: Are stored here...
:: saves/, resourcepacks/ and screenshots/ dirs
:: and options.txt and servers.dat files
set GAME_DIR=%MC_DIR%/userdata/
:: libraries and resource dir (requires no changes)
set ASSETS_DIR=%MC_DIR%\assets
set ASSETS_INDEX=1.19
:: version minecraft (from versions/ dir)
set GAME_VERSION=1.19.2-forge-43.3.8
:: *.jar paths from version.json
set LIBRARIES_LIST=^
%MC_DIR%/libraries/com/mojang/logging/1.0.0/logging-1.0.0.jar;^
%MC_DIR%/libraries/com/mojang/blocklist/1.0.10/blocklist-1.0.10.jar;^
%MC_DIR%/libraries/com/mojang/patchy/2.2.10/patchy-2.2.10.jar;^
%MC_DIR%/libraries/com/github/oshi/oshi-core/5.8.5/oshi-core-5.8.5.jar;^
%MC_DIR%/libraries/net/java/dev/jna/jna/5.10.0/jna-5.10.0.jar;^
%MC_DIR%/libraries/net/java/dev/jna/jna-platform/5.10.0/jna-platform-5.10.0.jar;^
%MC_DIR%/libraries/org/slf4j/slf4j-api/1.8.0-beta4/slf4j-api-1.8.0-beta4.jar;^
%MC_DIR%/libraries/org/apache/logging/log4j/log4j-slf4j18-impl/2.17.0/log4j-slf4j18-impl-2.17.0.jar;^
%MC_DIR%/libraries/com/ibm/icu/icu4j/70.1/icu4j-70.1.jar;^
%MC_DIR%/libraries/com/mojang/javabridge/1.2.24/javabridge-1.2.24.jar;^
%MC_DIR%/libraries/net/sf/jopt-simple/jopt-simple/5.0.4/jopt-simple-5.0.4.jar;^
%MC_DIR%/libraries/io/netty/netty-common/4.1.77.Final/netty-common-4.1.77.Final.jar;^
%MC_DIR%/libraries/io/netty/netty-buffer/4.1.77.Final/netty-buffer-4.1.77.Final.jar;^
%MC_DIR%/libraries/io/netty/netty-codec/4.1.77.Final/netty-codec-4.1.77.Final.jar;^
%MC_DIR%/libraries/io/netty/netty-handler/4.1.77.Final/netty-handler-4.1.77.Final.jar;^
%MC_DIR%/libraries/io/netty/netty-resolver/4.1.77.Final/netty-resolver-4.1.77.Final.jar;^
%MC_DIR%/libraries/io/netty/netty-transport/4.1.77.Final/netty-transport-4.1.77.Final.jar;^
%MC_DIR%/libraries/io/netty/netty-transport-native-unix-common/4.1.77.Final/netty-transport-native-unix-common-4.1.77.Final.jar;^
%MC_DIR%/libraries/io/netty/netty-transport-classes-epoll/4.1.77.Final/netty-transport-classes-epoll-4.1.77.Final.jar;^
%MC_DIR%/libraries/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar;^
%MC_DIR%/libraries/com/google/guava/guava/31.0.1-jre/guava-31.0.1-jre.jar;^
%MC_DIR%/libraries/org/apache/commons/commons-lang3/3.12.0/commons-lang3-3.12.0.jar;^
%MC_DIR%/libraries/commons-io/commons-io/2.11.0/commons-io-2.11.0.jar;^
%MC_DIR%/libraries/commons-codec/commons-codec/1.15/commons-codec-1.15.jar;^
%MC_DIR%/libraries/com/mojang/brigadier/1.0.18/brigadier-1.0.18.jar;^
%MC_DIR%/libraries/com/mojang/datafixerupper/5.0.28/datafixerupper-5.0.28.jar;^
%MC_DIR%/libraries/com/google/code/gson/gson/2.8.9/gson-2.8.9.jar;^
%MC_DIR%/libraries/com/mojang/authlib/3.11.49/authlib-3.11.49.jar;^
%MC_DIR%/libraries/org/apache/commons/commons-compress/1.21/commons-compress-1.21.jar;^
%MC_DIR%/libraries/org/apache/httpcomponents/httpclient/4.5.13/httpclient-4.5.13.jar;^
%MC_DIR%/libraries/commons-logging/commons-logging/1.2/commons-logging-1.2.jar;^
%MC_DIR%/libraries/org/apache/httpcomponents/httpcore/4.4.14/httpcore-4.4.14.jar;^
%MC_DIR%/libraries/it/unimi/dsi/fastutil/8.5.6/fastutil-8.5.6.jar;^
%MC_DIR%/libraries/org/apache/logging/log4j/log4j-api/2.17.0/log4j-api-2.17.0.jar;^
%MC_DIR%/libraries/org/apache/logging/log4j/log4j-core/2.17.0/log4j-core-2.17.0.jar;^
%MC_DIR%/libraries/org/lwjgl/lwjgl/3.3.1/lwjgl-3.3.1.jar;^
%MC_DIR%/libraries/org/lwjgl/lwjgl/3.3.1/lwjgl-3.3.1-natives-windows.jar;^
%MC_DIR%/libraries/org/lwjgl/lwjgl/3.3.1/lwjgl-3.3.1-natives-windows-x86.jar;^
%MC_DIR%/libraries/org/lwjgl/lwjgl-jemalloc/3.3.1/lwjgl-jemalloc-3.3.1.jar;^
%MC_DIR%/libraries/org/lwjgl/lwjgl-jemalloc/3.3.1/lwjgl-jemalloc-3.3.1-natives-windows.jar;^
%MC_DIR%/libraries/org/lwjgl/lwjgl-jemalloc/3.3.1/lwjgl-jemalloc-3.3.1-natives-windows-x86.jar;^
%MC_DIR%/libraries/org/lwjgl/lwjgl-openal/3.3.1/lwjgl-openal-3.3.1.jar;^
%MC_DIR%/libraries/org/lwjgl/lwjgl-openal/3.3.1/lwjgl-openal-3.3.1-natives-windows.jar;^
%MC_DIR%/libraries/org/lwjgl/lwjgl-openal/3.3.1/lwjgl-openal-3.3.1-natives-windows-x86.jar;^
%MC_DIR%/libraries/org/lwjgl/lwjgl-opengl/3.3.1/lwjgl-opengl-3.3.1.jar;^
%MC_DIR%/libraries/org/lwjgl/lwjgl-opengl/3.3.1/lwjgl-opengl-3.3.1-natives-windows.jar;^
%MC_DIR%/libraries/org/lwjgl/lwjgl-opengl/3.3.1/lwjgl-opengl-3.3.1-natives-windows-x86.jar;^
%MC_DIR%/libraries/org/lwjgl/lwjgl-glfw/3.3.1/lwjgl-glfw-3.3.1.jar;^
%MC_DIR%/libraries/org/lwjgl/lwjgl-glfw/3.3.1/lwjgl-glfw-3.3.1-natives-windows.jar;^
%MC_DIR%/libraries/org/lwjgl/lwjgl-glfw/3.3.1/lwjgl-glfw-3.3.1-natives-windows-x86.jar;^
%MC_DIR%/libraries/org/lwjgl/lwjgl-stb/3.3.1/lwjgl-stb-3.3.1.jar;^
%MC_DIR%/libraries/org/lwjgl/lwjgl-stb/3.3.1/lwjgl-stb-3.3.1-natives-windows.jar;^
%MC_DIR%/libraries/org/lwjgl/lwjgl-stb/3.3.1/lwjgl-stb-3.3.1-natives-windows-x86.jar;^
%MC_DIR%/libraries/org/lwjgl/lwjgl-tinyfd/3.3.1/lwjgl-tinyfd-3.3.1.jar;^
%MC_DIR%/libraries/org/lwjgl/lwjgl-tinyfd/3.3.1/lwjgl-tinyfd-3.3.1-natives-windows.jar;^
%MC_DIR%/libraries/org/lwjgl/lwjgl-tinyfd/3.3.1/lwjgl-tinyfd-3.3.1-natives-windows-x86.jar;^
%MC_DIR%/libraries/com/mojang/text2speech/1.16.7/text2speech-1.16.7.jar;^
%MC_DIR%/libraries/org/lwjgl/lwjgl-glfw/3.3.1/lwjgl-glfw-3.3.1-natives-windows-arm64.jar;^
%MC_DIR%/libraries/org/lwjgl/lwjgl-jemalloc/3.3.1/lwjgl-jemalloc-3.3.1-natives-windows-arm64.jar;^
%MC_DIR%/libraries/org/lwjgl/lwjgl-openal/3.3.1/lwjgl-openal-3.3.1-natives-windows-arm64.jar;^
%MC_DIR%/libraries/org/lwjgl/lwjgl-opengl/3.3.1/lwjgl-opengl-3.3.1-natives-windows-arm64.jar;^
%MC_DIR%/libraries/org/lwjgl/lwjgl-stb/3.3.1/lwjgl-stb-3.3.1-natives-windows-arm64.jar;^
%MC_DIR%/libraries/org/lwjgl/lwjgl-tinyfd/3.3.1/lwjgl-tinyfd-3.3.1-natives-windows-arm64.jar;^
%MC_DIR%/libraries/org/lwjgl/lwjgl/3.3.1/lwjgl-3.3.1-natives-windows-arm64.jar;^
%MC_DIR%/libraries/cpw/mods/securejarhandler/2.1.4/securejarhandler-2.1.4.jar;^
%MC_DIR%/libraries/org/ow2/asm/asm/9.5/asm-9.5.jar;^
%MC_DIR%/libraries/org/ow2/asm/asm-commons/9.5/asm-commons-9.5.jar;^
%MC_DIR%/libraries/org/ow2/asm/asm-tree/9.5/asm-tree-9.5.jar;^
%MC_DIR%/libraries/org/ow2/asm/asm-util/9.5/asm-util-9.5.jar;^
%MC_DIR%/libraries/org/ow2/asm/asm-analysis/9.5/asm-analysis-9.5.jar;^
%MC_DIR%/libraries/net/minecraftforge/accesstransformers/8.0.4/accesstransformers-8.0.4.jar;^
%MC_DIR%/libraries/org/antlr/antlr4-runtime/4.9.1/antlr4-runtime-4.9.1.jar;^
%MC_DIR%/libraries/net/minecraftforge/eventbus/6.0.3/eventbus-6.0.3.jar;^
%MC_DIR%/libraries/net/minecraftforge/forgespi/6.0.0/forgespi-6.0.0.jar;^
%MC_DIR%/libraries/net/minecraftforge/coremods/5.0.1/coremods-5.0.1.jar;^
%MC_DIR%/libraries/cpw/mods/modlauncher/10.0.8/modlauncher-10.0.8.jar;^
%MC_DIR%/libraries/net/minecraftforge/unsafe/0.2.0/unsafe-0.2.0.jar;^
%MC_DIR%/libraries/com/electronwill/night-config/core/3.6.4/core-3.6.4.jar;^
%MC_DIR%/libraries/com/electronwill/night-config/toml/3.6.4/toml-3.6.4.jar;^
%MC_DIR%/libraries/org/apache/maven/maven-artifact/3.8.5/maven-artifact-3.8.5.jar;^
%MC_DIR%/libraries/net/jodah/typetools/0.8.3/typetools-0.8.3.jar;^
%MC_DIR%/libraries/net/minecrell/terminalconsoleappender/1.2.0/terminalconsoleappender-1.2.0.jar;^
%MC_DIR%/libraries/org/jline/jline-reader/3.12.1/jline-reader-3.12.1.jar;^
%MC_DIR%/libraries/org/jline/jline-terminal/3.12.1/jline-terminal-3.12.1.jar;^
%MC_DIR%/libraries/org/spongepowered/mixin/0.8.5/mixin-0.8.5.jar;^
%MC_DIR%/libraries/org/openjdk/nashorn/nashorn-core/15.3/nashorn-core-15.3.jar;^
%MC_DIR%/libraries/net/minecraftforge/JarJarSelector/0.3.16/JarJarSelector-0.3.16.jar;^
%MC_DIR%/libraries/net/minecraftforge/JarJarMetadata/0.3.16/JarJarMetadata-0.3.16.jar;^
%MC_DIR%/libraries/cpw/mods/bootstraplauncher/1.1.2/bootstraplauncher-1.1.2.jar;^
%MC_DIR%/libraries/net/minecraftforge/JarJarFileSystems/0.3.16/JarJarFileSystems-0.3.16.jar;^
%MC_DIR%/libraries/net/minecraftforge/fmlloader/1.19.2-43.3.8/fmlloader-1.19.2-43.3.8.jar;^
%MC_DIR%/versions/$GAME_VERSION/GAME_VERSION.jar
:: player nickname (the over head)
set PLAYER_NAME=%PLAYER%
:: game window resolution
set WINDOW_W=800
set WINDOW_H=640
:: java machine arguments
set JVM_RAM=-Xmx2G
set JVM_ARGS=-XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M
:: running minecraft
cd /d %MC_DIR%
java.exe %JVM_RAM% %JVM_ARGS% ^
-Djava.net.preferIPv6Addresses=system ^
-DignoreList=bootstraplauncher,securejarhandler,asm-commons,asm-util,asm-analysis,asm-tree,asm,JarJarFileSystems,client-extra,fmlcore,javafmllanguage,lowcodelanguage,mclanguage,forge-,1.20.1-forge-47.1.43.jar ^
-p %MC_DIR%/libraries/cpw/mods/bootstraplauncher/1.1.2/bootstraplauncher-1.1.2.jar;%MC_DIR%/libraries/cpw/mods/securejarhandler/2.1.4/securejarhandler-2.1.4.jar;%MC_DIR%/libraries/org/ow2/asm/asm-commons/9.5/asm-commons-9.5.jar;%MC_DIR%/libraries/org/ow2/asm/asm-util/9.5/asm-util-9.5.jar;%MC_DIR%/libraries/org/ow2/asm/asm-analysis/9.5/asm-analysis-9.5.jar;%MC_DIR%/libraries/org/ow2/asm/asm-tree/9.5/asm-tree-9.5.jar;%MC_DIR%/libraries/org/ow2/asm/asm/9.5/asm-9.5.jar;%MC_DIR%/libraries/net/minecraftforge/JarJarFileSystems/0.3.16/JarJarFileSystems-0.3.16.jar ^
-cp %LIBRARIES_LIST% ^
--add-modules ALL-MODULE-PATH ^
--add-opens java.base/java.lang.invoke=ALL-UNNAMED ^
--add-opens java.base/java.util.jar=cpw.mods.securejarhandler ^
--add-opens java.base/java.lang.invoke=cpw.mods.securejarhandler ^
--add-exports java.base/sun.security.util=cpw.mods.securejarhandler ^
--add-exports jdk.naming.dns/com.sun.jndi.dns=java.naming ^
-DignoreList=bootstraplauncher-1.1.2.jar,securejarhandler-2.1.4.jar,asm-commons-9.5.jar,asm-util-9.5.jar,asm-analysis-9.5.jar,asm-tree-9.5.jar,asm-9.5.jar,JarJarFileSystems-0.3.16.jar ^
-DlibraryDirectory=%MC_DIR%/libraries ^
cpw.mods.bootstraplauncher.BootstrapLauncher ^
--launchTarget forgeclient ^
--fml.forgeVersion 43.3.8 ^
--fml.mcVersion 1.19.2 ^
--fml.forgeGroup net.minecraftforge ^
--fml.mcpVersion 20220805.130853 ^
--versionType release ^
--username %PLAYER_NAME% ^
--version %GAME_VERSION% ^
--accessToken 0 --userProperties {} ^
--gameDir %GAME_DIR% ^
--assetsDir %ASSETS_DIR% ^
--assetIndex %ASSETS_INDEX% ^
--width %WINDOW_W% --height %WINDOW_H%

View File

@ -0,0 +1,159 @@
#!/bin/sh
echo -ne "\033]2;Minecraft Launcher\007"
# Launcher title
echo "Minecraft Launcher by iiiypuk"
echo "============================="
# Set username
read -p "What username would you like? " player
if [ ! $player ]; then
player="Steve"
fi
# A minecraft root directory
MC_DIR=$HOME/.minecraft
# Are stored here...
# saves/, resourcepacks/ and screenshots/ dirs
# and options.txt and servers.dat files
GAME_DIR=$MC_DIR
# Libraries and resource dir (requires no changes)
ASSETS_DIR=$MC_DIR/assets
ASSETS_INDEX=5
# Get archive from natives/ dir
NATIVES_DIR=/home/user/.minecraft/bin/1.20.1-forge-47.1.43/
# Version minecraft (from versions/ dir)
GAME_VERSION=1.20.1-forge-47.1.43
# *.jar paths from version.json
LIBRARIES_LIST="\
$MC_DIR/libraries/cpw/mods/securejarhandler/2.1.10/securejarhandler-2.1.10.jar:\
$MC_DIR/libraries/org/ow2/asm/asm/9.5/asm-9.5.jar:\
$MC_DIR/libraries/org/ow2/asm/asm-commons/9.5/asm-commons-9.5.jar:\
$MC_DIR/libraries/org/ow2/asm/asm-tree/9.5/asm-tree-9.5.jar:\
$MC_DIR/libraries/org/ow2/asm/asm-util/9.5/asm-util-9.5.jar:\
$MC_DIR/libraries/org/ow2/asm/asm-analysis/9.5/asm-analysis-9.5.jar:\
$MC_DIR/libraries/net/minecraftforge/accesstransformers/8.0.4/accesstransformers-8.0.4.jar:\
$MC_DIR/libraries/org/antlr/antlr4-runtime/4.9.1/antlr4-runtime-4.9.1.jar:\
$MC_DIR/libraries/net/minecraftforge/eventbus/6.0.5/eventbus-6.0.5.jar:\
$MC_DIR/libraries/net/minecraftforge/forgespi/7.0.1/forgespi-7.0.1.jar:\
$MC_DIR/libraries/net/minecraftforge/coremods/5.0.1/coremods-5.0.1.jar:\
$MC_DIR/libraries/cpw/mods/modlauncher/10.0.9/modlauncher-10.0.9.jar:\
$MC_DIR/libraries/net/minecraftforge/unsafe/0.2.0/unsafe-0.2.0.jar:\
$MC_DIR/libraries/net/minecraftforge/mergetool/1.1.5/mergetool-1.1.5-api.jar:\
$MC_DIR/libraries/com/electronwill/night-config/core/3.6.4/core-3.6.4.jar:\
$MC_DIR/libraries/com/electronwill/night-config/toml/3.6.4/toml-3.6.4.jar:\
$MC_DIR/libraries/org/apache/maven/maven-artifact/3.8.5/maven-artifact-3.8.5.jar:\
$MC_DIR/libraries/net/jodah/typetools/0.6.3/typetools-0.6.3.jar:\
$MC_DIR/libraries/net/minecrell/terminalconsoleappender/1.2.0/terminalconsoleappender-1.2.0.jar:\
$MC_DIR/libraries/org/jline/jline-reader/3.12.1/jline-reader-3.12.1.jar:\
$MC_DIR/libraries/org/jline/jline-terminal/3.12.1/jline-terminal-3.12.1.jar:\
$MC_DIR/libraries/org/spongepowered/mixin/0.8.5/mixin-0.8.5.jar:\
$MC_DIR/libraries/org/openjdk/nashorn/nashorn-core/15.3/nashorn-core-15.3.jar:\
$MC_DIR/libraries/net/minecraftforge/JarJarSelector/0.3.19/JarJarSelector-0.3.19.jar:\
$MC_DIR/libraries/net/minecraftforge/JarJarMetadata/0.3.19/JarJarMetadata-0.3.19.jar:\
$MC_DIR/libraries/cpw/mods/bootstraplauncher/1.1.2/bootstraplauncher-1.1.2.jar:\
$MC_DIR/libraries/net/minecraftforge/JarJarFileSystems/0.3.19/JarJarFileSystems-0.3.19.jar:\
$MC_DIR/libraries/net/minecraftforge/fmlloader/1.20.1-47.1.43/fmlloader-1.20.1-47.1.43.jar:\
$MC_DIR/libraries/net/minecraftforge/fmlearlydisplay/1.20.1-47.1.43/fmlearlydisplay-1.20.1-47.1.43.jar:\
$MC_DIR/libraries/com/github/oshi/oshi-core/6.2.2/oshi-core-6.2.2.jar:\
$MC_DIR/libraries/com/google/code/gson/gson/2.10/gson-2.10.jar:\
$MC_DIR/libraries/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar:\
$MC_DIR/libraries/com/google/guava/guava/31.1-jre/guava-31.1-jre.jar:\
$MC_DIR/libraries/com/ibm/icu/icu4j/71.1/icu4j-71.1.jar:\
$MC_DIR/libraries/com/mojang/authlib/4.0.43/authlib-4.0.43.jar:\
$MC_DIR/libraries/com/mojang/blocklist/1.0.10/blocklist-1.0.10.jar:\
$MC_DIR/libraries/com/mojang/brigadier/1.1.8/brigadier-1.1.8.jar:\
$MC_DIR/libraries/com/mojang/datafixerupper/6.0.8/datafixerupper-6.0.8.jar:\
$MC_DIR/libraries/com/mojang/logging/1.1.1/logging-1.1.1.jar:\
$MC_DIR/libraries/com/mojang/patchy/2.2.10/patchy-2.2.10.jar:\
$MC_DIR/libraries/com/mojang/text2speech/1.17.9/text2speech-1.17.9.jar:\
$MC_DIR/libraries/commons-codec/commons-codec/1.15/commons-codec-1.15.jar:\
$MC_DIR/libraries/commons-io/commons-io/2.11.0/commons-io-2.11.0.jar:\
$MC_DIR/libraries/commons-logging/commons-logging/1.2/commons-logging-1.2.jar:\
$MC_DIR/libraries/io/netty/netty-buffer/4.1.82.Final/netty-buffer-4.1.82.Final.jar:\
$MC_DIR/libraries/io/netty/netty-codec/4.1.82.Final/netty-codec-4.1.82.Final.jar:\
$MC_DIR/libraries/io/netty/netty-common/4.1.82.Final/netty-common-4.1.82.Final.jar:\
$MC_DIR/libraries/io/netty/netty-handler/4.1.82.Final/netty-handler-4.1.82.Final.jar:\
$MC_DIR/libraries/io/netty/netty-resolver/4.1.82.Final/netty-resolver-4.1.82.Final.jar:\
$MC_DIR/libraries/io/netty/netty-transport-classes-epoll/4.1.82.Final/netty-transport-classes-epoll-4.1.82.Final.jar:\
$MC_DIR/libraries/io/netty/netty-transport-native-epoll/4.1.82.Final/netty-transport-native-epoll-4.1.82.Final-linux-aarch_64.jar:\
$MC_DIR/libraries/io/netty/netty-transport-native-epoll/4.1.82.Final/netty-transport-native-epoll-4.1.82.Final-linux-x86_64.jar:\
$MC_DIR/libraries/io/netty/netty-transport-native-unix-common/4.1.82.Final/netty-transport-native-unix-common-4.1.82.Final.jar:\
$MC_DIR/libraries/io/netty/netty-transport/4.1.82.Final/netty-transport-4.1.82.Final.jar:\
$MC_DIR/libraries/it/unimi/dsi/fastutil/8.5.9/fastutil-8.5.9.jar:\
$MC_DIR/libraries/net/java/dev/jna/jna-platform/5.12.1/jna-platform-5.12.1.jar:\
$MC_DIR/libraries/net/java/dev/jna/jna/5.12.1/jna-5.12.1.jar:\
$MC_DIR/libraries/net/sf/jopt-simple/jopt-simple/5.0.4/jopt-simple-5.0.4.jar:\
$MC_DIR/libraries/org/apache/commons/commons-compress/1.21/commons-compress-1.21.jar:\
$MC_DIR/libraries/org/apache/commons/commons-lang3/3.12.0/commons-lang3-3.12.0.jar:\
$MC_DIR/libraries/org/apache/httpcomponents/httpclient/4.5.13/httpclient-4.5.13.jar:\
$MC_DIR/libraries/org/apache/httpcomponents/httpcore/4.4.15/httpcore-4.4.15.jar:\
$MC_DIR/libraries/org/apache/logging/log4j/log4j-api/2.19.0/log4j-api-2.19.0.jar:\
$MC_DIR/libraries/org/apache/logging/log4j/log4j-core/2.19.0/log4j-core-2.19.0.jar:\
$MC_DIR/libraries/org/apache/logging/log4j/log4j-slf4j2-impl/2.19.0/log4j-slf4j2-impl-2.19.0.jar:\
$MC_DIR/libraries/org/joml/joml/1.10.5/joml-1.10.5.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-glfw/3.3.1/lwjgl-glfw-3.3.1.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-glfw/3.3.1/lwjgl-glfw-3.3.1-natives-linux.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-jemalloc/3.3.1/lwjgl-jemalloc-3.3.1.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-jemalloc/3.3.1/lwjgl-jemalloc-3.3.1-natives-linux.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-openal/3.3.1/lwjgl-openal-3.3.1.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-openal/3.3.1/lwjgl-openal-3.3.1-natives-linux.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-opengl/3.3.1/lwjgl-opengl-3.3.1.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-opengl/3.3.1/lwjgl-opengl-3.3.1-natives-linux.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-stb/3.3.1/lwjgl-stb-3.3.1.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-stb/3.3.1/lwjgl-stb-3.3.1-natives-linux.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-tinyfd/3.3.1/lwjgl-tinyfd-3.3.1.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-tinyfd/3.3.1/lwjgl-tinyfd-3.3.1-natives-linux.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl/3.3.1/lwjgl-3.3.1.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl/3.3.1/lwjgl-3.3.1-natives-linux.jar:\
$MC_DIR/libraries/org/slf4j/slf4j-api/2.0.1/slf4j-api-2.0.1.jar:\
$MC_DIR/versions/1.20.1-forge-47.1.43/1.20.1-forge-47.1.43.jar"
# Player nickname (the over head)
PLAYER_NAME=$player
# Game window resolution
WINDOW_W=800
WINDOW_H=640
# Java machine arguments
JVM_RAM="-Xmx2G"
JVM_ARGS="-XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M"
# Running minecraft
cd $MC_DIR
$MC_DIR/runtime/java-runtime-gamma/linux/java-runtime-gamma/bin/java \
$JVM_RAM $JVM_ARGS \
-DignoreList=bootstraplauncher,securejarhandler,asm-commons,asm-util,asm-analysis,asm-tree,asm,JarJarFileSystems,client-extra,fmlcore,javafmllanguage,lowcodelanguage,mclanguage,forge-,1.20.1-forge-47.1.43.jar \
-p $MC_DIR/libraries/cpw/mods/bootstraplauncher/1.1.2/bootstraplauncher-1.1.2.jar:$MC_DIR/libraries/cpw/mods/securejarhandler/2.1.10/securejarhandler-2.1.10.jar:$MC_DIR/libraries/org/ow2/asm/asm-commons/9.5/asm-commons-9.5.jar:$MC_DIR/libraries/org/ow2/asm/asm-util/9.5/asm-util-9.5.jar:$MC_DIR/libraries/org/ow2/asm/asm-analysis/9.5/asm-analysis-9.5.jar:$MC_DIR/libraries/org/ow2/asm/asm-tree/9.5/asm-tree-9.5.jar:$MC_DIR/libraries/org/ow2/asm/asm/9.5/asm-9.5.jar:$MC_DIR/libraries/net/minecraftforge/JarJarFileSystems/0.3.19/JarJarFileSystems-0.3.19.jar:$MC_DIR/versions/1.20.1-forge-47.1.43/1.20.1-forge-47.1.43.jar \
-cp $LIBRARIES_LIST \
--add-modules ALL-MODULE-PATH \
--add-opens java.base/java.lang.invoke=ALL-UNNAMED \
--add-opens java.base/java.util.jar=cpw.mods.securejarhandler \
--add-opens java.base/java.lang.invoke=cpw.mods.securejarhandler \
--add-exports java.base/sun.security.util=cpw.mods.securejarhandler \
--add-exports jdk.naming.dns/com.sun.jndi.dns=java.naming \
-DlibraryDirectory=/home/user/.minecraft/libraries \
-Djava.library.path=$NATIVES_DIR \
cpw.mods.bootstraplauncher.BootstrapLauncher \
--launchTarget forgeclient \
--fml.forgeVersion 47.1.43 \
--fml.mcVersion 1.20.1 \
--fml.forgeGroup net.minecraftforge \
--fml.mcpVersion 20230612.114412 \
--versionType release \
--username $PLAYER_NAME \
--version $GAME_VERSION \
--accessToken 0 --userProperties {} \
--gameDir $GAME_DIR \
--assetsDir $ASSETS_DIR \
--assetIndex $ASSETS_INDEX \
--width $WINDOW_W --height $WINDOW_H

7
forge/README.md Normal file
View File

@ -0,0 +1,7 @@
For running **Forge 1.16.5** need natives binary libraries.
All Minecraft natives store in
[mega.nz](https://mega.nz/#F!hUNg0Y6I!93cYw1NZg4MUWUHaVrCO7w).
**P.S.:** Download complete Minecraft Achive from
[mega.nz](https://mega.nz/folder/5BFQHLyR#d8SPPL02Zd9mUhS4OuMdzA).

View File

@ -1,103 +0,0 @@
#!/bin/sh
echo -ne "\033]2;Minecraft Launcher\007"
# Set username
read -p "What username would you like? " player
# A minecraft root directory
MC_DIR=$HOME/.minecraft
# Are stored here...
# saves/, resourcepacks/ and screenshots/ dirs
# and options.txt and servers.dat files
GAME_DIR=$MC_DIR
# Libraries and resource dir (requires no changes)
ASSETS_DIR=$MC_DIR/assets
ASSETS_INDEX=1.19
# Version minecraft (from versions/ dir)
GAME_VERSION=1.19.1
# *.jar paths from version.json
LIBRARIES_LIST="\
$MC_DIR/libraries/com/mojang/logging/1.0.0/logging-1.0.0.jar:\
$MC_DIR/libraries/com/mojang/blocklist/1.0.10/blocklist-1.0.10.jar:\
$MC_DIR/libraries/com/mojang/patchy/2.2.10/patchy-2.2.10.jar:\
$MC_DIR/libraries/com/github/oshi/oshi-core/5.8.5/oshi-core-5.8.5.jar:\
$MC_DIR/libraries/net/java/dev/jna/jna/5.10.0/jna-5.10.0.jar:\
$MC_DIR/libraries/net/java/dev/jna/jna-platform/5.10.0/jna-platform-5.10.0.jar:\
$MC_DIR/libraries/org/slf4j/slf4j-api/1.8.0-beta4/slf4j-api-1.8.0-beta4.jar:\
$MC_DIR/libraries/org/apache/logging/log4j/log4j-slf4j18-impl/2.17.0/log4j-slf4j18-impl-2.17.0.jar:\
$MC_DIR/libraries/com/ibm/icu/icu4j/70.1/icu4j-70.1.jar:\
$MC_DIR/libraries/com/mojang/javabridge/1.2.24/javabridge-1.2.24.jar:\
$MC_DIR/libraries/net/sf/jopt-simple/jopt-simple/5.0.4/jopt-simple-5.0.4.jar:\
$MC_DIR/libraries/io/netty/netty-common/4.1.77.Final/netty-common-4.1.77.Final.jar:\
$MC_DIR/libraries/io/netty/netty-buffer/4.1.77.Final/netty-buffer-4.1.77.Final.jar:\
$MC_DIR/libraries/io/netty/netty-codec/4.1.77.Final/netty-codec-4.1.77.Final.jar:\
$MC_DIR/libraries/io/netty/netty-handler/4.1.77.Final/netty-handler-4.1.77.Final.jar:\
$MC_DIR/libraries/io/netty/netty-resolver/4.1.77.Final/netty-resolver-4.1.77.Final.jar:\
$MC_DIR/libraries/io/netty/netty-transport/4.1.77.Final/netty-transport-4.1.77.Final.jar:\
$MC_DIR/libraries/io/netty/netty-transport-native-unix-common/4.1.77.Final/netty-transport-native-unix-common-4.1.77.Final.jar:\
$MC_DIR/libraries/io/netty/netty-transport-classes-epoll/4.1.77.Final/netty-transport-classes-epoll-4.1.77.Final.jar:\
$MC_DIR/libraries/io/netty/netty-transport-native-epoll/4.1.77.Final/netty-transport-native-epoll-4.1.77.Final-linux-x86_64.jar:\
$MC_DIR/libraries/io/netty/netty-transport-native-epoll/4.1.77.Final/netty-transport-native-epoll-4.1.77.Final-linux-aarch_64.jar:\
$MC_DIR/libraries/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar:\
$MC_DIR/libraries/com/google/guava/guava/31.0.1-jre/guava-31.0.1-jre.jar:\
$MC_DIR/libraries/org/apache/commons/commons-lang3/3.12.0/commons-lang3-3.12.0.jar:\
$MC_DIR/libraries/commons-io/commons-io/2.11.0/commons-io-2.11.0.jar:\
$MC_DIR/libraries/commons-codec/commons-codec/1.15/commons-codec-1.15.jar:\
$MC_DIR/libraries/com/mojang/brigadier/1.0.18/brigadier-1.0.18.jar:\
$MC_DIR/libraries/com/mojang/datafixerupper/5.0.28/datafixerupper-5.0.28.jar:\
$MC_DIR/libraries/com/google/code/gson/gson/2.8.9/gson-2.8.9.jar:\
$MC_DIR/libraries/com/mojang/authlib/3.11.50/authlib-3.11.50.jar:\
$MC_DIR/libraries/org/apache/commons/commons-compress/1.21/commons-compress-1.21.jar:\
$MC_DIR/libraries/org/apache/httpcomponents/httpclient/4.5.13/httpclient-4.5.13.jar:\
$MC_DIR/libraries/commons-logging/commons-logging/1.2/commons-logging-1.2.jar:\
$MC_DIR/libraries/org/apache/httpcomponents/httpcore/4.4.14/httpcore-4.4.14.jar:\
$MC_DIR/libraries/it/unimi/dsi/fastutil/8.5.6/fastutil-8.5.6.jar:\
$MC_DIR/libraries/org/apache/logging/log4j/log4j-api/2.17.0/log4j-api-2.17.0.jar:\
$MC_DIR/libraries/org/apache/logging/log4j/log4j-core/2.17.0/log4j-core-2.17.0.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl/3.3.1/lwjgl-3.3.1.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl/3.3.1/lwjgl-3.3.1-natives-linux.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-jemalloc/3.3.1/lwjgl-jemalloc-3.3.1.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-jemalloc/3.3.1/lwjgl-jemalloc-3.3.1-natives-linux.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-openal/3.3.1/lwjgl-openal-3.3.1.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-openal/3.3.1/lwjgl-openal-3.3.1-natives-linux.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-opengl/3.3.1/lwjgl-opengl-3.3.1.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-opengl/3.3.1/lwjgl-opengl-3.3.1-natives-linux.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-glfw/3.3.1/lwjgl-glfw-3.3.1.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-glfw/3.3.1/lwjgl-glfw-3.3.1-natives-linux.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-stb/3.3.1/lwjgl-stb-3.3.1.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-stb/3.3.1/lwjgl-stb-3.3.1-natives-linux.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-tinyfd/3.3.1/lwjgl-tinyfd-3.3.1.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-tinyfd/3.3.1/lwjgl-tinyfd-3.3.1-natives-linux.jar:\
$MC_DIR/libraries/com/mojang/text2speech/1.13.9/text2speech-1.13.9.jar:\
$MC_DIR/libraries/com/mojang/text2speech/1.13.9/text2speech-1.13.9-natives-linux.jar:\
$MC_DIR/versions/$GAME_VERSION/$GAME_VERSION.jar"
# Player nickname (the over head)
PLAYER_NAME=$player
# Game window resolution
WINDOW_W=800
WINDOW_H=640
# Java machine arguments
JVM_RAM="-Xmx2G"
JVM_ARGS="-XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M"
# Running minecraft
cd $MC_DIR
$HOME/.minecraft/runtime/java-runtime-gamma/linux/java-runtime-gamma/bin/java \
$JVM_RAM $JVM_ARGS \
-cp $LIBRARIES_LIST \
net.minecraft.client.main.Main \
--username $PLAYER_NAME \
--version $GAME_VERSION \
--accessToken 0 --userProperties {} \
--gameDir $GAME_DIR \
--assetsDir $ASSETS_DIR \
--assetIndex $ASSETS_INDEX \
--width $WINDOW_W --height $WINDOW_H

View File

@ -1,108 +0,0 @@
#!/bin/sh
echo -ne "\033]2;Minecraft Launcher\007"
# Set username
read -p "What username would you like? " player
# A minecraft root directory
MC_DIR=$HOME/.minecraft
# Are stored here...
# saves/, resourcepacks/ and screenshots/ dirs
# and options.txt and servers.dat files
GAME_DIR=$MC_DIR
# Libraries and resource dir (requires no changes)
ASSETS_DIR=$MC_DIR/assets
ASSETS_INDEX=1.19
# Version minecraft (from versions/ dir)
GAME_VERSION=1.19.1
# *.jar paths from version.json
LIBRARIES_LIST="\
$MC_DIR/libraries/com/mojang/logging/1.0.0/logging-1.0.0.jar:\
$MC_DIR/libraries/com/mojang/blocklist/1.0.10/blocklist-1.0.10.jar:\
$MC_DIR/libraries/com/mojang/patchy/2.2.10/patchy-2.2.10.jar:\
$MC_DIR/libraries/com/github/oshi/oshi-core/5.8.5/oshi-core-5.8.5.jar:\
$MC_DIR/libraries/net/java/dev/jna/jna/5.10.0/jna-5.10.0.jar:\
$MC_DIR/libraries/net/java/dev/jna/jna-platform/5.10.0/jna-platform-5.10.0.jar:\
$MC_DIR/libraries/org/slf4j/slf4j-api/1.8.0-beta4/slf4j-api-1.8.0-beta4.jar:\
$MC_DIR/libraries/org/apache/logging/log4j/log4j-slf4j18-impl/2.17.0/log4j-slf4j18-impl-2.17.0.jar:\
$MC_DIR/libraries/com/ibm/icu/icu4j/70.1/icu4j-70.1.jar:\
$MC_DIR/libraries/com/mojang/javabridge/1.2.24/javabridge-1.2.24.jar:\
$MC_DIR/libraries/net/sf/jopt-simple/jopt-simple/5.0.4/jopt-simple-5.0.4.jar:\
$MC_DIR/libraries/io/netty/netty-common/4.1.77.Final/netty-common-4.1.77.Final.jar:\
$MC_DIR/libraries/io/netty/netty-buffer/4.1.77.Final/netty-buffer-4.1.77.Final.jar:\
$MC_DIR/libraries/io/netty/netty-codec/4.1.77.Final/netty-codec-4.1.77.Final.jar:\
$MC_DIR/libraries/io/netty/netty-handler/4.1.77.Final/netty-handler-4.1.77.Final.jar:\
$MC_DIR/libraries/io/netty/netty-resolver/4.1.77.Final/netty-resolver-4.1.77.Final.jar:\
$MC_DIR/libraries/io/netty/netty-transport/4.1.77.Final/netty-transport-4.1.77.Final.jar:\
$MC_DIR/libraries/io/netty/netty-transport-native-unix-common/4.1.77.Final/netty-transport-native-unix-common-4.1.77.Final.jar:\
$MC_DIR/libraries/io/netty/netty-transport-classes-epoll/4.1.77.Final/netty-transport-classes-epoll-4.1.77.Final.jar:\
$MC_DIR/libraries/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar:\
$MC_DIR/libraries/com/google/guava/guava/31.0.1-jre/guava-31.0.1-jre.jar:\
$MC_DIR/libraries/org/apache/commons/commons-lang3/3.12.0/commons-lang3-3.12.0.jar:\
$MC_DIR/libraries/commons-io/commons-io/2.11.0/commons-io-2.11.0.jar:\
$MC_DIR/libraries/commons-codec/commons-codec/1.15/commons-codec-1.15.jar:\
$MC_DIR/libraries/com/mojang/brigadier/1.0.18/brigadier-1.0.18.jar:\
$MC_DIR/libraries/com/mojang/datafixerupper/5.0.28/datafixerupper-5.0.28.jar:\
$MC_DIR/libraries/com/google/code/gson/gson/2.8.9/gson-2.8.9.jar:\
$MC_DIR/libraries/com/mojang/authlib/3.11.50/authlib-3.11.50.jar:\
$MC_DIR/libraries/org/apache/commons/commons-compress/1.21/commons-compress-1.21.jar:\
$MC_DIR/libraries/org/apache/httpcomponents/httpclient/4.5.13/httpclient-4.5.13.jar:\
$MC_DIR/libraries/commons-logging/commons-logging/1.2/commons-logging-1.2.jar:\
$MC_DIR/libraries/org/apache/httpcomponents/httpcore/4.4.14/httpcore-4.4.14.jar:\
$MC_DIR/libraries/it/unimi/dsi/fastutil/8.5.6/fastutil-8.5.6.jar:\
$MC_DIR/libraries/org/apache/logging/log4j/log4j-api/2.17.0/log4j-api-2.17.0.jar:\
$MC_DIR/libraries/org/apache/logging/log4j/log4j-core/2.17.0/log4j-core-2.17.0.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl/3.3.1/lwjgl-3.3.1.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl/3.3.1/lwjgl-3.3.1-natives-macos.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl/3.3.1/lwjgl-3.3.1-natives-macos-arm64.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-jemalloc/3.3.1/lwjgl-jemalloc-3.3.1.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-jemalloc/3.3.1/lwjgl-jemalloc-3.3.1-natives-macos.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-jemalloc/3.3.1/lwjgl-jemalloc-3.3.1-natives-macos-arm64.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-openal/3.3.1/lwjgl-openal-3.3.1.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-openal/3.3.1/lwjgl-openal-3.3.1-natives-macos.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-openal/3.3.1/lwjgl-openal-3.3.1-natives-macos-arm64.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-opengl/3.3.1/lwjgl-opengl-3.3.1.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-opengl/3.3.1/lwjgl-opengl-3.3.1-natives-macos.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-opengl/3.3.1/lwjgl-opengl-3.3.1-natives-macos-arm64.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-glfw/3.3.1/lwjgl-glfw-3.3.1.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-glfw/3.3.1/lwjgl-glfw-3.3.1-natives-macos.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-glfw/3.3.1/lwjgl-glfw-3.3.1-natives-macos-arm64.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-stb/3.3.1/lwjgl-stb-3.3.1.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-stb/3.3.1/lwjgl-stb-3.3.1-natives-macos.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-stb/3.3.1/lwjgl-stb-3.3.1-natives-macos-arm64.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-tinyfd/3.3.1/lwjgl-tinyfd-3.3.1.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-tinyfd/3.3.1/lwjgl-tinyfd-3.3.1-natives-macos.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-tinyfd/3.3.1/lwjgl-tinyfd-3.3.1-natives-macos-arm64.jar:\
$MC_DIR/libraries/com/mojang/text2speech/1.13.9/text2speech-1.13.9.jar:\
$MC_DIR/libraries/ca/weblite/java-objc-bridge/1.1/java-objc-bridge-1.1.jar:\
$MC_DIR/versions/$GAME_VERSION/$GAME_VERSION.jar"
# Player nickname (the over head)
PLAYER_NAME=$player
# Game window resolution
WINDOW_W=800
WINDOW_H=640
# Java machine arguments
JVM_RAM="-Xmx2G"
JVM_ARGS="-XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M"
# Running minecraft
cd $MC_DIR
$HOME/.minecraft/runtime/java-runtime-gamma/linux/java-runtime-gamma/bin/java \
$JVM_RAM $JVM_ARGS \
-cp $LIBRARIES_LIST \
net.minecraft.client.main.Main \
--username $PLAYER_NAME \
--version $GAME_VERSION \
--accessToken 0 --userProperties {} \
--gameDir $GAME_DIR \
--assetsDir $ASSETS_DIR \
--assetIndex $ASSETS_INDEX \
--width $WINDOW_W --height $WINDOW_H

7
utils/assets-downloader/.gitignore vendored Normal file
View File

@ -0,0 +1,7 @@
# XMake
build/
.xmake/
# Assets
assets/
*.data

View File

@ -0,0 +1,47 @@
# 🇺🇸 Assets downloader
> ⚠️ write it...
# 🇷🇺 Загрузчик ассетов
Утилита, которая встраивается в основной скрипт и скачивает ассеты из сети.
Используется программа на **Си** для парсинга файла индексов ассетов.
## About assets
The game itself downloads (through the launcher) further resources from
```text
https://resources.download.minecraft.net/
```
> ⚠️ http://resources.download.minecraft.net/ no longer works - you must use https
The asset index for each version is linked in the `<version>.json`. An example url to the asset index could look like this
```text
https://launchermeta.mojang.com/mc/assets/1.12/67e29e024e664064c1f04c728604f83c24cbc218/1.12.json
```
Each resource in the file has a name (the field name of the resource object), a SHA1 hash, and a file size. The client currently downloads all resources in the index from
```text
https://resources.download.minecraft.net/<first 2 hex letters of hash>/<whole hash>
```
and stores them in
```text
.minecraft/assets/objects/<first 2 hex letters of hash>/<whole hash>
```
and a copy is stored in
```text
.minecraft/assets/virtual/legacy/
```
in the old format for versions that don't support the new system (1.7 and below)
From: https://wiki.vg/Game_files#Assets

View File

@ -0,0 +1,6 @@
#!/bin/sh
# build utility
echo "Build: assets-x86_64-linux.data"
base64 -w 0 build/linux/x86_64/release/assets-parser > assets-x86_64-linux.data
echo "Build complete"

View File

@ -0,0 +1,48 @@
#!/bin/sh
# Checking cURL command
if ! [ -x "$(command -v curl)" ]; then
echo "curl not available"
exit 1
fi
UTILITY=$(mktemp)
base64 -d assets-x86_64-linux.data > $UTILITY
chmod +x $UTILITY
ASSETS=$($UTILITY assets/indexes/1.19.json)
FILES=$(echo "$ASSETS" | wc -w)
ASSETS_DIR=assets/objects
mkdir -p $ASSETS_DIR
FILE_COUNTER=0
for FILE in $ASSETS
do
# get hash and size asset
HASH=$(echo $FILE | cut -d ":" -f 1)
SIZE=$(echo $FILE | cut -d ":" -f 2)
# make hash directory (first 2 hex letters of hash)
HASH_DIR=$ASSETS_DIR/${HASH:0:2}
mkdir -p $HASH_DIR
# download asset
if ! [ -f $HASH_DIR/$HASH ]; then
curl --silent -o $HASH_DIR/$HASH "https://resources.download.minecraft.net/${HASH:0:2}/$HASH"
fi
# check asset file size
FILE_SIZE=$(wc -c $HASH_DIR/$HASH | cut -d " " -f 1)
if (( $FILE_SIZE != $SIZE )); then
rm $HASH_DIR/$HASH
echo "Error download: $HASH"
fi
# Echo progress
FILE_COUNTER=$(($FILE_COUNTER + 1))
echo -e "Progress: $FILE_COUNTER/$FILES"
done
# TODO
# - use `wget` if `curl` not available

View File

@ -0,0 +1,55 @@
#include <stdio.h>
#include <string.h>
#include <cjson/cJSON.h>
#define VERSION "0.0.0"
int main(int argc, char const *argv[]) {
// printf("Assets Downloader for Minecraft Batch Launcher %s\n", VERSION);
if (argc < 2) {
printf("Usage: %s <assets.json>\n", argv[0]);
return 0;
}
/* ... */
if (argc == 2 && strcmp(argv[1], "--help") == 0) {
printf("Help:\n");
printf(" --help\tShow help\n");
printf(" --version\tShow version\n");
return 0;
} else if (argc == 2 && strcmp(argv[1], "--version") == 0) {
return 0;
}
FILE *index_file;
char str[900000];
char buffer[100];
index_file = fopen(argv[1], "r");
while (fgets(buffer, sizeof(buffer), index_file)) {
strcat(str, buffer);
}
fclose(index_file);
cJSON *json = cJSON_Parse(str);
cJSON *assets_objects = cJSON_GetObjectItem(json, "objects");
unsigned int assets_objects_size = cJSON_GetArraySize(assets_objects);
if (assets_objects) {
cJSON *object = assets_objects->child;
while (object) {
char *hash = cJSON_GetStringValue(cJSON_GetObjectItem(object, "hash"));
unsigned int size =
cJSON_GetNumberValue(cJSON_GetObjectItem(object, "size"));
printf("%s:%d\n", hash, size);
object = object->next;
}
}
return 0;
}

View File

@ -0,0 +1,28 @@
set_project("assets-parser")
set_languages("c99")
add_rules("mode.debug", "mode.release")
toolchain("tcc")
set_kind("standalone")
set_toolset("cc", "tcc")
set_toolset("ld", "tcc")
toolchain_end()
if is_mode("debug") then
set_symbols("debug")
set_optimize("none")
end
set_toolchains("tcc")
add_requires("cjson 1.7.15")
target("assets-parser")
set_kind("binary")
add_files("src/*.c")
add_packages("cjson")
after_build(function (target)
-- os.exec("base64 -w 0 build/linux/x86_64/release/assets-parser > assets-x86_64-linux.data")
os.exec("./compile.sh")
end)

1
utils/version-parser/.gitignore vendored Normal file
View File

@ -0,0 +1 @@
*.json

30
utils/version-parser/parser.py Executable file
View File

@ -0,0 +1,30 @@
#!/usr/bin/env python3
import sys
import json
TYPE = 'linux'
# TYPE='windows'
# TYPE='osx'
if __name__ == '__main__':
if len(sys.argv) < 2:
print('add file')
exit(-1)
else:
version_file = sys.argv[1]
with open(version_file, 'r') as f:
a = json.loads(f.read())
print('Game ID: {0}'.format(a['id']))
print('Main class: {0}'.format(a['mainClass']))
print('Assets index: {0}'.format(a['assetIndex']['id']))
for library in a['libraries']:
if 'rules' in library:
if 'os' in library['rules'][0]:
if TYPE == library['rules'][0]['os']['name']:
print(library['downloads']['artifact']['path'])
else:
print(library['downloads']['artifact']['path'])

View File

@ -0,0 +1,3 @@
[tool.black]
skip-string-normalization = true
line-length = 100

1
vanilla/colors.sh Symbolic link
View File

@ -0,0 +1 @@
../deps/colors.sh/colors.sh

126
vanilla/linux.sh Executable file
View File

@ -0,0 +1,126 @@
#!/bin/sh
# Git repo: https://git.a2s.su/iiiypuk/minecraft-launcher
# include colors library
source ./colors.sh
# Setting terminal emulator title
echo -ne "\033]30;Minecraft Launcher\007"
clear
# Launcher title
echo -e "${BRIGHT_GREEN_B}Minecraft Launcher by ${BRIGHT_RED_B}iiiypuk${NC}"
echo -e "${BRIGHT_YELLOW_B}=============================${NC}"
# Set username
read -p "$(echo -e ${BRIGHT_CYAN_B}What username would you like?${NC}) " player
if [ ! $player ]; then
player="Steve"
fi
echo ''
# A minecraft root directory
MC_DIR=$HOME/.minecraft
# Are stored here...
# saves/, resourcepacks/ and screenshots/ dirs
# and options.txt and servers.dat files
GAME_DIR=$MC_DIR/userdata
# Libraries and resource dir (requires no changes)
ASSETS_DIR=$MC_DIR/assets
ASSETS_INDEX=12
# Version minecraft (from versions/ dir)
GAME_VERSION=1.20.4
# Get archive from natives/ dir
NATIVES_DIR=$MC_DIR/bin/$GAME_VERSION
# *.jar paths from version.json
LIBRARIES_LIST="\
$MC_DIR/libraries/com/github/oshi/oshi-core/6.4.5/oshi-core-6.4.5.jar:\
$MC_DIR/libraries/com/google/code/gson/gson/2.10.1/gson-2.10.1.jar:\
$MC_DIR/libraries/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar:\
$MC_DIR/libraries/com/google/guava/guava/32.1.2-jre/guava-32.1.2-jre.jar:\
$MC_DIR/libraries/com/ibm/icu/icu4j/73.2/icu4j-73.2.jar:\
$MC_DIR/libraries/com/mojang/authlib/6.0.52/authlib-6.0.52.jar:\
$MC_DIR/libraries/com/mojang/blocklist/1.0.10/blocklist-1.0.10.jar:\
$MC_DIR/libraries/com/mojang/brigadier/1.2.9/brigadier-1.2.9.jar:\
$MC_DIR/libraries/com/mojang/datafixerupper/6.0.8/datafixerupper-6.0.8.jar:\
$MC_DIR/libraries/com/mojang/logging/1.1.1/logging-1.1.1.jar:\
$MC_DIR/libraries/com/mojang/patchy/2.2.10/patchy-2.2.10.jar:\
$MC_DIR/libraries/com/mojang/text2speech/1.17.9/text2speech-1.17.9.jar:\
$MC_DIR/libraries/commons-codec/commons-codec/1.16.0/commons-codec-1.16.0.jar:\
$MC_DIR/libraries/commons-io/commons-io/2.13.0/commons-io-2.13.0.jar:\
$MC_DIR/libraries/commons-logging/commons-logging/1.2/commons-logging-1.2.jar:\
$MC_DIR/libraries/io/netty/netty-buffer/4.1.97.Final/netty-buffer-4.1.97.Final.jar:\
$MC_DIR/libraries/io/netty/netty-codec/4.1.97.Final/netty-codec-4.1.97.Final.jar:\
$MC_DIR/libraries/io/netty/netty-common/4.1.97.Final/netty-common-4.1.97.Final.jar:\
$MC_DIR/libraries/io/netty/netty-handler/4.1.97.Final/netty-handler-4.1.97.Final.jar:\
$MC_DIR/libraries/io/netty/netty-resolver/4.1.97.Final/netty-resolver-4.1.97.Final.jar:\
$MC_DIR/libraries/io/netty/netty-transport-classes-epoll/4.1.97.Final/netty-transport-classes-epoll-4.1.97.Final.jar:\
$MC_DIR/libraries/io/netty/netty-transport-native-epoll/4.1.97.Final/netty-transport-native-epoll-4.1.97.Final-linux-aarch_64.jar:\
$MC_DIR/libraries/io/netty/netty-transport-native-epoll/4.1.97.Final/netty-transport-native-epoll-4.1.97.Final-linux-x86_64.jar:\
$MC_DIR/libraries/io/netty/netty-transport-native-unix-common/4.1.97.Final/netty-transport-native-unix-common-4.1.97.Final.jar:\
$MC_DIR/libraries/io/netty/netty-transport/4.1.97.Final/netty-transport-4.1.97.Final.jar:\
$MC_DIR/libraries/it/unimi/dsi/fastutil/8.5.12/fastutil-8.5.12.jar:\
$MC_DIR/libraries/net/java/dev/jna/jna-platform/5.13.0/jna-platform-5.13.0.jar:\
$MC_DIR/libraries/net/java/dev/jna/jna/5.13.0/jna-5.13.0.jar:\
$MC_DIR/libraries/net/sf/jopt-simple/jopt-simple/5.0.4/jopt-simple-5.0.4.jar:\
$MC_DIR/libraries/org/apache/commons/commons-compress/1.22/commons-compress-1.22.jar:\
$MC_DIR/libraries/org/apache/commons/commons-lang3/3.13.0/commons-lang3-3.13.0.jar:\
$MC_DIR/libraries/org/apache/httpcomponents/httpclient/4.5.13/httpclient-4.5.13.jar:\
$MC_DIR/libraries/org/apache/httpcomponents/httpcore/4.4.16/httpcore-4.4.16.jar:\
$MC_DIR/libraries/org/apache/logging/log4j/log4j-api/2.19.0/log4j-api-2.19.0.jar:\
$MC_DIR/libraries/org/apache/logging/log4j/log4j-core/2.19.0/log4j-core-2.19.0.jar:\
$MC_DIR/libraries/org/apache/logging/log4j/log4j-slf4j2-impl/2.19.0/log4j-slf4j2-impl-2.19.0.jar:\
$MC_DIR/libraries/org/joml/joml/1.10.5/joml-1.10.5.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-glfw/3.3.2/lwjgl-glfw-3.3.2.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-glfw/3.3.2/lwjgl-glfw-3.3.2-natives-linux.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-jemalloc/3.3.2/lwjgl-jemalloc-3.3.2.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-jemalloc/3.3.2/lwjgl-jemalloc-3.3.2-natives-linux.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-openal/3.3.2/lwjgl-openal-3.3.2.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-openal/3.3.2/lwjgl-openal-3.3.2-natives-linux.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-opengl/3.3.2/lwjgl-opengl-3.3.2.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-opengl/3.3.2/lwjgl-opengl-3.3.2-natives-linux.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-stb/3.3.2/lwjgl-stb-3.3.2.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-stb/3.3.2/lwjgl-stb-3.3.2-natives-linux.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-tinyfd/3.3.2/lwjgl-tinyfd-3.3.2.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-tinyfd/3.3.2/lwjgl-tinyfd-3.3.2-natives-linux.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl/3.3.2/lwjgl-3.3.2.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl/3.3.2/lwjgl-3.3.2-natives-linux.jar:\
$MC_DIR/libraries/org/slf4j/slf4j-api/2.0.7/slf4j-api-2.0.7.jar:\
$MC_DIR/versions/$GAME_VERSION/$GAME_VERSION.jar"
# Player nickname (the over head)
PLAYER_NAME=$player
# Game window resolution
WINDOW_W=800
WINDOW_H=640
# Java machine arguments
JVM_RAM="-Xmx2G"
JVM_ARGS="-XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M"
# Change directory
cd $MC_DIR
# Prepare game directory
mkdir -p $MC_DIR/userdata
# Running minecraft
$MC_DIR/runtime/java-runtime-gamma/linux/java-runtime-gamma/bin/java \
$JVM_RAM $JVM_ARGS \
-cp $LIBRARIES_LIST \
-Djava.library.path=$NATIVES_DIR \
net.minecraft.client.main.Main \
--username $PLAYER_NAME \
--version $GAME_VERSION \
--accessToken 0 --userProperties {} \
--gameDir $GAME_DIR \
--assetsDir $ASSETS_DIR \
--assetIndex $ASSETS_INDEX \
--width $WINDOW_W --height $WINDOW_H

123
vanilla/macos.sh Executable file
View File

@ -0,0 +1,123 @@
#!/bin/sh
echo -ne "\033]2;Minecraft Launcher\007"
# Launcher title
echo "Minecraft Launcher by iiiypuk"
echo "============================="
# Set username
read -p "What username would you like? " player
if [ ! $player ]; then
player="Steve"
fi
# A minecraft root directory
MC_DIR=$HOME/.minecraft
# Are stored here...
# saves/, resourcepacks/ and screenshots/ dirs
# and options.txt and servers.dat files
GAME_DIR=$MC_DIR/userdata
# Libraries and resource dir (requires no changes)
ASSETS_DIR=$MC_DIR/assets
ASSETS_INDEX=12
# Version minecraft (from versions/ dir)
GAME_VERSION=1.20.4
# Get archive from natives/ dir
NATIVES_DIR=$MC_DIR/bin/$GAME_VERSION
# *.jar paths from version.json
LIBRARIES_LIST="\
$MC_DIR/libraries/ca/weblite/java-objc-bridge/1.1/java-objc-bridge-1.1.jar:\
$MC_DIR/libraries/com/github/oshi/oshi-core/6.4.5/oshi-core-6.4.5.jar:\
$MC_DIR/libraries/com/google/code/gson/gson/2.10.1/gson-2.10.1.jar:\
$MC_DIR/libraries/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar:\
$MC_DIR/libraries/com/google/guava/guava/32.1.2-jre/guava-32.1.2-jre.jar:\
$MC_DIR/libraries/com/ibm/icu/icu4j/73.2/icu4j-73.2.jar:\
$MC_DIR/libraries/com/mojang/authlib/6.0.52/authlib-6.0.52.jar:\
$MC_DIR/libraries/com/mojang/blocklist/1.0.10/blocklist-1.0.10.jar:\
$MC_DIR/libraries/com/mojang/brigadier/1.2.9/brigadier-1.2.9.jar:\
$MC_DIR/libraries/com/mojang/datafixerupper/6.0.8/datafixerupper-6.0.8.jar:\
$MC_DIR/libraries/com/mojang/logging/1.1.1/logging-1.1.1.jar:\
$MC_DIR/libraries/com/mojang/patchy/2.2.10/patchy-2.2.10.jar:\
$MC_DIR/libraries/com/mojang/text2speech/1.17.9/text2speech-1.17.9.jar:\
$MC_DIR/libraries/commons-codec/commons-codec/1.16.0/commons-codec-1.16.0.jar:\
$MC_DIR/libraries/commons-io/commons-io/2.13.0/commons-io-2.13.0.jar:\
$MC_DIR/libraries/commons-logging/commons-logging/1.2/commons-logging-1.2.jar:\
$MC_DIR/libraries/io/netty/netty-buffer/4.1.97.Final/netty-buffer-4.1.97.Final.jar:\
$MC_DIR/libraries/io/netty/netty-codec/4.1.97.Final/netty-codec-4.1.97.Final.jar:\
$MC_DIR/libraries/io/netty/netty-common/4.1.97.Final/netty-common-4.1.97.Final.jar:\
$MC_DIR/libraries/io/netty/netty-handler/4.1.97.Final/netty-handler-4.1.97.Final.jar:\
$MC_DIR/libraries/io/netty/netty-resolver/4.1.97.Final/netty-resolver-4.1.97.Final.jar:\
$MC_DIR/libraries/io/netty/netty-transport-classes-epoll/4.1.97.Final/netty-transport-classes-epoll-4.1.97.Final.jar:\
$MC_DIR/libraries/io/netty/netty-transport-native-unix-common/4.1.97.Final/netty-transport-native-unix-common-4.1.97.Final.jar:\
$MC_DIR/libraries/io/netty/netty-transport/4.1.97.Final/netty-transport-4.1.97.Final.jar:\
$MC_DIR/libraries/it/unimi/dsi/fastutil/8.5.12/fastutil-8.5.12.jar:\
$MC_DIR/libraries/net/java/dev/jna/jna-platform/5.13.0/jna-platform-5.13.0.jar:\
$MC_DIR/libraries/net/java/dev/jna/jna/5.13.0/jna-5.13.0.jar:\
$MC_DIR/libraries/net/sf/jopt-simple/jopt-simple/5.0.4/jopt-simple-5.0.4.jar:\
$MC_DIR/libraries/org/apache/commons/commons-compress/1.22/commons-compress-1.22.jar:\
$MC_DIR/libraries/org/apache/commons/commons-lang3/3.13.0/commons-lang3-3.13.0.jar:\
$MC_DIR/libraries/org/apache/httpcomponents/httpclient/4.5.13/httpclient-4.5.13.jar:\
$MC_DIR/libraries/org/apache/httpcomponents/httpcore/4.4.16/httpcore-4.4.16.jar:\
$MC_DIR/libraries/org/apache/logging/log4j/log4j-api/2.19.0/log4j-api-2.19.0.jar:\
$MC_DIR/libraries/org/apache/logging/log4j/log4j-core/2.19.0/log4j-core-2.19.0.jar:\
$MC_DIR/libraries/org/apache/logging/log4j/log4j-slf4j2-impl/2.19.0/log4j-slf4j2-impl-2.19.0.jar:\
$MC_DIR/libraries/org/joml/joml/1.10.5/joml-1.10.5.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-glfw/3.3.2/lwjgl-glfw-3.3.2.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-glfw/3.3.2/lwjgl-glfw-3.3.2-natives-macos.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-glfw/3.3.2/lwjgl-glfw-3.3.2-natives-macos-arm64.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-jemalloc/3.3.2/lwjgl-jemalloc-3.3.2.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-jemalloc/3.3.2/lwjgl-jemalloc-3.3.2-natives-macos.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-jemalloc/3.3.2/lwjgl-jemalloc-3.3.2-natives-macos-arm64.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-openal/3.3.2/lwjgl-openal-3.3.2.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-openal/3.3.2/lwjgl-openal-3.3.2-natives-macos.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-openal/3.3.2/lwjgl-openal-3.3.2-natives-macos-arm64.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-opengl/3.3.2/lwjgl-opengl-3.3.2.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-opengl/3.3.2/lwjgl-opengl-3.3.2-natives-macos.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-opengl/3.3.2/lwjgl-opengl-3.3.2-natives-macos-arm64.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-stb/3.3.2/lwjgl-stb-3.3.2.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-stb/3.3.2/lwjgl-stb-3.3.2-natives-macos.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-stb/3.3.2/lwjgl-stb-3.3.2-natives-macos-arm64.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-tinyfd/3.3.2/lwjgl-tinyfd-3.3.2.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-tinyfd/3.3.2/lwjgl-tinyfd-3.3.2-natives-macos.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl-tinyfd/3.3.2/lwjgl-tinyfd-3.3.2-natives-macos-arm64.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl/3.3.2/lwjgl-3.3.2.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl/3.3.2/lwjgl-3.3.2-natives-macos.jar:\
$MC_DIR/libraries/org/lwjgl/lwjgl/3.3.2/lwjgl-3.3.2-natives-macos-arm64.jar:\
$MC_DIR/libraries/org/slf4j/slf4j-api/2.0.7/slf4j-api-2.0.7.jar:\
$MC_DIR/versions/$GAME_VERSION/$GAME_VERSION.jar"
# Player nickname (the over head)
PLAYER_NAME=$player
# Game window resolution
WINDOW_W=800
WINDOW_H=640
# Java machine arguments
JVM_RAM="-Xmx2G"
JVM_ARGS="-XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M"
# Change directory
cd $MC_DIR
# Prepare game directory
mkdir -p $MC_DIR/userdata
# Running minecraft
$MC_DIR/runtime/java-runtime-gamma/linux/java-runtime-gamma/bin/java \
$JVM_RAM $JVM_ARGS \
-cp $LIBRARIES_LIST \
-Djava.library.path=$NATIVES_DIR \
net.minecraft.client.main.Main \
--username $PLAYER_NAME \
--version $GAME_VERSION \
--accessToken 0 --userProperties {} \
--gameDir $GAME_DIR \
--assetsDir $ASSETS_DIR \
--assetIndex $ASSETS_INDEX \
--width $WINDOW_W --height $WINDOW_H

125
vanilla/windows.bat Normal file
View File

@ -0,0 +1,125 @@
@echo off
title Minecraft Launcher
echo Minecraft Launcher by iiiypuk
echo =============================
:: Set username
set /p PLAYER=What username would you like?
IF [%PLAYER%] == [] set PLAYER=Steve
:: A minecraft root directory
set MC_DIR=%APPDATA%\.minecraft
:: Are stored here...
:: saves/, resourcepacks/ and screenshots/ dirs
:: and options.txt and servers.dat files
set GAME_DIR=%MC_DIR%\userdata
:: Libraries and resource dir (requires no changes)
set ASSETS_DIR=%MC_DIR%\assets
set ASSETS_INDEX=12
:: Version minecraft (from versions/ dir)
set GAME_VERSION=1.20.4
:: Get archive from natives/ dir
NATIVES_DIR=%MC_DIR%\bin\%GAME_VERSION%
:: *.jar paths from version.json
set LIBRARIES_LIST=^
%MC_DIR%/libraries/com/github/oshi/oshi-core/6.4.5/oshi-core-6.4.5.jar;^
%MC_DIR%/libraries/com/google/code/gson/gson/2.10.1/gson-2.10.1.jar;^
%MC_DIR%/libraries/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar;^
%MC_DIR%/libraries/com/google/guava/guava/32.1.2-jre/guava-32.1.2-jre.jar;^
%MC_DIR%/libraries/com/ibm/icu/icu4j/73.2/icu4j-73.2.jar;^
%MC_DIR%/libraries/com/mojang/authlib/6.0.52/authlib-6.0.52.jar;^
%MC_DIR%/libraries/com/mojang/blocklist/1.0.10/blocklist-1.0.10.jar;^
%MC_DIR%/libraries/com/mojang/brigadier/1.2.9/brigadier-1.2.9.jar;^
%MC_DIR%/libraries/com/mojang/datafixerupper/6.0.8/datafixerupper-6.0.8.jar;^
%MC_DIR%/libraries/com/mojang/logging/1.1.1/logging-1.1.1.jar;^
%MC_DIR%/libraries/com/mojang/patchy/2.2.10/patchy-2.2.10.jar;^
%MC_DIR%/libraries/com/mojang/text2speech/1.17.9/text2speech-1.17.9.jar;^
%MC_DIR%/libraries/commons-codec/commons-codec/1.16.0/commons-codec-1.16.0.jar;^
%MC_DIR%/libraries/commons-io/commons-io/2.13.0/commons-io-2.13.0.jar;^
%MC_DIR%/libraries/commons-logging/commons-logging/1.2/commons-logging-1.2.jar;^
%MC_DIR%/libraries/io/netty/netty-buffer/4.1.97.Final/netty-buffer-4.1.97.Final.jar;^
%MC_DIR%/libraries/io/netty/netty-codec/4.1.97.Final/netty-codec-4.1.97.Final.jar;^
%MC_DIR%/libraries/io/netty/netty-common/4.1.97.Final/netty-common-4.1.97.Final.jar;^
%MC_DIR%/libraries/io/netty/netty-handler/4.1.97.Final/netty-handler-4.1.97.Final.jar;^
%MC_DIR%/libraries/io/netty/netty-resolver/4.1.97.Final/netty-resolver-4.1.97.Final.jar;^
%MC_DIR%/libraries/io/netty/netty-transport-classes-epoll/4.1.97.Final/netty-transport-classes-epoll-4.1.97.Final.jar;^
%MC_DIR%/libraries/io/netty/netty-transport-native-unix-common/4.1.97.Final/netty-transport-native-unix-common-4.1.97.Final.jar;^
%MC_DIR%/libraries/io/netty/netty-transport/4.1.97.Final/netty-transport-4.1.97.Final.jar;^
%MC_DIR%/libraries/it/unimi/dsi/fastutil/8.5.12/fastutil-8.5.12.jar;^
%MC_DIR%/libraries/net/java/dev/jna/jna-platform/5.13.0/jna-platform-5.13.0.jar;^
%MC_DIR%/libraries/net/java/dev/jna/jna/5.13.0/jna-5.13.0.jar;^
%MC_DIR%/libraries/net/sf/jopt-simple/jopt-simple/5.0.4/jopt-simple-5.0.4.jar;^
%MC_DIR%/libraries/org/apache/commons/commons-compress/1.22/commons-compress-1.22.jar;^
%MC_DIR%/libraries/org/apache/commons/commons-lang3/3.13.0/commons-lang3-3.13.0.jar;^
%MC_DIR%/libraries/org/apache/httpcomponents/httpclient/4.5.13/httpclient-4.5.13.jar;^
%MC_DIR%/libraries/org/apache/httpcomponents/httpcore/4.4.16/httpcore-4.4.16.jar;^
%MC_DIR%/libraries/org/apache/logging/log4j/log4j-api/2.19.0/log4j-api-2.19.0.jar;^
%MC_DIR%/libraries/org/apache/logging/log4j/log4j-core/2.19.0/log4j-core-2.19.0.jar;^
%MC_DIR%/libraries/org/apache/logging/log4j/log4j-slf4j2-impl/2.19.0/log4j-slf4j2-impl-2.19.0.jar;^
%MC_DIR%/libraries/org/joml/joml/1.10.5/joml-1.10.5.jar;^
%MC_DIR%/libraries/org/lwjgl/lwjgl-glfw/3.3.2/lwjgl-glfw-3.3.2.jar;^
%MC_DIR%/libraries/org/lwjgl/lwjgl-glfw/3.3.2/lwjgl-glfw-3.3.2-natives-windows.jar;^
%MC_DIR%/libraries/org/lwjgl/lwjgl-glfw/3.3.2/lwjgl-glfw-3.3.2-natives-windows-arm64.jar;^
%MC_DIR%/libraries/org/lwjgl/lwjgl-glfw/3.3.2/lwjgl-glfw-3.3.2-natives-windows-x86.jar;^
%MC_DIR%/libraries/org/lwjgl/lwjgl-jemalloc/3.3.2/lwjgl-jemalloc-3.3.2.jar;^
%MC_DIR%/libraries/org/lwjgl/lwjgl-jemalloc/3.3.2/lwjgl-jemalloc-3.3.2-natives-windows.jar;^
%MC_DIR%/libraries/org/lwjgl/lwjgl-jemalloc/3.3.2/lwjgl-jemalloc-3.3.2-natives-windows-arm64.jar;^
%MC_DIR%/libraries/org/lwjgl/lwjgl-jemalloc/3.3.2/lwjgl-jemalloc-3.3.2-natives-windows-x86.jar;^
%MC_DIR%/libraries/org/lwjgl/lwjgl-openal/3.3.2/lwjgl-openal-3.3.2.jar;^
%MC_DIR%/libraries/org/lwjgl/lwjgl-openal/3.3.2/lwjgl-openal-3.3.2-natives-windows.jar;^
%MC_DIR%/libraries/org/lwjgl/lwjgl-openal/3.3.2/lwjgl-openal-3.3.2-natives-windows-arm64.jar;^
%MC_DIR%/libraries/org/lwjgl/lwjgl-openal/3.3.2/lwjgl-openal-3.3.2-natives-windows-x86.jar;^
%MC_DIR%/libraries/org/lwjgl/lwjgl-opengl/3.3.2/lwjgl-opengl-3.3.2.jar;^
%MC_DIR%/libraries/org/lwjgl/lwjgl-opengl/3.3.2/lwjgl-opengl-3.3.2-natives-windows.jar;^
%MC_DIR%/libraries/org/lwjgl/lwjgl-opengl/3.3.2/lwjgl-opengl-3.3.2-natives-windows-arm64.jar;^
%MC_DIR%/libraries/org/lwjgl/lwjgl-opengl/3.3.2/lwjgl-opengl-3.3.2-natives-windows-x86.jar;^
%MC_DIR%/libraries/org/lwjgl/lwjgl-stb/3.3.2/lwjgl-stb-3.3.2.jar;^
%MC_DIR%/libraries/org/lwjgl/lwjgl-stb/3.3.2/lwjgl-stb-3.3.2-natives-windows.jar;^
%MC_DIR%/libraries/org/lwjgl/lwjgl-stb/3.3.2/lwjgl-stb-3.3.2-natives-windows-arm64.jar;^
%MC_DIR%/libraries/org/lwjgl/lwjgl-stb/3.3.2/lwjgl-stb-3.3.2-natives-windows-x86.jar;^
%MC_DIR%/libraries/org/lwjgl/lwjgl-tinyfd/3.3.2/lwjgl-tinyfd-3.3.2.jar;^
%MC_DIR%/libraries/org/lwjgl/lwjgl-tinyfd/3.3.2/lwjgl-tinyfd-3.3.2-natives-windows.jar;^
%MC_DIR%/libraries/org/lwjgl/lwjgl-tinyfd/3.3.2/lwjgl-tinyfd-3.3.2-natives-windows-arm64.jar;^
%MC_DIR%/libraries/org/lwjgl/lwjgl-tinyfd/3.3.2/lwjgl-tinyfd-3.3.2-natives-windows-x86.jar;^
%MC_DIR%/libraries/org/lwjgl/lwjgl/3.3.2/lwjgl-3.3.2.jar;^
%MC_DIR%/libraries/org/lwjgl/lwjgl/3.3.2/lwjgl-3.3.2-natives-windows.jar;^
%MC_DIR%/libraries/org/lwjgl/lwjgl/3.3.2/lwjgl-3.3.2-natives-windows-arm64.jar;^
%MC_DIR%/libraries/org/lwjgl/lwjgl/3.3.2/lwjgl-3.3.2-natives-windows-x86.jar;^
%MC_DIR%/libraries/org/slf4j/slf4j-api/2.0.7/slf4j-api-2.0.7.jar;^
%MC_DIR%/versions/%GAME_VERSION%/%GAME_VERSION%.jar
:: Player nickname (the over head)
set PLAYER_NAME=%PLAYER%
:: Game window resolution
set WINDOW_W=800
set WINDOW_H=640
:: Java machine arguments
set JVM_RAM=-Xmx2G
set JVM_ARGS=-XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M
:: Change directory
cd /d %MC_DIR%
:: Prepare game directory
mkdir %GAME_DIR%
:: Running minecraft
java.exe %JVM_RAM% %JVM_ARGS% ^
-cp %LIBRARIES_LIST% ^
net.minecraft.client.main.Main ^
--username %PLAYER_NAME% ^
--version %GAME_VERSION% ^
--accessToken 0 --userProperties {} ^
--gameDir %GAME_DIR% ^
--assetsDir %ASSETS_DIR% ^
--assetIndex %ASSETS_INDEX% ^
--width %WINDOW_W% ^
--height %WINDOW_H%

View File

@ -1,49 +0,0 @@
rem @echo off
title Minecraft Launcher
:: set username
set /p PLAYER=What username would you like?
:: main directory of the game
set MC_DIR=%APPDATA%\.minecraft
:: Are stored here...
:: saves/, resourcepacks/ and screenshots/ dirs
:: and options.txt and servers.dat files
set GAME_DIR=%MC_DIR%
:: libraries and resource dir (requires no changes)
set ASSETS_DIR=%MC_DIR%\assets
set ASSETS_INDEX=1.19
:: version minecraft (from versions/ dir)
set GAME_VERSION=1.19.1
:: *.jar paths from version.json
set LIBRARIES_LIST=%MC_DIR%/libraries/com/mojang/logging/1.0.0/logging-1.0.0.jar;%MC_DIR%/libraries/com/mojang/blocklist/1.0.10/blocklist-1.0.10.jar;%MC_DIR%/libraries/com/mojang/patchy/2.2.10/patchy-2.2.10.jar;%MC_DIR%/libraries/com/github/oshi/oshi-core/5.8.5/oshi-core-5.8.5.jar;%MC_DIR%/libraries/net/java/dev/jna/jna/5.10.0/jna-5.10.0.jar;%MC_DIR%/libraries/net/java/dev/jna/jna-platform/5.10.0/jna-platform-5.10.0.jar;%MC_DIR%/libraries/org/slf4j/slf4j-api/1.8.0-beta4/slf4j-api-1.8.0-beta4.jar;%MC_DIR%/libraries/org/apache/logging/log4j/log4j-slf4j18-impl/2.17.0/log4j-slf4j18-impl-2.17.0.jar;%MC_DIR%/libraries/com/ibm/icu/icu4j/70.1/icu4j-70.1.jar;%MC_DIR%/libraries/com/mojang/javabridge/1.2.24/javabridge-1.2.24.jar;%MC_DIR%/libraries/net/sf/jopt-simple/jopt-simple/5.0.4/jopt-simple-5.0.4.jar;%MC_DIR%/libraries/io/netty/netty-common/4.1.77.Final/netty-common-4.1.77.Final.jar;%MC_DIR%/libraries/io/netty/netty-buffer/4.1.77.Final/netty-buffer-4.1.77.Final.jar;%MC_DIR%/libraries/io/netty/netty-codec/4.1.77.Final/netty-codec-4.1.77.Final.jar;%MC_DIR%/libraries/io/netty/netty-handler/4.1.77.Final/netty-handler-4.1.77.Final.jar;%MC_DIR%/libraries/io/netty/netty-resolver/4.1.77.Final/netty-resolver-4.1.77.Final.jar;%MC_DIR%/libraries/io/netty/netty-transport/4.1.77.Final/netty-transport-4.1.77.Final.jar;%MC_DIR%/libraries/io/netty/netty-transport-native-unix-common/4.1.77.Final/netty-transport-native-unix-common-4.1.77.Final.jar;%MC_DIR%/libraries/io/netty/netty-transport-classes-epoll/4.1.77.Final/netty-transport-classes-epoll-4.1.77.Final.jar;%MC_DIR%/libraries/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar;%MC_DIR%/libraries/com/google/guava/guava/31.0.1-jre/guava-31.0.1-jre.jar;%MC_DIR%/libraries/org/apache/commons/commons-lang3/3.12.0/commons-lang3-3.12.0.jar;%MC_DIR%/libraries/commons-io/commons-io/2.11.0/commons-io-2.11.0.jar;%MC_DIR%/libraries/commons-codec/commons-codec/1.15/commons-codec-1.15.jar;%MC_DIR%/libraries/com/mojang/brigadier/1.0.18/brigadier-1.0.18.jar;%MC_DIR%/libraries/com/mojang/datafixerupper/5.0.28/datafixerupper-5.0.28.jar;%MC_DIR%/libraries/com/google/code/gson/gson/2.8.9/gson-2.8.9.jar;%MC_DIR%/libraries/com/mojang/authlib/3.11.50/authlib-3.11.50.jar;%MC_DIR%/libraries/org/apache/commons/commons-compress/1.21/commons-compress-1.21.jar;%MC_DIR%/libraries/org/apache/httpcomponents/httpclient/4.5.13/httpclient-4.5.13.jar;%MC_DIR%/libraries/commons-logging/commons-logging/1.2/commons-logging-1.2.jar;%MC_DIR%/libraries/org/apache/httpcomponents/httpcore/4.4.14/httpcore-4.4.14.jar;%MC_DIR%/libraries/it/unimi/dsi/fastutil/8.5.6/fastutil-8.5.6.jar;%MC_DIR%/libraries/org/apache/logging/log4j/log4j-api/2.17.0/log4j-api-2.17.0.jar;%MC_DIR%/libraries/org/apache/logging/log4j/log4j-core/2.17.0/log4j-core-2.17.0.jar;%MC_DIR%/libraries/org/lwjgl/lwjgl/3.3.1/lwjgl-3.3.1.jar;%MC_DIR%/libraries/org/lwjgl/lwjgl/3.3.1/lwjgl-3.3.1-natives-windows.jar;%MC_DIR%/libraries/org/lwjgl/lwjgl/3.3.1/lwjgl-3.3.1-natives-windows-x86.jar;%MC_DIR%/libraries/org/lwjgl/lwjgl-jemalloc/3.3.1/lwjgl-jemalloc-3.3.1.jar;%MC_DIR%/libraries/org/lwjgl/lwjgl-jemalloc/3.3.1/lwjgl-jemalloc-3.3.1-natives-windows.jar;%MC_DIR%/libraries/org/lwjgl/lwjgl-jemalloc/3.3.1/lwjgl-jemalloc-3.3.1-natives-windows-x86.jar;%MC_DIR%/libraries/org/lwjgl/lwjgl-openal/3.3.1/lwjgl-openal-3.3.1.jar;%MC_DIR%/libraries/org/lwjgl/lwjgl-openal/3.3.1/lwjgl-openal-3.3.1-natives-windows.jar;%MC_DIR%/libraries/org/lwjgl/lwjgl-openal/3.3.1/lwjgl-openal-3.3.1-natives-windows-x86.jar;%MC_DIR%/libraries/org/lwjgl/lwjgl-opengl/3.3.1/lwjgl-opengl-3.3.1.jar;%MC_DIR%/libraries/org/lwjgl/lwjgl-opengl/3.3.1/lwjgl-opengl-3.3.1-natives-windows.jar;%MC_DIR%/libraries/org/lwjgl/lwjgl-opengl/3.3.1/lwjgl-opengl-3.3.1-natives-windows-x86.jar;%MC_DIR%/libraries/org/lwjgl/lwjgl-glfw/3.3.1/lwjgl-glfw-3.3.1.jar;%MC_DIR%/libraries/org/lwjgl/lwjgl-glfw/3.3.1/lwjgl-glfw-3.3.1-natives-windows.jar;%MC_DIR%/libraries/org/lwjgl/lwjgl-glfw/3.3.1/lwjgl-glfw-3.3.1-natives-windows-x86.jar;%MC_DIR%/libraries/org/lwjgl/lwjgl-stb/3.3.1/lwjgl-stb-3.3.1.jar;%MC_DIR%/libraries/org/lwjgl/lwjgl-stb/3.3.1/lwjgl-stb-3.3.1-natives-windows.jar;%MC_DIR%/libraries/org/lwjgl/lwjgl-stb/3.3.1/lwjgl-stb-3.3.1-natives-windows-x86.jar;%MC_DIR%/libraries/org/lwjgl/lwjgl-tinyfd/3.3.1/lwjgl-tinyfd-3.3.1.jar;%MC_DIR%/libraries/org/lwjgl/lwjgl-tinyfd/3.3.1/lwjgl-tinyfd-3.3.1-natives-windows.jar;%MC_DIR%/libraries/org/lwjgl/lwjgl-tinyfd/3.3.1/lwjgl-tinyfd-3.3.1-natives-windows-x86.jar;%MC_DIR%/libraries/com/mojang/text2speech/1.13.9/text2speech-1.13.9.jar;%MC_DIR%/libraries/com/mojang/text2speech/1.13.9/text2speech-1.13.9-natives-windows.jar;%MC_DIR%/versions/%GAME_VERSION%/%GAME_VERSION%.jar
:: player nickname (the over head)
set PLAYER_NAME=%PLAYER%
:: game window resolution
set WINDOW_W=800
set WINDOW_H=640
:: java machine arguments
set "JVM_RAM=-Xmx2G"
set "JVM_ARGS=-XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M"
:: running minecraft
cd /d %MC_DIR%
java.exe %JVM_RAM% %JVM_ARGS% ^
-cp %LIBRARIES_LIST% ^
net.minecraft.client.main.Main ^
--username %PLAYER_NAME% ^
--version %GAME_VERSION% ^
--accessToken 0 --userProperties {} ^
--gameDir %GAME_DIR% ^
--assetsDir %ASSETS_DIR% ^
--assetIndex %ASSETS_INDEX% ^
--width %WINDOW_W% ^
--height %WINDOW_H%