ICookingRecipeManager<T : AbstractCookingRecipe>

Link to icookingrecipemanagert--abstractcookingrecipe

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.ICookingRecipeManager;

已实现的接口

Link to 已实现的接口

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

Name: addJsonRecipe

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

Return Type: void

ZenScript
Copy
ICookingRecipeManager.addJsonRecipe(name as string, mapData as MapData) as void
参数类型描述
参数
name(名称)
类型
string
描述
name of the recipe
参数
mapData
类型
MapData #地图数据
描述
data representing the json file

Name: addRecipe

添加基于给定参数的合成表

Note: A cookTime of 0 will cause the recipe to never complete, it will burn and use fuel, but no progress will be made on the recipe, it needs to be at-least 1 or more.

Saying that, if you would like to make a recipe that will never complete (for example being able to give the player an infinitely burning furnace for whatever reason), you can still use a cookTime of 0.

Return Type: void

ZenScript
Copy
// ICookingRecipeManager.addRecipe(name as string, output as IItemStack, input as IIngredient, xp as float, cookTime as int) as void

furnace.addRecipe("wool2diamond", <item:minecraft:diamond>, <tag:items:minecraft:wool>, 1.0, 30);
参数类型描述
参数
name(名称)
类型
string
描述
新的合成表名称
参数
output(输出)
类型
IItemStack
描述
合成表的输出物品id
参数
input(输入)
类型
材料(IIngredient)
描述
合成表的输入成分
参数
xp (经验值)
类型
浮点数
描述
玩家获得多少经验
参数
cookTime #烧制时间
类型
int
描述
烧制需要多长时间

Name: getAllRecipes

Return Type: stdlib.List<T>

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

furnace.getAllRecipes();

Name: getRecipeByName

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

ZenScript
Copy
ICookingRecipeManager.getRecipeByName(name as string) as @org.openzen.zencode.java.ZenCodeType.Nullable T
参数类型描述
参数
name(名称)
类型
string
描述
No Description Provided

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
// ICookingRecipeManager.getRecipeMap() as T[ResourceLocation]

furnace.getRecipeMap();

Link to getRecipesByOutput

Name: getRecipesByOutput

Return Type: stdlib.List<T>

ZenScript
Copy
ICookingRecipeManager.getRecipesByOutput(output as IIngredient) as stdlib.List<T>
参数类型描述
参数
output(输出)
类型
材料(IIngredient)
描述
No Description Provided

Name: remove

Remove a recipe based on it's output.

Return Type: void

ZenScript
Copy
// ICookingRecipeManager.remove(output as IIngredient) as void

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

Name: removeAll

Remove all recipes in this registry

Return Type: void

ZenScript
Copy
// ICookingRecipeManager.removeAll() as void

furnace.removeAll();

Name: removeByInput

Removes all recipes where the input contains the given IItemStack.

Return Type: void

ZenScript
Copy
// ICookingRecipeManager.removeByInput(input as IItemStack) as void

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

Name: removeByModid

Remove recipe based on Registry name modid

Return Type: void

ZenScript
Copy
ICookingRecipeManager.removeByModid(modid as string, exclude as Predicate<string>) as void
参数类型描述可选DefaultValue
参数
modid
类型
string
描述
modid of the recipes to remove
可选
false
DefaultValue
参数
不包含
类型
Predicate<string>
描述
No Description Provided
可选
true
DefaultValue
(name) => false

Name: removeByName

Remove recipe based on Registry name

Return Type: void

ZenScript
Copy
// ICookingRecipeManager.removeByName(name as string) as void

furnace.removeByName("minecraft:furnace");
参数类型描述
参数
name(名称)
类型
string
描述
registry name of recipe 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.

Return Type: void

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

furnace.removeByRegex("\\d_\\d", (name as string) => {return name == "orange_wool";});
参数类型描述可选DefaultValue
参数
regex
类型
string
描述
regex to match against
可选
false
DefaultValue
参数
不包含
类型
Predicate<string>
描述
No Description Provided
可选
true
DefaultValue
(name) => false

Name: removeRecipe

移除基于输出和输入的合成表

Return Type: void

ZenScript
Copy
// ICookingRecipeManager.removeRecipe(output as IItemStack, input as IIngredient) as void

furnace.removeRecipe(<item:minecraft:diamond>, <tag:items:minecraft:wool>);
参数类型描述
参数
output(输出)
类型
IItemStack
描述
合成表的输出物品id.
参数
input(输入)
类型
材料(IIngredient)
描述
要移除的配方的成分。
名称类型可获得可设置描述
名称
allRecipes
类型
stdlib.List<T>
可获得
true
可设置
false
描述
No Description Provided
名称
recipeMap
类型
T[ResourceLocation]
可获得
true
可设置
false
描述
Returns a map of all known recipes.