FurnaceRecipeManager
Link to furnacerecipemanager
导入类
Link to 导入类
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 Copyimport crafttweaker.api.recipe.FurnaceRecipeManager;
已实现的接口
Link to 已实现的接口
FurnaceRecipeManager implements the following interfaces. That means all methods defined in these interfaces are also available in FurnaceRecipeManager
Enum Constants
Link to enum-constants
FurnaceRecipeManager is an enum. It has 1 enum constants. They are accessible using the code below.
ZenScript CopyFurnaceRecipeManager.INSTANCE
使用方式
Link to 使用方式
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// FurnaceRecipeManager.addJsonRecipe(name as string, mapData as MapData)
furnace.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: 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
.
ZenScript Copy// FurnaceRecipeManager.addRecipe(name as string, output as IItemStack, input as IIngredient, xp as float, cookTime as int)
furnace.addRecipe("wool2diamond", <item:minecraft:diamond>, <tag:items:minecraft:wool>, 1.0, 30);
参数 | 类型 | 描述 |
---|---|---|
参数 name(名称) | 类型 string | 描述 新的合成表名称 |
参数 output(输出) | 类型 IItemstack | 描述 合成表的输出物品id |
参数 input(输入) | 类型 材料(IIngredient) | 描述 合成表的输入成分 |
参数 xp (经验值) | 类型 float | 描述 玩家获得多少经验 |
参数 cookTime #烧制时间 | 类型 int | 描述 烧制需要多长时间 |
Name: getAllRecipes
Return Type: stdlib.List<T>
ZenScript Copy// FurnaceRecipeManager.getAllRecipes() as stdlib.List<T>
furnace.getAllRecipes();
Name: getRecipeByName
Return Type: @org.openzen.zencode.java.ZenCodeType.Nullable T
ZenScript CopyFurnaceRecipeManager.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// FurnaceRecipeManager.getRecipeMap() as T[ResourceLocation]
furnace.getRecipeMap();
Name: getRecipesByOutput
Return Type: stdlib.List<T>
ZenScript CopyFurnaceRecipeManager.getRecipesByOutput(output as IIngredient) as stdlib.List<T>
参数 | 类型 |
---|---|
参数 output(输出) | 类型 材料(IIngredient) |
Name: remove
Remove a recipe based on it's output.
ZenScript Copy// FurnaceRecipeManager.remove(output as IIngredient)
furnace.remove(<tag:items:minecraft:wool>);
参数 | 类型 | 描述 |
---|---|---|
参数 output(输出) | 类型 材料(IIngredient) | 描述 output of the recipe |
Name: removeAll
Remove all recipes in this registry
ZenScript Copy// FurnaceRecipeManager.removeAll()
furnace.removeAll();
Name: removeByInput
Removes all recipes where the input contains the given IItemStack.
ZenScript Copy// FurnaceRecipeManager.removeByInput(input as IItemStack)
furnace.removeByInput(<item:minecraft:iron_ingot>);
参数 | 类型 | 描述 |
---|---|---|
参数 input(输入) | 类型 IItemstack | 描述 The input IItemStack. |
Name: removeByModid
Remove recipe based on Registry name modid
ZenScript CopyFurnaceRecipeManager.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 CopyFurnaceRecipeManager.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// FurnaceRecipeManager.removeByRegex(regex as string, exclude as Predicate<string>)
furnace.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 |
Name: removeRecipe
移除基于输出和输入的合成表
ZenScript Copy// FurnaceRecipeManager.removeRecipe(output as IItemStack, input as IIngredient)
furnace.removeRecipe(<item:minecraft:diamond>, <tag:items:minecraft:wool>);
参数 | 类型 | 描述 |
---|---|---|
参数 output(输出) | 类型 IItemstack | 描述 合成表的输出物品id. |
参数 input(输入) | 类型 材料(IIngredient) | 描述 要移除的配方的成分。 |
名称 | 类型 | 可获得 | 可设置 | 描述 |
---|---|---|---|---|
名称 allRecipes | 类型 stdlib.List<T> | 可获得 true | 可设置 false | 描述 |
名称 recipeMap | 类型 T[ResourceLocation] | 可获得 true | 可设置 false | 描述 Returns a map of all known recipes. |