Skip to content

Commit f8d0c49

Browse files
committed
chore: Possible fix for #33
1 parent 967a0cc commit f8d0c49

File tree

2 files changed

+21
-10
lines changed

2 files changed

+21
-10
lines changed

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@
136136
<dependency>
137137
<groupId>de.ree6</groupId>
138138
<artifactId>Lavalink-Client</artifactId>
139-
<version>a8e9e49a57</version>
139+
<version>bb32e10295</version>
140140
</dependency>
141141

142142
<!-- Third party APIs -->

src/main/java/de/presti/ree6/module/game/impl/musicquiz/MusicQuiz.java

Lines changed: 20 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,6 @@
1313
import de.presti.ree6.module.game.impl.musicquiz.util.MusicQuizUtil;
1414
import de.presti.ree6.sql.SQLSession;
1515
import de.presti.ree6.utils.others.ThreadUtil;
16-
import lavalink.client.player.event.IPlayerEventListener;
17-
import lavalink.client.player.event.TrackEndEvent;
1816
import net.dv8tion.jda.api.EmbedBuilder;
1917
import net.dv8tion.jda.api.entities.Message;
2018
import net.dv8tion.jda.api.entities.channel.middleman.AudioChannel;
@@ -77,14 +75,9 @@ public class MusicQuiz implements IGame {
7775
Future<?> internalTimer;
7876

7977
/**
80-
* {@link IPlayerEventListener} to check if the song/timer is over.
78+
* {@link MusicQuizListener} to check if the song/timer is over.
8179
*/
82-
IPlayerEventListener audioEventListener = event -> {
83-
if (event instanceof TrackEndEvent trackEndEvent &&
84-
trackEndEvent.getTrack().getInfo().title.equalsIgnoreCase("timer")) {
85-
selectNextSong();
86-
}
87-
};
80+
MusicQuizListener audioEventListener;
8881

8982
/**
9083
* Constructor.
@@ -134,6 +127,7 @@ public void startGame() {
134127
return;
135128
}
136129

130+
audioEventListener = new MusicQuizListener(this);
137131
Main.getInstance().getMusicWorker().getGuildAudioPlayer(session.getGuild()).getPlayer().addListener(audioEventListener);
138132

139133
session.setGameState(GameState.STARTED);
@@ -346,4 +340,21 @@ public void selectNextSong() {
346340
public MusicQuizPlayer getParticipantByUserId(long userId) {
347341
return participants.stream().filter(c -> c.getRelatedUserId() == userId).findFirst().orElse(null);
348342
}
343+
private class MusicQuizListener implements lavalink.client.player.event.IPlayerEventListener.IPlayerEventListener {
344+
345+
MusicQuiz musicQuiz;
346+
347+
public MusicQuizListener(MusicQuiz musicQuiz) {
348+
this.musicQuiz = musicQuiz;
349+
}
350+
351+
@Override
352+
public void onEvent(de.ree6.lavalink.player.event.PlayerEvent event) {
353+
if (event instanceof lavalink.client.player.event.TrackEndEvent trackEndEvent &&
354+
trackEndEvent.getTrack().getInfo().title.equalsIgnoreCase("timer")) {
355+
musicQuiz.selectNextSong();
356+
}
357+
}
358+
}
359+
349360
}

0 commit comments

Comments
 (0)