15
15
import java .nio .file .Paths ;
16
16
import java .nio .file .StandardCopyOption ;
17
17
import java .util .function .Consumer ;
18
+ import java .util .function .Predicate ;
18
19
19
20
/**
20
21
* Created by Tareko on 25.05.2017.
@@ -23,22 +24,21 @@ public class SetupSpigotVersion implements Consumer<ConsoleReader> {
23
24
24
25
private Path target ;
25
26
26
- private final Consumer <String > download = new Consumer <String >() {
27
- @ Override
28
- public void accept (String url ) {
29
- try {
30
- System .out .println ("Downloading spigot.jar..." );
31
- URLConnection connection = new URL (url ).openConnection ();
32
- connection .setRequestProperty ("User-Agent" ,
33
- "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11" );
34
- connection .connect ();
35
- try (InputStream inputStream = connection .getInputStream ()) {
36
- Files .copy (inputStream , SetupSpigotVersion .this .getTarget (), StandardCopyOption .REPLACE_EXISTING );
37
- }
38
- System .out .println ("Download was successfully completed!" );
39
- } catch (Exception e ) {
40
- e .printStackTrace ();
27
+ private final Predicate <String > download = url -> {
28
+ try {
29
+ System .out .println ("Downloading spigot.jar..." );
30
+ URLConnection connection = new URL (url ).openConnection ();
31
+ connection .setRequestProperty ("User-Agent" ,
32
+ "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11" );
33
+ connection .connect ();
34
+ try (InputStream inputStream = connection .getInputStream ()) {
35
+ Files .copy (inputStream , SetupSpigotVersion .this .getTarget (), StandardCopyOption .REPLACE_EXISTING );
41
36
}
37
+ System .out .println ("Download was successfully completed!" );
38
+ return true ;
39
+ } catch (Exception e ) {
40
+ e .printStackTrace ();
41
+ return false ;
42
42
}
43
43
};
44
44
@@ -51,13 +51,71 @@ public void accept(String url) {
51
51
public void accept (ConsoleReader reader ) {
52
52
System .out .println ("No spigot.jar has been found!" );
53
53
54
- System .out .println ("Choose a minecraft server version [\" paper\" , \" spigot\" , \" buildtools\" ]" );
54
+ String spigotType ;
55
+ do {
56
+ System .out .println ("Choose a minecraft server version [\" paper\" , \" spigot\" , \" buildtools\" ]" );
57
+ spigotType = System .getProperty ("spigot-type" ) != null ? System .getProperty ("spigot-type" ) : this .askForServerType (reader );
58
+ } while (!this .install (reader , spigotType ));
59
+ }
55
60
56
- String answer = null ;
61
+ private boolean install (ConsoleReader reader , String spigotType ) {
62
+ switch (spigotType ) {
63
+ case "spigot" :
64
+ return this .installSpigot (reader );
65
+ case "buildtools" :
66
+ return SpigotBuilder .start (reader , this .getTarget ());
67
+ case "paper" :
68
+ return PaperBuilder .start (reader , this .getTarget ());
69
+ }
70
+ return false ;
71
+ }
57
72
58
- if (System .getProperty ("spigot-type" ) != null ) {
59
- answer = System .getProperty ("spigot-type" );
73
+ private boolean installSpigot (ConsoleReader reader ) {
74
+ System .out .println (
75
+ "Choose a Spigot version [\" 1.7.10\" , \" 1.8.8\" , \" 1.9.4\" , \" 1.10.2\" , \" 1.11.2\" , \" 1.12.2\" , \" 1.13\" , \" 1.13.1\" , \" 1.13.2\" , \" 1.14\" , \" 1.14.1\" , \" 1.14.2\" , \" 1.14.3\" , \" 1.14.4\" ]" );
76
+ while (true ) {
77
+ try {
78
+ switch (reader .readLine ().toLowerCase ()) {
79
+ case "1.7.10" :
80
+ return this .download .test ("https://cdn.getbukkit.org/spigot/spigot-1.7.10-SNAPSHOT-b1657.jar" );
81
+ case "1.8.8" :
82
+ return this .download .test ("https://cdn.getbukkit.org/spigot/spigot-1.8.8-R0.1-SNAPSHOT-latest.jar" );
83
+ case "1.9.4" :
84
+ return this .download .test ("https://cdn.getbukkit.org/spigot/spigot-1.9.4-R0.1-SNAPSHOT-latest.jar" );
85
+ case "1.10.2" :
86
+ return this .download .test ("https://cdn.getbukkit.org/spigot/spigot-1.10.2-R0.1-SNAPSHOT-latest.jar" );
87
+ case "1.11.2" :
88
+ return this .download .test ("https://cdn.getbukkit.org/spigot/spigot-1.11.2.jar" );
89
+ case "1.12.2" :
90
+ return this .download .test ("https://cdn.getbukkit.org/spigot/spigot-1.12.2.jar" );
91
+ case "1.13" :
92
+ return this .download .test ("https://cdn.getbukkit.org/spigot/spigot-1.13.jar" );
93
+ case "1.13.1" :
94
+ return this .download .test ("https://cdn.getbukkit.org/spigot/spigot-1.13.1.jar" );
95
+ case "1.13.2" :
96
+ return this .download .test ("https://cdn.getbukkit.org/spigot/spigot-1.13.2.jar" );
97
+ case "1.14" :
98
+ return this .download .test ("https://cdn.getbukkit.org/spigot/spigot-1.14.jar" );
99
+ case "1.14.1" :
100
+ return this .download .test ("https://cdn.getbukkit.org/spigot/spigot-1.14.1.jar" );
101
+ case "1.14.2" :
102
+ return this .download .test ("https://cdn.getbukkit.org/spigot/spigot-1.14.2.jar" );
103
+ case "1.14.3" :
104
+ return this .download .test ("https://cdn.getbukkit.org/spigot/spigot-1.14.3.jar" );
105
+ case "1.14.4" :
106
+ return this .download .test ("https://cdn.getbukkit.org/spigot/spigot-1.14.4.jar" );
107
+ default :
108
+ System .out .println ("This version is not supported!" );
109
+ break ;
110
+ }
111
+ } catch (IOException e ) {
112
+ e .printStackTrace ();
113
+ }
60
114
}
115
+ }
116
+
117
+ private String askForServerType (ConsoleReader reader ) {
118
+ String answer = null ;
61
119
62
120
String input ;
63
121
@@ -83,73 +141,8 @@ public void accept(ConsoleReader reader) {
83
141
ex .printStackTrace ();
84
142
}
85
143
}
86
- if (System .getProperty ("spigot-version" ) != null ) {
87
- answer = System .getProperty ("spigot-version" );
88
- }
89
- switch (answer ) {
90
- case "spigot" :
91
- System .out .println (
92
- "Choose a Spigot version [\" 1.7.10\" , \" 1.8.8\" , \" 1.9.4\" , \" 1.10.2\" , \" 1.11.2\" , \" 1.12.2\" , \" 1.13\" , \" 1.13.1\" , \" 1.13.2\" , \" 1.14\" , \" 1.14.1\" , \" 1.14.2\" , \" 1.14.3\" , \" 1.14.4\" ]" );
93
- while (true ) {
94
- try {
95
- switch (reader .readLine ().toLowerCase ()) {
96
- case "1.7.10" :
97
- download .accept ("https://cdn.getbukkit.org/spigot/spigot-1.7.10-SNAPSHOT-b1657.jar" );
98
- return ;
99
- case "1.8.8" :
100
- download .accept ("https://cdn.getbukkit.org/spigot/spigot-1.8.8-R0.1-SNAPSHOT-latest.jar" );
101
- return ;
102
- case "1.9.4" :
103
- download .accept ("https://cdn.getbukkit.org/spigot/spigot-1.9.4-R0.1-SNAPSHOT-latest.jar" );
104
- return ;
105
- case "1.10.2" :
106
- download .accept ("https://cdn.getbukkit.org/spigot/spigot-1.10.2-R0.1-SNAPSHOT-latest.jar" );
107
- return ;
108
- case "1.11.2" :
109
- download .accept ("https://cdn.getbukkit.org/spigot/spigot-1.11.2.jar" );
110
- return ;
111
- case "1.12.2" :
112
- download .accept ("https://cdn.getbukkit.org/spigot/spigot-1.12.2.jar" );
113
- return ;
114
- case "1.13" :
115
- download .accept ("https://cdn.getbukkit.org/spigot/spigot-1.13.jar" );
116
- return ;
117
- case "1.13.1" :
118
- download .accept ("https://cdn.getbukkit.org/spigot/spigot-1.13.1.jar" );
119
- return ;
120
- case "1.13.2" :
121
- download .accept ("https://cdn.getbukkit.org/spigot/spigot-1.13.2.jar" );
122
- return ;
123
- case "1.14" :
124
- download .accept ("https://cdn.getbukkit.org/spigot/spigot-1.14.jar" );
125
- return ;
126
- case "1.14.1" :
127
- download .accept ("https://cdn.getbukkit.org/spigot/spigot-1.14.1.jar" );
128
- return ;
129
- case "1.14.2" :
130
- download .accept ("https://cdn.getbukkit.org/spigot/spigot-1.14.2.jar" );
131
- return ;
132
- case "1.14.3" :
133
- download .accept ("https://cdn.getbukkit.org/spigot/spigot-1.14.3.jar" );
134
- return ;
135
- case "1.14.4" :
136
- download .accept ("https://cdn.getbukkit.org/spigot/spigot-1.14.4.jar" );
137
- return ;
138
- default :
139
- System .out .println ("This version is not supported!" );
140
- break ;
141
- }
142
- } catch (IOException e ) {
143
- e .printStackTrace ();
144
- }
145
- }
146
- case "buildtools" :
147
- SpigotBuilder .start (reader , this .getTarget ());
148
- break ;
149
- case "paper" :
150
- PaperBuilder .start (reader , this .getTarget ());
151
- break ;
152
- }
144
+
145
+ return answer ;
153
146
}
154
147
155
148
public Path getTarget () {
0 commit comments