User Tools

Site Tools


tutorial:recipe_type

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
tutorial:recipe_type [2021/08/29 18:18] – fixed missing bracket bananatutorial:recipe_type [2026/04/11 19:44] (current) – Docs redirect cassiancc
Line 1: Line 1:
 +~~REDIRECT>https://docs.fabricmc.net/develop/custom-recipe-types~~
 +
 ====== Creating a Custom Recipe Type ====== ====== Creating a Custom Recipe Type ======
 In this page, we will create our own custom recipe type, including the shapeless version! In this page, we will create our own custom recipe type, including the shapeless version!
Line 12: Line 14:
 public class TestRecipeBlock extends Block { public class TestRecipeBlock extends Block {
  private static final Text TITLE = new TranslatableText("container.test_crafting");  private static final Text TITLE = new TranslatableText("container.test_crafting");
- public SpiritpowerCrafterBlock(Settings settings) {+ public TestRecipeBlock(Settings settings) {
  super(settings);  super(settings);
  }  }
Line 102: Line 104:
  public ItemStack craft(CraftingInventory inv) {  public ItemStack craft(CraftingInventory inv) {
  return this.getOutput().copy();  return this.getOutput().copy();
 + }
 +
 + @Override
 + public boolean fits(int width, int height) {
 + return true;
  }  }
 } }
Line 113: Line 120:
  @Override   @Override 
  public boolean matches(CraftingInventory inv, World world) {  public boolean matches(CraftingInventory inv, World world) {
- if(inv.getInvSize(0) < 2) return false; + if(inv.size(0) < 2) return false; 
- return inputA.test(inventory.getInvStack(0)) && inputB.test(inventory.getInvStack(1));+ return inputA.test(inventory.getStack(0)) && inputB.test(inventory.getStack(1));
  }  }
 } }
Line 124: Line 131:
 public class TestRecipe implements Recipe<CraftingInventory> { public class TestRecipe implements Recipe<CraftingInventory> {
  //[...]  //[...]
- public static Type implements RecipeType<TestRecipe> {+ public static class Type implements RecipeType<TestRecipe> {
  private Type() {}  private Type() {}
  public static final Type INSTANCE = new Type();  public static final Type INSTANCE = new Type();
Line 136: Line 143:
 </code> </code>
  
 +What's still missing is the RecipeSerializer, for now try to figure it out using the SOURCE link below.
  
 SOURCE: SOURCE:
 [[https://github.com/natanfudge/fabric-docs/blob/master/newdocs/Modding-Tutorials/Crafting-Recipes/defining-custom-crafting-recipes.md|Defining Custom Crafting Recipes]] [[https://github.com/natanfudge/fabric-docs/blob/master/newdocs/Modding-Tutorials/Crafting-Recipes/defining-custom-crafting-recipes.md|Defining Custom Crafting Recipes]]
  
tutorial/recipe_type.1630261129.txt.gz · Last modified: 2021/08/29 18:18 by banana