mc-libs-freebsd/lwjgl3/java17-wrapper

92 lines
2.2 KiB
Bash
Executable File

#!/bin/sh
# Runtime for running Minecraft 1.17 and newer on FreeBSD
# original work by <glowiak1111@yandex.com>
# new edits by <mia-rain@tuta.io>
NAME=lwjgl3
PREFIX=/usr/local
ROOT=${PREFIX}/share/java/classes/${NAME}
# ORIGINAL: ROOT=/usr/local/share/minecraft16/lwjgl3/
LWJGL_JLP_OVRD="${PREFIX}/lib/${NAME}:/usr/local/lib:/usr/lib"
# ORIGINAL: LWJGL_JLP_OVRD="${ROOT}/native-libs:${ROOT}/lwjgl3/bin/libs:/usr/local/lib:/usr/lib"
# ${ROOT}/native-libs points to libglfw.so & libopenal.so
# ${ROOT}/lwjgl3/bin/libs points to lwjgl*.so files
LWJGL_OVRD="${ROOT}/lwjgl.jar"
LWJGL_OGL_OVRD="${ROOT}/lwjgl-opengl.jar"
LWJGL_OAL_OVRD="${ROOT}/lwjgl-openal.jar"
LWJGL_GLFW_OVRD="${ROOT}/lwjgl-glfw.jar"
LWJGL_STB_OVRD="${ROOT}/lwjgl-stb.jar"
LWJGL_JEM_OVRD="${ROOT}/lwjgl-jemalloc.jar"
#L2_OVRD="/usr/local/lib/lwjgl"
#L2_2_OVRD="/usr/local/share/java/classes/lwjgl/lwjgl.jar"
#L2_UTIL_OVRD="/usr/share/java/classes/lwjgl/lwjgl_util.jar"
export JAVA_HOME=/usr/local/openjdk17
# openjdk16 is no longer present in FreeBSD
# and 1.17+ uses jdk18+
# there may be issues with 1.13 -> 1.16
echo CMD IN: ${@}
build_classpath() {
echo build_classpath called with $@
local IFS=":"
for p in ${1}
do
case "${p}" in
*lwjgl-3.*.*.jar)
echo set $p = ${LWJGL_OVRD}
cp="${cp}:${LWJGL_OVRD}"
;;
*lwjgl-opengl*)
echo set $p = ${LWJGL_OGL_OVRD}
cp="${cp}:${LWJGL_OGL_OVRD}"
;;
*lwjgl-openal*)
echo set $p = ${LWJGL_OAL_OVRD}
cp="${cp}:${LWJGL_OAL_OVRD}"
;;
*lwjgl-glfw*)
echo set $p = ${LWJGL_GLFW_OVRD}
cp="${cp}:${LWJGL_GLFW_OVRD}"
;;
*lwjgl-stb*)
echo set $p = ${LWJGL_STB_OVRD}
cp="${cp}:${LWJGL_STB_OVRD}"
;;
*lwjgl-jemalloc*)
echo set $p = ${LWJGL_JEM_OVRD}
cp="${cp}:${LWJGL_JEM_OVRD}"
;;
*)
cp="${cp}:${p}"
;;
esac
done
cp=${cp#?}
}
for var in "${@}"
do
echo for var ${var}
case "${var}" in
-Djava.library*)
echo set library path
args="${args} -Djava.library.path=${LWJGL_JLP_OVRD}"
;;
*lwjgl-opengl*)
build_classpath "${var}"
args="${args} ${cp}"
;;
*)
args="${args} ${var}"
;;
esac
done
echo CMD OUT: ${args}
${JAVA_HOME}/bin/java ${args}