From b929ae73e42c79f84c437e599b85a64fbe011896 Mon Sep 17 00:00:00 2001 From: Apisathan Date: Fri, 10 Sep 2021 22:10:29 +0200 Subject: [PATCH] Made player help command configurable --- .../bukkit/command/QuestsCommandSwitcher.java | 24 ++++++++----------- .../resources/resources/bukkit/config.yml | 16 +++++++++++++ 2 files changed, 26 insertions(+), 14 deletions(-) diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/command/QuestsCommandSwitcher.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/command/QuestsCommandSwitcher.java index 993b686b4..c3a4a95d3 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/command/QuestsCommandSwitcher.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/command/QuestsCommandSwitcher.java @@ -14,6 +14,7 @@ import org.jetbrains.annotations.Nullable; import java.util.List; +import java.util.Set; public class QuestsCommandSwitcher extends CommandSwitcher implements TabExecutor { @@ -76,21 +77,16 @@ public List onTabComplete(@NotNull CommandSender sender, @NotNull Comman @Override public void showHelp(CommandSender sender) { - sender.sendMessage(ChatColor.GRAY.toString() + ChatColor.STRIKETHROUGH + "------------=[" + ChatColor.RED + " Quests v" + plugin - .getDescription().getVersion() + " " + ChatColor.GRAY.toString() + ChatColor.STRIKETHROUGH + "]=------------"); - sender.sendMessage(ChatColor.GRAY + "The following commands are available: "); - sender.sendMessage(ChatColor.DARK_GRAY + " * " + ChatColor.RED + "/quests " + ChatColor.DARK_GRAY + ": show quests"); - sender.sendMessage(ChatColor.DARK_GRAY + " * " + ChatColor.RED + "/quests c/category " + ChatColor.DARK_GRAY + ": open category by ID"); - sender.sendMessage(ChatColor.DARK_GRAY + " * " + ChatColor.RED + "/quests q/quest (start|cancel|track) " + ChatColor.DARK_GRAY + ": start, cancel or track quest by ID"); - sender.sendMessage(ChatColor.DARK_GRAY + " * " + ChatColor.RED + "/quests started " + ChatColor.DARK_GRAY + ": show started quests"); - if (sender.hasPermission(subcommands.get("random").getPermission())) { - sender.sendMessage(ChatColor.DARK_GRAY + " * " + ChatColor.RED + "/quests random " + ChatColor.DARK_GRAY + ": show random quests"); - } - if (sender.hasPermission(subcommands.get("admin").getPermission())) { - sender.sendMessage(ChatColor.DARK_GRAY + " * " + ChatColor.RED + "/quests a/admin " + ChatColor.DARK_GRAY + ": view help for admins"); + Set permissions = plugin.getConfig().getConfigurationSection("command.player-help").getKeys(false); + for (String permission : permissions) { + if(!permission.contains("default") && !sender.hasPermission(subcommands.get(permission).getPermission())) continue; + for(String message : plugin.getConfig().getStringList("command.player-help."+permission)) { + if(message.contains("%version%")) { + message = message.replace("%version%", plugin.getDescription().getVersion()); + } + sender.sendMessage(ChatColor.translateAlternateColorCodes('&', message)); + } } - sender.sendMessage(ChatColor.GRAY.toString() + ChatColor.STRIKETHROUGH + "--------=[" + ChatColor.RED + " made with <3 by LMBishop " + ChatColor - .GRAY.toString() + ChatColor.STRIKETHROUGH + "]=--------"); } @Override diff --git a/bukkit/src/main/resources/resources/bukkit/config.yml b/bukkit/src/main/resources/resources/bukkit/config.yml index bd1b281a8..237fbc65a 100644 --- a/bukkit/src/main/resources/resources/bukkit/config.yml +++ b/bukkit/src/main/resources/resources/bukkit/config.yml @@ -25,6 +25,22 @@ # Trying to add new categories? This has been moved to categories.yml +#Default section doesn't require any permission +command: + player-help: + default-start: + - "&7&m------------=[&c Quests v%version% &7&m]=------------" + - "&7The following commands are available: " + - "&8 * &c/quests &8: show quests" + - "&8 * &c/quests c/category &8: open category by ID" + - "&8 * &c/quests q/quest (start|cancel|track) &8: start, cancel or track quest by ID" + - "&8 * &c/quests started &8: show started quests" + random: + - "&8 * &c/quests random &8: show random quests" + admin: + - "&8 * &c/quests a/admin &8: view help for admins" + default-end: + - "&7&m--------=[&c made with <3 by LMBishop &7&m]=--------" # The items listed below are placeholder items for quests which the player cannot start. # You should change these for 1.8 gui: