Blueprint Crafting (Immersive Engineering)
Description
Converts any number of input itemstacks into an output itemstack, using a blueprint with the category nbt tag as a catalyst.
Identifier
Refer to this via any of the following:
mods.ie.blueprint_crafting
mods.ie.blueprintcrafting
mods.ie.blueprintCrafting
mods.ie.BlueprintCrafting
mods.ie.blueprint
mods.ie.Blueprint
mods.immersiveengineering.blueprint_crafting/* Used as page default */
mods.immersiveengineering.blueprintcrafting
mods.immersiveengineering.blueprintCrafting
mods.immersiveengineering.BlueprintCrafting
mods.immersiveengineering.blueprint
mods.immersiveengineering.Blueprint
Adding Recipes
Adds recipes in the format
output
,input
,fluidInput
:groovymods.immersiveengineering.blueprint_crafting.add(String, ItemStack, List<IIngredient>)
Recipe Builder
Just like other recipe types, the Blueprint Crafting also uses a recipe builder.
Don't know what a builder is? Check the builder info page out.
mods.immersiveengineering.blueprint_crafting.recipeBuilder()
IngredientList<IIngredient>
. Sets the item inputs of the recipe. Requires greater than or equal to 1.groovyinput(IIngredient) input(IIngredient...) input(Collection<IIngredient>)
ItemStackList
. Sets the item outputs of the recipe. Requires exactly 1.groovyoutput(ItemStack) output(ItemStack...) output(Collection<ItemStack>)
String
. Sets the required blueprint. Default blueprint options arecomponents
,molds
,bullet
,specialBullet
, andelectrode
.groovycategory(String)
First validates the builder, returning
null
and outputting errors to the log file if the validation failed, then registers the builder and returns the registered object. (returnsnull
orblusunrize.immersiveengineering.api.crafting.BlueprintCraftingRecipe
).groovyregister()
Example
mods.immersiveengineering.blueprint_crafting.recipeBuilder()
.input(item('minecraft:diamond'), ore('ingotGold'))
.output(item('minecraft:clay'))
.category('groovy')
.register()
Removing Recipes
Default blueprint categories are
components
,molds
,bullet
,specialBullet
, andelectrode
:groovymods.immersiveengineering.blueprint_crafting.removeByCategory(String)
Removes all recipes that match the given input:
groovymods.immersiveengineering.blueprint_crafting.removeByInput(String, ItemStack...)
Removes all recipes that match the given output:
groovymods.immersiveengineering.blueprint_crafting.removeByOutput(String, ItemStack)
Removes all registered recipes:
groovymods.immersiveengineering.blueprint_crafting.removeAll()
Example
mods.immersiveengineering.blueprint_crafting.removeByCategory('electrode')
mods.immersiveengineering.blueprint_crafting.removeByInput('components', item('immersiveengineering:metal:38'), item('immersiveengineering:metal:38'), item('immersiveengineering:metal'))
mods.immersiveengineering.blueprint_crafting.removeByOutput('components', item('immersiveengineering:material:8'))
mods.immersiveengineering.blueprint_crafting.removeAll()
Getting the value of recipes
Iterates through every entry in the registry, with the ability to call remove on any element to remove it:
groovymods.immersiveengineering.blueprint_crafting.streamRecipes()
Default blueprint categories are
components
,molds
,bullet
,specialBullet
, andelectrode
:groovymods.immersiveengineering.blueprint_crafting.streamRecipesByCategory(String)