summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFreya Murphy <freya@freyacat.org>2025-05-12 17:02:06 -0400
committerFreya Murphy <freya@freyacat.org>2025-05-12 17:02:17 -0400
commit769473c800827b7c0e2847ce60268f4a054ec200 (patch)
tree9072adb4fa79ea2a6b1ea733fff38eb81147b264
parentadd new builder to openrc (diff)
downloadimages-main.tar.gz
images-main.tar.bz2
images-main.zip
minecraft: mc forge fixesHEADmain
-rwxr-xr-xminecraft/mclauncher23
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
}