Skip to content

Commit 7270bc6

Browse files
committed
Добавлен конфиг и трей-менеджер. Обновлена проверка звуковых файлов
1 parent 2e281ff commit 7270bc6

3 files changed

Lines changed: 127 additions & 0 deletions

File tree

src/config.yml

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
# Пример создания нового босса:
2+
# После boss(для создания новых боссов его не нужно еще раз писать): спускаемся вниз (клавиша Enter),
3+
# далее пишем индификатор нашего босса, он никакой роли для вас не играет. Называйте как хотите
4+
# Обязательно сохоаняем табуляцию! Далее, когда мы создали индификатор, напиример - name, ставим после него ':'
5+
# Далее открыаем скобку [ и начинаем писать текст. Текст воспринимается только внутри символов "". Т.е - поставили символ " начали писать текст внутри,
6+
# а когда закончили то закрываем его ".
7+
# Что и где надо писать: ["Название босса", "Кастомный нейм босса", "Время через сколько он заспавнится", "Локация спавна"]
8+
# Пример рабочего конфига:
9+
# boss:
10+
# зомби: ["Королевский зомби", "Кинг зомбик", "25", "/base"]
11+
# ваше название: ["Название боса", "Кастомное имя", "время в минутах", "локация"]
12+
13+
# !!!!!!!!!!!!!!!
14+
# И САМОЕ ГЛАВНОЕ. ЛЮБЫЕ ЗНАЧЕНИЯ КОТОРЫЕ ВЫ ПИШИТЕ, БУДЬ ЭТО ТЕКСТ ИЛИ ВРЕМЯ - ОБЯЗАТЕЛЬНО НУЖНЫ КАВЫЧКИ. ОДИНАРНЫЕ ИЛИ ДВОЙНЫЕ
15+
# !!!!!!!!!!!!!!!
16+
boss:
17+
1: [ "Королевский зомби", "Кинг зомбяка", "25", "/base" ]
18+
2: [ "Сточный слизень", "Хтрафранцуз", "60", "/mine 6" ]
19+
3: [ "Матка", "Паучара", "90", "/mine 10" ]
20+
4: [ "Йети", "Снежный хрен", "180", "/mine 15" ]
21+
5: [ "Коровка из Коровёнки", "Маман", "180", "/mine 13" ]
22+
6: [ "Левиафан", "Хрен из сверхов", "150", "/village" ]
23+
7: [ "Небесный владыка", "Бог с неба", "300", "/mine 23" ]
24+
8: [ "Хранитель подводного мира", "Водяной", "300", "/mine 18" ]
25+
9: [ "Холуй", "Холоп", "45", "/mine 5" ]
26+
10: [ "Фенрир", "Фирамир", "90", "/mine 5" ]
27+
11: [ "Все Всадники апокалипсиса", "Жгучие перцы", "150", "/mine 9" ]
28+
12: [ "Житель края", "Житель края", "240", "/mine 21" ]
29+
30+
# Включает уведомления в трее. Работает только в случае, если система поддерживает его или он у вас не выключен.
31+
# true - включено, false - выключено
32+
notification: 'true'
33+
34+
# Переключает режим звуковых оповещений полностью.
35+
soundnotification: 'true'
36+
# За сколько отправить уведомление о спавне босса
37+
# Указывается в минутах
38+
reminder_time: '5'
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
package net.charkosoff.utils;
2+
3+
import java.awt.*;
4+
import java.io.File;
5+
6+
public class TrayManager {
7+
8+
private String bossText;
9+
private String tooltip;
10+
private TrayIcon.MessageType notificationType;
11+
12+
public TrayManager(String bossText, String tooltip) {
13+
this.bossText = bossText;
14+
this.tooltip = tooltip;
15+
this.notificationType = TrayIcon.MessageType.INFO;
16+
}
17+
18+
public TrayManager(String bossText, String tooltip, TrayIcon.MessageType notificationType) {
19+
this.bossText = bossText;
20+
this.tooltip = tooltip;
21+
this.notificationType = notificationType;
22+
}
23+
24+
public TrayManager display() {
25+
SystemTray tray = SystemTray.getSystemTray();
26+
Image image = Toolkit.getDefaultToolkit().createImage(new File("images/icon.ico").getAbsolutePath());
27+
28+
TrayIcon trayIcon = new TrayIcon(image, "Show when a boss die or spawn");
29+
trayIcon.setImageAutoSize(true);
30+
try {
31+
tray.add(trayIcon);
32+
} catch (AWTException e) {
33+
e.printStackTrace();
34+
}
35+
36+
trayIcon.displayMessage(bossText, tooltip, notificationType);
37+
38+
return this;
39+
}
40+
}
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
package net.charkosoff.vimeworld;
2+
3+
import java.util.ArrayList;
4+
import java.util.HashMap;
5+
6+
public class BossConfig {
7+
8+
private HashMap<String, ArrayList<String>> boss;
9+
private Boolean notification;
10+
private Boolean soundnotification;
11+
private Long reminder_time;
12+
13+
public HashMap<String, ArrayList<String>> getBoss() {
14+
return boss;
15+
}
16+
17+
public void setBoss(HashMap<String, ArrayList<String>> boss) {
18+
this.boss = boss;
19+
}
20+
21+
public Boolean getNotification() {
22+
return notification;
23+
}
24+
25+
public void setNotification(Boolean notification) {
26+
this.notification = notification;
27+
}
28+
29+
public Long getReminder_time() {
30+
return reminder_time;
31+
}
32+
33+
public Boolean getSoundnotification() {
34+
return soundnotification;
35+
}
36+
37+
public void setSoundnotification(Boolean soundnotification) {
38+
this.soundnotification = soundnotification;
39+
}
40+
41+
public void setReminder_time(Long reminder_time) {
42+
this.reminder_time = reminder_time;
43+
}
44+
45+
@Override
46+
public String toString() {
47+
return boss.toString();
48+
}
49+
}

0 commit comments

Comments
 (0)