blob: 06b70098e872f43b8c0d0b5933acce9fd614f805 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
|
package com.thatgravyboat.skyblockhud.seasons;
import com.thatgravyboat.skyblockhud.Utils;
import com.thatgravyboat.skyblockhud.api.events.SidebarLineUpdateEvent;
import java.util.regex.Pattern;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
public class SeasonDateHandler {
private static Season currentSeason = Season.ERROR;
private static int currentDate = 1;
private static String currentEvent = "";
private static String eventTime = "";
@SubscribeEvent
public void onSidebarLineUpdate(SidebarLineUpdateEvent event) {
if (
Season.get(
SeasonDateHandler
.removeDate(event.formattedLine.toLowerCase())
.toUpperCase()
) !=
Season.ERROR
) {
SeasonDateHandler.setCurrentDateAndSeason(
SeasonDateHandler.removeSeason(
Utils.removeColor(event.formattedLine.toLowerCase().trim())
),
SeasonDateHandler
.removeDate(
Utils.removeColor(event.formattedLine.toLowerCase().trim())
)
.toUpperCase()
);
}
}
public static void setCurrentDateAndSeason(int date, String season) {
currentDate = date;
currentSeason = Season.get(season);
}
public static void setCurrentEvent(String event, String time) {
currentEvent = event;
eventTime = time;
}
public static Season getCurrentSeason() {
return currentSeason;
}
public static int getCurrentDate() {
return currentDate;
}
private static String getDataSuffix(int date) {
if (date > 10 && date < 14) return "th";
switch (date % 10) {
case 1:
return "st";
case 2:
return "nd";
case 3:
return "rd";
default:
return "th";
}
}
public static String getFancySeasonAndDate() {
return (
currentSeason.getDisplayName() +
" " +
currentDate +
getDataSuffix(currentDate)
);
}
public static String getCurrentEvent() {
return currentEvent;
}
public static String getCurrentEventTime() {
return eventTime;
}
public static String removeDate(String seasonDate) {
return Pattern
.compile("[^a-zA-Z]")
.matcher(seasonDate.toLowerCase())
.replaceAll("")
.replaceAll("st|nd|rd|th", "")
.trim();
}
public static int removeSeason(String seasonDate) {
return Integer.parseInt(
Pattern
.compile("[^0-9]")
.matcher(seasonDate.toLowerCase())
.replaceAll("")
.trim()
);
}
}
|