IRecipeManager<T : Recipe>

Link to irecipemanagert--recipe

Default interface for Registry based handlers as they can all remove recipes by ResourceLocation.

It might be required for you to import the package if you encounter any issues (like casting an Array), so better be safe than sorry and add the import at the very top of the file.

ZenScript
Copy
import crafttweaker.api.recipe.IRecipeManager;

已实现的接口

Link to 已实现的接口

IRecipeManager implements the following interfaces. That means all methods defined in these interfaces are also available in IRecipeManager

Name: addJsonRecipe

基于提供的IData添加配方 The provided IData should represent a DataPack json, this effectively allows you to register recipes for any DataPack supporting RecipeType systems.

ZenScript
Copy
// IRecipeManager.addJsonRecipe(name as string, mapData as MapData)

craftingTable.addJsonRecipe("recipe_name", {
 ingredient: <item:minecraft:gold_ore>,
 result: <item:minecraft:cooked_porkchop>.registryName,
 experience: 0.35 as float,
 cookingtime:100
 });
参数类型描述
参数
name(名称)
类型
string
描述
name of the recipe
参数
mapData
类型
MapData #地图数据
描述
data representing the json file

Name: getAllRecipes

Return Type: stdlib.List<T>

ZenScript
Copy
// IRecipeManager.getAllRecipes() as stdlib.List<T>

craftingTable.getAllRecipes();

Name: getRecipeByName

Return Type: @org.openzen.zencode.java.ZenCodeType.Nullable T

ZenScript
Copy
IRecipeManager.getRecipeByName(name as string) as @org.openzen.zencode.java.ZenCodeType.Nullable T
参数类型
参数
name(名称)
类型
string

Name: getRecipeMap

Returns a map of all known recipes.

Returns: A Map of recipe name to recipe of all known recipes.
Return Type: T[ResourceLocation]

ZenScript
Copy
// IRecipeManager.getRecipeMap() as T[ResourceLocation]

craftingTable.getRecipeMap();

Link to getRecipesByOutput

Name: getRecipesByOutput

Return Type: stdlib.List<T>

ZenScript
Copy
IRecipeManager.getRecipesByOutput(output as IIngredient) as stdlib.List<T>
参数类型
参数
output(输出)
类型
材料(IIngredient)

Name: remove

Remove a recipe based on it's output.

ZenScript
Copy
// IRecipeManager.remove(output as IIngredient)

craftingTable.remove(<tag:items:minecraft:wool>);
参数类型描述
参数
output(输出)
类型
材料(IIngredient)
描述
output of the recipe

Name: removeAll

Remove all recipes in this registry

ZenScript
Copy
// IRecipeManager.removeAll()

craftingTable.removeAll();

Name: removeByInput

Removes all recipes where the input contains the given IItemStack.

ZenScript
Copy
// IRecipeManager.removeByInput(input as IItemStack)

craftingTable.removeByInput(<item:minecraft:iron_ingot>);
参数类型描述
参数
input(输入)
类型
IItemstack
描述
The input IItemStack.

Name: removeByModid

Remove recipe based on Registry name modid

ZenScript
Copy
IRecipeManager.removeByModid(modid as string, exclude as Predicate<string>)
参数类型描述可选默认值
参数
modid
类型
string
描述
modid of the recipes to remove
可选
false
默认值
参数
不包含
类型
Predicate<string>
描述
可选
true
默认值
(name as string) as bool => false

Name: removeByName

Remove recipes based on Registry names

ZenScript
Copy
IRecipeManager.removeByName(names as string[])
参数类型描述
参数
names
类型
string[]
描述
registry names of recipes to remove

Name: removeByRegex

Remove recipe based on regex with an added exclusion check, so you can remove the whole mod besides a few specified.

ZenScript
Copy
// IRecipeManager.removeByRegex(regex as string, exclude as Predicate<string>)

craftingTable.removeByRegex("\\d_\\d", (name as string) => {return name == "orange_wool";});
参数类型描述可选默认值
参数
regex
类型
string
描述
regex to match against
可选
false
默认值
参数
不包含
类型
Predicate<string>
描述
可选
true
默认值
(name as string) as bool => false
名称类型可获得可设置描述
名称
allRecipes
类型
stdlib.List<T>
可获得
true
可设置
false
描述
名称
recipeMap
类型
T[ResourceLocation]
可获得
true
可设置
false
描述
Returns a map of all known recipes.