This pr adds a simple utility method to DataGeneratorgetPackGenerator which allows constructing custom PackGenerator instances.
Currently the only way to generate a builtin pack is by using getBuiltinDatapack which generates to ./data/<namespace>/datapacks/<path>.
This change allows modders to override this and output their builtin packs to any location they choose, relative to the root pack directory.
Example use case would be generating a builtin resource pack or feature pack (which contains both client and server resources).
PR Publishing
### The artifacts published by this PR:
- :package: [`net.neoforged:neoforge:21.3.3-beta-pr-1624-pr-pack-generator-ctor`](https://github.com/neoforged/NeoForge/packages/2292500)
- :package: [`net.neoforged:testframework:21.3.3-beta-pr-1624-pr-pack-generator-ctor`](https://github.com/neoforged/NeoForge/packages/2292502)
### Repository Declaration
In order to use the artifacts published by the PR, add the following repository to your buildscript:
```gradle
repositories {
maven {
name 'Maven for PR #1624' // https://github.com/neoforged/NeoForge/pull/1624
url 'https://prmaven.neoforged.net/NeoForge/pr1624'
content {
includeModule('net.neoforged', 'neoforge')
includeModule('net.neoforged', 'testframework')
}
}
}
```
### MDK installation
In order to setup a MDK using the latest PR version, run the following commands in a terminal.
The script works on both *nix and Windows as long as you have the JDK `bin` folder on the path.
The script will clone the MDK in a folder named `NeoForge-pr1624`.
On Powershell you will need to remove the `-L` flag from the `curl` invocation.
```sh
mkdir NeoForge-pr1624
cd NeoForge-pr1624
curl -L https://prmaven.neoforged.net/NeoForge/pr1624/net/neoforged/neoforge/21.3.3-beta-pr-1624-pr-pack-generator-ctor/mdk-pr1624.zip -o mdk.zip
jar xf mdk.zip
rm mdk.zip || del mdk.zip
```
To test a production environment, you can download the installer from [here](https://prmaven.neoforged.net/NeoForge/pr1624/net.neoforged/neoforge/21.3.3-beta-pr-1624-pr-pack-generator-ctor/neoforge-21.3.3-beta-pr-1624-pr-pack-generator-ctor-installer.jar).
This pr adds a simple utility method to
DataGenerator
getPackGenerator
which allows constructing customPackGenerator
instances.Currently the only way to generate a builtin pack is by using
getBuiltinDatapack
which generates to./data/<namespace>/datapacks/<path>
. This change allows modders to override this and output their builtin packs to any location they choose, relative to the root pack directory.Example use case would be generating a builtin resource pack or feature pack (which contains both client and server resources).