private void injectCommandBlock() throws Exception {
        // get the ServerCommandSender class
        Class<?> serverCommandSenderClass = CraftBukkitImplementation.obcClass("command.ServerCommandSender");

        // get the blockPermInst field
        Field permField = serverCommandSenderClass.getDeclaredField("blockPermInst");
        permField.setAccessible(true);

        // get the PermissibleBase instance
        PermissibleBase permBase = (PermissibleBase) permField.get(null);

        // if no commandblock senders have been made yet, this field will be null
        // we can just initialise one anyway
        if (permBase == null) {
            permBase = new PermissibleBase(new CommandBlockServerOperator());
        }

        // create a new instance which delegates to the previous PermissibleBase
        PermissibleBase newPermBase = transform(permBase, "internal/commandblock");
        if (newPermBase == null) {
            return;
        }

        // inject the new instance
        permField.set(null, newPermBase);
    }
Injects {@link MonitoredPermissibleBase}s into non-player permissibles on
the server so their checks can be monitored by the verbose facility.
bukkit/src/main/java/me/lucko/luckperms/bukkit/inject/permissible/PermissibleMonitoringInjector.java