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
Last revisionBoth sides next revision
tutorial:recipe_type [2021/02/17 02:13] themovieayttutorial:recipe_type [2021/12/01 11:36] – added fits implementation as the text suggested ayutac
Line 4: Line 4:
  
 You can find and learn how to make other recipe types. You can find and learn how to make other recipe types.
 +[[tutorial:cooking_recipe_type|Creating a custom cooking recipe type]]
  
 ===== Adding the Block ===== ===== Adding the Block =====
Line 12: Line 12:
 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 43: Line 43:
  @Override  @Override
  public void onInitialize() {    public void onInitialize() {  
-    //Wait i gotta take a break hold on..+    // Resuming later...
     }     }
 } }
Line 90: Line 90:
  return this.id;  return this.id;
  }  }
- + //[...]
- @Override +
- public boolean matches(CraftingInventory inv, World world) { +
- return false; +
-+
- +
- @Override +
- public ItemStack craft(CraftingInventory inv) { +
- return null; +
-+
- +
- @Override +
- public boolean fits(int width, int height) { +
- return false; +
-+
- +
- @Override +
- public RecipeSerializer<?> getSerializer() { +
- return null; +
-+
- +
- @Override +
- public RecipeType<?> getType() { +
- return null; +
- }+
 } }
 </code> </code>
Line 126: Line 102:
  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 137: Line 118:
  @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 148: Line 129:
 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();
  public static final String ID = "test_recipe";  public static final String ID = "test_recipe";
 + }
 + @Override
 + pubilc RecipeType<?> getType() {
 + return Type.INSTANCE;
  }  }
 } }
 </code> </code>
 +
 +
 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.txt · Last modified: 2021/12/01 11:46 by ayutac