2023-03-02 08:42:34 +08:00
|
|
|
package coloryr.allmusic.core.command;
|
2020-02-26 22:04:53 +08:00
|
|
|
|
2023-03-02 08:42:34 +08:00
|
|
|
import coloryr.allmusic.core.AllMusic;
|
2020-02-26 22:04:53 +08:00
|
|
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
|
|
public class TabCommand {
|
2023-01-06 17:27:35 +08:00
|
|
|
/**
|
|
|
|
|
* 个人的指令
|
|
|
|
|
*/
|
2022-01-03 15:27:38 +08:00
|
|
|
private static final List<String> normal = new ArrayList<String>() {{
|
2021-06-08 23:28:03 +08:00
|
|
|
this.add("stop");
|
|
|
|
|
this.add("list");
|
|
|
|
|
this.add("vote");
|
|
|
|
|
this.add("nomusic");
|
|
|
|
|
this.add("search");
|
|
|
|
|
this.add("hud");
|
|
|
|
|
}};
|
2023-01-06 17:27:35 +08:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 搜歌的指令
|
|
|
|
|
*/
|
2022-01-03 15:27:38 +08:00
|
|
|
private static final List<String> search = new ArrayList<String>() {{
|
2021-06-08 23:28:03 +08:00
|
|
|
this.add("select");
|
|
|
|
|
this.add("nextpage");
|
|
|
|
|
this.add("lastpage");
|
|
|
|
|
}};
|
2023-01-06 17:27:35 +08:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 管理员的指令
|
|
|
|
|
*/
|
2022-01-03 15:27:38 +08:00
|
|
|
private static final List<String> admin = new ArrayList<String>() {{
|
2021-06-08 23:28:03 +08:00
|
|
|
this.add("reload");
|
|
|
|
|
this.add("next");
|
|
|
|
|
this.add("ban");
|
|
|
|
|
this.add("delete");
|
|
|
|
|
this.add("addlist");
|
|
|
|
|
this.add("clearlist");
|
|
|
|
|
this.add("login");
|
|
|
|
|
}};
|
2023-01-06 17:27:35 +08:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Hud的指令
|
|
|
|
|
*/
|
2022-01-03 15:27:38 +08:00
|
|
|
private static final List<String> hudlist = new ArrayList<String>() {{
|
2021-06-08 23:28:03 +08:00
|
|
|
this.add("info");
|
|
|
|
|
this.add("list");
|
|
|
|
|
this.add("lyric");
|
|
|
|
|
this.add("pic");
|
|
|
|
|
}};
|
2023-01-06 17:27:35 +08:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Hud的指令
|
|
|
|
|
*/
|
2022-01-03 15:27:38 +08:00
|
|
|
private static final List<String> hud = new ArrayList<String>() {{
|
2021-06-08 23:28:03 +08:00
|
|
|
this.add("info");
|
|
|
|
|
this.add("list");
|
|
|
|
|
this.add("lyric");
|
2021-06-08 23:46:06 +08:00
|
|
|
this.add("pic");
|
2022-12-27 10:31:41 +08:00
|
|
|
this.add("picsize");
|
2023-01-09 15:56:26 +08:00
|
|
|
this.add("picrotate");
|
|
|
|
|
this.add("picrotatespeed");
|
2021-06-08 23:28:03 +08:00
|
|
|
this.add("enable");
|
|
|
|
|
this.add("reset");
|
|
|
|
|
}};
|
2022-01-03 15:27:38 +08:00
|
|
|
|
2023-01-06 17:27:35 +08:00
|
|
|
/**
|
|
|
|
|
* 获取Tab指令列表
|
2023-01-08 20:55:21 +08:00
|
|
|
*
|
2023-01-06 17:27:35 +08:00
|
|
|
* @param name 用户名
|
2023-01-08 20:55:21 +08:00
|
|
|
* @param arg 参数
|
2023-01-06 17:27:35 +08:00
|
|
|
* @return 指令列表
|
|
|
|
|
*/
|
2021-06-21 22:25:17 +08:00
|
|
|
public static List<String> getTabList(String name, String[] arg) {
|
2020-02-26 22:04:53 +08:00
|
|
|
List<String> arguments = new ArrayList<>();
|
2023-03-02 13:58:07 +08:00
|
|
|
if (arg.length == 0 || arg.length == 1) {
|
2021-06-08 23:28:03 +08:00
|
|
|
arguments.addAll(normal);
|
2020-04-19 20:36:12 +08:00
|
|
|
if (AllMusic.getSearch(name) != null) {
|
2021-06-08 23:28:03 +08:00
|
|
|
arguments.addAll(search);
|
2020-03-05 19:27:39 +08:00
|
|
|
}
|
2023-01-06 17:03:07 +08:00
|
|
|
if (AllMusic.getConfig().Admin.contains(name)) {
|
2021-06-08 23:28:03 +08:00
|
|
|
arguments.addAll(admin);
|
2020-03-02 21:25:31 +08:00
|
|
|
}
|
2023-03-02 13:58:07 +08:00
|
|
|
} else if (arg.length == 2) {
|
|
|
|
|
if ("hud".equalsIgnoreCase(arg[0]) &&
|
|
|
|
|
"enable".equalsIgnoreCase(arg[1])) {
|
|
|
|
|
arguments.addAll(hudlist);
|
|
|
|
|
}
|
|
|
|
|
else if ("hud".equalsIgnoreCase(arg[0])) {
|
2021-06-08 23:28:03 +08:00
|
|
|
arguments.addAll(hud);
|
2023-03-02 13:58:07 +08:00
|
|
|
}
|
|
|
|
|
} else if (arg.length == 3) {
|
|
|
|
|
if ("hud".equalsIgnoreCase(arg[0]) &&
|
|
|
|
|
"enable".equalsIgnoreCase(arg[1])) {
|
|
|
|
|
arguments.addAll(hudlist);
|
2020-03-02 21:25:31 +08:00
|
|
|
}
|
2020-02-26 22:04:53 +08:00
|
|
|
}
|
|
|
|
|
return arguments;
|
|
|
|
|
}
|
|
|
|
|
}
|