Skip to content

Commit 7fb3549

Browse files
committed
Fix missing match link during PUG games
1 parent 637d1f2 commit 7fb3549

File tree

5 files changed

+29
-7
lines changed

5 files changed

+29
-7
lines changed

src/main/java/rip/bolt/ingame/commands/AdminCommands.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ public void match(MatchManager matchManager, CommandSender sender) throws Comman
8080

8181
Audience audience = Audience.get(sender);
8282
audience.sendMessage(text(boltMatch.toString(), NamedTextColor.GRAY));
83-
if (AppData.Web.getMatch() != null) audience.sendMessage(Messages.matchLink(boltMatch));
83+
if (AppData.Web.getMatchLink() != null) audience.sendMessage(Messages.matchLink(boltMatch));
8484
}
8585

8686
@CommandMethod("status")

src/main/java/rip/bolt/ingame/config/AppData.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,11 @@ public static String getServerName() {
2626

2727
public static class Web {
2828

29-
public static String getMatch() {
29+
public static String getMatchLink() {
3030
return Ingame.get().getConfig().getString("web.match", null);
3131
}
3232

33-
public static String getProfile() {
33+
public static String getProfileLink() {
3434
return Ingame.get().getConfig().getString("web.profile", null);
3535
}
3636
}

src/main/java/rip/bolt/ingame/pugs/PugListener.java

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package rip.bolt.ingame.pugs;
22

3+
import static net.kyori.adventure.text.Component.empty;
4+
35
import java.util.HashSet;
46
import java.util.Locale;
57
import java.util.Set;
@@ -15,11 +17,17 @@
1517
import org.bukkit.event.player.PlayerJoinEvent;
1618
import org.bukkit.event.player.PlayerQuitEvent;
1719
import rip.bolt.ingame.api.definitions.BoltMatch;
20+
import rip.bolt.ingame.api.definitions.MatchStatus;
1821
import rip.bolt.ingame.api.definitions.pug.PugCommand;
1922
import rip.bolt.ingame.api.definitions.pug.PugTeam;
2023
import rip.bolt.ingame.commands.PugCommands;
24+
import rip.bolt.ingame.config.AppData;
25+
import rip.bolt.ingame.events.BoltMatchResponseEvent;
2126
import rip.bolt.ingame.events.BoltMatchStatusChangeEvent;
27+
import rip.bolt.ingame.utils.Messages;
28+
import tc.oc.pgm.api.match.Match;
2229
import tc.oc.pgm.api.match.event.MatchLoadEvent;
30+
import tc.oc.pgm.api.match.event.MatchStatsEvent;
2331
import tc.oc.pgm.api.party.Competitor;
2432
import tc.oc.pgm.api.party.Party;
2533
import tc.oc.pgm.api.party.event.PartyRenameEvent;
@@ -90,6 +98,20 @@ public void onBoltMatchStateChange(BoltMatchStatusChangeEvent event) {
9098
pugManager.write(PugCommand.setMatchStatus(match));
9199
}
92100

101+
@EventHandler(priority = EventPriority.NORMAL)
102+
public void onBoltMatchResponse(BoltMatchResponseEvent event) {
103+
BoltMatch newMatch = event.getResponseMatch();
104+
if (!event.hasMatchFinished() || newMatch.getStatus() != MatchStatus.ENDED) return;
105+
106+
Match match = event.getPgmMatch();
107+
match.callEvent(new MatchStatsEvent(match, true, true));
108+
109+
if (AppData.Web.getMatchLink() != null) {
110+
match.sendMessage(Messages.matchLink(newMatch));
111+
match.sendMessage(empty());
112+
}
113+
}
114+
93115
@EventHandler
94116
public void onTeamChangeSize(TeamResizeEvent event) {
95117
int newMax = event.getTeam().getMaxPlayers();

src/main/java/rip/bolt/ingame/ranked/RankManager.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,9 +92,9 @@ public void handleMatchUpdate(
9292
.filter(RankUpdate::isValid)
9393
.collect(Collectors.toList());
9494

95-
Bukkit.getServer().getPluginManager().callEvent(new MatchStatsEvent(match, true, true));
95+
match.callEvent(new MatchStatsEvent(match, true, true));
9696

97-
if (AppData.Web.getMatch() != null) {
97+
if (AppData.Web.getMatchLink() != null) {
9898
match.sendMessage(Messages.matchLink(newMatch));
9999
match.sendMessage(empty());
100100
}

src/main/java/rip/bolt/ingame/utils/Messages.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,14 +42,14 @@ public static Component participationBan() {
4242
}
4343

4444
public static Component matchLink(BoltMatch match) {
45-
String url = AppData.Web.getMatch().replace("{matchId}", match.getId());
45+
String url = AppData.Web.getMatchLink().replace("{matchId}", match.getId());
4646

4747
return text("Match link: ", NamedTextColor.WHITE)
4848
.append(link(Style.style(NamedTextColor.BLUE, TextDecoration.UNDERLINED), url));
4949
}
5050

5151
public static Component profileLink(MatchPlayer player) {
52-
String url = AppData.Web.getProfile().replace("{name}", player.getNameLegacy());
52+
String url = AppData.Web.getProfileLink().replace("{name}", player.getNameLegacy());
5353

5454
return text("Profile link: ", NamedTextColor.WHITE)
5555
.append(link(Style.style(NamedTextColor.BLUE, TextDecoration.UNDERLINED), url));

0 commit comments

Comments
 (0)