Files
AllMusic/core/command/CommandCancel.java
T

68 lines
2.6 KiB
Java
Raw Normal View History

2024-04-17 22:15:12 +08:00
package coloryr.allmusic.core.command;
import coloryr.allmusic.core.AllMusic;
import coloryr.allmusic.core.music.play.PlayMusic;
import coloryr.allmusic.core.objs.music.SongInfoObj;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class CommandCancel implements ICommand {
@Override
public void ex(Object sender, String name, String[] args) {
if (args.length == 1) {
SongInfoObj id = PlayMusic.findPlayerMusic(name);
if (id == null) {
AllMusic.side.sendMessage(sender, AllMusic.getMessage().cancel.err1);
return;
}
if (!id.getCall().equalsIgnoreCase(name)) {
AllMusic.side.sendMessage(sender, AllMusic.getMessage().cancel.err2.replace("%MusicName%", id.getName())
.replace("%MusicAuthor%", id.getAuthor()));
return;
}
PlayMusic.remove(id);
AllMusic.side.sendMessage(sender, AllMusic.getMessage().cancel.done);
} else if (args.length == 2) {
try {
int index = Integer.parseInt(args[1]);
SongInfoObj id = PlayMusic.findMusicIndex(index);
if (id == null) {
AllMusic.side.sendMessage(sender, AllMusic.getMessage().cancel.err3);
return;
}
if (!id.getCall().equalsIgnoreCase(name)) {
AllMusic.side.sendMessage(sender, AllMusic.getMessage().cancel.err2.replace("%MusicName%", id.getName())
.replace("%MusicAuthor%", id.getAuthor()));
return;
}
AllMusic.side.sendMessage(sender, AllMusic.getMessage().cancel.done);
} catch (Exception e) {
AllMusic.side.sendMessage(sender, AllMusic.getMessage().cancel.err4);
}
} else {
AllMusic.side.sendMessage(sender, AllMusic.getMessage().command.error);
}
}
@Override
public List<String> tab(String name, String[] args) {
if (args.length == 1 || (args.length == 2 && args[1].isEmpty())) {
List<String> list = new ArrayList<>();
List<SongInfoObj> list1 = PlayMusic.getList();
if (list1.size() > 1) {
for (int a = 1; a < list1.size(); a++) {
SongInfoObj item = list1.get(a);
if (item.getCall().equalsIgnoreCase(name)) {
list.add(String.valueOf(a));
}
}
}
return list;
}
return Collections.emptyList();
}
}