public void hook() {
        try {
            if (this.permission == null) {
                this.permission = new LuckPermsVaultPermission(this.plugin);
            }

            if (this.chat == null) {
                this.chat = new LuckPermsVaultChat(this.plugin, this.permission);
            }

            ServicesManager servicesManager = this.plugin.getBootstrap().getServer().getServicesManager();
            servicesManager.register(Permission.class, this.permission, this.plugin.getLoader(), ServicePriority.High);
            servicesManager.register(Chat.class, this.chat, this.plugin.getLoader(), ServicePriority.High);

        } catch (Exception e) {
            this.plugin.getLogger().severe("Error occurred whilst hooking into Vault.", e);
        }
    }
Registers the LuckPerms implementation of {@link Permission} and {@link Chat} with
the service manager.
bukkit/src/main/java/me/lucko/luckperms/bukkit/vault/VaultHookManager.java