From e74b5b7c8e4309809e5cede0c078090f01d6ea1c Mon Sep 17 00:00:00 2001 From: David Berdik Date: Mon, 30 Dec 2019 14:32:34 -0500 Subject: [PATCH] When a player uses the help command, help will only be listed for commands that they have permission to use --- .../herobrine/commands/CmdExecutor.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/net/theprogrammersworld/herobrine/commands/CmdExecutor.java b/src/net/theprogrammersworld/herobrine/commands/CmdExecutor.java index 71b211e..974f583 100644 --- a/src/net/theprogrammersworld/herobrine/commands/CmdExecutor.java +++ b/src/net/theprogrammersworld/herobrine/commands/CmdExecutor.java @@ -49,6 +49,7 @@ public class CmdExecutor implements CommandExecutor { ArrayList helpMessage = new ArrayList(); HashMap helpMessageDesc = new HashMap<>(); + HashMap permissionNode = new HashMap<>(); helpMessage.add(ChatColor.GREEN + "/herobrine help"); helpMessageDesc.put(helpMessage.get(0), ChatColor.GREEN + "Shows this list of Herobrine commands"); @@ -56,6 +57,7 @@ public class CmdExecutor implements CommandExecutor { for (String v : helpCommandOrder) { helpMessage.add(((SubCommand) subCommands.get(v)).help()); helpMessageDesc.put(((SubCommand) subCommands.get(v)).help(), ((SubCommand) subCommands.get(v)).helpDesc()); + permissionNode.put(((SubCommand) subCommands.get(v)).help(), v); } if (player == null) { @@ -66,9 +68,11 @@ public class CmdExecutor implements CommandExecutor { else { player.sendMessage(ChatColor.RED + "[Herobrine] Command List (hover over commands for more info)"); for (String v : helpMessage) { - IChatBaseComponent help = ChatSerializer.a("{\"text\":\"\",\"extra\":[{\"text\":\"" + v + - "\",\"hoverEvent\":{\"action\":\"show_text\",\"value\":\"" + helpMessageDesc.get(v) + "\"}}]}"); - ((CraftPlayer) player).getHandle().playerConnection.sendPacket(new PacketPlayOutChat(help)); + if(player.hasPermission("herobrine." + permissionNode.get(v))) { + IChatBaseComponent help = ChatSerializer.a("{\"text\":\"\",\"extra\":[{\"text\":\"" + v + + "\",\"hoverEvent\":{\"action\":\"show_text\",\"value\":\"" + helpMessageDesc.get(v) + "\"}}]}"); + ((CraftPlayer) player).getHandle().playerConnection.sendPacket(new PacketPlayOutChat(help)); + } } }