1
1
package net .noodles .pl .nopluginscommand ;
2
2
3
+ import com .google .gson .JsonObject ;
4
+ import com .google .gson .JsonParser ;
5
+ import org .bukkit .Bukkit ;
6
+ import org .bukkit .command .CommandSender ;
3
7
import org .bukkit .event .EventHandler ;
4
8
import org .bukkit .event .Listener ;
5
9
import org .bukkit .event .player .PlayerCommandPreprocessEvent ;
6
10
import org .bukkit .plugin .java .JavaPlugin ;
7
11
12
+ import java .io .BufferedReader ;
13
+ import java .io .InputStreamReader ;
14
+ import java .net .HttpURLConnection ;
15
+ import java .net .URL ;
8
16
import java .util .Arrays ;
9
17
import java .util .List ;
10
18
@@ -13,6 +21,54 @@ public final class NoPluginsCommand extends JavaPlugin implements Listener {
13
21
@ Override
14
22
public void onEnable () {
15
23
getServer ().getPluginManager ().registerEvents (this , this );
24
+ updateCheck (Bukkit .getConsoleSender ());
25
+ }
26
+
27
+
28
+ public void updateCheck (CommandSender sender ) {
29
+ try {
30
+ String urlString = "https://updatecheck.bghddevelopment.com" ;
31
+ URL url = new URL (urlString );
32
+ HttpURLConnection connection = (HttpURLConnection ) url .openConnection ();
33
+ connection .setRequestMethod ("GET" );
34
+ connection .setRequestProperty ("User-Agent" , "Mozilla/5.0" );
35
+ BufferedReader reader = new BufferedReader (new InputStreamReader (connection .getInputStream ()));
36
+ String input ;
37
+ StringBuffer response = new StringBuffer ();
38
+ while ((input = reader .readLine ()) != null ) {
39
+ response .append (input );
40
+ }
41
+ reader .close ();
42
+ JsonObject object = new JsonParser ().parse (response .toString ()).getAsJsonObject ();
43
+
44
+ if (object .has ("plugins" )) {
45
+ JsonObject plugins = object .get ("plugins" ).getAsJsonObject ();
46
+ JsonObject info = plugins .get ("NoPluginCommand" ).getAsJsonObject ();
47
+ String version = info .get ("version" ).getAsString ();
48
+ if (version .equals (getDescription ().getVersion ())) {
49
+ sender .sendMessage (Color .translate ("&aNoPluginCommand is on the latest version." ));
50
+ } else {
51
+ sender .sendMessage (Color .translate ("" ));
52
+ sender .sendMessage (Color .translate ("" ));
53
+ sender .sendMessage (Color .translate ("&cYour NoPluginCommand version is out of date!" ));
54
+ sender .sendMessage (Color .translate ("&cWe recommend updating ASAP!" ));
55
+ sender .sendMessage (Color .translate ("" ));
56
+ sender .sendMessage (Color .translate ("&cYour Version: &e" + getDescription ().getVersion ()));
57
+ sender .sendMessage (Color .translate ("&aNewest Version: &e" + version ));
58
+ sender .sendMessage (Color .translate ("" ));
59
+ sender .sendMessage (Color .translate ("" ));
60
+ return ;
61
+ }
62
+ return ;
63
+ } else {
64
+ sender .sendMessage (Color .translate ("&cWrong response from update API, contact plugin developer!" ));
65
+ return ;
66
+ }
67
+ } catch (
68
+ Exception ex ) {
69
+ sender .sendMessage (Color .translate ("&cFailed to get updater check. (" + ex .getMessage () + ")" ));
70
+ return ;
71
+ }
16
72
}
17
73
18
74
@ EventHandler
0 commit comments