diff --git a/pom.xml b/pom.xml
index 478c10d..291c5a2 100644
--- a/pom.xml
+++ b/pom.xml
@@ -87,6 +87,14 @@
compile
+
+
+ org.json
+ json
+ 20180813
+
+
+
diff --git a/src/main/java/org/moss/discord/Main.java b/src/main/java/org/moss/discord/Main.java
index 5f90717..6d0d185 100644
--- a/src/main/java/org/moss/discord/Main.java
+++ b/src/main/java/org/moss/discord/Main.java
@@ -4,15 +4,8 @@
import de.btobastian.sdcf4j.handler.JavacordHandler;
import org.javacord.api.DiscordApi;
import org.javacord.api.DiscordApiBuilder;
-import org.moss.discord.commands.AvatarCommand;
-import org.moss.discord.commands.BStatsCommand;
+import org.moss.discord.commands.*;
import org.moss.discord.listeners.StarboardListener;
-import org.moss.discord.commands.GithubCommand;
-import org.moss.discord.commands.MojangCommand;
-import org.moss.discord.commands.NicknameCommand;
-import org.moss.discord.commands.PresenceCommand;
-import org.moss.discord.commands.TagCommand;
-import org.moss.discord.commands.SpigetCommand;
import org.moss.discord.commands.moderation.BanCommand;
import org.moss.discord.commands.moderation.KickCommand;
import org.moss.discord.commands.moderation.PruneCommand;
@@ -55,6 +48,7 @@ public static void main(String[] args) {
commandHandler.registerCommand(new NicknameCommand());
commandHandler.registerCommand(new AvatarCommand());
commandHandler.registerCommand(new SpigetCommand());
+ commandHandler.registerCommand(new BlacklistCommand());
// Register listeners
api.addListener(new ModLogListeners(api));
diff --git a/src/main/java/org/moss/discord/commands/BlacklistCommand.java b/src/main/java/org/moss/discord/commands/BlacklistCommand.java
new file mode 100644
index 0000000..77b1a09
--- /dev/null
+++ b/src/main/java/org/moss/discord/commands/BlacklistCommand.java
@@ -0,0 +1,50 @@
+package org.moss.discord.commands;
+
+import de.btobastian.sdcf4j.Command;
+import de.btobastian.sdcf4j.CommandExecutor;
+import okhttp3.OkHttpClient;
+import okhttp3.Request;
+import okhttp3.Response;
+import org.javacord.api.DiscordApi;
+import org.javacord.api.entity.channel.TextChannel;
+import org.javacord.api.entity.message.Message;
+import org.javacord.api.entity.message.embed.EmbedBuilder;
+import org.json.JSONArray;
+import org.json.JSONObject;
+
+import java.io.IOException;
+import java.util.Objects;
+
+public class BlacklistCommand implements CommandExecutor {
+
+ @Command(aliases = {"!blacklist"}, usage = "!blacklist ", description = "Checks if a server IP is blacklisted from Mojang")
+ public void onCommand(DiscordApi api, Message message, TextChannel channel, String[] args) {
+ if (args.length != 1) return;
+ EmbedBuilder builder = new EmbedBuilder();
+ try {
+ OkHttpClient client = new OkHttpClient();
+ Request request = new Request.Builder().url("https://use.gameapis.net/mc/extra/blockedservers/check/" + args[0]).build();
+ Response response = client.newCall(request).execute();
+ String jsonData = Objects.requireNonNull(response.body()).string();
+ JSONObject json = new JSONObject(jsonData);
+ response.close();
+ JSONArray array = json.getJSONArray(args[0]);
+ int length = array.length();
+ builder.setTitle(args[0] + " Blacklist Information");
+ for (int i = 0; i < length; i++) {
+ String emoji;
+ String check = String.valueOf(array.getJSONObject(i).getBoolean("blocked"));
+ if (check.equalsIgnoreCase("false")) {
+ emoji = "\u2705";
+ } else {
+ emoji = "\uD83D\uDEAB";
+ }
+ builder.addField(array.getJSONObject(i).getString("domain"), "Status: " + emoji, true);
+ }
+ builder.setFooter("Requested by " + message.getAuthor().getDisplayName(), message.getAuthor().getAvatar());
+ channel.sendMessage(builder);
+ } catch (IOException ex) {
+ ex.printStackTrace();
+ }
+ }
+}
diff --git a/src/main/java/org/moss/discord/commands/GithubCommand.java b/src/main/java/org/moss/discord/commands/GithubCommand.java
index 6cc508f..9417b46 100644
--- a/src/main/java/org/moss/discord/commands/GithubCommand.java
+++ b/src/main/java/org/moss/discord/commands/GithubCommand.java
@@ -98,6 +98,7 @@ public EmbedBuilder makeInfoEmbed(DiscordApi api, String repository) {
embed.addInlineField("\uD83C\uDF1F Stars", String.format("```%s```", repo.get("stargazers_count").asText()));
embed.addInlineField("\u203C Issues", String.format("```%s```", repo.get("open_issues_count").asText()));
+ embed.addField("\uD83C\uDF74 Forks", String.format("```%s```", repo.get("forks").asText()));
StringBuilder issuenames = new StringBuilder();
for (int i = 0; i < 3; i++) {