diff options
Diffstat (limited to 'src/main/java/me/Danker/features/Alerts.java')
-rw-r--r-- | src/main/java/me/Danker/features/Alerts.java | 42 |
1 files changed, 40 insertions, 2 deletions
diff --git a/src/main/java/me/Danker/features/Alerts.java b/src/main/java/me/Danker/features/Alerts.java index 2a00fef..aab99b3 100644 --- a/src/main/java/me/Danker/features/Alerts.java +++ b/src/main/java/me/Danker/features/Alerts.java @@ -8,6 +8,7 @@ import net.minecraft.util.StringUtils; import net.minecraftforge.client.event.ClientChatReceivedEvent; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; +import java.awt.*; import java.io.FileWriter; import java.io.IOException; import java.util.ArrayList; @@ -20,13 +21,26 @@ public class Alerts { @SubscribeEvent public void onChat(ClientChatReceivedEvent event) { - if (!ToggleCommand.alerts || !Utils.inSkyblock || event.type == 2) return; + if (!ToggleCommand.alerts || event.type == 2) return; String message = StringUtils.stripControlCodes(event.message.getUnformattedText()); for (Alert alert : alerts) { if (!alert.toggled) continue; + boolean location; + switch (alert.location) { + case "Skyblock": + location = Utils.inSkyblock; + break; + case "Dungeons": + location = Utils.inDungeons; + break; + default: + location = true; + } + if (!location) continue; + boolean trigger; switch (alert.mode) { case "Starts With": @@ -44,6 +58,22 @@ public class Alerts { if (trigger) { Utils.createTitle(EnumChatFormatting.RED + alert.alert.replace("&", "ยง"), 2); + + if (alert.desktop) { + try { + final SystemTray tray = SystemTray.getSystemTray(); + final Image image = Toolkit.getDefaultToolkit().createImage("icon.png"); + final TrayIcon trayIcon = new TrayIcon(image, "Alert"); + trayIcon.setImageAutoSize(true); + trayIcon.setToolTip("Alert"); + tray.add(trayIcon); + trayIcon.displayMessage(StringUtils.stripControlCodes(alert.alert), message, TrayIcon.MessageType.INFO); + tray.remove(trayIcon); + } catch (Exception ex) { + ex.printStackTrace(); + } + } + return; } } @@ -61,14 +91,18 @@ public class Alerts { public static class Alert { public String mode; + public String location; public String message; public String alert; + public boolean desktop; public boolean toggled; - public Alert(String mode, String message, String alert, boolean toggled) { + public Alert(String mode, String location, String message, String alert, boolean desktop, boolean toggled) { this.mode = mode; + this.location = location; this.message = message; this.alert = alert; + this.desktop = desktop; this.toggled = toggled; } @@ -76,6 +110,10 @@ public class Alerts { toggled = !toggled; } + public void toggleDesktop() { + desktop = !desktop; + } + } } |