34 lines
1.2 KiB
C#
34 lines
1.2 KiB
C#
using java.lang;
|
|
using java.util;
|
|
using LuckPerms.Torch.Extensions;
|
|
using me.lucko.luckperms.common.cacheddata;
|
|
using me.lucko.luckperms.common.calculator;
|
|
using me.lucko.luckperms.common.calculator.processor;
|
|
using me.lucko.luckperms.common.config;
|
|
using net.luckperms.api.query;
|
|
|
|
namespace LuckPerms.Torch.Impl.Calculator;
|
|
|
|
public class LpCalculatorFactory(LpTorchPlugin plugin) : CalculatorFactory
|
|
{
|
|
public PermissionCalculator build(QueryOptions qo, CacheMetadata cm)
|
|
{
|
|
List processors = new ArrayList(5);
|
|
|
|
processors.add(new DirectProcessor());
|
|
|
|
if (plugin.getConfiguration().GetBoolean(ConfigKeys.APPLYING_REGEX))
|
|
processors.add(new RegexProcessor());
|
|
|
|
if (plugin.getConfiguration().GetBoolean(ConfigKeys.APPLYING_WILDCARDS))
|
|
processors.add(new WildcardProcessor());
|
|
|
|
if (plugin.getConfiguration().GetBoolean(ConfigKeys.APPLYING_WILDCARDS_SPONGE))
|
|
processors.add(new SpongeWildcardProcessor());
|
|
|
|
if (((Boolean)qo.option(LpContextManager.ConsoleOption).orElse(Boolean.FALSE)).booleanValue())
|
|
processors.add(ConsoleProcessor.Instance); // TODO add config option to disable bypassing checks for console
|
|
|
|
return new(plugin, cm, processors);
|
|
}
|
|
} |