mirror of
https://github.com/Coloryr/AllMusic.git
synced 2026-11-12 04:57:30 +00:00
68 lines
2.6 KiB
Java
68 lines
2.6 KiB
Java
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();
|
||
|
|
}
|
||
|
|
}
|