MCPcopy Index your code
hub / github.com/Maxlego08/zMenu / ZCommandManager

Class ZCommandManager

src/main/java/fr/maxlego08/menu/ZCommandManager.java:31–261  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

29import java.util.*;
30
31public class ZCommandManager extends ZUtils implements CommandManager {
32
33 private final Map<String, List<Command>> commands = new HashMap<>();
34 private final Map<UUID, Map<String, String>> playerArguments = new HashMap<>();
35 private final List<CommandArgumentValidator> commandArgumentValidators = new ArrayList<>();
36 private final ZMenuPlugin plugin;
37
38 public ZCommandManager(ZMenuPlugin plugin) {
39 super();
40 this.plugin = plugin;
41 }
42
43 @Override
44 public void registerCommand(Command command) {
45
46 VCommandManager manager = this.plugin.getVCommandManager();
47 manager.registerCommand(command);
48
49 List<Command> commands = this.commands.getOrDefault(command.plugin().getName(), new ArrayList<>());
50 commands.add(command);
51 this.commands.put(command.plugin().getName(), commands);
52
53 if (Configuration.enableInformationMessage) {
54 Logger.info("Command /" + command.command() + " successfully register.", LogType.SUCCESS);
55 }
56 }
57
58 @Override
59 public Collection<Command> getCommands(Plugin plugin) {
60 List<Command> commands = this.commands.getOrDefault(plugin.getName(), new ArrayList<>());
61 return Collections.unmodifiableCollection(commands);
62 }
63
64 @Override
65 public Collection<Command> getCommands() {
66 List<Command> allCommands = new ArrayList<>();
67 for (List<Command> commandList : this.commands.values()) {
68 allCommands.addAll(commandList);
69 }
70 return allCommands;
71 }
72
73 @Override
74 public void unregisterCommands(Plugin plugin) {
75
76 List<Command> commands = this.commands.getOrDefault(plugin.getName(), new ArrayList<>());
77 for (Command command : commands) {
78
79 this.plugin.getVCommandManager().unregisterCommand(command);
80
81 JavaPlugin javaPlugin = (JavaPlugin) command.plugin();
82 PluginCommand pluginCommand = javaPlugin.getCommand(command.command());
83 if (pluginCommand != null) {
84 this.unRegisterBukkitCommand(javaPlugin, pluginCommand);
85 }
86 }
87
88 this.commands.remove(plugin.getName());

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected