Record Class ModuleConfiguration

java.lang.Object
java.lang.Record
eu.cloudnetservice.driver.module.ModuleConfiguration
Record Components:
runtimeModule - whether this module is a runtime module. Runtime modules are not reloadable and any updates require a cloudnet restart.
storesSensitiveData - whether this module stores sensitive data. If true the module configuration will not be dumped to the paste command output.
group - the group id of this module.
name - the name of this module.
version - the version of this module.
main - the main entry-point of this module.
description - the description of this module.
author - the developer and author of this module.
website - the website associated with this module.
dataFolder - the data folder of the module - null results in the default folder structure.
repositories - all defined repositories of this module or null if no repositories are defined.
dependencies - all defined dependencies of this module or null if no dependencies are defined.
minJavaVersionId - the minimum required java version for this module to work.
properties - any extra properties for this module.
All Implemented Interfaces:
Named

public record ModuleConfiguration(boolean runtimeModule, boolean storesSensitiveData, @NonNull String group, @NonNull String name, @NonNull String version, @NonNull String main, @Nullable String description, @Nullable String author, @Nullable String website, @Nullable String dataFolder, @Nullable ModuleRepository[] repositories, @Nullable ModuleDependency[] dependencies, int minJavaVersionId, @Nullable Document properties) extends Record implements Named
Represents the module.json file that each module.jar has to contain. The configuration requires the following properties:
  • group
  • name
  • version
  • main

All required dependencies of a module should be listed in the dependencies() instead of shading them into the module jar.

If a dependency is not located in maven central the repo of the module dependency needs to be specified.

Since:
4.0
See Also: