Class PaperApplicationBuilder
The PaperApplicationBuilder provides methods for customizing the behavior of the
application, such as enabling debug mode, configuring dependency remapping, and injecting
dependencies into the application. This builder is specifically designed to work in the context
of a Paper plugin environment, utilizing plugin-specific resources such as the logger, data folder.
The builder ensures that dependencies are properly loaded and optionally remapped, enabling advanced use cases like dependency isolation or custom dependency management for Paper plugins.
This class is immutable and can only be configured through fluent methods. Once configuration
is complete, calling ApplicationBuilder.build() will create and return the configured application
instance.
-
Field Summary
Fields inherited from class io.github.slimjar.app.builder.InjectingApplicationBuilder
injectableFactory, injectableSupplierFields inherited from class io.github.slimjar.app.builder.ApplicationBuilder
self -
Constructor Summary
ConstructorsConstructorDescriptionPaperApplicationBuilder(@NotNull io.papermc.paper.plugin.loader.PluginClasspathBuilder builder) Constructs an instance ofPaperApplicationBuilderwhich extends theInjectingApplicationBuilder. -
Method Summary
Modifier and TypeMethodDescription@NotNull PaperApplicationBuilderlogger(@NotNull org.slf4j.Logger logger) @NotNull PaperApplicationBuilderlogger(@NotNull org.slf4j.Logger logger, boolean debug) remap(boolean remap) Methods inherited from class io.github.slimjar.app.builder.InjectingApplicationBuilder
buildApplication, create, create, create, getInjectableFactory, injectableFactoryMethods inherited from class io.github.slimjar.app.builder.ApplicationBuilder
appending, build, createInjector, dataProviderFactory, dependencyFileUrl, downloadDirectoryPath, downloaderFactory, enquirerFactory, getApplicationName, getDataProviderFactory, getDependencyFileUrl, getDownloadDirectoryPath, getDownloaderFactory, getEnquirerFactory, getInjectorFactory, getLogger, getMirrorSelector, getPreResolutionDataProviderFactory, getPreResolutionFileUrl, getRelocationHelperFactory, getRelocatorFactory, getResolverFactory, getVerifierFactory, injecting, injectorFactory, isolated, logger, mirrorSelector, preResolutionDataProviderFactory, preResolutionFileUrl, relocationHelperFactory, relocatorFactory, resolverFactory, verifierFactory
-
Constructor Details
-
PaperApplicationBuilder
public PaperApplicationBuilder(@NotNull @NotNull io.papermc.paper.plugin.loader.PluginClasspathBuilder builder) Constructs an instance ofPaperApplicationBuilderwhich extends theInjectingApplicationBuilder. This constructor initializes the application context, configures the logger, sets the download directory path, and adds the necessary library injection functionality.- Parameters:
builder- an instance ofPluginClasspathBuilderused to configure the Paper application by providing classpath dependencies and initializing the injectable supplier. The builder provides the context with necessary configurations and access to the logger.
-
-
Method Details
-
remap
-
logger
@Contract(value="_ -> this", mutates="this") @NotNull public @NotNull PaperApplicationBuilder logger(@NotNull @NotNull org.slf4j.Logger logger) -
logger
@Contract(value="_, _ -> this", mutates="this") @NotNull public @NotNull PaperApplicationBuilder logger(@NotNull @NotNull org.slf4j.Logger logger, boolean debug)
-