From 399e276926492fbaa453e4e4cc5612fefde66ab2 Mon Sep 17 00:00:00 2001 From: Color_yr <402067010@qq.com> Date: Sun, 22 Oct 2023 10:14:55 +0800 Subject: [PATCH] up --- README.md | 13 + core/AllMusic.java | 10 +- core/command/CommandAddList.java | 20 + core/command/CommandBan.java | 20 + core/command/CommandBanPlayer.java | 22 ++ core/command/CommandClearList.java | 12 + core/command/CommandCode.java | 10 + core/command/CommandDelete.java | 30 ++ core/command/CommandEX.java | 364 +++--------------- core/command/CommandHelp.java | 56 +++ core/command/CommandHud.java | 116 ++++++ core/command/CommandLastPage.java | 23 ++ core/command/CommandList.java | 28 ++ core/command/CommandLogin.java | 15 + core/command/CommandNext.java | 14 + core/command/CommandNextPage.java | 23 ++ core/command/CommandNoMusic.java | 13 + core/command/CommandReload.java | 11 + core/command/CommandSearch.java | 24 ++ core/command/CommandSelect.java | 34 ++ core/command/CommandStop.java | 15 + core/command/CommandUrl.java | 21 + core/command/CommandVote.java | 37 ++ core/command/ICommand.java | 5 + core/command/TabCommand.java | 3 +- core/hud/DataSql.java | 6 +- core/hud/HudUtils.java | 10 +- core/music/api/APIMain.java | 10 +- core/music/play/PlayMusic.java | 16 + core/objs/config/ConfigObj.java | 59 ++- core/objs/config/EconomyObj.java | 2 +- core/objs/message/AddMusicObj.java | 10 +- core/objs/message/ClickObj.java | 2 +- core/objs/message/CostObj.java | 2 +- core/objs/message/CustomObj.java | 2 +- core/objs/message/FunObj.java | 2 +- core/objs/message/HelpAdminObj.java | 6 +- core/objs/message/HelpNormalObj.java | 2 +- core/objs/message/HudListObj.java | 2 +- core/objs/message/HudObj.java | 2 +- core/objs/message/ListMusicObj.java | 2 +- core/objs/message/LyricObj.java | 2 +- core/objs/message/MessageObj.java | 2 +- core/objs/message/MusicPlayObj.java | 2 +- core/objs/message/PAPIObj.java | 2 +- core/objs/message/PageObj.java | 2 +- core/objs/message/SearchObj.java | 2 +- core/objs/message/VoteObj.java | 2 +- forge_1_19_2/build.gradle | 2 +- server/build.gradle | 2 +- .../allmusic/side/bukkit/CommandBukkit.java | 3 +- .../allmusic/side/bukkit/PluginMessage.java | 2 +- .../allmusic/side/bukkit/SideBukkit.java | 2 +- 53 files changed, 721 insertions(+), 378 deletions(-) create mode 100644 core/command/CommandAddList.java create mode 100644 core/command/CommandBan.java create mode 100644 core/command/CommandBanPlayer.java create mode 100644 core/command/CommandClearList.java create mode 100644 core/command/CommandCode.java create mode 100644 core/command/CommandDelete.java create mode 100644 core/command/CommandHelp.java create mode 100644 core/command/CommandHud.java create mode 100644 core/command/CommandLastPage.java create mode 100644 core/command/CommandList.java create mode 100644 core/command/CommandLogin.java create mode 100644 core/command/CommandNext.java create mode 100644 core/command/CommandNextPage.java create mode 100644 core/command/CommandNoMusic.java create mode 100644 core/command/CommandReload.java create mode 100644 core/command/CommandSearch.java create mode 100644 core/command/CommandSelect.java create mode 100644 core/command/CommandStop.java create mode 100644 core/command/CommandUrl.java create mode 100644 core/command/CommandVote.java create mode 100644 core/command/ICommand.java diff --git a/README.md b/README.md index a0694678..05b3b8be 100644 --- a/README.md +++ b/README.md @@ -95,7 +95,20 @@ 2.16.4:npc检测 2.16.5:登录错误修复 2.17.5:KTV歌词 +2.17.8:修复歌词问题 +2.17.9:修复播放检查问题 +2.17.10:修复播放完结列表错误 2.18.0:图片旋转功能 +2.18.1:修复中途加入播放问题 +2.18.2:修复歌词问题 +2.18.3:修复BC的播放问题 +2.18.5:加入Mod服务器支持 +2.18.6:修复Mod服务器问题 +2.18.7:加入空白歌词设置 +2.18.8:修复Mod服务器点击事件问题 +2.18.9:添加folia服务端支持 +2.18.10:BC改名Top +2.19.0:新增玩家点歌限制 MOD: 1.2.0:无需指令就能修改音量 diff --git a/core/AllMusic.java b/core/AllMusic.java index 63824466..92b4b30e 100644 --- a/core/AllMusic.java +++ b/core/AllMusic.java @@ -6,10 +6,10 @@ import coloryr.allmusic.core.music.api.APIMain; import coloryr.allmusic.core.music.play.MusicSearch; import coloryr.allmusic.core.music.play.PlayGo; import coloryr.allmusic.core.music.play.PlayMusic; -import coloryr.allmusic.core.objs.config.ConfigObj; import coloryr.allmusic.core.objs.CookieObj; -import coloryr.allmusic.core.objs.message.MessageObj; +import coloryr.allmusic.core.objs.config.ConfigObj; import coloryr.allmusic.core.objs.config.SaveObj; +import coloryr.allmusic.core.objs.message.MessageObj; import coloryr.allmusic.core.objs.music.SearchPageObj; import coloryr.allmusic.core.side.IMyLogger; import coloryr.allmusic.core.side.ISide; @@ -37,15 +37,15 @@ public class AllMusic { /** * 插件版本号 */ - public static final String version = "2.18.14"; + public static final String version = "2.19.0"; /** * 配置文件版本号 */ - public static final String configVersion = "104"; + public static final String configVersion = "105"; /** * 语言文件配置版本号 */ - public static final String messageVersion = "105"; + public static final String messageVersion = "106"; /** * 搜歌结果 * 玩家名 结果 diff --git a/core/command/CommandAddList.java b/core/command/CommandAddList.java new file mode 100644 index 00000000..b05c77fe --- /dev/null +++ b/core/command/CommandAddList.java @@ -0,0 +1,20 @@ +package coloryr.allmusic.core.command; + +import coloryr.allmusic.core.AllMusic; +import coloryr.allmusic.core.utils.Function; + +public class CommandAddList implements ICommand { + @Override + public void ex(Object sender, String name, String[] args) { + if (args.length != 2) { + AllMusic.side.sendMessage(sender, AllMusic.getMessage().Command.Error); + return; + } + if (Function.isInteger(args[1])) { + AllMusic.getMusicApi().setList(args[1], sender); + AllMusic.side.sendMessage(sender, "§d[AllMusic]§2添加空闲音乐列表" + args[1]); + } else { + AllMusic.side.sendMessage(sender, "§d[AllMusic]§2请输入有效的音乐列表ID"); + } + } +} diff --git a/core/command/CommandBan.java b/core/command/CommandBan.java new file mode 100644 index 00000000..6f0665af --- /dev/null +++ b/core/command/CommandBan.java @@ -0,0 +1,20 @@ +package coloryr.allmusic.core.command; + +import coloryr.allmusic.core.AllMusic; +import coloryr.allmusic.core.utils.Function; + +public class CommandBan implements ICommand { + @Override + public void ex(Object sender, String name, String[] args) { + if (args.length != 2) { + AllMusic.side.sendMessage(sender, AllMusic.getMessage().Command.Error); + return; + } + if (Function.isInteger(args[1])) { + AllMusic.getConfig().addBanMusic(args[1]); + AllMusic.side.sendMessage(sender, "§d[AllMusic]§2已禁止" + args[1]); + } else { + AllMusic.side.sendMessage(sender, "§d[AllMusic]§2请输入有效的ID"); + } + } +} diff --git a/core/command/CommandBanPlayer.java b/core/command/CommandBanPlayer.java new file mode 100644 index 00000000..24234425 --- /dev/null +++ b/core/command/CommandBanPlayer.java @@ -0,0 +1,22 @@ +package coloryr.allmusic.core.command; + +import coloryr.allmusic.core.AllMusic; +import coloryr.allmusic.core.utils.Function; + +import java.util.Locale; + +public class CommandBanPlayer implements ICommand { + @Override + public void ex(Object sender, String name, String[] args) { + if (args.length != 2) { + AllMusic.side.sendMessage(sender, AllMusic.getMessage().Command.Error); + return; + } + if (Function.isInteger(args[1])) { + AllMusic.getConfig().addBanPlayer(args[1].toLowerCase(Locale.ROOT)); + AllMusic.side.sendMessage(sender, "§d[AllMusic]§2已禁止" + args[1]); + } else { + AllMusic.side.sendMessage(sender, "§d[AllMusic]§2请输入有效的ID"); + } + } +} diff --git a/core/command/CommandClearList.java b/core/command/CommandClearList.java new file mode 100644 index 00000000..58455f2d --- /dev/null +++ b/core/command/CommandClearList.java @@ -0,0 +1,12 @@ +package coloryr.allmusic.core.command; + +import coloryr.allmusic.core.AllMusic; + +public class CommandClearList implements ICommand { + @Override + public void ex(Object sender, String name, String[] args) { + AllMusic.getConfig().PlayList.clear(); + AllMusic.saveConfig(); + AllMusic.side.sendMessage(sender, "§d[AllMusic]§2添加空闲音乐列表已清空"); + } +} diff --git a/core/command/CommandCode.java b/core/command/CommandCode.java new file mode 100644 index 00000000..562d66e9 --- /dev/null +++ b/core/command/CommandCode.java @@ -0,0 +1,10 @@ +package coloryr.allmusic.core.command; + +import coloryr.allmusic.core.AllMusic; + +public class CommandCode implements ICommand { + @Override + public void ex(Object sender, String name, String[] args) { + AllMusic.getMusicApi().sendCode(sender); + } +} diff --git a/core/command/CommandDelete.java b/core/command/CommandDelete.java new file mode 100644 index 00000000..3e4bcfd3 --- /dev/null +++ b/core/command/CommandDelete.java @@ -0,0 +1,30 @@ +package coloryr.allmusic.core.command; + +import coloryr.allmusic.core.AllMusic; +import coloryr.allmusic.core.music.play.PlayMusic; +import coloryr.allmusic.core.utils.Function; + +public class CommandDelete implements ICommand { + @Override + public void ex(Object sender, String name, String[] args) { + if (args.length != 2) { + AllMusic.side.sendMessage(sender, AllMusic.getMessage().Command.Error); + return; + } + if (!args[1].isEmpty() && Function.isInteger(args[1])) { + int music = Integer.parseInt(args[1]); + if (music == 0) { + AllMusic.side.sendMessage(sender, "§d[AllMusic]§2请输入有效的序列ID"); + return; + } + if (music > PlayMusic.getSize()) { + AllMusic.side.sendMessage(sender, "§d[AllMusic]§2序列号过大"); + return; + } + PlayMusic.remove(music - 1); + AllMusic.side.sendMessage(sender, "§d[AllMusic]§2已删除序列" + music); + } else { + AllMusic.side.sendMessage(sender, "§d[AllMusic]§2请输入有效的序列ID"); + } + } +} diff --git a/core/command/CommandEX.java b/core/command/CommandEX.java index c7b873c7..f79eaf67 100644 --- a/core/command/CommandEX.java +++ b/core/command/CommandEX.java @@ -1,18 +1,45 @@ package coloryr.allmusic.core.command; import coloryr.allmusic.core.AllMusic; -import coloryr.allmusic.core.hud.HudUtils; import coloryr.allmusic.core.music.play.MusicSearch; import coloryr.allmusic.core.music.play.PlayMusic; import coloryr.allmusic.core.objs.SearchMusicObj; -import coloryr.allmusic.core.objs.hud.PosObj; import coloryr.allmusic.core.objs.music.MusicObj; import coloryr.allmusic.core.objs.music.SearchPageObj; import coloryr.allmusic.core.utils.Function; -import java.util.Locale; +import java.util.HashMap; +import java.util.Map; public class CommandEX { + + private static final Map CommandList = new HashMap<>(); + private static final Map CommandAdminList = new HashMap<>(); + + static { + CommandList.put("stop", new CommandStop()); + CommandList.put("help", new CommandHelp()); + CommandList.put("list", new CommandList()); + CommandList.put("vote", new CommandVote()); + CommandList.put("nomusic", new CommandNoMusic()); + CommandList.put("search", new CommandSearch()); + CommandList.put("select", new CommandSelect()); + CommandList.put("nextpage", new CommandNextPage()); + CommandList.put("lastpage", new CommandLastPage()); + CommandList.put("hud", new CommandHud()); + CommandList.put("reload", new CommandReload()); + + CommandAdminList.put("next", new CommandNext()); + CommandAdminList.put("ban", new CommandBan()); + CommandAdminList.put("banplayer", new CommandBanPlayer()); + CommandAdminList.put("url", new CommandUrl()); + CommandAdminList.put("delete", new CommandDelete()); + CommandAdminList.put("addlist", new CommandAddList()); + CommandAdminList.put("clearlist", new CommandClearList()); + CommandAdminList.put("code", new CommandCode()); + CommandAdminList.put("login", new CommandLogin()); + } + /** * 搜索音乐 * @@ -21,7 +48,7 @@ public class CommandEX { * @param args 参数 * @param isDefault 是否是默认点歌方式 */ - private static void searchMusic(Object sender, String name, String[] args, boolean isDefault) { + public static void searchMusic(Object sender, String name, String[] args, boolean isDefault) { MusicObj obj = new MusicObj(); obj.sender = sender; obj.name = name; @@ -44,7 +71,7 @@ public class CommandEX { * @param cost 金额 * @return 结果 */ - private static boolean checkMoney(Object sender, String name, int cost) { + public static boolean checkMoney(Object sender, String name, int cost) { if (!AllMusic.getConfig().UseCost || AllMusic.economy == null) { return false; } @@ -65,7 +92,7 @@ public class CommandEX { * @param message 结果消息 * @return 结果 */ - private static boolean cost(Object sender, String name, int cost, String message) { + public static boolean cost(Object sender, String name, int cost, String message) { if (!AllMusic.getConfig().UseCost || AllMusic.economy == null) { return false; } @@ -87,7 +114,7 @@ public class CommandEX { * @param name 用户名 * @param args 参数 */ - private static void addMusic(Object sender, String name, String[] args) { + public static void addMusic(Object sender, String name, String[] args) { String musicID; if (args[0].contains("id=") && !args[0].contains("/?userid")) { if (args[0].contains("&user")) @@ -108,6 +135,10 @@ public class CommandEX { AllMusic.side.sendMessage(sender, AllMusic.getMessage().AddMusic.BanMusic); } else if (PlayMusic.isHave(musicID)) { AllMusic.side.sendMessage(sender, AllMusic.getMessage().AddMusic.ExistMusic); + } else if (PlayMusic.havePlayer(name)) { + AllMusic.side.sendMessage(sender, AllMusic.getMessage().AddMusic.PlayerToMany); + } else if (AllMusic.getConfig().BanPlayer.contains(name)) { + AllMusic.side.sendMessage(sender, AllMusic.getMessage().AddMusic.PlayerBan); } else { if (checkMoney(sender, name, AllMusic.getConfig().AddMusicCost)) { return; @@ -181,318 +212,17 @@ public class CommandEX { if (args.length == 0) { AllMusic.side.sendMessage(sender, AllMusic.getMessage().Command.Error); return; - } else if (args[0].equalsIgnoreCase("help")) { - AllMusic.side.sendMessage(sender, AllMusic.getMessage().Help.Normal.Head); - AllMusic.side.sendMessageSuggest(sender, AllMusic.getMessage().Help.Normal.Base, - AllMusic.getMessage().Click.Check, "/music "); - AllMusic.side.sendMessageRun(sender, AllMusic.getMessage().Help.Normal.Stop, - AllMusic.getMessage().Click.This, "/music stop"); - AllMusic.side.sendMessageRun(sender, AllMusic.getMessage().Help.Normal.List, - AllMusic.getMessage().Click.This, "/music list"); - AllMusic.side.sendMessageRun(sender, AllMusic.getMessage().Help.Normal.Vote, - AllMusic.getMessage().Click.This, "/music vote"); - AllMusic.side.sendMessageRun(sender, AllMusic.getMessage().Help.Normal.NoMusic, - AllMusic.getMessage().Click.This, "/music nomusic"); - AllMusic.side.sendMessageSuggest(sender, AllMusic.getMessage().Help.Normal.Search, - AllMusic.getMessage().Click.Check, "/music search "); - AllMusic.side.sendMessageSuggest(sender, AllMusic.getMessage().Help.Normal.Select, - AllMusic.getMessage().Click.Check, "/music select "); - AllMusic.side.sendMessageSuggest(sender, AllMusic.getMessage().Help.Normal.Hud1, - AllMusic.getMessage().Click.Check, "/music hud enable "); - AllMusic.side.sendMessageSuggest(sender, AllMusic.getMessage().Help.Normal.Hud2, - AllMusic.getMessage().Click.Check, "/music hud "); - AllMusic.side.sendMessageSuggest(sender, AllMusic.getMessage().Help.Normal.Hud3, - AllMusic.getMessage().Click.Check, "/music hud picsize "); - AllMusic.side.sendMessageSuggest(sender, AllMusic.getMessage().Help.Normal.Hud4, - AllMusic.getMessage().Click.Check, "/music hud picrotate "); - AllMusic.side.sendMessageSuggest(sender, AllMusic.getMessage().Help.Normal.Hud5, - AllMusic.getMessage().Click.Check, "/music hud picrotatespeed "); - if (AllMusic.getConfig().Admin.contains(name)) { - AllMusic.side.sendMessageRun(sender, AllMusic.getMessage().Help.Admin.Reload, - AllMusic.getMessage().Click.This, "/music reload"); - AllMusic.side.sendMessageRun(sender, AllMusic.getMessage().Help.Admin.Next, - AllMusic.getMessage().Click.This, "/music next"); - AllMusic.side.sendMessageSuggest(sender, AllMusic.getMessage().Help.Admin.Ban, - AllMusic.getMessage().Click.Check, "/music ban "); - AllMusic.side.sendMessageSuggest(sender, AllMusic.getMessage().Help.Admin.Url, - AllMusic.getMessage().Click.Check, "/music url "); - AllMusic.side.sendMessageSuggest(sender, AllMusic.getMessage().Help.Admin.Delete, - AllMusic.getMessage().Click.Check, "/music delete "); - AllMusic.side.sendMessageSuggest(sender, AllMusic.getMessage().Help.Admin.AddList, - AllMusic.getMessage().Click.Check, "/music addlist "); - AllMusic.side.sendMessageRun(sender, AllMusic.getMessage().Help.Admin.ClearList, - AllMusic.getMessage().Click.This, "/music clearlist"); - AllMusic.side.sendMessageRun(sender, AllMusic.getMessage().Help.Admin.Login, - AllMusic.getMessage().Click.Check, "/music login "); - AllMusic.side.sendMessageRun(sender, AllMusic.getMessage().Help.Admin.Code, - AllMusic.getMessage().Click.This, "/music code"); - } + } + ICommand command = CommandList.get(args[0]); + if (command != null) { + command.ex(sender, name, args); return; - } else if (args[0].equalsIgnoreCase("stop")) { - AllMusic.side.clearHud(name); - AllMusic.side.sendStop(name); - HudUtils.clearHud(name); - AllMusic.removeNowPlayPlayer(name); - AllMusic.side.sendMessage(sender, AllMusic.getMessage().MusicPlay.StopPlay); - return; - } else if (args[0].equalsIgnoreCase("list")) { - if (PlayMusic.nowPlayMusic == null || PlayMusic.nowPlayMusic.isNull()) { - AllMusic.side.sendMessage(sender, AllMusic.getMessage().MusicPlay.NoMusic); - } else { - String info = AllMusic.getMessage().MusicPlay.Play; - info = info.replace("%MusicName%", PlayMusic.nowPlayMusic.getName()) - .replace("%MusicAuthor%", PlayMusic.nowPlayMusic.getAuthor()) - .replace("%MusicAl%", PlayMusic.nowPlayMusic.getAl()) - .replace("%MusicAlia%", PlayMusic.nowPlayMusic.getAlia()) - .replace("%PlayerName%", PlayMusic.nowPlayMusic.getCall()); - AllMusic.side.sendMessage(sender, info); - } - if (PlayMusic.getSize() == 0) { - AllMusic.side.sendMessage(sender, AllMusic.getMessage().MusicPlay.NoPlay); - } else { - AllMusic.side.sendMessage(sender, AllMusic.getMessage().MusicPlay.ListMusic.Head - .replace("%Count%", "" + PlayMusic.getSize())); - AllMusic.side.sendMessage(sender, PlayMusic.getAllList()); - } - return; - } else if (args[0].equalsIgnoreCase("vote")) { - if (AllMusic.getConfig().NeedPermission && - AllMusic.side.checkPermission(name, "allmusic.vote")) { - AllMusic.side.sendMessage(sender, AllMusic.getMessage().Vote.NoPermission); - return; - } - if (PlayMusic.getSize() == 0 && AllMusic.getConfig().PlayList.size() == 0) { - AllMusic.side.sendMessage(sender, AllMusic.getMessage().MusicPlay.NoPlay); - } else if (PlayMusic.voteTime == 0) { - PlayMusic.voteTime = AllMusic.getConfig().VoteTime; - AllMusic.addVote(name); - AllMusic.side.sendMessage(sender, AllMusic.getMessage().Vote.DoVote); - String data = AllMusic.getMessage().Vote.BQ; - AllMusic.side.bq(data.replace("%PlayerName%", name) - .replace("%Time%", String.valueOf(AllMusic.getConfig().VoteTime))); - } else if (PlayMusic.voteTime > 0) { - if (!AllMusic.containVote(name)) { - AllMusic.addVote(name); - AllMusic.side.sendMessage(sender, AllMusic.getMessage().Vote.Agree); - String data = AllMusic.getMessage().Vote.BQAgree; - data = data.replace("%PlayerName%", name) - .replace("%Count%", "" + AllMusic.getVoteCount()); - AllMusic.side.bq(data); - } else { - AllMusic.side.sendMessage(sender, AllMusic.getMessage().Vote.ARAgree); - } - } - AllMusic.getConfig().RemoveNoMusicPlayer(name); - return; - } else if (args[0].equalsIgnoreCase("nomusic")) { - AllMusic.side.sendStop(name); - AllMusic.side.clearHud(name); - AllMusic.getConfig().AddNoMusicPlayer(name); - AllMusic.side.sendMessage(sender, AllMusic.getMessage().MusicPlay.NoPlayMusic); - return; - } else if (args[0].equalsIgnoreCase("search") && args.length >= 2) { - if (AllMusic.getConfig().NeedPermission && - AllMusic.side.checkPermission(name, "allmusic.search")) { - AllMusic.side.sendMessage(sender, AllMusic.getMessage().Search.NoPer); - return; - } - if (checkMoney(sender, name, AllMusic.getConfig().SearchCost)) { - return; - } - if (cost(sender, name, AllMusic.getConfig().SearchCost, - AllMusic.getMessage().Cost.Search)) { - return; - } + } - AllMusic.side.sendMessage(sender, AllMusic.getMessage().Search.StartSearch); - searchMusic(sender, name, args, false); - return; - } else if (args[0].equalsIgnoreCase("select") && args.length == 2) { - if (AllMusic.getConfig().NeedPermission && - AllMusic.side.checkPermission(name, "allmusic.search")) { - AllMusic.side.sendMessage(sender, AllMusic.getMessage().Search.NoPer); - return; - } - SearchPageObj obj = AllMusic.getSearch(name); - if (obj == null) { - AllMusic.side.sendMessage(sender, AllMusic.getMessage().Search.NoSearch); - } else if (!args[1].isEmpty() && Function.isInteger(args[1])) { - int a = Integer.parseInt(args[1]); - if (a == 0) { - AllMusic.side.sendMessage(sender, AllMusic.getMessage().Search.ErrorNum); - return; - } - String[] ID = new String[1]; - ID[0] = obj.getSong((obj.getPage() * 10) + (a - 1)); - AllMusic.side.sendMessage(sender, - AllMusic.getMessage().Search.Chose.replace("%Num%", "" + a)); - addMusic(sender, name, ID); - AllMusic.removeSearch(name); - } else { - AllMusic.side.sendMessage(sender, AllMusic.getMessage().Search.ErrorNum); - } - return; - } else if (args[0].equalsIgnoreCase("nextpage")) { - if (AllMusic.getConfig().NeedPermission && - AllMusic.side.checkPermission(name, "allmusic.search")) { - AllMusic.side.sendMessage(sender, AllMusic.getMessage().Search.NoPer); - return; - } - SearchPageObj obj = AllMusic.getSearch(name); - if (obj == null) { - AllMusic.side.sendMessage(sender, AllMusic.getMessage().Search.NoSearch); - } else if (obj.nextPage()) { - showSearch(sender, obj); - } else { - AllMusic.side.sendMessage(sender, AllMusic.getMessage().Search.CantNext); - } - return; - } else if (args[0].equalsIgnoreCase("lastpage")) { - if (AllMusic.getConfig().NeedPermission && - AllMusic.side.checkPermission(name, "allmusic.search")) { - AllMusic.side.sendMessage(sender, AllMusic.getMessage().Search.NoPer); - return; - } - SearchPageObj obj = AllMusic.getSearch(name); - if (obj == null) { - AllMusic.side.sendMessage(sender, AllMusic.getMessage().Search.NoSearch); - } else if (obj.lastPage()) { - showSearch(sender, obj); - } else { - AllMusic.side.sendMessage(sender, AllMusic.getMessage().Search.CantLast); - } - return; - } else if (args[0].equalsIgnoreCase("hud")) { - if (args.length == 1) { - AllMusic.side.sendMessage(sender, AllMusic.getMessage().Command.Error); - } else { - if (args[1].equalsIgnoreCase("enable")) { - if (args.length == 3) { - try { - String pos = args[2].toLowerCase(Locale.ROOT); - boolean temp = HudUtils.setHudEnable(name, pos); - AllMusic.side.sendMessage(sender, AllMusic.getMessage().Hud.State - .replace("%State%", temp ? "启用" : "关闭") - .replace("%Hud%", AllMusic.getMessage().HudList.Get(pos))); - } catch (Exception e) { - AllMusic.side.sendMessage(sender, AllMusic.getMessage().Command.Error); - } - } else { - boolean temp = HudUtils.setHudEnable(name, null); - AllMusic.side.sendMessage(sender, AllMusic.getMessage().Hud.State - .replace("%State%", temp ? "启用" : "关闭") - .replace("%Hud%", AllMusic.getMessage().HudList.All)); - } - } else if (args[1].equalsIgnoreCase("reset")) { - HudUtils.reset(name); - AllMusic.side.sendMessage(sender, AllMusic.getMessage().Hud.Reset); - } else if (args[1].equalsIgnoreCase("picsize")) { - if (args.length != 3 || !HudUtils.setPicSize(name, args[2])) { - AllMusic.side.sendMessage(sender, AllMusic.getMessage().Command.Error); - return; - } - AllMusic.side.sendMessage(sender, - AllMusic.getMessage().Hud.PicSize.replace("%Size%", args[2])); - } else if (args[1].equalsIgnoreCase("picrotate")) { - if (args.length != 3) { - AllMusic.side.sendMessage(sender, AllMusic.getMessage().Command.Error); - return; - } - AllMusic.side.sendMessage(sender, AllMusic.getMessage().Hud.PicRotate - .replace("%State%", String.valueOf(HudUtils.setPicRotate(name, args[2])))); - } else if (args[1].equalsIgnoreCase("picrotatespeed")) { - if (args.length != 3 || !HudUtils.setPicRotateSpeed(name, args[2])) { - AllMusic.side.sendMessage(sender, AllMusic.getMessage().Command.Error); - return; - } - AllMusic.side.sendMessage(sender, - AllMusic.getMessage().Hud.PicRotateSpeed.replace("%Size%", args[2])); - } else if (args.length != 4) { - AllMusic.side.sendMessage(sender, AllMusic.getMessage().Command.Error); - } else { - try { - PosObj obj = HudUtils.setHudPos(name, args[1], args[2], args[3]); - if (obj == null) { - AllMusic.side.sendMessage(sender, AllMusic.getMessage().Command.Error); - } else { - String temp = AllMusic.getMessage().Hud.Set - .replace("%Hud%", args[1]) - .replace("%x%", args[2]) - .replace("%y%", args[3]); - AllMusic.side.sendMessage(sender, temp); - } - } catch (Exception e) { - AllMusic.side.sendMessage(sender, AllMusic.getMessage().Command.Error); - } - } - } - return; - } else if (args[0].equalsIgnoreCase("reload")) { - AllMusic.side.reload(); - AllMusic.side.sendMessage(sender, "§d[AllMusic]§2已重读配置文件"); - return; - } else if (AllMusic.getConfig().Admin.contains(name)) { - if (args[0].equalsIgnoreCase("next")) { - PlayMusic.musicLessTime = 1; - AllMusic.side.sendMessage(sender, "§d[AllMusic]§2已强制切歌"); - AllMusic.getConfig().RemoveNoMusicPlayer(name); - return; - } else if (args[0].equalsIgnoreCase("ban") && args.length == 2) { - if (Function.isInteger(args[1])) { - AllMusic.getConfig().addBanID(args[1]); - AllMusic.side.sendMessage(sender, "§d[AllMusic]§2已禁止" + args[1]); - } else { - AllMusic.side.sendMessage(sender, "§d[AllMusic]§2请输入有效的ID"); - } - return; - } else if (args[0].equalsIgnoreCase("url") && args.length == 2) { - MusicObj obj = new MusicObj(); - obj.sender = sender; - obj.isUrl = true; - obj.url = args[1]; - PlayMusic.addTask(obj); - AllMusic.side.sendMessage(sender, AllMusic.getMessage().AddMusic.Success); - return; - } else if (args[0].equalsIgnoreCase("delete") && args.length == 2) { - if (!args[1].isEmpty() && Function.isInteger(args[1])) { - int music = Integer.parseInt(args[1]); - if (music == 0) { - AllMusic.side.sendMessage(sender, "§d[AllMusic]§2请输入有效的序列ID"); - return; - } - if (music > PlayMusic.getSize()) { - AllMusic.side.sendMessage(sender, "§d[AllMusic]§2序列号过大"); - return; - } - PlayMusic.remove(music - 1); - AllMusic.side.sendMessage(sender, "§d[AllMusic]§2已删除序列" + music); - } else { - AllMusic.side.sendMessage(sender, "§d[AllMusic]§2请输入有效的序列ID"); - } - return; - } else if (args[0].equalsIgnoreCase("addlist") && args.length == 2) { - if (Function.isInteger(args[1])) { - AllMusic.getMusicApi().setList(args[1], sender); - AllMusic.side.sendMessage(sender, "§d[AllMusic]§2添加空闲音乐列表" + args[1]); - } else { - AllMusic.side.sendMessage(sender, "§d[AllMusic]§2请输入有效的音乐列表ID"); - } - return; - } else if (args[0].equalsIgnoreCase("clearlist")) { - AllMusic.getConfig().PlayList.clear(); - AllMusic.saveConfig(); - AllMusic.side.sendMessage(sender, "§d[AllMusic]§2添加空闲音乐列表已清空"); - return; - } else if (args[0].equalsIgnoreCase("code")) { - AllMusic.getMusicApi().sendCode(sender); - return; - } else if (args[0].equalsIgnoreCase("login")) { - if (args.length != 2) { - AllMusic.side.sendMessage(sender, "§d[AllMusic]§c没有手机验证码"); - return; - } - AllMusic.side.sendMessage(sender, "§d[AllMusic]§d重新登录网易云账户"); - AllMusic.getMusicApi().login(sender, args[1]); + if (AllMusic.getConfig().Admin.contains(name)) { + command = CommandAdminList.get(args[0]); + if (command != null) { + command.ex(sender, name, args); return; } } diff --git a/core/command/CommandHelp.java b/core/command/CommandHelp.java new file mode 100644 index 00000000..1ba96e21 --- /dev/null +++ b/core/command/CommandHelp.java @@ -0,0 +1,56 @@ +package coloryr.allmusic.core.command; + +import coloryr.allmusic.core.AllMusic; + +public class CommandHelp implements ICommand { + @Override + public void ex(Object sender, String name, String[] args) { + AllMusic.side.sendMessage(sender, AllMusic.getMessage().Help.Normal.Head); + AllMusic.side.sendMessageSuggest(sender, AllMusic.getMessage().Help.Normal.Base, + AllMusic.getMessage().Click.Check, "/music "); + AllMusic.side.sendMessageRun(sender, AllMusic.getMessage().Help.Normal.Stop, + AllMusic.getMessage().Click.This, "/music stop"); + AllMusic.side.sendMessageRun(sender, AllMusic.getMessage().Help.Normal.List, + AllMusic.getMessage().Click.This, "/music list"); + AllMusic.side.sendMessageRun(sender, AllMusic.getMessage().Help.Normal.Vote, + AllMusic.getMessage().Click.This, "/music vote"); + AllMusic.side.sendMessageRun(sender, AllMusic.getMessage().Help.Normal.NoMusic, + AllMusic.getMessage().Click.This, "/music nomusic"); + AllMusic.side.sendMessageSuggest(sender, AllMusic.getMessage().Help.Normal.Search, + AllMusic.getMessage().Click.Check, "/music search "); + AllMusic.side.sendMessageSuggest(sender, AllMusic.getMessage().Help.Normal.Select, + AllMusic.getMessage().Click.Check, "/music select "); + AllMusic.side.sendMessageSuggest(sender, AllMusic.getMessage().Help.Normal.Hud1, + AllMusic.getMessage().Click.Check, "/music hud enable "); + AllMusic.side.sendMessageSuggest(sender, AllMusic.getMessage().Help.Normal.Hud2, + AllMusic.getMessage().Click.Check, "/music hud "); + AllMusic.side.sendMessageSuggest(sender, AllMusic.getMessage().Help.Normal.Hud3, + AllMusic.getMessage().Click.Check, "/music hud picsize "); + AllMusic.side.sendMessageSuggest(sender, AllMusic.getMessage().Help.Normal.Hud4, + AllMusic.getMessage().Click.Check, "/music hud picrotate "); + AllMusic.side.sendMessageSuggest(sender, AllMusic.getMessage().Help.Normal.Hud5, + AllMusic.getMessage().Click.Check, "/music hud picrotatespeed "); + if (AllMusic.getConfig().Admin.contains(name)) { + AllMusic.side.sendMessageRun(sender, AllMusic.getMessage().Help.Admin.Reload, + AllMusic.getMessage().Click.This, "/music reload"); + AllMusic.side.sendMessageRun(sender, AllMusic.getMessage().Help.Admin.Next, + AllMusic.getMessage().Click.This, "/music next"); + AllMusic.side.sendMessageSuggest(sender, AllMusic.getMessage().Help.Admin.Ban, + AllMusic.getMessage().Click.Check, "/music ban "); + AllMusic.side.sendMessageSuggest(sender, AllMusic.getMessage().Help.Admin.BanPlayer, + AllMusic.getMessage().Click.Check, "/music banplayer "); + AllMusic.side.sendMessageSuggest(sender, AllMusic.getMessage().Help.Admin.Url, + AllMusic.getMessage().Click.Check, "/music url "); + AllMusic.side.sendMessageSuggest(sender, AllMusic.getMessage().Help.Admin.Delete, + AllMusic.getMessage().Click.Check, "/music delete "); + AllMusic.side.sendMessageSuggest(sender, AllMusic.getMessage().Help.Admin.AddList, + AllMusic.getMessage().Click.Check, "/music addlist "); + AllMusic.side.sendMessageRun(sender, AllMusic.getMessage().Help.Admin.ClearList, + AllMusic.getMessage().Click.This, "/music clearlist"); + AllMusic.side.sendMessageRun(sender, AllMusic.getMessage().Help.Admin.Login, + AllMusic.getMessage().Click.Check, "/music login "); + AllMusic.side.sendMessageRun(sender, AllMusic.getMessage().Help.Admin.Code, + AllMusic.getMessage().Click.This, "/music code"); + } + } +} diff --git a/core/command/CommandHud.java b/core/command/CommandHud.java new file mode 100644 index 00000000..d6412c5c --- /dev/null +++ b/core/command/CommandHud.java @@ -0,0 +1,116 @@ +package coloryr.allmusic.core.command; + +import coloryr.allmusic.core.AllMusic; +import coloryr.allmusic.core.hud.HudUtils; +import coloryr.allmusic.core.objs.hud.PosObj; + +import java.util.HashMap; +import java.util.Locale; +import java.util.Map; + +public class CommandHud implements ICommand { + private final Map CommandList = new HashMap<>(); + + public CommandHud() { + CommandList.put("enable", new HudEnable()); + CommandList.put("reset", new Reset()); + CommandList.put("picsize", new PicSize()); + CommandList.put("picrotate", new PicRotate()); + CommandList.put("picrotatespeed", new PicRotateSpeed()); + } + + private static class HudEnable implements ICommand { + @Override + public void ex(Object sender, String name, String[] args) { + if (args.length == 3) { + try { + String pos = args[2].toLowerCase(Locale.ROOT); + boolean temp = HudUtils.setHudEnable(name, pos); + AllMusic.side.sendMessage(sender, AllMusic.getMessage().Hud.State + .replace("%State%", temp ? "启用" : "关闭") + .replace("%Hud%", AllMusic.getMessage().HudList.Get(pos))); + } catch (Exception e) { + AllMusic.side.sendMessage(sender, AllMusic.getMessage().Command.Error); + } + } else { + boolean temp = HudUtils.setHudEnable(name, null); + AllMusic.side.sendMessage(sender, AllMusic.getMessage().Hud.State + .replace("%State%", temp ? "启用" : "关闭") + .replace("%Hud%", AllMusic.getMessage().HudList.All)); + } + } + } + + private static class Reset implements ICommand { + @Override + public void ex(Object sender, String name, String[] args) { + HudUtils.reset(name); + AllMusic.side.sendMessage(sender, AllMusic.getMessage().Hud.Reset); + } + } + + private static class PicSize implements ICommand { + @Override + public void ex(Object sender, String name, String[] args) { + if (args.length != 3 || !HudUtils.setPicSize(name, args[2])) { + AllMusic.side.sendMessage(sender, AllMusic.getMessage().Command.Error); + return; + } + AllMusic.side.sendMessage(sender, + AllMusic.getMessage().Hud.PicSize.replace("%Size%", args[2])); + } + } + + private static class PicRotate implements ICommand { + @Override + public void ex(Object sender, String name, String[] args) { + if (args.length != 3) { + AllMusic.side.sendMessage(sender, AllMusic.getMessage().Command.Error); + return; + } + AllMusic.side.sendMessage(sender, AllMusic.getMessage().Hud.PicRotate + .replace("%State%", String.valueOf(HudUtils.setPicRotate(name, args[2])))); + } + } + + private static class PicRotateSpeed implements ICommand { + @Override + public void ex(Object sender, String name, String[] args) { + if (args.length != 3 || !HudUtils.setPicRotateSpeed(name, args[2])) { + AllMusic.side.sendMessage(sender, AllMusic.getMessage().Command.Error); + return; + } + AllMusic.side.sendMessage(sender, + AllMusic.getMessage().Hud.PicRotateSpeed.replace("%Size%", args[2])); + } + } + + @Override + public void ex(Object sender, String name, String[] args) { + if (args.length == 1) { + AllMusic.side.sendMessage(sender, AllMusic.getMessage().Command.Error); + } else { + ICommand command = CommandList.get(args[1]); + if (command != null) { + command.ex(sender, name, args); + } else if (args.length != 4) { + AllMusic.side.sendMessage(sender, AllMusic.getMessage().Command.Error); + } else { + try { + PosObj obj = HudUtils.setHudPos(name, args[1], args[2], args[3]); + if (obj == null) { + AllMusic.side.sendMessage(sender, AllMusic.getMessage().Command.Error); + } else { + String temp = AllMusic.getMessage().Hud.Set + .replace("%Hud%", args[1]) + .replace("%x%", args[2]) + .replace("%y%", args[3]); + AllMusic.side.sendMessage(sender, temp); + } + } catch (Exception e) { + AllMusic.side.sendMessage(sender, AllMusic.getMessage().Command.Error); + } + } + } + } +} diff --git a/core/command/CommandLastPage.java b/core/command/CommandLastPage.java new file mode 100644 index 00000000..3fc4d14f --- /dev/null +++ b/core/command/CommandLastPage.java @@ -0,0 +1,23 @@ +package coloryr.allmusic.core.command; + +import coloryr.allmusic.core.AllMusic; +import coloryr.allmusic.core.objs.music.SearchPageObj; + +public class CommandLastPage implements ICommand { + @Override + public void ex(Object sender, String name, String[] args) { + if (AllMusic.getConfig().NeedPermission && + AllMusic.side.checkPermission(name, "allmusic.search")) { + AllMusic.side.sendMessage(sender, AllMusic.getMessage().Search.NoPer); + return; + } + SearchPageObj obj = AllMusic.getSearch(name); + if (obj == null) { + AllMusic.side.sendMessage(sender, AllMusic.getMessage().Search.NoSearch); + } else if (obj.lastPage()) { + CommandEX.showSearch(sender, obj); + } else { + AllMusic.side.sendMessage(sender, AllMusic.getMessage().Search.CantLast); + } + } +} diff --git a/core/command/CommandList.java b/core/command/CommandList.java new file mode 100644 index 00000000..22ec0f1e --- /dev/null +++ b/core/command/CommandList.java @@ -0,0 +1,28 @@ +package coloryr.allmusic.core.command; + +import coloryr.allmusic.core.AllMusic; +import coloryr.allmusic.core.music.play.PlayMusic; + +public class CommandList implements ICommand { + @Override + public void ex(Object sender, String name, String[] args) { + if (PlayMusic.nowPlayMusic == null || PlayMusic.nowPlayMusic.isNull()) { + AllMusic.side.sendMessage(sender, AllMusic.getMessage().MusicPlay.NoMusic); + } else { + String info = AllMusic.getMessage().MusicPlay.Play; + info = info.replace("%MusicName%", PlayMusic.nowPlayMusic.getName()) + .replace("%MusicAuthor%", PlayMusic.nowPlayMusic.getAuthor()) + .replace("%MusicAl%", PlayMusic.nowPlayMusic.getAl()) + .replace("%MusicAlia%", PlayMusic.nowPlayMusic.getAlia()) + .replace("%PlayerName%", PlayMusic.nowPlayMusic.getCall()); + AllMusic.side.sendMessage(sender, info); + } + if (PlayMusic.getSize() == 0) { + AllMusic.side.sendMessage(sender, AllMusic.getMessage().MusicPlay.NoPlay); + } else { + AllMusic.side.sendMessage(sender, AllMusic.getMessage().MusicPlay.ListMusic.Head + .replace("%Count%", "" + PlayMusic.getSize())); + AllMusic.side.sendMessage(sender, PlayMusic.getAllList()); + } + } +} diff --git a/core/command/CommandLogin.java b/core/command/CommandLogin.java new file mode 100644 index 00000000..53bd1b3a --- /dev/null +++ b/core/command/CommandLogin.java @@ -0,0 +1,15 @@ +package coloryr.allmusic.core.command; + +import coloryr.allmusic.core.AllMusic; + +public class CommandLogin implements ICommand { + @Override + public void ex(Object sender, String name, String[] args) { + if (args.length != 2) { + AllMusic.side.sendMessage(sender, "§d[AllMusic]§c没有手机验证码"); + return; + } + AllMusic.side.sendMessage(sender, "§d[AllMusic]§d重新登录网易云账户"); + AllMusic.getMusicApi().login(sender, args[1]); + } +} diff --git a/core/command/CommandNext.java b/core/command/CommandNext.java new file mode 100644 index 00000000..deb44b58 --- /dev/null +++ b/core/command/CommandNext.java @@ -0,0 +1,14 @@ +package coloryr.allmusic.core.command; + +import coloryr.allmusic.core.AllMusic; +import coloryr.allmusic.core.music.play.PlayMusic; + +public class CommandNext implements ICommand { + + @Override + public void ex(Object sender, String name, String[] args) { + PlayMusic.musicLessTime = 1; + AllMusic.side.sendMessage(sender, "§d[AllMusic]§2已强制切歌"); + AllMusic.getConfig().RemoveNoMusicPlayer(name); + } +} diff --git a/core/command/CommandNextPage.java b/core/command/CommandNextPage.java new file mode 100644 index 00000000..0bfe5e0c --- /dev/null +++ b/core/command/CommandNextPage.java @@ -0,0 +1,23 @@ +package coloryr.allmusic.core.command; + +import coloryr.allmusic.core.AllMusic; +import coloryr.allmusic.core.objs.music.SearchPageObj; + +public class CommandNextPage implements ICommand { + @Override + public void ex(Object sender, String name, String[] args) { + if (AllMusic.getConfig().NeedPermission && + AllMusic.side.checkPermission(name, "allmusic.search")) { + AllMusic.side.sendMessage(sender, AllMusic.getMessage().Search.NoPer); + return; + } + SearchPageObj obj = AllMusic.getSearch(name); + if (obj == null) { + AllMusic.side.sendMessage(sender, AllMusic.getMessage().Search.NoSearch); + } else if (obj.nextPage()) { + CommandEX.showSearch(sender, obj); + } else { + AllMusic.side.sendMessage(sender, AllMusic.getMessage().Search.CantNext); + } + } +} diff --git a/core/command/CommandNoMusic.java b/core/command/CommandNoMusic.java new file mode 100644 index 00000000..23c53ca6 --- /dev/null +++ b/core/command/CommandNoMusic.java @@ -0,0 +1,13 @@ +package coloryr.allmusic.core.command; + +import coloryr.allmusic.core.AllMusic; + +public class CommandNoMusic implements ICommand { + @Override + public void ex(Object sender, String name, String[] args) { + AllMusic.side.sendStop(name); + AllMusic.side.clearHud(name); + AllMusic.getConfig().AddNoMusicPlayer(name); + AllMusic.side.sendMessage(sender, AllMusic.getMessage().MusicPlay.NoPlayMusic); + } +} diff --git a/core/command/CommandReload.java b/core/command/CommandReload.java new file mode 100644 index 00000000..4cfd8052 --- /dev/null +++ b/core/command/CommandReload.java @@ -0,0 +1,11 @@ +package coloryr.allmusic.core.command; + +import coloryr.allmusic.core.AllMusic; + +public class CommandReload implements ICommand { + @Override + public void ex(Object sender, String name, String[] args) { + AllMusic.side.reload(); + AllMusic.side.sendMessage(sender, "§d[AllMusic]§2已重读配置文件"); + } +} diff --git a/core/command/CommandSearch.java b/core/command/CommandSearch.java new file mode 100644 index 00000000..8529124b --- /dev/null +++ b/core/command/CommandSearch.java @@ -0,0 +1,24 @@ +package coloryr.allmusic.core.command; + +import coloryr.allmusic.core.AllMusic; + +public class CommandSearch implements ICommand { + @Override + public void ex(Object sender, String name, String[] args) { + if (AllMusic.getConfig().NeedPermission && + AllMusic.side.checkPermission(name, "allmusic.search")) { + AllMusic.side.sendMessage(sender, AllMusic.getMessage().Search.NoPer); + return; + } + if (CommandEX.checkMoney(sender, name, AllMusic.getConfig().SearchCost)) { + return; + } + if (CommandEX.cost(sender, name, AllMusic.getConfig().SearchCost, + AllMusic.getMessage().Cost.Search)) { + return; + } + + AllMusic.side.sendMessage(sender, AllMusic.getMessage().Search.StartSearch); + CommandEX.searchMusic(sender, name, args, false); + } +} diff --git a/core/command/CommandSelect.java b/core/command/CommandSelect.java new file mode 100644 index 00000000..b22ce951 --- /dev/null +++ b/core/command/CommandSelect.java @@ -0,0 +1,34 @@ +package coloryr.allmusic.core.command; + +import coloryr.allmusic.core.AllMusic; +import coloryr.allmusic.core.objs.music.SearchPageObj; +import coloryr.allmusic.core.utils.Function; + +public class CommandSelect implements ICommand { + @Override + public void ex(Object sender, String name, String[] args) { + if (AllMusic.getConfig().NeedPermission && + AllMusic.side.checkPermission(name, "allmusic.search")) { + AllMusic.side.sendMessage(sender, AllMusic.getMessage().Search.NoPer); + return; + } + SearchPageObj obj = AllMusic.getSearch(name); + if (obj == null) { + AllMusic.side.sendMessage(sender, AllMusic.getMessage().Search.NoSearch); + } else if (!args[1].isEmpty() && Function.isInteger(args[1])) { + int a = Integer.parseInt(args[1]); + if (a == 0) { + AllMusic.side.sendMessage(sender, AllMusic.getMessage().Search.ErrorNum); + return; + } + String[] ID = new String[1]; + ID[0] = obj.getSong((obj.getPage() * 10) + (a - 1)); + AllMusic.side.sendMessage(sender, + AllMusic.getMessage().Search.Chose.replace("%Num%", "" + a)); + CommandEX.addMusic(sender, name, ID); + AllMusic.removeSearch(name); + } else { + AllMusic.side.sendMessage(sender, AllMusic.getMessage().Search.ErrorNum); + } + } +} diff --git a/core/command/CommandStop.java b/core/command/CommandStop.java new file mode 100644 index 00000000..761f538a --- /dev/null +++ b/core/command/CommandStop.java @@ -0,0 +1,15 @@ +package coloryr.allmusic.core.command; + +import coloryr.allmusic.core.AllMusic; +import coloryr.allmusic.core.hud.HudUtils; + +public class CommandStop implements ICommand { + @Override + public void ex(Object sender, String name, String[] args) { + AllMusic.side.clearHud(name); + AllMusic.side.sendStop(name); + HudUtils.clearHud(name); + AllMusic.removeNowPlayPlayer(name); + AllMusic.side.sendMessage(sender, AllMusic.getMessage().MusicPlay.StopPlay); + } +} diff --git a/core/command/CommandUrl.java b/core/command/CommandUrl.java new file mode 100644 index 00000000..18b74255 --- /dev/null +++ b/core/command/CommandUrl.java @@ -0,0 +1,21 @@ +package coloryr.allmusic.core.command; + +import coloryr.allmusic.core.AllMusic; +import coloryr.allmusic.core.music.play.PlayMusic; +import coloryr.allmusic.core.objs.music.MusicObj; + +public class CommandUrl implements ICommand { + @Override + public void ex(Object sender, String name, String[] args) { + if (args.length != 2) { + AllMusic.side.sendMessage(sender, AllMusic.getMessage().Command.Error); + return; + } + MusicObj obj = new MusicObj(); + obj.sender = sender; + obj.isUrl = true; + obj.url = args[1]; + PlayMusic.addTask(obj); + AllMusic.side.sendMessage(sender, AllMusic.getMessage().AddMusic.Success); + } +} diff --git a/core/command/CommandVote.java b/core/command/CommandVote.java new file mode 100644 index 00000000..02900d29 --- /dev/null +++ b/core/command/CommandVote.java @@ -0,0 +1,37 @@ +package coloryr.allmusic.core.command; + +import coloryr.allmusic.core.AllMusic; +import coloryr.allmusic.core.music.play.PlayMusic; + +public class CommandVote implements ICommand { + @Override + public void ex(Object sender, String name, String[] args) { + if (AllMusic.getConfig().NeedPermission && + AllMusic.side.checkPermission(name, "allmusic.vote")) { + AllMusic.side.sendMessage(sender, AllMusic.getMessage().Vote.NoPermission); + return; + } + if (PlayMusic.getSize() == 0 && AllMusic.getConfig().PlayList.size() == 0) { + AllMusic.side.sendMessage(sender, AllMusic.getMessage().MusicPlay.NoPlay); + } else if (PlayMusic.voteTime == 0) { + PlayMusic.voteTime = AllMusic.getConfig().VoteTime; + AllMusic.addVote(name); + AllMusic.side.sendMessage(sender, AllMusic.getMessage().Vote.DoVote); + String data = AllMusic.getMessage().Vote.BQ; + AllMusic.side.bq(data.replace("%PlayerName%", name) + .replace("%Time%", String.valueOf(AllMusic.getConfig().VoteTime))); + } else if (PlayMusic.voteTime > 0) { + if (!AllMusic.containVote(name)) { + AllMusic.addVote(name); + AllMusic.side.sendMessage(sender, AllMusic.getMessage().Vote.Agree); + String data = AllMusic.getMessage().Vote.BQAgree; + data = data.replace("%PlayerName%", name) + .replace("%Count%", "" + AllMusic.getVoteCount()); + AllMusic.side.bq(data); + } else { + AllMusic.side.sendMessage(sender, AllMusic.getMessage().Vote.ARAgree); + } + } + AllMusic.getConfig().RemoveNoMusicPlayer(name); + } +} diff --git a/core/command/ICommand.java b/core/command/ICommand.java new file mode 100644 index 00000000..b7e4b47c --- /dev/null +++ b/core/command/ICommand.java @@ -0,0 +1,5 @@ +package coloryr.allmusic.core.command; + +public interface ICommand { + void ex(Object sender, String name, String[] args); +} diff --git a/core/command/TabCommand.java b/core/command/TabCommand.java index dbe2d90a..4a66336e 100644 --- a/core/command/TabCommand.java +++ b/core/command/TabCommand.java @@ -86,8 +86,7 @@ public class TabCommand { if ("hud".equalsIgnoreCase(arg[0]) && "enable".equalsIgnoreCase(arg[1])) { arguments.addAll(hudlist); - } - else if ("hud".equalsIgnoreCase(arg[0])) { + } else if ("hud".equalsIgnoreCase(arg[0])) { arguments.addAll(hud); } } else if (arg.length == 3) { diff --git a/core/hud/DataSql.java b/core/hud/DataSql.java index ac8e71c5..293f6860 100644 --- a/core/hud/DataSql.java +++ b/core/hud/DataSql.java @@ -1,8 +1,8 @@ package coloryr.allmusic.core.hud; import coloryr.allmusic.core.AllMusic; -import coloryr.allmusic.core.objs.hud.PosObj; import coloryr.allmusic.core.objs.config.SaveObj; +import coloryr.allmusic.core.objs.hud.PosObj; import java.io.File; import java.sql.Connection; @@ -115,7 +115,7 @@ public class DataSql { hud.Lyric.x, hud.Lyric.y, hud.EnableLyric ? 1 : 0, hud.List.x, hud.List.y, hud.EnableList ? 1 : 0, hud.Pic.x, hud.Pic.y, hud.EnablePic ? 1 : 0, - hud.PicSize, hud.EnablePicRotate ? 1: 0, + hud.PicSize, hud.EnablePicRotate ? 1 : 0, hud.PicRotateSpeed); sql = sql.replace("@name", "'" + name + "'"); stat.execute(sql); @@ -150,7 +150,7 @@ public class DataSql { hud.Lyric.x, hud.Lyric.y, hud.EnableLyric ? 1 : 0, hud.List.x, hud.List.y, hud.EnableList ? 1 : 0, hud.Pic.x, hud.Pic.y, hud.EnablePic ? 1 : 0, - hud.PicSize, hud.EnablePicRotate ? 1: 0, + hud.PicSize, hud.EnablePicRotate ? 1 : 0, hud.PicRotateSpeed); sql = sql.replace("@name", "'" + name + "'"); stat.execute(sql); diff --git a/core/hud/HudUtils.java b/core/hud/HudUtils.java index b33266d2..04e5c93d 100644 --- a/core/hud/HudUtils.java +++ b/core/hud/HudUtils.java @@ -4,8 +4,8 @@ import coloryr.allmusic.core.AllMusic; import coloryr.allmusic.core.enums.HudPos; import coloryr.allmusic.core.music.play.LyricSave; import coloryr.allmusic.core.music.play.PlayMusic; -import coloryr.allmusic.core.objs.hud.PosObj; import coloryr.allmusic.core.objs.config.SaveObj; +import coloryr.allmusic.core.objs.hud.PosObj; import coloryr.allmusic.core.objs.music.SongInfoObj; import coloryr.allmusic.core.utils.Function; import com.google.gson.Gson; @@ -310,8 +310,9 @@ public class HudUtils { /** * 图片旋转开关 + * * @param player 用户名 - * @param open 开关 + * @param open 开关 * @return 结果 */ public static boolean setPicRotate(String player, String open) { @@ -328,11 +329,12 @@ public class HudUtils { /** * 图片旋转速度设置 + * * @param player 用户名 - * @param size 大小 + * @param size 大小 * @return 结果 */ - public static boolean setPicRotateSpeed(String player, String size){ + public static boolean setPicRotateSpeed(String player, String size) { SaveObj obj = get(player); if (obj == null) obj = AllMusic.getConfig().DefaultHud.copy(); diff --git a/core/music/api/APIMain.java b/core/music/api/APIMain.java index 32d1f86f..0256b98f 100644 --- a/core/music/api/APIMain.java +++ b/core/music/api/APIMain.java @@ -48,7 +48,11 @@ public class APIMain { params.addProperty("ctcode", "86"); params.addProperty("cellphone", AllMusic.getConfig().LoginUser); HttpResObj res = HttpClientUtil.post("https://music.163.com/api/sms/captcha/sent", params, EncryptType.WEAPI, null); - AllMusic.side.sendMessage(sender, "§d[AllMusic]§d已发送验证码\n" + res.data); + if (res != null && res.ok) { + AllMusic.side.sendMessage(sender, "§d[AllMusic]§d已发送验证码\n" + res.data); + } else { + AllMusic.side.sendMessage(sender, "§d[AllMusic]§c验证码发送失败"); + } } /** @@ -317,10 +321,10 @@ public class APIMain { * @return 结果 */ public String getListMusic() { - if (!isUpdata && AllMusic.getConfig().PlayList.size() != 0) { + if (!isUpdata && !AllMusic.getConfig().PlayList.isEmpty()) { String ID; if (AllMusic.getConfig().PlayListRandom) { - if (AllMusic.getConfig().PlayList.size() == 0) + if (AllMusic.getConfig().PlayList.isEmpty()) return null; else if (AllMusic.getConfig().PlayList.size() == 1) return AllMusic.getConfig().PlayList.get(0); diff --git a/core/music/play/PlayMusic.java b/core/music/play/PlayMusic.java index 07e63197..fa6730df 100644 --- a/core/music/play/PlayMusic.java +++ b/core/music/play/PlayMusic.java @@ -200,6 +200,7 @@ public class PlayMusic { public static String getAllList() { StringBuilder list = new StringBuilder(); String a; + SongInfoObj info; for (int i = 0; i < playList.size(); i++) { info = playList.get(i); @@ -259,5 +260,20 @@ public class PlayMusic { e.printStackTrace(); } } + + public static boolean havePlayer(String name) { + int list = AllMusic.getConfig().PlayerMaxList; + if (list == 0) { + return false; + } + int count = 0; + for (MusicObj obj : tasks) { + if (obj.name.equalsIgnoreCase(name)) { + count++; + } + } + + return list <= count; + } } diff --git a/core/objs/config/ConfigObj.java b/core/objs/config/ConfigObj.java index c131704b..4871fccb 100644 --- a/core/objs/config/ConfigObj.java +++ b/core/objs/config/ConfigObj.java @@ -3,7 +3,9 @@ package coloryr.allmusic.core.objs.config; import coloryr.allmusic.core.AllMusic; import java.util.ArrayList; +import java.util.HashSet; import java.util.List; +import java.util.Set; /** * 配置文件对象 @@ -13,6 +15,10 @@ public class ConfigObj { * 最大歌曲数 */ public int MaxList; + /** + * 一个玩家最大可点数量 + */ + public int PlayerMaxList; /** * 最小通过投票数 */ @@ -53,24 +59,27 @@ public class ConfigObj { /** * 管理员ID列表 */ - public List Admin; + public Set Admin; /** * 不参与点歌的服务器列表 */ - public List NoMusicServer; + public Set NoMusicServer; /** * 不参与点歌的玩家列表 */ - public List NoMusicPlayer; + public Set NoMusicPlayer; /** * 禁止点歌ID列表 */ - public List BanMusic; + public Set BanMusic; /** * 空闲歌单列表 */ public List PlayList; - + /** + * 禁止玩家点歌列表 + */ + public Set BanPlayer; /** * 玩家点歌后是否直接从空闲歌单切换至玩家歌曲 */ @@ -142,15 +151,18 @@ public class ConfigObj { */ public FunConfigObj FunConfig; - public void addBanID(String ID) { - if (!BanMusic.contains(ID)) - BanMusic.add(ID); + public void addBanMusic(String id) { + BanMusic.add(id); + AllMusic.saveConfig(); + } + + public void addBanPlayer(String id) { + BanPlayer.add(id); AllMusic.saveConfig(); } public void AddNoMusicPlayer(String ID) { - if (!NoMusicPlayer.contains(ID)) - NoMusicPlayer.add(ID); + NoMusicPlayer.add(ID); AllMusic.saveConfig(); } @@ -167,11 +179,15 @@ public class ConfigObj { } if (Admin == null) { saveConfig = true; - Admin = new ArrayList<>(); + Admin = new HashSet<>(); } if (BanMusic == null) { saveConfig = true; - BanMusic = new ArrayList<>(); + BanMusic = new HashSet<>(); + } + if (BanPlayer == null) { + saveConfig = true; + BanPlayer = new HashSet<>(); } if (DefaultHud == null) { saveConfig = true; @@ -179,11 +195,11 @@ public class ConfigObj { } if (NoMusicPlayer == null) { saveConfig = true; - NoMusicPlayer = new ArrayList<>(); + NoMusicPlayer = new HashSet<>(); } if (NoMusicServer == null) { saveConfig = true; - NoMusicServer = new ArrayList<>(); + NoMusicServer = new HashSet<>(); } if (Economy == null || Economy.check()) { saveConfig = true; @@ -198,18 +214,19 @@ public class ConfigObj { } public void init() { + PlayerMaxList = 0; MaxList = 10; MinVote = 3; VoteTime = 30; Delay = 0; - Admin = new ArrayList() {{ - add("CONSOLE"); - add("Color_yr"); - }}; - NoMusicServer = new ArrayList<>(); - NoMusicPlayer = new ArrayList<>(); - BanMusic = new ArrayList<>(); + Admin = new HashSet<>(); + Admin.add("CONSOLE"); + Admin.add("Color_yr"); + NoMusicServer = new HashSet<>(); + NoMusicPlayer = new HashSet<>(); + BanMusic = new HashSet<>(); PlayList = new ArrayList<>(); + BanPlayer = new HashSet<>(); PlayListSwitch = true; PlayListRandom = true; SendLyric = true; diff --git a/core/objs/config/EconomyObj.java b/core/objs/config/EconomyObj.java index 58272877..e2b79989 100644 --- a/core/objs/config/EconomyObj.java +++ b/core/objs/config/EconomyObj.java @@ -11,7 +11,7 @@ public class EconomyObj { return res; } - public void init(){ + public void init() { Backend = "Server1"; MysqlUrl = "jdbc:mysql://localhost:3306/minecraft?autoReconnect=true&autoReconnectForPools=true"; Vault = true; diff --git a/core/objs/message/AddMusicObj.java b/core/objs/message/AddMusicObj.java index 55f41d1b..3375ab38 100644 --- a/core/objs/message/AddMusicObj.java +++ b/core/objs/message/AddMusicObj.java @@ -2,7 +2,9 @@ package coloryr.allmusic.core.objs.message; public class AddMusicObj { public String ListFull; + public String PlayerToMany; public String BanMusic; + public String PlayerBan; public String ExistMusic; public String Success; public String NoPlayer; @@ -25,11 +27,17 @@ public class AddMusicObj { return true; if (Cancel == null) return true; + if (PlayerToMany == null) + return true; + if (PlayerBan == null) + return true; return TimeOut == null; } - public void init(){ + public void init() { ListFull = "§d[AllMusic]§c错误,队列已满"; + PlayerToMany = "§d[AllMusic]§c错误,你点了太多的歌"; + PlayerBan = "§d[AllMusic]§c错误,你已被禁止点歌"; BanMusic = "§d[AllMusic]§c错误,这首歌被禁点了"; ExistMusic = "§d[AllMusic]§c错误,这首歌已经存在了"; Success = "§d[AllMusic]§2点歌成功"; diff --git a/core/objs/message/ClickObj.java b/core/objs/message/ClickObj.java index c54c3e39..b5ed7eb8 100644 --- a/core/objs/message/ClickObj.java +++ b/core/objs/message/ClickObj.java @@ -10,7 +10,7 @@ public class ClickObj { return Check == null; } - public void init(){ + public void init() { This = "§b[§n点我选择§r§b]"; Check = "§b[§n点我查看§r§b]"; } diff --git a/core/objs/message/CostObj.java b/core/objs/message/CostObj.java index 5b7a5e2b..256f9623 100644 --- a/core/objs/message/CostObj.java +++ b/core/objs/message/CostObj.java @@ -16,7 +16,7 @@ public class CostObj { return CostFail == null; } - public void init(){ + public void init() { Search = "§d[AllMusic]§e你搜歌花费了%Cost%"; AddMusic = "§d[ALLMusic]§e你点歌花费了%Cost%"; NoMoney = "§d[ALLMusic]§c你没有足够的钱"; diff --git a/core/objs/message/CustomObj.java b/core/objs/message/CustomObj.java index df3a1cf3..38ba856b 100644 --- a/core/objs/message/CustomObj.java +++ b/core/objs/message/CustomObj.java @@ -7,7 +7,7 @@ public class CustomObj { return Info == null; } - public void init(){ + public void init() { Info = "自定义音乐"; } diff --git a/core/objs/message/FunObj.java b/core/objs/message/FunObj.java index fa7586b4..ba55f083 100644 --- a/core/objs/message/FunObj.java +++ b/core/objs/message/FunObj.java @@ -12,7 +12,7 @@ public class FunObj { return res; } - public void init(){ + public void init() { Rain = "§d[AllMusic]§e天空开始变得湿润"; } diff --git a/core/objs/message/HelpAdminObj.java b/core/objs/message/HelpAdminObj.java index afff19ad..d6320fe8 100644 --- a/core/objs/message/HelpAdminObj.java +++ b/core/objs/message/HelpAdminObj.java @@ -4,6 +4,7 @@ public class HelpAdminObj { public String Reload; public String Next; public String Ban; + public String BanPlayer; public String Url; public String Delete; public String AddList; @@ -28,13 +29,16 @@ public class HelpAdminObj { return true; if (Code == null) return true; + if (BanPlayer == null) + return true; return Login == null; } - public void init(){ + public void init() { Reload = "§d[AllMusic]§e使用/music reload 重读配置文件"; Next = "§d[AllMusic]§e使用/music next 强制切歌"; Ban = "§d[AllMusic]§e使用/music ban [ID] 禁止点这首歌"; + BanPlayer = "§d[AllMusic]§e使用/music banplayer [ID] 禁止某位玩家点歌"; Url = "§d[AllMusic]§e使用/music url [url] 播放一首自定义歌曲"; Delete = "§d[AllMusic]§e使用/music delete [序号] 删除队列中的歌曲"; AddList = "§d[AllMusic]§e使用/music addlist [歌单ID] 添加歌单到空闲列表"; diff --git a/core/objs/message/HelpNormalObj.java b/core/objs/message/HelpNormalObj.java index 59751a7e..dc75cce4 100644 --- a/core/objs/message/HelpNormalObj.java +++ b/core/objs/message/HelpNormalObj.java @@ -43,7 +43,7 @@ public class HelpNormalObj { return Hud5 == null; } - public void init(){ + public void init() { Head = "§d[AllMusic]§e帮助手册"; Base = "§d[AllMusic]§e使用/music [音乐ID] 来点歌"; Stop = "§d[AllMusic]§e使用/music stop 停止播放歌曲"; diff --git a/core/objs/message/HudListObj.java b/core/objs/message/HudListObj.java index 0e1780ee..d9196b62 100644 --- a/core/objs/message/HudListObj.java +++ b/core/objs/message/HudListObj.java @@ -38,7 +38,7 @@ public class HudListObj { return null; } - public void init(){ + public void init() { List = "待播放列表"; Lyric = "歌词"; Info = "歌曲信息"; diff --git a/core/objs/message/HudObj.java b/core/objs/message/HudObj.java index 94d4c59e..05b080b0 100644 --- a/core/objs/message/HudObj.java +++ b/core/objs/message/HudObj.java @@ -43,7 +43,7 @@ public class HudObj { return Ktv == null; } - public void init(){ + public void init() { State = "§d[AllMusic]§e设置信息位置:%Hud%,状态:%State%"; Set = "§d[AllMusic]§e已设置%Hud%的坐标为%x%, %y%"; Reset = "§d[AllMusic]§eHud恢复至默认位置"; diff --git a/core/objs/message/ListMusicObj.java b/core/objs/message/ListMusicObj.java index 91b50bac..db547ae4 100644 --- a/core/objs/message/ListMusicObj.java +++ b/core/objs/message/ListMusicObj.java @@ -15,7 +15,7 @@ public class ListMusicObj { return res; } - public void init(){ + public void init() { Head = "§d[AllMusic]§e队列中有歌曲数:%Count%"; Item = "§e%Index%->%MusicName% | %MusicAuthor% | %MusicAl% | %MusicAlia%"; Get = "§d[AllMusic]§e歌曲列表%ListName%获取成功"; diff --git a/core/objs/message/LyricObj.java b/core/objs/message/LyricObj.java index 50540f75..233876ed 100644 --- a/core/objs/message/LyricObj.java +++ b/core/objs/message/LyricObj.java @@ -19,7 +19,7 @@ public class LyricObj { return Empty3 == null; } - public void init(){ + public void init() { Data = "%Lyric%"; TData = "%Lyric%(%TLyric%)"; Empty1 = "没有歌词"; diff --git a/core/objs/message/MessageObj.java b/core/objs/message/MessageObj.java index 96ec71d6..db03f4d6 100644 --- a/core/objs/message/MessageObj.java +++ b/core/objs/message/MessageObj.java @@ -85,7 +85,7 @@ public class MessageObj { return saveConfig; } - public void init(){ + public void init() { MusicPlay = MusicPlayObj.make(); AddMusic = AddMusicObj.make(); Page = PageObj.make(); diff --git a/core/objs/message/MusicPlayObj.java b/core/objs/message/MusicPlayObj.java index 213d6da3..0143bdd6 100644 --- a/core/objs/message/MusicPlayObj.java +++ b/core/objs/message/MusicPlayObj.java @@ -45,7 +45,7 @@ public class MusicPlayObj { return res; } - public void init(){ + public void init() { StopPlay = "§d[AllMusic]§e已停止你的音乐播放"; NoMusic = "§d[AllMusic]§e无正在播放的歌曲"; Play = "§d[AllMusic]§e正在播放:%MusicName% | %MusicAuthor% | %MusicAl% | %MusicAlia% | by: %PlayerName%"; diff --git a/core/objs/message/PAPIObj.java b/core/objs/message/PAPIObj.java index 38482749..31c56f9e 100644 --- a/core/objs/message/PAPIObj.java +++ b/core/objs/message/PAPIObj.java @@ -7,7 +7,7 @@ public class PAPIObj { return NoMusic == null; } - public void init(){ + public void init() { NoMusic = "没有播放的音乐"; } diff --git a/core/objs/message/PageObj.java b/core/objs/message/PageObj.java index 56139dd2..d5b6b601 100644 --- a/core/objs/message/PageObj.java +++ b/core/objs/message/PageObj.java @@ -15,7 +15,7 @@ public class PageObj { return res; } - public void init(){ + public void init() { Choice = "§e%Index%->%MusicName% | %MusicAuthor% | %MusicAl%"; Next = "§e[§n点我下一页§r§e]"; Last = "§e[§n点我上一页§r§e]"; diff --git a/core/objs/message/SearchObj.java b/core/objs/message/SearchObj.java index 60cf2e00..ebba72d3 100644 --- a/core/objs/message/SearchObj.java +++ b/core/objs/message/SearchObj.java @@ -31,7 +31,7 @@ public class SearchObj { return StartSearch == null; } - public void init(){ + public void init() { StartSearch = "§d[AllMusic]§e正在排队搜歌"; NoPer = "§d[AllMusic]§c你没有权限搜歌"; CantSearch = "§d[AllMusic]§c无法搜索歌曲:%Music%"; diff --git a/core/objs/message/VoteObj.java b/core/objs/message/VoteObj.java index adac2921..718006c2 100644 --- a/core/objs/message/VoteObj.java +++ b/core/objs/message/VoteObj.java @@ -28,7 +28,7 @@ public class VoteObj { return Do == null; } - public void init(){ + public void init() { NoPermission = "§d[AllMusic]§c你没有权限切歌"; DoVote = "§d[AllMusic]§e已发起切歌投票"; BQ = "§d[AllMusic]§e%PlayerName%发起了切歌投票,%Time%秒后结束,输入/music vote 同意切歌。"; diff --git a/forge_1_19_2/build.gradle b/forge_1_19_2/build.gradle index 1fb18726..e188dadf 100644 --- a/forge_1_19_2/build.gradle +++ b/forge_1_19_2/build.gradle @@ -7,7 +7,7 @@ plugins { id 'org.jetbrains.kotlin.plugin.serialization' version '1.8.21' } -version = '2.18.14' +version = '2.19.0' group = 'coloryr.allmusic' // http://maven.apache.org/guides/mini/guide-naming-conventions.html archivesBaseName = '[Forge1.19.2]AllMusic_Server' diff --git a/server/build.gradle b/server/build.gradle index afa63612..a3e28aef 100644 --- a/server/build.gradle +++ b/server/build.gradle @@ -3,7 +3,7 @@ plugins { id 'maven-publish' id 'com.github.johnrengelman.shadow' version '6.1.0' } -version = "2.18.14" +version = "2.19.0" repositories { mavenCentral() diff --git a/server/src/main/java/coloryr/allmusic/side/bukkit/CommandBukkit.java b/server/src/main/java/coloryr/allmusic/side/bukkit/CommandBukkit.java index 2e8af788..1f4c78c6 100644 --- a/server/src/main/java/coloryr/allmusic/side/bukkit/CommandBukkit.java +++ b/server/src/main/java/coloryr/allmusic/side/bukkit/CommandBukkit.java @@ -8,13 +8,14 @@ import org.bukkit.command.CommandSender; import org.bukkit.command.TabExecutor; import java.util.List; +import java.util.Locale; public class CommandBukkit implements CommandExecutor, TabExecutor { @Override public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { if (command.getName().equalsIgnoreCase("music")) { - CommandEX.ex(sender, sender.getName(), args); + CommandEX.ex(sender, sender.getName().toLowerCase(Locale.ROOT), args); return true; } return false; diff --git a/server/src/main/java/coloryr/allmusic/side/bukkit/PluginMessage.java b/server/src/main/java/coloryr/allmusic/side/bukkit/PluginMessage.java index 4acb6412..9cfcdf8c 100644 --- a/server/src/main/java/coloryr/allmusic/side/bukkit/PluginMessage.java +++ b/server/src/main/java/coloryr/allmusic/side/bukkit/PluginMessage.java @@ -1,7 +1,7 @@ package coloryr.allmusic.side.bukkit; -import coloryr.allmusic.core.AllMusic; import coloryr.allmusic.AllMusicBukkit; +import coloryr.allmusic.core.AllMusic; import coloryr.allmusic.core.music.play.PlayMusic; import coloryr.allmusic.core.music.play.TopLyricSave; import coloryr.allmusic.core.objs.music.TopSongInfoObj; diff --git a/server/src/main/java/coloryr/allmusic/side/bukkit/SideBukkit.java b/server/src/main/java/coloryr/allmusic/side/bukkit/SideBukkit.java index 09c8b255..53eb2fc5 100644 --- a/server/src/main/java/coloryr/allmusic/side/bukkit/SideBukkit.java +++ b/server/src/main/java/coloryr/allmusic/side/bukkit/SideBukkit.java @@ -1,7 +1,7 @@ package coloryr.allmusic.side.bukkit; -import coloryr.allmusic.core.AllMusic; import coloryr.allmusic.AllMusicBukkit; +import coloryr.allmusic.core.AllMusic; import coloryr.allmusic.core.hud.HudUtils; import coloryr.allmusic.core.objs.config.SaveObj; import coloryr.allmusic.core.objs.music.MusicObj;