Skip to content

Commit fbe6121

Browse files
committed
post/update leaderboard to discord
1 parent 23b153b commit fbe6121

3 files changed

Lines changed: 49 additions & 32 deletions

File tree

src/sectorized/constant/DiscordBot.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,16 @@ public static void sendMessageToHallOfFame(String message) {
5959
hallOfFame.sendMessage(message).queue();
6060
}
6161

62+
public static void editLastMessageInHallOfFame(String message) {
63+
hallOfFame.getHistory().retrievePast(1).queue(messages -> {
64+
if (messages.size() == 1) {
65+
Message m = messages.get(0);
66+
67+
if (m.getAuthor().isBot()) m.editMessage(message).queue();
68+
}
69+
});
70+
}
71+
6272
public static void setStatus(String status) {
6373
DiscordBot.bot.getPresence().setActivity(Activity.playing(status));
6474
}

src/sectorized/faction/persistence/RankingPersistence.java

Lines changed: 38 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@
1515
import java.nio.file.Files;
1616
import java.nio.file.Paths;
1717
import java.sql.*;
18+
import java.time.ZoneOffset;
19+
import java.time.ZonedDateTime;
20+
import java.time.format.DateTimeFormatter;
1821
import java.util.Calendar;
1922
import java.util.Comparator;
2023
import java.util.Date;
@@ -80,40 +83,46 @@ public void updateHallfOfFame() {
8083

8184
Date lastHallOfFameDate = new Date((long) Core.settings.get("lastHallOfFameDate", threeDaysAgo.getTime()));
8285

86+
String zone = ZoneOffset.systemDefault().toString();
87+
String currentDate = DateTimeFormatter.ofPattern("uuuu/MM/dd - HH:mm").format(ZonedDateTime.now());
88+
89+
StringBuilder text = new StringBuilder(":trophy: :regional_indicator_l: :regional_indicator_e: :regional_indicator_a: :regional_indicator_d: :regional_indicator_e: :regional_indicator_r: :regional_indicator_b: :regional_indicator_o: :regional_indicator_a: :regional_indicator_r: :regional_indicator_d: :trophy:\n");
90+
for (LeaderBoardEntry entry : leaderboard) {
91+
text.append("\n").append(entry.rank).append(" - ");
92+
93+
String medal;
94+
switch (entry.rank) {
95+
case 1:
96+
medal = ":first_place:";
97+
break;
98+
case 2:
99+
medal = ":second_place:";
100+
break;
101+
case 3:
102+
medal = ":third_place:";
103+
break;
104+
default:
105+
medal = ":medal:";
106+
}
107+
108+
text.append(medal)
109+
.append("**")
110+
.append(entry.name)
111+
.append("**")
112+
.append(" - Score: ")
113+
.append(entry.score)
114+
.append(" - Wins: ")
115+
.append(entry.wins);
116+
}
117+
text.append("\n\n:date: *").append(currentDate).append(" - ").append(zone).append("* :clock3:");
118+
83119
if (lastHallOfFameDate.before(twoDaysAgo)) {
84120
Core.settings.put("lastHallOfFameDate", today.getTime());
85121
Core.settings.manualSave();
86122

87-
StringBuilder text = new StringBuilder(":trophy: __**Leaderboard**__ :trophy:\n");
88-
for (LeaderBoardEntry entry : leaderboard) {
89-
text.append("\n").append(entry.rank).append(" - ");
90-
91-
String medal;
92-
switch (entry.rank) {
93-
case 1:
94-
medal = ":first_place:";
95-
break;
96-
case 2:
97-
medal = ":second_place:";
98-
break;
99-
case 3:
100-
medal = ":third_place:";
101-
break;
102-
default:
103-
medal = ":medal:";
104-
}
105-
106-
text.append(medal)
107-
.append("**")
108-
.append(entry.name)
109-
.append("**")
110-
.append(" - Score: ")
111-
.append(entry.score)
112-
.append(" - Wins: ")
113-
.append(entry.wins);
114-
}
115-
116123
DiscordBot.sendMessageToHallOfFame(text.toString());
124+
} else {
125+
DiscordBot.editLastMessageInHallOfFame(text.toString());
117126
}
118127
}
119128

src/sectorized/world/map/MapGenerator.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -67,9 +67,7 @@ public void get(Tiles tiles) {
6767

6868
biomeDistribution.clear();
6969
}
70-
71-
System.out.println("Desired seed for biome found with " + (int) ((float) maxOccurrences / (float) (world.width() / sampleDensity * world.height() / sampleDensity) * 100) + "% coverage");
72-
70+
7371
offsetX = maxOffsetX;
7472
offsetY = maxOffsetY;
7573
}

0 commit comments

Comments
 (0)