Interface SlimeLauncherOptions
- All Superinterfaces:
org.gradle.api.Named
The configuration options for Slime Launcher tasks.
The launch tasks generated by the Minecraft extension are specialized
JavaExec tasks that are designed to work with Slime Launcher, Minecraft Forge's
dedicated launcher for the development environment. While the implementing task class remains internal (can still be
configured as type JavaExec), these options exist to allow consumers to alter or add pre-defined attributes to the
run configurations as needed.
For example, changing the main class of the launch task as a
JavaExec task will cause it to not use Slime Launcher and skip its configurations for it. If a consumer wishes to
use Slime Launcher but change the main class it delegates to after initial setup, that can be done using
Property.set(T) on getMainClass().
- API Note:
- This class is public-facing as a class instead of an interface to satisfy the requirement that Gradle's
NamedDomainObjectContainermust house a class that implements theNamedinterface. Like the other public-facing interface APIs in ForgeGradle, this class remains sealed and is implemented by a package-private class that cannot be directly accessed.
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.gradle.api.Named
org.gradle.api.Named.Namer -
Method Summary
Modifier and TypeMethodDescriptiondefault voidAdds to the arguments to pass to the main class.default voidAdds to the arguments to pass to the main class.default voidAdds to the arguments to pass to the main class.default voidAdds to the arguments to pass to the main class.default voidAdds to the classpath to use.default voidAdds to the classpath to use.default voidclasspath(org.gradle.api.file.FileCollection classpath) Adds to the classpath to use.default voidenvironment(String name, Object value) Adds a single environment variable to use.default voidenvironment(Map<String, ?> properties) Adds to the environment variables to use.default voidenvironment(org.gradle.api.provider.Provider<? extends Map<String, ?>> properties) Adds to the environment variables to use.org.gradle.api.provider.ListProperty<Object> getArgs()The arguments to pass to the main class.org.gradle.api.file.ConfigurableFileCollectionThe classpath to use.The environment variables to use.org.gradle.api.provider.ListProperty<Object> The JVM arguments to use.org.gradle.api.provider.Property<String> The main class for Slime Launcher to use.org.gradle.api.provider.Property<String> The maximum memory heap size to use.org.gradle.api.provider.Property<String> The minimum memory heap size to use.The system properties to use.org.gradle.api.file.DirectoryPropertyThe working directory to use.default voidAdds to the JVM arguments to use.default voidAdds to the JVM arguments to use.default voidAdds to the JVM arguments to use.default voidAdds to the JVM arguments to use.default voidSets the arguments to pass to the main class.default voidsetClasspath(Iterable<?> classpath) Sets the classpath to use.default voidsetClasspath(Object... classpath) Sets the classpath to use.default voidsetClasspath(org.gradle.api.file.FileCollection classpath) Sets the classpath to use.default voidsetJvmArgs(Object... jvmArgs) Sets the JVM arguments to use.default voidsystemProperties(Map<String, ?> properties) Adds to the system properties to use.default voidsystemProperties(org.gradle.api.provider.Provider<? extends Map<String, ?>> properties) Adds to the system properties to use.default voidsystemProperty(String name, Object value) Adds a single system property to use.Methods inherited from interface org.gradle.api.Named
getName
-
Method Details
-
getMainClass
org.gradle.api.provider.Property<String> getMainClass()The main class for Slime Launcher to use.
This is the class that will be invoked by Slime Launcher, not the main class of the
JavaExectask that will be produced from these options.- Returns:
- A property for the main class
-
getArgs
org.gradle.api.provider.ListProperty<Object> getArgs()The arguments to pass to the main class.
This is the arguments that will be passed to the main class through Slime Launcher, not the arguments for Slime Launcher itself.
- Returns:
- A property for the arguments to pass to the main class
-
getJvmArgs
org.gradle.api.provider.ListProperty<Object> getJvmArgs()The JVM arguments to use.
These are applied immediately when Slime Launcher is executed. A reminder that Slime Launcher is not a re-launcher but a dev-environment bootstrapper.
- Returns:
- A property for the JVM arguments
-
getClasspath
org.gradle.api.file.ConfigurableFileCollection getClasspath()The classpath to use.
The classpath in question must include Slime Launcher in it. By default, the minecraft extension adds Slime Launcher as a dependency to the consuming project's runtimeClasspath configuration.
Keep in mind that if the
JavaExectask is configured to have a different main class, the classpath does not need to include Slime Launcher.- Returns:
- The classpath to use
-
getMinHeapSize
org.gradle.api.provider.Property<String> getMinHeapSize()The minimum memory heap size to use.
Working with this property is preferred over manually using the
-Xmsargument in the JVM arguments.- Returns:
- A property for the minimum heap size
-
getMaxHeapSize
org.gradle.api.provider.Property<String> getMaxHeapSize()The maximum memory heap size to use.
Working with this property is preferred over manually using the
-Xmxargument in the JVM arguments.- Returns:
- A property for the maximum heap size
-
getSystemProperties
-
getEnvironment
-
getWorkingDir
org.gradle.api.file.DirectoryProperty getWorkingDir()The working directory to use.
By default, this will be
run/name.To clarify: this is the working directory of the Java process. Slime Launcher uses absolute file locations to place its caches and metadata, which do not interfere with the working directory.
- Returns:
- A property for the working directory
-
args
Adds to the arguments to pass to the main class.- Parameters:
args- The arguments to add- See Also:
- API Note:
- To add multiple arguments, use
args(Object...)
-
args
Adds to the arguments to pass to the main class.- Parameters:
args- The arguments to add- See Also:
- API Note:
- Unlike
setArgs(String...), this method does not replace the existing arguments.
-
args
Adds to the arguments to pass to the main class.- Parameters:
args- The arguments to add- See Also:
- API Note:
- Unlike
HasMultipleValues.set(Iterable), this method does not replace the existing arguments.
-
args
Adds to the arguments to pass to the main class.- Parameters:
args- The arguments to add- See Also:
- API Note:
- Unlike
HasMultipleValues.set(Provider), this method does not replace the existing arguments.
-
setArgs
Sets the arguments to pass to the main class.- Parameters:
args- The arguments- See Also:
-
jvmArgs
Adds to the JVM arguments to use.- Parameters:
jvmArgs- The JVM argument to add- See Also:
- API Note:
- To add multiple arguments, use
jvmArgs(Object...)
-
jvmArgs
Adds to the JVM arguments to use.- Parameters:
jvmArgs- The JVM arguments to add- See Also:
- API Note:
- Unlike
setJvmArgs(Object...), this method does not replace the existing arguments.
-
jvmArgs
Adds to the JVM arguments to use.- Parameters:
jvmArgs- The JVM arguments to add- See Also:
- API Note:
- Unlike
HasMultipleValues.set(Iterable), this method does not replace the existing arguments.
-
jvmArgs
Adds to the JVM arguments to use.- Parameters:
jvmArgs- The JVM arguments to add- See Also:
- API Note:
- Unlike
HasMultipleValues.set(Provider), this method does not replace the existing arguments.
-
setJvmArgs
Sets the JVM arguments to use.- Parameters:
jvmArgs- The arguments- See Also:
-
classpath
Adds to the classpath to use.- Parameters:
classpath- The classpath to include with the existing classpath- See Also:
- API Note:
- Unlike
setClasspath(Object...), this method does not replace the existing classpath.
-
classpath
Adds to the classpath to use.- Parameters:
classpath- The classpath to include with the existing classpath- See Also:
- API Note:
- Unlike
setClasspath(Iterable), this method does not replace the existing classpath.
-
classpath
default void classpath(org.gradle.api.file.FileCollection classpath) Adds to the classpath to use.- Parameters:
classpath- The classpath to include with the existing classpath- See Also:
- API Note:
- Unlike
setClasspath(FileCollection), this method does not replace the existing classpath.
-
setClasspath
Sets the classpath to use.- Parameters:
classpath- The classpath- See Also:
- API Note:
- This method will replace the existing classpath. To add to it, use
classpath(Object...).
-
setClasspath
Sets the classpath to use.- Parameters:
classpath- The classpath- See Also:
- API Note:
- This method will replace the existing classpath. To add to it, use
classpath(Iterable).
-
setClasspath
default void setClasspath(org.gradle.api.file.FileCollection classpath) Sets the classpath to use.- Parameters:
classpath- The classpath- See Also:
- API Note:
- This method will replace the existing classpath. To add to it, use
classpath(FileCollection).
-
systemProperty
Adds a single system property to use.- Parameters:
name- The namevalue- The value- See Also:
- API Note:
- To add multiple system properties at once, use
systemProperties(Provider).
-
systemProperties
Adds to the system properties to use.- Parameters:
properties- The system properties- See Also:
- API Note:
- Unlike
MapProperty.set(Map), this method does not replace the existing system properties. To add a single property, usesystemProperty(String,Object).
-
systemProperties
Adds to the system properties to use.- Parameters:
properties- The system properties- See Also:
- API Note:
- Unlike
MapProperty.set(Provider), this method does not replace the existing system properties. To add a single property, usesystemProperty(String,Object).
-
environment
Adds a single environment variable to use.- Parameters:
name- The namevalue- The value- See Also:
- API Note:
- To add multiple environment variables at once, use
environment(Provider).
-
environment
Adds to the environment variables to use.- Parameters:
properties- The environment variables- See Also:
- API Note:
- Unlike
MapProperty.set(Map), this method does not replace the existing environment variables. To add a single variable, useenvironment(String,Object).
-
environment
Adds to the environment variables to use.- Parameters:
properties- The environment variables- See Also:
- API Note:
- Unlike
MapProperty.set(Provider), this method does not replace the existing environment variables. To add a single variable, useenvironment(String,Object).
-