neoforged / NeoForge

Neo Modding API for Minecraft, based on Forge
https://neoforged.net
Other
1.25k stars 179 forks source link

[1.21.3] Add method to allow building custom DataGenerator.PackGenerator instances #1624

Open ApexModder opened 1 month ago

ApexModder commented 1 month ago

This pr adds a simple utility method to DataGenerator getPackGenerator 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).

neoforged-pr-publishing[bot] commented 1 month ago

Last commit published: b94e484d87a8f6bf76a79ec33a7678bf3bac0e08.

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).