CustomCraftingRecipeBuilder.java

net.minecraft.data.recipes.CustomCraftingRecipeBuilder

信息

  • 全限定名:net.minecraft.data.recipes.CustomCraftingRecipeBuilder
  • 类型:public class
  • 包:net.minecraft.data.recipes
  • 源码路径:src/main/java/net/minecraft/data/recipes/CustomCraftingRecipeBuilder.java
  • 起始行号:L12
  • 职责:

    TODO

字段/常量

  • category

    • 类型: RecipeCategory
    • 修饰符: private final
    • 源码定位: L13
    • 说明:

      TODO

  • advancementBuilder

    • 类型: RecipeUnlockAdvancementBuilder
    • 修饰符: private final
    • 源码定位: L14
    • 说明:

      TODO

  • group

    • 类型: String
    • 修饰符: private
    • 源码定位: L15
    • 说明:

      TODO

  • factory

    • 类型: CustomCraftingRecipeBuilder.Factory
    • 修饰符: private final
    • 源码定位: L16
    • 说明:

      TODO

内部类/嵌套类型

  • net.minecraft.data.recipes.CustomCraftingRecipeBuilder.Factory
    • 类型: interface
    • 修饰符: public
    • 源码定位: L49
    • 说明:

      TODO

构造器

public CustomCraftingRecipeBuilder(RecipeCategory category, CustomCraftingRecipeBuilder.Factory factory) @ L18

  • 构造器名:CustomCraftingRecipeBuilder
  • 源码定位:L18
  • 修饰符:public

参数:

  • category: RecipeCategory
  • factory: CustomCraftingRecipeBuilder.Factory

说明:

TODO

方法

下面的方法块按源码顺序生成。

public static CustomCraftingRecipeBuilder customCrafting(RecipeCategory category, CustomCraftingRecipeBuilder.Factory factory) @ L23

  • 方法名:customCrafting
  • 源码定位:L23
  • 返回类型:CustomCraftingRecipeBuilder
  • 修饰符:public static

参数:

  • category: RecipeCategory
  • factory: CustomCraftingRecipeBuilder.Factory

说明:

TODO

public CustomCraftingRecipeBuilder unlockedBy(String name, Criterion<?> criterion) @ L27

  • 方法名:unlockedBy
  • 源码定位:L27
  • 返回类型:CustomCraftingRecipeBuilder
  • 修饰符:public

参数:

  • name: String
  • criterion: Criterion<?>

说明:

TODO

public CustomCraftingRecipeBuilder group(String group) @ L32

  • 方法名:group
  • 源码定位:L32
  • 返回类型:CustomCraftingRecipeBuilder
  • 修饰符:public

参数:

  • group: String

说明:

TODO

public void save(RecipeOutput output, String name) @ L37

  • 方法名:save
  • 源码定位:L37
  • 返回类型:void
  • 修饰符:public

参数:

  • output: RecipeOutput
  • name: String

说明:

TODO

public void save(RecipeOutput output, ResourceKey<Recipe<?>> id) @ L41

  • 方法名:save
  • 源码定位:L41
  • 返回类型:void
  • 修饰符:public

参数:

  • output: RecipeOutput
  • id: ResourceKey<Recipe<?>>

说明:

TODO

代码

public class CustomCraftingRecipeBuilder {
    private final RecipeCategory category;
    private final RecipeUnlockAdvancementBuilder advancementBuilder = new RecipeUnlockAdvancementBuilder();
    private @Nullable String group;
    private final CustomCraftingRecipeBuilder.Factory factory;
 
    public CustomCraftingRecipeBuilder(RecipeCategory category, CustomCraftingRecipeBuilder.Factory factory) {
        this.category = category;
        this.factory = factory;
    }
 
    public static CustomCraftingRecipeBuilder customCrafting(RecipeCategory category, CustomCraftingRecipeBuilder.Factory factory) {
        return new CustomCraftingRecipeBuilder(category, factory);
    }
 
    public CustomCraftingRecipeBuilder unlockedBy(String name, Criterion<?> criterion) {
        this.advancementBuilder.unlockedBy(name, criterion);
        return this;
    }
 
    public CustomCraftingRecipeBuilder group(@Nullable String group) {
        this.group = group;
        return this;
    }
 
    public void save(RecipeOutput output, String name) {
        this.save(output, ResourceKey.create(Registries.RECIPE, Identifier.parse(name)));
    }
 
    public void save(RecipeOutput output, ResourceKey<Recipe<?>> id) {
        Recipe.CommonInfo commonInfo = RecipeBuilder.createCraftingCommonInfo(true);
        CraftingRecipe.CraftingBookInfo bookInfo = RecipeBuilder.createCraftingBookInfo(this.category, this.group);
        Recipe<?> recipe = this.factory.apply(commonInfo, bookInfo);
        output.accept(id, recipe, this.advancementBuilder.build(output, id, this.category));
    }
 
    @FunctionalInterface
    public interface Factory extends BiFunction<Recipe.CommonInfo, CraftingRecipe.CraftingBookInfo, Recipe<?>> {
    }
}

引用的其他类

  • Criterion

    • 引用位置: 参数
  • RecipeBuilder

    • 引用位置: 方法调用
    • 关联成员: RecipeBuilder.createCraftingBookInfo(), RecipeBuilder.createCraftingCommonInfo()
  • RecipeCategory

    • 引用位置: 参数/字段
  • RecipeOutput

    • 引用位置: 参数
  • RecipeUnlockAdvancementBuilder

    • 引用位置: 字段/构造调用
    • 关联成员: RecipeUnlockAdvancementBuilder()
  • Identifier

    • 引用位置: 方法调用
    • 关联成员: Identifier.parse()
  • ResourceKey

    • 引用位置: 参数/方法调用
    • 关联成员: ResourceKey.create()
  • Recipe

    • 引用位置: 参数