Files
AllMusic/core/command/CommandVote.java
T

57 lines
2.7 KiB
Java
Raw Normal View History

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
}
}
2024-06-09 20:41:33 +08:00
AllMusic.getConfig().removeNoMusicPlayer(name);
2023-10-22 10:14:55 +08:00
}
}