aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/Danker/features/Alerts.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/me/Danker/features/Alerts.java')
-rw-r--r--src/main/java/me/Danker/features/Alerts.java42
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;
+ }
+
}
}