92 lines
2.2 KiB
Bash
Executable File
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}
|