Exposes the RecipeMap as a getter via RecipeManager#recipeMap. This done over an AT as the field is mutable and should not be modified.
RecipeMap contains methods to get the recipes of a given type (byKey) and to return a stream of all recipes that match (getRecipesFor). Depending on the recipe consumer, they may reasonably want to return all recipes that could potentially match the input, or simply all recipes for that given type. The most RecipeManager can do at the moment on its own is return all holders, regardless of type.
PR Publishing
### The artifacts published by this PR:
- :package: [`net.neoforged:testframework:21.3.5-beta-pr-1620-feat-at-recipemap`](https://github.com/neoforged/NeoForge/packages/2292177)
- :package: [`net.neoforged:neoforge:21.3.5-beta-pr-1620-feat-at-recipemap`](https://github.com/neoforged/NeoForge/packages/2292176)
### 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 #1620' // https://github.com/neoforged/NeoForge/pull/1620
url 'https://prmaven.neoforged.net/NeoForge/pr1620'
content {
includeModule('net.neoforged', 'testframework')
includeModule('net.neoforged', 'neoforge')
}
}
}
```
### 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-pr1620`.
On Powershell you will need to remove the `-L` flag from the `curl` invocation.
```sh
mkdir NeoForge-pr1620
cd NeoForge-pr1620
curl -L https://prmaven.neoforged.net/NeoForge/pr1620/net/neoforged/neoforge/21.3.5-beta-pr-1620-feat-at-recipemap/mdk-pr1620.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/pr1620/net.neoforged/neoforge/21.3.5-beta-pr-1620-feat-at-recipemap/neoforge-21.3.5-beta-pr-1620-feat-at-recipemap-installer.jar).
Exposes the
RecipeMap
as a getter viaRecipeManager#recipeMap
. This done over an AT as the field is mutable and should not be modified.RecipeMap
contains methods to get the recipes of a given type (byKey
) and to return a stream of all recipes that match (getRecipesFor
). Depending on the recipe consumer, they may reasonably want to return all recipes that could potentially match the input, or simply all recipes for that given type. The mostRecipeManager
can do at the moment on its own is return all holders, regardless of type.