Files
AllMusic/core/command/sub/CommandCancel.java
T

71 lines
2.9 KiB
Java
Raw Normal View History

2025-08-28 13:49:55 +08:00
package com.coloryr.allmusic.server.core.command.sub;
2024-04-17 22:15:12 +08:00
2024-04-19 09:46:54 +08:00
import com.coloryr.allmusic.server.core.AllMusic;
2025-08-28 13:49:55 +08:00
import com.coloryr.allmusic.server.core.command.ICommand;
2024-04-19 09:46:54 +08:00
import com.coloryr.allmusic.server.core.music.play.PlayMusic;
2024-06-21 11:06:14 +08:00
import com.coloryr.allmusic.server.core.objs.message.PAL;
2024-04-19 09:46:54 +08:00
import com.coloryr.allmusic.server.core.objs.music.SongInfoObj;
2024-04-17 22:15:12 +08:00
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class CommandCancel implements ICommand {
@Override
2025-01-19 22:51:01 +08:00
public void execute(Object sender, String name, String[] args) {
2024-04-17 22:15:12 +08:00
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)) {
2024-06-21 11:06:14 +08:00
AllMusic.side.sendMessage(sender, AllMusic.getMessage().cancel.err2.replace(PAL.musicName, id.getName())
.replace(PAL.musicAuthor, id.getAuthor()));
2024-04-17 22:15:12 +08:00
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) {
2024-06-21 11:06:14 +08:00
AllMusic.side.sendMessage(sender, AllMusic.getMessage().cancel.err3
.replace(PAL.index, args[1]));
2024-04-17 22:15:12 +08:00
return;
}
if (!id.getCall().equalsIgnoreCase(name)) {
2024-06-21 11:06:14 +08:00
AllMusic.side.sendMessage(sender, AllMusic.getMessage().cancel.err2.replace(PAL.musicName, id.getName())
.replace(PAL.musicAuthor, id.getAuthor()));
2024-04-17 22:15:12 +08:00
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
2025-03-09 21:24:18 +08:00
public List<String> tab(Object player, String name, String[] args, int index) {
2024-04-17 22:15:12 +08:00
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();
}
}