diff options
author | Freya Murphy <freya@freyacat.org> | 2025-05-12 17:02:06 -0400 |
---|---|---|
committer | Freya Murphy <freya@freyacat.org> | 2025-05-12 17:02:17 -0400 |
commit | 769473c800827b7c0e2847ce60268f4a054ec200 (patch) | |
tree | 9072adb4fa79ea2a6b1ea733fff38eb81147b264 | |
parent | add new builder to openrc (diff) | |
download | images-main.tar.gz images-main.tar.bz2 images-main.zip |
-rwxr-xr-x | minecraft/mclauncher | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/minecraft/mclauncher b/minecraft/mclauncher index 98a2610..f837dce 100755 --- a/minecraft/mclauncher +++ b/minecraft/mclauncher @@ -207,7 +207,12 @@ download_step() { install_step_forge() { log "installing forge server" jar_name="$(get_key "JAR_NAME")" - java -jar "$SERVER_DIR/$jar_name" --installServer + + # check if library dir exists (if not... install) + library="$SERVER_DIR/libraries/net/minecraftforge/forge/$(get_key MC_VERSION)-$(get_key FORGE_VERSION)" + if [ ! -d "$library" ]; then + java -jar "$SERVER_DIR/$jar_name" --installServer + fi binary_step_forge if [ "$MCLAUNCHER_BINARY" = "" ]; then @@ -248,12 +253,24 @@ execute_step_default() { } execute_step_forge() { + + # save jvm args + echo "$JVMARGS" | tr ' ' '\n' > "$SERVER_DIR/user_jvm_args.txt" + + # check if a run script exists if [ -f "$SERVER_DIR/run.sh" ]; then - echo "$JVMARGS" | tr ' ' '\n' > "$SERVER_DIR/user_jvm_args.txt" { chmod +x "$SERVER_DIR/run.sh" || true; } exec "$SERVER_DIR/run.sh" nogui + + # check if the forge library dir exists + library="$SERVER_DIR/libraries/net/minecraftforge/forge/$(get_key MC_VERSION)-$(get_key FORGE_VERSION)" + elif [ -d "$library" ]; then + exec java @user_jvm_args.txt "@$library/unix_args.txt" + + # fallback to raw jar file else - exec java $JVMARGS -jar "$SERVER_DIR/$MCLAUNCHER_BINARY" nogui + exec java @user_jvm_args.txt -jar "$SERVER_DIR/$MCLAUNCHER_BINARY" nogui + fi } |