public void registerCalculator(ContextCalculator<? super S> calculator) {
        String calculatorClass = calculator.getClass().getName();

        Set<Predicate<String>> disabledCalculators = this.plugin.getConfiguration().get(ConfigKeys.DISABLED_CONTEXT_CALCULATORS);
        for (Predicate<String> disabledPattern : disabledCalculators) {
            if (disabledPattern.test(calculatorClass)) {
                this.plugin.getLogger().info("Ignoring registration of disabled context calculator: " + calculatorClass);
                return;
            }
        }

        this.calculators.add(calculator);
    }
Base implementation of {@link ContextManager}.

@param <S> the subject type
@param <P> the player type
common/src/main/java/me/lucko/luckperms/common/context/manager/ContextManager.java