Class MinecraftPermissionsEx.Builder<C>
- java.lang.Object
-
- ca.stellardrift.permissionsex.minecraft.MinecraftPermissionsEx.Builder<C>
-
- All Implemented Interfaces:
ca.stellardrift.permissionsex.PermissionsEngineBuilder<C>
- Enclosing class:
- MinecraftPermissionsEx<T>
public static final class MinecraftPermissionsEx.Builder<C> extends Object implements ca.stellardrift.permissionsex.PermissionsEngineBuilder<C>
A builder for a Minecraft PermissionsEx engine.- Since:
- 2.0.0
-
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description MinecraftPermissionsEx.Builder<C>asyncExecutor(Executor executor)MinecraftPermissionsEx.Builder<C>baseDirectory(BaseDirectoryScope scope, Path baseDirectory)Set the base directory in a certain game-specific scope.MinecraftPermissionsEx.Builder<C>baseDirectory(Path baseDir)ca.stellardrift.permissionsex.PermissionsEnginebuild()Deprecated.Map.Entry<ca.stellardrift.permissionsex.PermissionsEngine,Supplier<C>>buildWithConfig()Deprecated.MinecraftPermissionsEx.Builder<C>cachedUuidResolver(Function<String,@Nullable UUID> resolver)Provide a profile resolver to get player UUIDs from cache given a name.MinecraftPermissionsEx.Builder<C>commandContributor(Consumer<CommandRegistrationContext> contributor)Register a callback function that will contribute commands to be registered when PEX performs command registration.MinecraftPermissionsEx.Builder<C>commands(Function<Function<cloud.commandframework.CommandTree<Commander>,cloud.commandframework.execution.CommandExecutionCoordinator<Commander>>,cloud.commandframework.CommandManager<Commander>> manager)If commands should be registered, set the command manager to register with.MinecraftPermissionsEx.Builder<C>commands(Function<Function<cloud.commandframework.CommandTree<Commander>,cloud.commandframework.execution.CommandExecutionCoordinator<Commander>>,cloud.commandframework.CommandManager<Commander>> manager, String commandPrefix)If commands should be registered, set the command manager to register with.MinecraftPermissionsEx.Builder<C>configuration(Path configFile)MinecraftPermissionsEx<C>create()Build an engine.MinecraftPermissionsEx.Builder<C>databaseProvider(org.spongepowered.configurate.util.CheckedFunction<String,@Nullable DataSource,SQLException> databaseProvider)MinecraftPermissionsEx.Builder<C>logger(org.slf4j.Logger logger)MinecraftPermissionsEx.Builder<C>messageFormatter(Function<MinecraftPermissionsEx<C>,MessageFormatter> formatterProvider)Set a message formatter to be used for instance-specific formatting.MinecraftPermissionsEx.Builder<C>opProvider(Predicate<UUID> provider)Set a predicate that will check whether a certain player UUID has op status.MinecraftPermissionsEx.Builder<C>playerProvider(Function<UUID,?> playerProvider)Set a function that will look up players by UUID, to provide an associated object for subjects.
-
-
-
Method Detail
-
cachedUuidResolver
public MinecraftPermissionsEx.Builder<C> cachedUuidResolver(Function<String,@Nullable UUID> resolver)
Provide a profile resolver to get player UUIDs from cache given a name.- Parameters:
resolver- the uuid resolver- Returns:
- this builder
- Since:
- 2.0.0
-
opProvider
public MinecraftPermissionsEx.Builder<C> opProvider(Predicate<UUID> provider)
Set a predicate that will check whether a certain player UUID has op status.- Parameters:
provider- the op status provider- Returns:
- this builder
- Since:
- 2.0.0
-
playerProvider
public MinecraftPermissionsEx.Builder<C> playerProvider(Function<UUID,?> playerProvider)
Set a function that will look up players by UUID, to provide an associated object for subjects.- Parameters:
playerProvider- the player provider- Returns:
- this builder
- Since:
- 2.0.0
-
commands
public MinecraftPermissionsEx.Builder<C> commands(Function<Function<cloud.commandframework.CommandTree<Commander>,cloud.commandframework.execution.CommandExecutionCoordinator<Commander>>,cloud.commandframework.CommandManager<Commander>> manager)
If commands should be registered, set the command manager to register with.- Parameters:
manager- the manager- Returns:
- this builder
- Since:
- 2.0.0
-
commands
public MinecraftPermissionsEx.Builder<C> commands(Function<Function<cloud.commandframework.CommandTree<Commander>,cloud.commandframework.execution.CommandExecutionCoordinator<Commander>>,cloud.commandframework.CommandManager<Commander>> manager, String commandPrefix)
If commands should be registered, set the command manager to register with.- Parameters:
manager- the manager- Returns:
- this builder
- Since:
- 2.0.0
-
commandContributor
public MinecraftPermissionsEx.Builder<C> commandContributor(Consumer<CommandRegistrationContext> contributor)
Register a callback function that will contribute commands to be registered when PEX performs command registration.- Parameters:
contributor- the contributor- Returns:
- this builder
- Since:
- 2.0.0
-
messageFormatter
public MinecraftPermissionsEx.Builder<C> messageFormatter(Function<MinecraftPermissionsEx<C>,MessageFormatter> formatterProvider)
Set a message formatter to be used for instance-specific formatting.This can be used to override the colour scheme.
- Parameters:
formatterProvider- a function that creates a message formatter for this provider- Returns:
- this builder
- Since:
- 2.0.0
-
configuration
public MinecraftPermissionsEx.Builder<C> configuration(Path configFile)
- Specified by:
configurationin interfaceca.stellardrift.permissionsex.PermissionsEngineBuilder<C>
-
baseDirectory
public MinecraftPermissionsEx.Builder<C> baseDirectory(Path baseDir)
- Specified by:
baseDirectoryin interfaceca.stellardrift.permissionsex.PermissionsEngineBuilder<C>
-
baseDirectory
public MinecraftPermissionsEx.Builder<C> baseDirectory(BaseDirectoryScope scope, Path baseDirectory)
Set the base directory in a certain game-specific scope.- Parameters:
scope- the scope to set a base directory inbaseDirectory- the base directory- Returns:
- this builder
- Since:
- 2.0.0
-
logger
public MinecraftPermissionsEx.Builder<C> logger(org.slf4j.Logger logger)
- Specified by:
loggerin interfaceca.stellardrift.permissionsex.PermissionsEngineBuilder<C>
-
asyncExecutor
public MinecraftPermissionsEx.Builder<C> asyncExecutor(Executor executor)
- Specified by:
asyncExecutorin interfaceca.stellardrift.permissionsex.PermissionsEngineBuilder<C>
-
databaseProvider
public MinecraftPermissionsEx.Builder<C> databaseProvider(org.spongepowered.configurate.util.CheckedFunction<String,@Nullable DataSource,SQLException> databaseProvider)
- Specified by:
databaseProviderin interfaceca.stellardrift.permissionsex.PermissionsEngineBuilder<C>
-
build
@Deprecated public ca.stellardrift.permissionsex.PermissionsEngine build() throws ca.stellardrift.permissionsex.exception.PermissionsLoadingException
Deprecated.This method should not be called directly.- Specified by:
buildin interfaceca.stellardrift.permissionsex.PermissionsEngineBuilder<C>- Returns:
- a new permissions engine
- Throws:
ca.stellardrift.permissionsex.exception.PermissionsLoadingException
-
buildWithConfig
@Deprecated public Map.Entry<ca.stellardrift.permissionsex.PermissionsEngine,Supplier<C>> buildWithConfig()
Deprecated.This method should not be called directly.- Specified by:
buildWithConfigin interfaceca.stellardrift.permissionsex.PermissionsEngineBuilder<C>- Returns:
- a new permissions engine
-
create
public MinecraftPermissionsEx<C> create() throws ca.stellardrift.permissionsex.exception.PermissionsLoadingException
Build an engine.The implementation interface must have been set.
- Returns:
- a new instance
- Throws:
ca.stellardrift.permissionsex.exception.PermissionsLoadingException- if unable to load initial data- Since:
- 2.0.0
-
-