Skip to content

Commit 6465fc1

Browse files
committed
Add ItemLike convenience function for addRecipeCatalyst
1 parent f67c265 commit 6465fc1

File tree

4 files changed

+32
-14
lines changed

4 files changed

+32
-14
lines changed

CommonApi/src/main/java/mezz/jei/api/registration/IRecipeCatalystRegistration.java

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import mezz.jei.api.recipe.RecipeType;
77
import mezz.jei.api.runtime.IIngredientManager;
88
import net.minecraft.world.item.ItemStack;
9+
import net.minecraft.world.level.ItemLike;
910

1011
public interface IRecipeCatalystRegistration {
1112
/**
@@ -20,6 +21,23 @@ public interface IRecipeCatalystRegistration {
2021
*/
2122
IJeiHelpers getJeiHelpers();
2223

24+
/**
25+
* Add an association between an {@link ItemStack} and what it can craft.
26+
* (i.e. Furnace ItemStack can craft Smelting and Fuel Recipes)
27+
* Allows players to see what ingredient they need to craft in order to make recipes from a recipe category.
28+
*
29+
* @param itemLike the {@link ItemLike} that can craft recipes (like a furnace or crafting table)
30+
* @param recipeTypes the types of recipe that the ingredient is a catalyst for
31+
*
32+
* @see #addRecipeCatalyst(ItemStack, RecipeType...) to add {@link ItemStack} catalysts.
33+
* @see #addRecipeCatalyst(IIngredientType, Object, RecipeType...) to add non-{@link ItemLike} catalysts.
34+
*
35+
* @since 19.18.2
36+
*/
37+
default void addRecipeCatalyst(ItemLike itemLike, RecipeType<?>... recipeTypes) {
38+
addRecipeCatalyst(VanillaTypes.ITEM_STACK, new ItemStack(itemLike), recipeTypes);
39+
}
40+
2341
/**
2442
* Add an association between an {@link ItemStack} and what it can craft.
2543
* (i.e. Furnace ItemStack can craft Smelting and Fuel Recipes)

Library/src/main/java/mezz/jei/library/plugins/debug/JeiDebugPlugin.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -327,7 +327,7 @@ private <T> void registerRecipeCatalysts(IRecipeCatalystRegistration registratio
327327

328328
registration.addRecipeCatalyst(DebugIngredient.TYPE, new DebugIngredient(7), DebugRecipeCategory.TYPE);
329329
registration.addRecipeCatalyst(fluidHelper.getFluidIngredientType(), fluidHelper.create(Fluids.WATER.defaultFluidState().holder(), bucketVolume), DebugRecipeCategory.TYPE);
330-
registration.addRecipeCatalyst(new ItemStack(Items.STICK), DebugRecipeCategory.TYPE);
330+
registration.addRecipeCatalyst(Items.STICK, DebugRecipeCategory.TYPE);
331331

332332
RegistryUtil.getRegistry(Registries.ITEM)
333333
.stream()

Library/src/main/java/mezz/jei/library/plugins/vanilla/VanillaPlugin.java

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -322,19 +322,19 @@ public void registerRecipeTransferHandlers(IRecipeTransferRegistration registrat
322322

323323
@Override
324324
public void registerRecipeCatalysts(IRecipeCatalystRegistration registration) {
325-
registration.addRecipeCatalyst(new ItemStack(Blocks.CRAFTING_TABLE), RecipeTypes.CRAFTING);
326-
registration.addRecipeCatalyst(new ItemStack(Blocks.CRAFTER), RecipeTypes.CRAFTING);
327-
registration.addRecipeCatalyst(new ItemStack(Blocks.STONECUTTER), RecipeTypes.STONECUTTING);
328-
registration.addRecipeCatalyst(new ItemStack(Blocks.FURNACE), RecipeTypes.SMELTING, RecipeTypes.FUELING);
325+
registration.addRecipeCatalyst(Blocks.CRAFTING_TABLE, RecipeTypes.CRAFTING);
326+
registration.addRecipeCatalyst(Blocks.CRAFTER, RecipeTypes.CRAFTING);
327+
registration.addRecipeCatalyst(Blocks.STONECUTTER, RecipeTypes.STONECUTTING);
328+
registration.addRecipeCatalyst(Blocks.FURNACE, RecipeTypes.SMELTING, RecipeTypes.FUELING);
329329

330-
registration.addRecipeCatalyst(new ItemStack(Blocks.SMOKER), RecipeTypes.SMOKING, RecipeTypes.FUELING);
331-
registration.addRecipeCatalyst(new ItemStack(Blocks.BLAST_FURNACE), RecipeTypes.BLASTING, RecipeTypes.FUELING);
332-
registration.addRecipeCatalyst(new ItemStack(Blocks.CAMPFIRE), RecipeTypes.CAMPFIRE_COOKING);
333-
registration.addRecipeCatalyst(new ItemStack(Blocks.SOUL_CAMPFIRE), RecipeTypes.CAMPFIRE_COOKING);
334-
registration.addRecipeCatalyst(new ItemStack(Blocks.BREWING_STAND), RecipeTypes.BREWING);
335-
registration.addRecipeCatalyst(new ItemStack(Blocks.ANVIL), RecipeTypes.ANVIL);
336-
registration.addRecipeCatalyst(new ItemStack(Blocks.SMITHING_TABLE), RecipeTypes.SMITHING);
337-
registration.addRecipeCatalyst(new ItemStack(Blocks.COMPOSTER), RecipeTypes.COMPOSTING);
330+
registration.addRecipeCatalyst(Blocks.SMOKER, RecipeTypes.SMOKING, RecipeTypes.FUELING);
331+
registration.addRecipeCatalyst(Blocks.BLAST_FURNACE, RecipeTypes.BLASTING, RecipeTypes.FUELING);
332+
registration.addRecipeCatalyst(Blocks.CAMPFIRE, RecipeTypes.CAMPFIRE_COOKING);
333+
registration.addRecipeCatalyst(Blocks.SOUL_CAMPFIRE, RecipeTypes.CAMPFIRE_COOKING);
334+
registration.addRecipeCatalyst(Blocks.BREWING_STAND, RecipeTypes.BREWING);
335+
registration.addRecipeCatalyst(Blocks.ANVIL, RecipeTypes.ANVIL);
336+
registration.addRecipeCatalyst(Blocks.SMITHING_TABLE, RecipeTypes.SMITHING);
337+
registration.addRecipeCatalyst(Blocks.COMPOSTER, RecipeTypes.COMPOSTING);
338338
}
339339

340340
public Optional<CraftingRecipeCategory> getCraftingCategory() {

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,4 +74,4 @@ modrinthId=u6dRKJwZ
7474
jUnitVersion=5.8.2
7575

7676
# Version
77-
specificationVersion=19.18.1
77+
specificationVersion=19.18.2

0 commit comments

Comments
 (0)