private void registerCommand(Command commandInfo, String label, Method method, Object obj) {
        commandMap.put(label.toLowerCase(), new SimpleEntry<>(method, obj));
        String commandName = label.split("\\.")[0].toLowerCase();

        org.bukkit.command.Command command = bukkitCommandMap.getCommand(commandName);
        if (command == null) {
            command = new BukkitCommand(commandName, plugin);
            bukkitCommandMap.register(plugin.getName(), command);
        }
        if (!commandInfo.description().isEmpty() && commandName.equals(label)) {
            command.setDescription(commandInfo.description());
        }
        if (!commandInfo.usage().isEmpty() && commandName.equals(label)) {
            command.setUsage(commandInfo.usage());
        }
    }