#!/usr/bin/env bash is_java_core() { local core="$1" case "$core" in paper|purpur|velocity|powernukkitx) return 0 ;; *) return 1 ;; esac } install_java_21() { if command -v java >/dev/null 2>&1; then local version version="$(java -version 2>&1 | sed -n 's/.*version "\(.*\)".*/\1/p' | head -n1 | sed 's/"//g' | sed 's/^\([0-9][0-9]*\).*/\1/')" if [[ "$version" =~ ^[0-9]+$ ]] && (( version >= 21 )); then info "$(t java_already_available "$version")" return 0 fi fi info "$(t installing_java_21)" case "$PKG_MANAGER" in apt) emit_step "java_install" "apt" run_cmd apt-get install -y openjdk-21-jre-headless ;; dnf|yum) emit_step "java_install" "$PKG_MANAGER" run_cmd "$PKG_MANAGER" install -y java-21-openjdk-headless ;; pacman) emit_step "java_install" "pacman" run_cmd pacman -Sy --noconfirm jre-openjdk-headless ;; esac } create_java_start_script() { local dir="$1" local jar_file="$2" local ram="$3" local extra_opts="${4:-}" local script="$dir/start.sh" emit_step "render_start_script" "$jar_file" run_cmd bash -c "cat > '$script' < '$script' <