SimpleCookingRecipeBuilder.java
net.minecraft.data.recipes.SimpleCookingRecipeBuilder
信息
- 全限定名:net.minecraft.data.recipes.SimpleCookingRecipeBuilder
- 类型:public class
- 包:net.minecraft.data.recipes
- 源码路径:src/main/java/net/minecraft/data/recipes/SimpleCookingRecipeBuilder.java
- 起始行号:L18
- 实现:RecipeBuilder
- 职责:
TODO
字段/常量
-
craftingCategory- 类型:
RecipeCategory - 修饰符:
private final - 源码定位:
L19 - 说明:
TODO
- 类型:
-
cookingCategory- 类型:
CookingBookCategory - 修饰符:
private final - 源码定位:
L20 - 说明:
TODO
- 类型:
-
result- 类型:
ItemStackTemplate - 修饰符:
private final - 源码定位:
L21 - 说明:
TODO
- 类型:
-
ingredient- 类型:
Ingredient - 修饰符:
private final - 源码定位:
L22 - 说明:
TODO
- 类型:
-
experience- 类型:
float - 修饰符:
private final - 源码定位:
L23 - 说明:
TODO
- 类型:
-
cookingTime- 类型:
int - 修饰符:
private final - 源码定位:
L24 - 说明:
TODO
- 类型:
-
advancementBuilder- 类型:
RecipeUnlockAdvancementBuilder - 修饰符:
private final - 源码定位:
L25 - 说明:
TODO
- 类型:
-
group- 类型:
String - 修饰符:
private - 源码定位:
L26 - 说明:
TODO
- 类型:
-
factory- 类型:
AbstractCookingRecipe.Factory<?> - 修饰符:
private final - 源码定位:
L27 - 说明:
TODO
- 类型:
内部类/嵌套类型
- 无
构造器
private SimpleCookingRecipeBuilder(RecipeCategory craftingCategory, CookingBookCategory cookingCategory, ItemStackTemplate result, Ingredient ingredient, float experience, int cookingTime, AbstractCookingRecipe.Factory<?> factory) @ L29
- 构造器名:SimpleCookingRecipeBuilder
- 源码定位:L29
- 修饰符:private
参数:
- craftingCategory: RecipeCategory
- cookingCategory: CookingBookCategory
- result: ItemStackTemplate
- ingredient: Ingredient
- experience: float
- cookingTime: int
- factory: AbstractCookingRecipe.Factory<?>
说明:
TODO
private SimpleCookingRecipeBuilder(RecipeCategory craftingCategory, CookingBookCategory cookingCategory, ItemLike result, Ingredient ingredient, float experience, int cookingTime, AbstractCookingRecipe.Factory<?> factory) @ L47
- 构造器名:SimpleCookingRecipeBuilder
- 源码定位:L47
- 修饰符:private
参数:
- craftingCategory: RecipeCategory
- cookingCategory: CookingBookCategory
- result: ItemLike
- ingredient: Ingredient
- experience: float
- cookingTime: int
- factory: AbstractCookingRecipe.Factory<?>
说明:
TODO
方法
下面的方法块按源码顺序生成。
public static <T extends AbstractCookingRecipe> SimpleCookingRecipeBuilder generic(Ingredient ingredient, RecipeCategory craftingCategory, CookingBookCategory cookingCategory, ItemLike result, float experience, int cookingTime, AbstractCookingRecipe.Factory<T> factory) @ L59
- 方法名:generic
- 源码定位:L59
- 返回类型:
SimpleCookingRecipeBuilder - 修饰符:public static
参数:
- ingredient: Ingredient
- craftingCategory: RecipeCategory
- cookingCategory: CookingBookCategory
- result: ItemLike
- experience: float
- cookingTime: int
- factory: AbstractCookingRecipe.Factory
说明:
TODO
public static SimpleCookingRecipeBuilder campfireCooking(Ingredient ingredient, RecipeCategory craftingCategory, ItemLike result, float experience, int cookingTime) @ L71
- 方法名:campfireCooking
- 源码定位:L71
- 返回类型:SimpleCookingRecipeBuilder
- 修饰符:public static
参数:
- ingredient: Ingredient
- craftingCategory: RecipeCategory
- result: ItemLike
- experience: float
- cookingTime: int
说明:
TODO
public static SimpleCookingRecipeBuilder blasting(Ingredient ingredient, RecipeCategory craftingCategory, CookingBookCategory cookingCategory, ItemLike result, float experience, int cookingTime) @ L79
- 方法名:blasting
- 源码定位:L79
- 返回类型:SimpleCookingRecipeBuilder
- 修饰符:public static
参数:
- ingredient: Ingredient
- craftingCategory: RecipeCategory
- cookingCategory: CookingBookCategory
- result: ItemLike
- experience: float
- cookingTime: int
说明:
TODO
public static SimpleCookingRecipeBuilder smelting(Ingredient ingredient, RecipeCategory craftingCategory, CookingBookCategory cookingCategory, ItemLike result, float experience, int cookingTime) @ L85
- 方法名:smelting
- 源码定位:L85
- 返回类型:SimpleCookingRecipeBuilder
- 修饰符:public static
参数:
- ingredient: Ingredient
- craftingCategory: RecipeCategory
- cookingCategory: CookingBookCategory
- result: ItemLike
- experience: float
- cookingTime: int
说明:
TODO
public static SimpleCookingRecipeBuilder smoking(Ingredient ingredient, RecipeCategory craftingCategory, ItemLike result, float experience, int cookingTime) @ L91
- 方法名:smoking
- 源码定位:L91
- 返回类型:SimpleCookingRecipeBuilder
- 修饰符:public static
参数:
- ingredient: Ingredient
- craftingCategory: RecipeCategory
- result: ItemLike
- experience: float
- cookingTime: int
说明:
TODO
public SimpleCookingRecipeBuilder unlockedBy(String name, Criterion<?> criterion) @ L95
- 方法名:unlockedBy
- 源码定位:L95
- 返回类型:SimpleCookingRecipeBuilder
- 修饰符:public
参数:
- name: String
- criterion: Criterion<?>
说明:
TODO
public SimpleCookingRecipeBuilder group(String group) @ L100
- 方法名:group
- 源码定位:L100
- 返回类型:SimpleCookingRecipeBuilder
- 修饰符:public
参数:
- group: String
说明:
TODO
public ResourceKey<Recipe<?>> defaultId() @ L105
- 方法名:defaultId
- 源码定位:L105
- 返回类型:ResourceKey<Recipe<?>>
- 修饰符:public
参数:
- 无
说明:
TODO
public void save(RecipeOutput output, ResourceKey<Recipe<?>> id) @ L110
- 方法名:save
- 源码定位:L110
- 返回类型:void
- 修饰符:public
参数:
- output: RecipeOutput
- id: ResourceKey<Recipe<?>>
说明:
TODO
代码
public class SimpleCookingRecipeBuilder implements RecipeBuilder {
private final RecipeCategory craftingCategory;
private final CookingBookCategory cookingCategory;
private final ItemStackTemplate result;
private final Ingredient ingredient;
private final float experience;
private final int cookingTime;
private final RecipeUnlockAdvancementBuilder advancementBuilder = new RecipeUnlockAdvancementBuilder();
private @Nullable String group;
private final AbstractCookingRecipe.Factory<?> factory;
private SimpleCookingRecipeBuilder(
RecipeCategory craftingCategory,
CookingBookCategory cookingCategory,
ItemStackTemplate result,
Ingredient ingredient,
float experience,
int cookingTime,
AbstractCookingRecipe.Factory<?> factory
) {
this.craftingCategory = craftingCategory;
this.cookingCategory = cookingCategory;
this.result = result;
this.ingredient = ingredient;
this.experience = experience;
this.cookingTime = cookingTime;
this.factory = factory;
}
private SimpleCookingRecipeBuilder(
RecipeCategory craftingCategory,
CookingBookCategory cookingCategory,
ItemLike result,
Ingredient ingredient,
float experience,
int cookingTime,
AbstractCookingRecipe.Factory<?> factory
) {
this(craftingCategory, cookingCategory, new ItemStackTemplate(result.asItem()), ingredient, experience, cookingTime, factory);
}
public static <T extends AbstractCookingRecipe> SimpleCookingRecipeBuilder generic(
Ingredient ingredient,
RecipeCategory craftingCategory,
CookingBookCategory cookingCategory,
ItemLike result,
float experience,
int cookingTime,
AbstractCookingRecipe.Factory<T> factory
) {
return new SimpleCookingRecipeBuilder(craftingCategory, cookingCategory, result, ingredient, experience, cookingTime, factory);
}
public static SimpleCookingRecipeBuilder campfireCooking(
Ingredient ingredient, RecipeCategory craftingCategory, ItemLike result, float experience, int cookingTime
) {
return new SimpleCookingRecipeBuilder(
craftingCategory, CookingBookCategory.FOOD, result, ingredient, experience, cookingTime, CampfireCookingRecipe::new
);
}
public static SimpleCookingRecipeBuilder blasting(
Ingredient ingredient, RecipeCategory craftingCategory, CookingBookCategory cookingCategory, ItemLike result, float experience, int cookingTime
) {
return new SimpleCookingRecipeBuilder(craftingCategory, cookingCategory, result, ingredient, experience, cookingTime, BlastingRecipe::new);
}
public static SimpleCookingRecipeBuilder smelting(
Ingredient ingredient, RecipeCategory craftingCategory, CookingBookCategory cookingCategory, ItemLike result, float experience, int cookingTime
) {
return new SimpleCookingRecipeBuilder(craftingCategory, cookingCategory, result, ingredient, experience, cookingTime, SmeltingRecipe::new);
}
public static SimpleCookingRecipeBuilder smoking(Ingredient ingredient, RecipeCategory craftingCategory, ItemLike result, float experience, int cookingTime) {
return new SimpleCookingRecipeBuilder(craftingCategory, CookingBookCategory.FOOD, result, ingredient, experience, cookingTime, SmokingRecipe::new);
}
public SimpleCookingRecipeBuilder unlockedBy(String name, Criterion<?> criterion) {
this.advancementBuilder.unlockedBy(name, criterion);
return this;
}
public SimpleCookingRecipeBuilder group(@Nullable String group) {
this.group = group;
return this;
}
@Override
public ResourceKey<Recipe<?>> defaultId() {
return RecipeBuilder.getDefaultRecipeId(this.result);
}
@Override
public void save(RecipeOutput output, ResourceKey<Recipe<?>> id) {
AbstractCookingRecipe recipe = this.factory
.create(
RecipeBuilder.createCraftingCommonInfo(true),
new AbstractCookingRecipe.CookingBookInfo(this.cookingCategory, Objects.requireNonNullElse(this.group, "")),
this.ingredient,
this.result,
this.experience,
this.cookingTime
);
output.accept(id, recipe, this.advancementBuilder.build(output, id, this.craftingCategory));
}
}引用的其他类
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
实现/方法调用 - 关联成员:
RecipeBuilder.createCraftingCommonInfo(), RecipeBuilder.getDefaultRecipeId()
- 引用位置:
-
- 引用位置:
参数/字段
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
RecipeUnlockAdvancementBuilder
- 引用位置:
字段/构造调用 - 关联成员:
RecipeUnlockAdvancementBuilder()
- 引用位置:
-
- 引用位置:
参数/返回值
- 引用位置:
-
- 引用位置:
参数/字段/构造调用 - 关联成员:
ItemStackTemplate()
- 引用位置:
-
- 引用位置:
参数/字段/方法调用/构造调用/返回值 - 关联成员:
AbstractCookingRecipe.CookingBookInfo(), CookingBookInfo()
- 引用位置:
-
- 引用位置:
参数/字段
- 引用位置:
-
- 引用位置:
参数/字段
- 引用位置:
-
- 引用位置:
参数/返回值
- 引用位置:
-
- 引用位置:
参数
- 引用位置: