Skip to content

Commit

Permalink
Добавлен конфиг и трей-менеджер. Обновлена проверка звуковых файлов
Browse files Browse the repository at this point in the history
  • Loading branch information
MagicWinner committed Jan 21, 2022
1 parent 2e281ff commit 7270bc6
Show file tree
Hide file tree
Showing 3 changed files with 127 additions and 0 deletions.
38 changes: 38 additions & 0 deletions src/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# Пример создания нового босса:
# После boss(для создания новых боссов его не нужно еще раз писать): спускаемся вниз (клавиша Enter),
# далее пишем индификатор нашего босса, он никакой роли для вас не играет. Называйте как хотите
# Обязательно сохоаняем табуляцию! Далее, когда мы создали индификатор, напиример - name, ставим после него ':'
# Далее открыаем скобку [ и начинаем писать текст. Текст воспринимается только внутри символов "". Т.е - поставили символ " начали писать текст внутри,
# а когда закончили то закрываем его ".
# Что и где надо писать: ["Название босса", "Кастомный нейм босса", "Время через сколько он заспавнится", "Локация спавна"]
# Пример рабочего конфига:
# boss:
# зомби: ["Королевский зомби", "Кинг зомбик", "25", "/base"]
# ваше название: ["Название боса", "Кастомное имя", "время в минутах", "локация"]

# !!!!!!!!!!!!!!!
# И САМОЕ ГЛАВНОЕ. ЛЮБЫЕ ЗНАЧЕНИЯ КОТОРЫЕ ВЫ ПИШИТЕ, БУДЬ ЭТО ТЕКСТ ИЛИ ВРЕМЯ - ОБЯЗАТЕЛЬНО НУЖНЫ КАВЫЧКИ. ОДИНАРНЫЕ ИЛИ ДВОЙНЫЕ
# !!!!!!!!!!!!!!!
boss:
1: [ "Королевский зомби", "Кинг зомбяка", "25", "/base" ]
2: [ "Сточный слизень", "Хтрафранцуз", "60", "/mine 6" ]
3: [ "Матка", "Паучара", "90", "/mine 10" ]
4: [ "Йети", "Снежный хрен", "180", "/mine 15" ]
5: [ "Коровка из Коровёнки", "Маман", "180", "/mine 13" ]
6: [ "Левиафан", "Хрен из сверхов", "150", "/village" ]
7: [ "Небесный владыка", "Бог с неба", "300", "/mine 23" ]
8: [ "Хранитель подводного мира", "Водяной", "300", "/mine 18" ]
9: [ "Холуй", "Холоп", "45", "/mine 5" ]
10: [ "Фенрир", "Фирамир", "90", "/mine 5" ]
11: [ "Все Всадники апокалипсиса", "Жгучие перцы", "150", "/mine 9" ]
12: [ "Житель края", "Житель края", "240", "/mine 21" ]

# Включает уведомления в трее. Работает только в случае, если система поддерживает его или он у вас не выключен.
# true - включено, false - выключено
notification: 'true'

# Переключает режим звуковых оповещений полностью.
soundnotification: 'true'
# За сколько отправить уведомление о спавне босса
# Указывается в минутах
reminder_time: '5'
40 changes: 40 additions & 0 deletions src/net/charkosoff/utils/TrayManager.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
package net.charkosoff.utils;

import java.awt.*;
import java.io.File;

public class TrayManager {

private String bossText;
private String tooltip;
private TrayIcon.MessageType notificationType;

public TrayManager(String bossText, String tooltip) {
this.bossText = bossText;
this.tooltip = tooltip;
this.notificationType = TrayIcon.MessageType.INFO;
}

public TrayManager(String bossText, String tooltip, TrayIcon.MessageType notificationType) {
this.bossText = bossText;
this.tooltip = tooltip;
this.notificationType = notificationType;
}

public TrayManager display() {
SystemTray tray = SystemTray.getSystemTray();
Image image = Toolkit.getDefaultToolkit().createImage(new File("images/icon.ico").getAbsolutePath());

TrayIcon trayIcon = new TrayIcon(image, "Show when a boss die or spawn");
trayIcon.setImageAutoSize(true);
try {
tray.add(trayIcon);
} catch (AWTException e) {
e.printStackTrace();
}

trayIcon.displayMessage(bossText, tooltip, notificationType);

return this;
}
}
49 changes: 49 additions & 0 deletions src/net/charkosoff/vimeworld/BossConfig.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
package net.charkosoff.vimeworld;

import java.util.ArrayList;
import java.util.HashMap;

public class BossConfig {

private HashMap<String, ArrayList<String>> boss;
private Boolean notification;
private Boolean soundnotification;
private Long reminder_time;

public HashMap<String, ArrayList<String>> getBoss() {
return boss;
}

public void setBoss(HashMap<String, ArrayList<String>> boss) {
this.boss = boss;
}

public Boolean getNotification() {
return notification;
}

public void setNotification(Boolean notification) {
this.notification = notification;
}

public Long getReminder_time() {
return reminder_time;
}

public Boolean getSoundnotification() {
return soundnotification;
}

public void setSoundnotification(Boolean soundnotification) {
this.soundnotification = soundnotification;
}

public void setReminder_time(Long reminder_time) {
this.reminder_time = reminder_time;
}

@Override
public String toString() {
return boss.toString();
}
}

0 comments on commit 7270bc6

Please sign in to comment.