diff --git a/src/main/java/xyz/etztech/orealert/Color.java b/src/main/java/xyz/etztech/orealert/Color.java index 4a55ba0..23e01e5 100644 --- a/src/main/java/xyz/etztech/orealert/Color.java +++ b/src/main/java/xyz/etztech/orealert/Color.java @@ -3,7 +3,20 @@ package xyz.etztech.orealert; import net.md_5.bungee.api.ChatColor; public class Color { + public static ChatColor DEFAULT = ChatColor.GRAY; public static ChatColor ERROR = ChatColor.of("#f14668"); public static ChatColor INFO = ChatColor.of("#3298dc"); public static ChatColor PRIMARY = ChatColor.of("#3273dc"); + + public static int hexToInt(String hex) { + if (hex.startsWith("#")) { + hex = hex.substring(1); + } + + if (hex.length() != 6) { + return 0; + } + + return Integer.parseInt(hex, 16); + } } diff --git a/src/main/java/xyz/etztech/orealert/Lang.java b/src/main/java/xyz/etztech/orealert/Lang.java index ac1a211..87f2f40 100644 --- a/src/main/java/xyz/etztech/orealert/Lang.java +++ b/src/main/java/xyz/etztech/orealert/Lang.java @@ -11,7 +11,7 @@ public enum Lang { NO_PERMISSION("You don't have permission to do that.", Color.ERROR), UNKNOWN_COMMAND("This command wasn't recognized.", Color.ERROR), PLUGIN_RELOADED("Plugin reloaded.", Color.INFO), - ALERT("%s has found %d %s veins.", null); + ALERT("%s has found %d %s veins.", Color.DEFAULT); private final String message; private final ChatColor color; diff --git a/src/main/java/xyz/etztech/orealert/listeners/BlockBreakListener.java b/src/main/java/xyz/etztech/orealert/listeners/BlockBreakListener.java index 896c4e7..4846610 100644 --- a/src/main/java/xyz/etztech/orealert/listeners/BlockBreakListener.java +++ b/src/main/java/xyz/etztech/orealert/listeners/BlockBreakListener.java @@ -7,23 +7,20 @@ import net.md_5.bungee.api.chat.BaseComponent; import net.md_5.bungee.api.chat.ComponentBuilder; import org.bukkit.Bukkit; import org.bukkit.Material; -import org.bukkit.block.Block; import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.block.BlockBreakEvent; +import xyz.etztech.orealert.Color; import xyz.etztech.orealert.Lang; import xyz.etztech.orealert.OreAlert; -import java.awt.*; import java.io.OutputStream; import java.net.HttpURLConnection; import java.net.URL; import java.net.URLConnection; import java.nio.charset.StandardCharsets; -import java.util.List; -import java.util.Queue; import java.util.*; import java.util.concurrent.ConcurrentLinkedQueue; @@ -128,9 +125,9 @@ public class BlockBreakListener implements Listener { private void alert(BlockEvent event, int strikes, boolean ping) { String message = String.format(Lang.ALERT.getMessage(), event.getPlayer().getName(), strikes, Lang.getMaterialName(event.getMaterial())); - ChatColor color = ChatColor.of(this.plugin.getConfig().getString(String.format("blocks.%s.color", Lang.getMaterialKey(event.getMaterial())), "#00ffff")); + String hexColor = this.plugin.getConfig().getString(String.format("blocks.%s.color", Lang.getMaterialKey(event.getMaterial())), "#00ffff"); BaseComponent[] component = new ComponentBuilder() - .append(message).color(color) + .append(message).color(ChatColor.of(hexColor)) .create(); for (Player player : Bukkit.getOnlinePlayers()) { @@ -143,7 +140,7 @@ public class BlockBreakListener implements Listener { String globalWebhook = this.plugin.getConfig().getString("webhook", ""); String webhook = this.plugin.getConfig().getString(String.format("blocks.%s.webhook", Lang.getMaterialKey(event.getMaterial())), globalWebhook); if (!"".equals(webhook)) { - String embed = embed(event, message, ping, color.getColor()); + String embed = embed(event, message, ping, hexColor); this.plugin.getServer().getScheduler().runTaskAsynchronously(this.plugin, () -> { try { sendWebhook(webhook, embed); @@ -154,7 +151,7 @@ public class BlockBreakListener implements Listener { } } - private String embed(BlockEvent event, String message, boolean ping, Color color) { + private String embed(BlockEvent event, String message, boolean ping, String hexColor) { JsonObject json = new JsonObject(); if (ping) { json.addProperty("content", "@here"); @@ -162,7 +159,7 @@ public class BlockBreakListener implements Listener { JsonArray embeds = new JsonArray(); JsonObject embed = new JsonObject(); - embed.addProperty("color", color.getRGB()); + embed.addProperty("color", Color.hexToInt(hexColor)); embed.addProperty("description", message); JsonObject author = new JsonObject();