Skip to content

Commit 613e041

Browse files
Merge pull request #56 from ParallelMC/staging
Staging
2 parents 6353e58 + 84a8db3 commit 613e041

File tree

7 files changed

+50
-14
lines changed

7 files changed

+50
-14
lines changed

api/build.gradle

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ plugins {
77

88
group = 'org.parallelmc'
99

10-
version = '3.5.0'
10+
version = '3.5.1'
1111
description = 'A set of utilities and features for use on the Parallel Minecraft server'
1212

1313
java {
@@ -214,6 +214,10 @@ bukkit {
214214
description = 'Reloads all emojis'
215215
usage = '/reloademojis'
216216
}
217+
emojis {
218+
description = 'Lists all emojis'
219+
usage = '/emojis'
220+
}
217221
banword {
218222
description = 'Adds a word to the banned words list'
219223
usage = '/banword (word)'

api/src/main/java/parallelmc/parallelutils/Constants.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
public class Constants {
44

5-
public static final Version VERSION = new Version(3, 5, 0);
5+
public static final Version VERSION = new Version(3, 5, 1);
66
public static final String PLUGIN_NAME = "ParallelUtils";
77
public static final String DEFAULT_WORLD = "world2";
88
}

modules/src/main/java/parallelmc/parallelutils/modules/parallelchat/ParallelChat.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -255,6 +255,7 @@ UUID varchar(36) not null,
255255
puPlugin.getCommand("formats").setExecutor(new ParallelFormats());
256256
puPlugin.getCommand("dnd").setExecutor(new ParallelDoNotDisturb());
257257
puPlugin.getCommand("reloademojis").setExecutor(new ParallelReloadEmojis());
258+
puPlugin.getCommand("emojis").setExecutor(new ParallelEmojis());
258259
puPlugin.getCommand("banword").setExecutor(new ParallelBanWord());
259260
puPlugin.getCommand("allowword").setExecutor(new ParallelAllowWord());
260261

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
package parallelmc.parallelutils.modules.parallelchat.commands;
2+
3+
import net.kyori.adventure.text.minimessage.MiniMessage;
4+
import org.bukkit.command.Command;
5+
import org.bukkit.command.CommandExecutor;
6+
import org.bukkit.command.CommandSender;
7+
import org.bukkit.entity.Player;
8+
import org.jetbrains.annotations.NotNull;
9+
import parallelmc.parallelutils.modules.parallelchat.ParallelChat;
10+
import parallelmc.parallelutils.modules.parallelchat.emojis.Emoji;
11+
12+
public class ParallelEmojis implements CommandExecutor {
13+
@Override
14+
public boolean onCommand(@NotNull CommandSender commandSender, @NotNull Command command, @NotNull String label, String[] args) {
15+
if (commandSender instanceof Player player) {
16+
StringBuilder sb = new StringBuilder("<red>=========================<white>\n");
17+
// TODO: allow clicking on the emoji to insert it into a message
18+
for (Emoji e : ParallelChat.get().emojiManager.getEmojis().values()) {
19+
sb.append(e.id());
20+
sb.append('\n');
21+
}
22+
sb.append("\n<gray>Type an emoji ID in a message to turn it into an emoji!\n");
23+
sb.append("<red>=========================");
24+
player.sendMessage(MiniMessage.miniMessage().deserialize(sb.toString()));
25+
}
26+
return true;
27+
}
28+
}

modules/src/main/java/parallelmc/parallelutils/modules/parallelparkour/ParallelParkour.java

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -156,14 +156,11 @@ private void uploadLeaderboardCache() {
156156
try (Connection dbConn = puPlugin.getDbConn()) {
157157
if (dbConn == null) throw new SQLException("Unable to establish connection!");
158158
PreparedStatement statement = dbConn.prepareStatement("""
159-
IF EXISTS (SELECT 1 FROM Leaderboard WHERE UUID = ? AND Course = ?)
160-
BEGIN
161-
UPDATE Leaderboard SET Time = ? WHERE UUID = ? AND Course = ?
162-
END
159+
IF EXISTS (SELECT 1 FROM Leaderboard WHERE UUID = ? AND Course = ?) THEN
160+
UPDATE Leaderboard SET Time = ? WHERE UUID = ? AND Course = ?;
163161
ELSE
164-
BEGIN
165-
INSERT INTO Leaderboard (UUID, Course, Time) VALUES (?, ?, ?)
166-
END""");
162+
INSERT INTO Leaderboard (UUID, Course, Time) VALUES (?, ?, ?);
163+
END IF;""");
167164
statement.setQueryTimeout(60);
168165
leaderboardCache.forEach((u, v) -> {
169166
v.forEach((t) -> {
@@ -199,12 +196,17 @@ public List<ParkourTime> getTopTimesFor(String course, int amount) {
199196
return new ArrayList<>();
200197
}
201198
// thanks chatgpt
202-
return leaderboardCache.values().stream()
199+
// jk fuck you chatgpt
200+
List<ParkourTime> filter = leaderboardCache.values().stream()
203201
.flatMap(List::stream)
204202
.filter(x -> x.course().equals(course))
205203
.sorted(Comparator.comparingLong(ParkourTime::time))
206-
.toList()
207-
.subList(0, Math.min(amount, leaderboardCache.size()));
204+
.toList();
205+
206+
if (filter.size() == 0)
207+
return new ArrayList<>();
208+
209+
return filter.subList(0, Math.min(amount, leaderboardCache.size()));
208210
}
209211

210212
public long getBestTimeFor(Player player, ParkourLayout layout) {

modules/src/main/java/parallelmc/parallelutils/modules/parallelparkour/commands/ParallelLeaderboard.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,8 @@ public boolean onCommand(@NotNull CommandSender commandSender, @NotNull Command
2626
if (args.length == 0)
2727
return false;
2828
if (!ParallelParkour.get().parkourNameExists(args[0])) {
29-
ParallelChat.sendParallelMessageTo(player, "A parkour with the name " + args[0] + " does not exist!");
29+
ParallelChat.sendParallelMessageTo(player, "A course with the name " + args[0] + " does not exist!");
30+
return true;
3031
}
3132
List<ParkourTime> times = ParallelParkour.get().getTopTimesFor(args[0], 10);
3233
ParallelChat.sendParallelMessageTo(player, MiniMessage.miniMessage().deserialize("<gold>Speedrun Leaderboard for: <yellow>" + args[0]));

0 commit comments

Comments
 (0)