diff --git a/src/main/java/cn/lunadeer/dominion/Commands.java b/src/main/java/cn/lunadeer/dominion/Commands.java index baf6f7f..d6ddff2 100644 --- a/src/main/java/cn/lunadeer/dominion/Commands.java +++ b/src/main/java/cn/lunadeer/dominion/Commands.java @@ -146,6 +146,9 @@ public class Commands implements TabExecutor { case "export_mca": Operator.exportMca(sender, args); break; + case "config": + DominionConfig.show(sender, args); + break; default: return false; } @@ -168,7 +171,7 @@ public class Commands implements TabExecutor { @Override public @Nullable List onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) { if (args.length == 1) { - return Arrays.asList("menu", "help", "info", "manage", "flag_info", "group_list", "privilege_list", "group", + return Arrays.asList("menu", "help", "info", "manage", "flag_info", "privilege_list", "create", "auto_create", "create_sub", "auto_create_sub", "expand", "contract", "delete", "set", "create_privilege", "set_privilege", "clear_privilege", "list", "privilege_info", "set_enter_msg", @@ -179,13 +182,15 @@ public class Commands implements TabExecutor { "give", "reload_cache", "reload_config", - "export_mca" + "export_mca", + "config" ); } if (args.length == 2) { switch (args[0]) { case "help": - case "group": + case "list": + case "config": return Collections.singletonList("页码(可选)"); case "create": case "auto_create": diff --git a/src/main/java/cn/lunadeer/dominion/tuis/Apis.java b/src/main/java/cn/lunadeer/dominion/tuis/Apis.java index 757ba6c..6b49b3c 100644 --- a/src/main/java/cn/lunadeer/dominion/tuis/Apis.java +++ b/src/main/java/cn/lunadeer/dominion/tuis/Apis.java @@ -92,8 +92,13 @@ public class Apis { .add(Line.create().append("重命名领地").append("/dominion rename <原领地名称> <新领地名称>")) .add(Line.create().append("转让领地").append("/dominion give <领地名称> <玩家名称> [force]")) .add(Line.create().append("删除领地").append("/dominion delete <领地名称> [force]")) + // 管理员指令 + .add(Line.create().append("---[管理员指令]---")) + .add(Line.create().append("刷新缓存").append(Button.create("/dominion reload_cache", "/dominion reload_cache"))) + .add(Line.create().append("重载配置").append(Button.create("/dominion reload_config", "/dominion reload_config"))) // 以下指令主要被用于 ui 触发 - .add(Line.create().append("列出所有领地").append(Button.create("/dominion list", "/dominion list"))) + .add(Line.create().append("---[以下主要用于UI触发]---")) + .add(Line.create().append("列出所有领地").append(Button.create("/dominion list [页码]", "/dominion list"))) .add(Line.create().append("查看领地信息").append(Button.create("/dominion info [领地名称]", "/dominion info"))) .add(Line.create().append("查看领地权限信息").append(Button.create("/dominion flag_info <领地名称> [页码]", "/dominion flag_info"))) .add(Line.create().append("设置领地权限").append("/dominion set <权限名称> [领地名称]")) @@ -102,6 +107,7 @@ public class Apis { .add(Line.create().append("重置玩家特权").append("/dominion clear_privilege <玩家名称> [领地名称]")) .add(Line.create().append("查看领地玩家特权列表").append("/dominion privilege_list [领地名称] [页码]")) .add(Line.create().append("查看玩家特权信息").append("/dominion privilege_info <玩家名称> [领地名称] [页码]")) + .add(Line.create().append("系统配置").append(Button.create("/dominion config [页码]", "/dominion config"))) .showOn(player, page); } diff --git a/src/main/java/cn/lunadeer/dominion/tuis/DominionConfig.java b/src/main/java/cn/lunadeer/dominion/tuis/DominionConfig.java new file mode 100644 index 0000000..3dea164 --- /dev/null +++ b/src/main/java/cn/lunadeer/dominion/tuis/DominionConfig.java @@ -0,0 +1,23 @@ +package cn.lunadeer.dominion.tuis; + +import cn.lunadeer.dominion.utils.STUI.Button; +import cn.lunadeer.dominion.utils.STUI.Line; +import cn.lunadeer.dominion.utils.STUI.ListView; +import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; + +import static cn.lunadeer.dominion.commands.Apis.playerOnly; +import static cn.lunadeer.dominion.tuis.Apis.getPage; + +public class DominionConfig { + public static void show(CommandSender sender, String[] args) { + Player player = playerOnly(sender); + if (player == null) return; + int page = getPage(args); + ListView view = ListView.create(10, "/dominion config"); + view.title("系统配置"); + view.navigator(Line.create().append(Button.create("主菜单", "/dominion menu")).append("系统配置")); + // todo: add config items + view.showOn(player, page); + } +} diff --git a/src/main/java/cn/lunadeer/dominion/tuis/Menu.java b/src/main/java/cn/lunadeer/dominion/tuis/Menu.java index e2243f4..e01c537 100644 --- a/src/main/java/cn/lunadeer/dominion/tuis/Menu.java +++ b/src/main/java/cn/lunadeer/dominion/tuis/Menu.java @@ -25,9 +25,15 @@ public class Menu { .append(Component.text("[使用文档]", ViewStyles.action_color) .clickEvent(ClickEvent.clickEvent(ClickEvent.Action.OPEN_URL, "https://ssl.lunadeer.cn:14448/doc/23/"))) .append("在浏览器中打开使用文档"); - Line reload = Line.create() + Line config = Line.create() + .append(Button.create("系统配置", "/dominion config")) + .append("查看/修改系统配置"); + Line reload_cache = Line.create() .append(Button.create("重载缓存", "/dominion reload_cache")) .append("手动刷新缓存可解决一些玩家操作无效问题,不建议频繁操作"); + Line reload_config = Line.create() + .append(Button.create("重载配置", "/dominion reload_config")) + .append("重载配置文件"); ListView view = ListView.create(10, "/dominion"); view.title("Dominion 领地系统") .navigator(Line.create().append("主菜单")) @@ -35,7 +41,9 @@ public class Menu { .add(help) .add(link); if (player.isOp()) { - view.add(reload); + view.add(config); + view.add(reload_cache); + view.add(reload_config); } view.showOn(player, 1); }