Skip to content

Commit 6ad45ec

Browse files
Update check + version push
1 parent c1b0e14 commit 6ad45ec

File tree

4 files changed

+80
-2
lines changed

4 files changed

+80
-2
lines changed

pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
<groupId>net.noodles.pl</groupId>
88
<artifactId>NoPluginsCommand</artifactId>
9-
<version>1.1-SNAPSHOT</version>
9+
<version>1.2</version>
1010
<packaging>jar</packaging>
1111

1212
<name>NoPluginsCommand</name>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package net.noodles.pl.nopluginscommand;
2+
3+
import org.bukkit.ChatColor;
4+
5+
import java.util.List;
6+
import java.util.stream.Collectors;
7+
8+
public class Color {
9+
10+
public static String translate(String source) {
11+
return ChatColor.translateAlternateColorCodes('&', source);
12+
}
13+
14+
public static String translate(String player, String source) {
15+
source = translate(source);
16+
return translate(source);
17+
}
18+
19+
public static List<String> translate(List<String> source) {
20+
return source.stream().map(Color::translate).collect(Collectors.toList());
21+
}
22+
}

src/main/java/net/noodles/pl/nopluginscommand/NoPluginsCommand.java

+56
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,18 @@
11
package net.noodles.pl.nopluginscommand;
22

3+
import com.google.gson.JsonObject;
4+
import com.google.gson.JsonParser;
5+
import org.bukkit.Bukkit;
6+
import org.bukkit.command.CommandSender;
37
import org.bukkit.event.EventHandler;
48
import org.bukkit.event.Listener;
59
import org.bukkit.event.player.PlayerCommandPreprocessEvent;
610
import org.bukkit.plugin.java.JavaPlugin;
711

12+
import java.io.BufferedReader;
13+
import java.io.InputStreamReader;
14+
import java.net.HttpURLConnection;
15+
import java.net.URL;
816
import java.util.Arrays;
917
import java.util.List;
1018

@@ -13,6 +21,54 @@ public final class NoPluginsCommand extends JavaPlugin implements Listener {
1321
@Override
1422
public void onEnable() {
1523
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+
}
1672
}
1773

1874
@EventHandler

src/main/resources/plugin.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name: NoPluginsCommand
2-
version: ${project.version}
2+
version: 1.2
33
main: net.noodles.pl.nopluginscommand.NoPluginsCommand
44
authors: [BGHDDevelopmentLLC]
55
description: Blocks /plugin, /about, /version, and more!

0 commit comments

Comments
 (0)