2024-04-19 09:46:54 +08:00
|
|
|
package com.coloryr.allmusic.server.core.command;
|
2023-10-22 10:14:55 +08:00
|
|
|
|
2024-04-19 09:46:54 +08:00
|
|
|
import com.coloryr.allmusic.server.core.AllMusic;
|
|
|
|
|
import com.coloryr.allmusic.server.core.music.play.PlayMusic;
|
2023-10-22 10:14:55 +08:00
|
|
|
|
2024-04-17 22:15:12 +08:00
|
|
|
public class CommandVote extends ACommand {
|
2023-10-22 10:14:55 +08:00
|
|
|
@Override
|
|
|
|
|
public void ex(Object sender, String name, String[] args) {
|
2024-04-17 22:15:12 +08:00
|
|
|
if (AllMusic.getConfig().needPermission &&
|
2024-05-17 09:04:46 +08:00
|
|
|
!AllMusic.side.checkPermission(name, "allmusic.vote")) {
|
2024-04-17 22:15:12 +08:00
|
|
|
AllMusic.side.sendMessage(sender, AllMusic.getMessage().vote.noPermission);
|
2023-10-22 10:14:55 +08:00
|
|
|
return;
|
2024-04-17 22:15:12 +08:00
|
|
|
} else if (PlayMusic.getListSize() == 0 && PlayMusic.getIdleListSize() == 0) {
|
|
|
|
|
AllMusic.side.sendMessage(sender, AllMusic.getMessage().musicPlay.emptyPlay);
|
|
|
|
|
} else if (args.length == 2) {
|
|
|
|
|
if (args[1].equalsIgnoreCase("cancel")) {
|
|
|
|
|
if (!PlayMusic.voteSender.equalsIgnoreCase(name)) {
|
|
|
|
|
AllMusic.side.sendMessage(sender, AllMusic.getMessage().vote.err1);
|
|
|
|
|
return;
|
|
|
|
|
} else if (PlayMusic.voteTime <= 0) {
|
|
|
|
|
AllMusic.side.sendMessage(sender, AllMusic.getMessage().vote.err2);
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
AllMusic.side.bq(AllMusic.getMessage().vote.cancel);
|
|
|
|
|
PlayMusic.voteTime = -1;
|
|
|
|
|
AllMusic.clearVote();
|
|
|
|
|
PlayMusic.voteSender = null;
|
|
|
|
|
} else {
|
|
|
|
|
AllMusic.side.sendMessage(sender, AllMusic.getMessage().command.error);
|
|
|
|
|
}
|
|
|
|
|
return;
|
|
|
|
|
} else if (args.length > 2) {
|
|
|
|
|
AllMusic.side.sendMessage(sender, AllMusic.getMessage().command.error);
|
|
|
|
|
return;
|
|
|
|
|
} else if (PlayMusic.voteTime <= 0) {
|
|
|
|
|
PlayMusic.voteTime = AllMusic.getConfig().voteTime;
|
2023-10-22 10:14:55 +08:00
|
|
|
AllMusic.addVote(name);
|
2024-04-17 22:15:12 +08:00
|
|
|
AllMusic.side.sendMessage(sender, AllMusic.getMessage().vote.doVote);
|
|
|
|
|
String data = AllMusic.getMessage().vote.bq;
|
2023-10-22 10:14:55 +08:00
|
|
|
AllMusic.side.bq(data.replace("%PlayerName%", name)
|
2024-04-17 22:15:12 +08:00
|
|
|
.replace("%Time%", String.valueOf(AllMusic.getConfig().voteTime)));
|
|
|
|
|
AllMusic.side.bqRun(AllMusic.getMessage().vote.bq1, AllMusic.getMessage().vote.bq2, "/music vote");
|
|
|
|
|
} else {
|
2023-10-22 10:14:55 +08:00
|
|
|
if (!AllMusic.containVote(name)) {
|
|
|
|
|
AllMusic.addVote(name);
|
2024-04-17 22:15:12 +08:00
|
|
|
AllMusic.side.sendMessage(sender, AllMusic.getMessage().vote.agree);
|
|
|
|
|
String data = AllMusic.getMessage().vote.bqAgree;
|
2023-10-22 10:14:55 +08:00
|
|
|
data = data.replace("%PlayerName%", name)
|
|
|
|
|
.replace("%Count%", "" + AllMusic.getVoteCount());
|
|
|
|
|
AllMusic.side.bq(data);
|
|
|
|
|
} else {
|
2024-04-17 22:15:12 +08:00
|
|
|
AllMusic.side.sendMessage(sender, AllMusic.getMessage().vote.arAgree);
|
2023-10-22 10:14:55 +08:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
AllMusic.getConfig().RemoveNoMusicPlayer(name);
|
|
|
|
|
}
|
|
|
|
|
}
|