diff --git a/macos/README.md b/macos/README.md new file mode 100644 index 0000000..2cdc28a --- /dev/null +++ b/macos/README.md @@ -0,0 +1,3 @@ +## ⚠️ WARNING ⚠️ + +This release make automatic and not tested on native macOS diff --git a/macos/minecraft_vanilla.sh b/macos/minecraft_vanilla.sh new file mode 100644 index 0000000..42d3e9a --- /dev/null +++ b/macos/minecraft_vanilla.sh @@ -0,0 +1,108 @@ +#!/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