@dimzxzzx07/mc-headless 1.7.0 → 1.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,38 +1,103 @@
1
1
  #!/bin/bash
2
2
 
3
- echo "Installing Java for Minecraft Server..."
3
+ echo "Minecraft Headless - Java Auto Installer"
4
4
 
5
- if [ -f /etc/os-release ]; then
6
- . /etc/os-release
7
- OS=$ID
8
- elif [ -n "$TERMUX_VERSION" ]; then
9
- OS="termux"
5
+ JAVA_VERSION=${1:-17}
6
+ echo "Target Java version: $JAVA_VERSION"
7
+
8
+ detect_os() {
9
+ if [ -f /etc/os-release ]; then
10
+ . /etc/os-release
11
+ echo "$ID"
12
+ elif [ -n "$TERMUX_VERSION" ]; then
13
+ echo "termux"
14
+ elif [ "$(uname)" == "Darwin" ]; then
15
+ echo "macos"
16
+ elif [ "$(expr substr $(uname -s) 1 5)" == "MINGW" ]; then
17
+ echo "windows"
18
+ else
19
+ echo "unknown"
20
+ fi
21
+ }
22
+
23
+ OS=$(detect_os)
24
+ echo "Detected OS: $OS"
25
+
26
+ install_java_17() {
27
+ case $OS in
28
+ ubuntu|debian)
29
+ apt update
30
+ apt install -y openjdk-17-jre-headless
31
+ ;;
32
+ centos|rhel|fedora)
33
+ if command -v dnf &> /dev/null; then
34
+ dnf install -y java-17-openjdk-headless
35
+ else
36
+ yum install -y java-17-openjdk-headless
37
+ fi
38
+ ;;
39
+ arch)
40
+ pacman -S --noconfirm jre17-openjdk-headless
41
+ ;;
42
+ termux)
43
+ pkg install -y openjdk-17
44
+ ;;
45
+ macos)
46
+ if ! command -v brew &> /dev/null; then
47
+ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
48
+ fi
49
+ brew install openjdk@17
50
+ ;;
51
+ *)
52
+ echo "Unsupported OS for Java 17 installation"
53
+ return 1
54
+ ;;
55
+ esac
56
+ }
57
+
58
+ install_java_21() {
59
+ case $OS in
60
+ ubuntu|debian)
61
+ apt update
62
+ apt install -y openjdk-21-jre-headless
63
+ ;;
64
+ centos|rhel|fedora)
65
+ if command -v dnf &> /dev/null; then
66
+ dnf install -y java-21-openjdk-headless
67
+ else
68
+ yum install -y java-21-openjdk-headless
69
+ fi
70
+ ;;
71
+ arch)
72
+ pacman -S --noconfirm jre21-openjdk-headless
73
+ ;;
74
+ termux)
75
+ echo "Java 21 not available in Termux, installing Java 17 instead"
76
+ install_java_17
77
+ ;;
78
+ macos)
79
+ if ! command -v brew &> /dev/null; then
80
+ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
81
+ fi
82
+ brew install openjdk@21
83
+ ;;
84
+ *)
85
+ echo "Unsupported OS for Java 21 installation"
86
+ return 1
87
+ ;;
88
+ esac
89
+ }
90
+
91
+ if [ "$JAVA_VERSION" = "21" ]; then
92
+ install_java_21
10
93
  else
11
- OS="unknown"
94
+ install_java_17
12
95
  fi
13
96
 
14
- case $OS in
15
- ubuntu|debian)
16
- apt update
17
- apt install -y openjdk-17-jre-headless
18
- ;;
19
- centos|rhel)
20
- yum install -y java-17-openjdk-headless
21
- ;;
22
- fedora)
23
- dnf install -y java-17-openjdk-headless
24
- ;;
25
- arch)
26
- pacman -S --noconfirm jre17-openjdk-headless
27
- ;;
28
- termux)
29
- pkg install -y openjdk-17
30
- ;;
31
- *)
32
- echo "Unsupported OS. Please install Java 17 manually."
33
- exit 1
34
- ;;
35
- esac
36
-
37
- echo "Java installation completed."
38
- java -version
97
+ if [ $? -eq 0 ]; then
98
+ echo "Java installation completed."
99
+ java -version
100
+ else
101
+ echo "Java installation failed."
102
+ exit 1
103
+ fi