From 7a0b602a2af4608f335c39ed491093f876d9eb3a Mon Sep 17 00:00:00 2001 From: P3pp3rF1y Date: Sun, 19 Nov 2023 02:01:45 +0100 Subject: [PATCH] =?UTF-8?q?feat:=20=E2=9C=A8=20Add=20stonecutter=20and=20c?= =?UTF-8?q?hipped=20upgrades=20as=20recipe=20catalysts=20so=20that=20they?= =?UTF-8?q?=20show=20up=20in=20JEI=20as=20ways=20to=20craft=20the=20given?= =?UTF-8?q?=20blocks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gradle.properties | 2 +- .../compat/chipped/ChippedCompat.java | 17 ++++++++++++++++- .../compat/chipped/package-info.java | 8 ++++++++ .../compat/jei/SBPPlugin.java | 8 ++++++++ 4 files changed, 33 insertions(+), 2 deletions(-) create mode 100644 src/main/java/net/p3pp3rf1y/sophisticatedbackpacks/compat/chipped/package-info.java diff --git a/gradle.properties b/gradle.properties index 84d4fdd1..2ff4a461 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,7 +1,7 @@ org.gradle.daemon=false minecraft_version=1.18.2 forge_version=40.1.30 -mod_version=3.18.67 +mod_version=3.18.68 jei_mc_version=1.18.2 jei_version=9.7.0+ curios_version=1.18.2-5.0.6.+ diff --git a/src/main/java/net/p3pp3rf1y/sophisticatedbackpacks/compat/chipped/ChippedCompat.java b/src/main/java/net/p3pp3rf1y/sophisticatedbackpacks/compat/chipped/ChippedCompat.java index 11db6d86..f8e73c3b 100644 --- a/src/main/java/net/p3pp3rf1y/sophisticatedbackpacks/compat/chipped/ChippedCompat.java +++ b/src/main/java/net/p3pp3rf1y/sophisticatedbackpacks/compat/chipped/ChippedCompat.java @@ -1,7 +1,12 @@ package net.p3pp3rf1y.sophisticatedbackpacks.compat.chipped; +import earth.terrarium.chipped.Chipped; +import earth.terrarium.chipped.recipe.ChippedRecipe; import earth.terrarium.chipped.registry.ModRecipeTypes; +import mezz.jei.api.recipe.RecipeType; +import net.minecraft.resources.ResourceLocation; import net.minecraft.world.inventory.MenuType; +import net.minecraft.world.item.ItemStack; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.event.RegistryEvent; import net.minecraftforge.eventbus.api.IEventBus; @@ -10,6 +15,7 @@ import net.minecraftforge.registries.RegistryObject; import net.p3pp3rf1y.sophisticatedbackpacks.SophisticatedBackpacks; import net.p3pp3rf1y.sophisticatedbackpacks.client.gui.SBPButtonDefinitions; +import net.p3pp3rf1y.sophisticatedbackpacks.compat.jei.SBPPlugin; import net.p3pp3rf1y.sophisticatedbackpacks.init.ModItems; import net.p3pp3rf1y.sophisticatedcore.client.gui.StorageScreenBase; import net.p3pp3rf1y.sophisticatedcore.client.gui.UpgradeGuiManager; @@ -39,11 +45,20 @@ public class ChippedCompat implements ICompat { public static final RegistryObject TINKERER_WORKBENCH_UPGRADE = ModItems.ITEMS.register("chipped/tinkerer_workbench_upgrade", () -> new BlockTransformationUpgradeItem(SophisticatedBackpacks.ITEM_GROUP, ModRecipeTypes.MECHANIST_WORKBENCH_TYPE)); - @Override public void init() { IEventBus modBus = FMLJavaModLoadingContext.get().getModEventBus(); modBus.addGenericListener(MenuType.class, this::registerContainers); + + SBPPlugin.setAdditionalCatalystRegistrar(registration -> { + registration.addRecipeCatalyst(new ItemStack(BOTANIST_WORKBENCH_UPGRADE.get()), new RecipeType<>(new ResourceLocation(Chipped.MOD_ID, "botanist_workbench"), ChippedRecipe.class)); + registration.addRecipeCatalyst(new ItemStack(GLASSBLOWER_WORKBENCH_UPGRADE.get()), new RecipeType<>(new ResourceLocation(Chipped.MOD_ID, "glassblower"), ChippedRecipe.class)); + registration.addRecipeCatalyst(new ItemStack(CARPENTER_WORKBENCH_UPGRADE.get()), new RecipeType<>(new ResourceLocation(Chipped.MOD_ID, "carpenters_table"), ChippedRecipe.class)); + registration.addRecipeCatalyst(new ItemStack(SHEPHERD_WORKBENCH_UPGRADE.get()), new RecipeType<>(new ResourceLocation(Chipped.MOD_ID, "loom_table"), ChippedRecipe.class)); + registration.addRecipeCatalyst(new ItemStack(MASON_WORKBENCH_UPGRADE.get()), new RecipeType<>(new ResourceLocation(Chipped.MOD_ID, "mason_table"), ChippedRecipe.class)); + registration.addRecipeCatalyst(new ItemStack(PHILOSOPHER_WORKBENCH_UPGRADE.get()), new RecipeType<>(new ResourceLocation(Chipped.MOD_ID, "alchemy_bench"), ChippedRecipe.class)); + registration.addRecipeCatalyst(new ItemStack(TINKERER_WORKBENCH_UPGRADE.get()), new RecipeType<>(new ResourceLocation(Chipped.MOD_ID, "mechanist_workbench"), ChippedRecipe.class)); + }); } public void registerContainers(RegistryEvent.Register> evt) { diff --git a/src/main/java/net/p3pp3rf1y/sophisticatedbackpacks/compat/chipped/package-info.java b/src/main/java/net/p3pp3rf1y/sophisticatedbackpacks/compat/chipped/package-info.java new file mode 100644 index 00000000..1b00f5ea --- /dev/null +++ b/src/main/java/net/p3pp3rf1y/sophisticatedbackpacks/compat/chipped/package-info.java @@ -0,0 +1,8 @@ +// Auto generated package-info by MCP + +@ParametersAreNonnullByDefault @MethodsReturnNonnullByDefault +package net.p3pp3rf1y.sophisticatedbackpacks.compat.chipped; + +import net.minecraft.MethodsReturnNonnullByDefault; + +import javax.annotation.ParametersAreNonnullByDefault; diff --git a/src/main/java/net/p3pp3rf1y/sophisticatedbackpacks/compat/jei/SBPPlugin.java b/src/main/java/net/p3pp3rf1y/sophisticatedbackpacks/compat/jei/SBPPlugin.java index 4876aa38..b9e47010 100644 --- a/src/main/java/net/p3pp3rf1y/sophisticatedbackpacks/compat/jei/SBPPlugin.java +++ b/src/main/java/net/p3pp3rf1y/sophisticatedbackpacks/compat/jei/SBPPlugin.java @@ -34,10 +34,16 @@ import java.util.ArrayList; import java.util.List; +import java.util.function.Consumer; @SuppressWarnings("unused") @JeiPlugin public class SBPPlugin implements IModPlugin { + private static Consumer additionalCatalystRegistrar = registration -> {}; + public static void setAdditionalCatalystRegistrar(Consumer additionalCatalystRegistrar) { + SBPPlugin.additionalCatalystRegistrar = additionalCatalystRegistrar; + } + @Override public ResourceLocation getPluginUid() { return new ResourceLocation(SophisticatedBackpacks.MOD_ID, "default"); @@ -93,6 +99,8 @@ private UpgradeRecipe copyUpgradeRecipe(UpgradeRecipe recipe) { @Override public void registerRecipeCatalysts(IRecipeCatalystRegistration registration) { registration.addRecipeCatalyst(new ItemStack(ModItems.CRAFTING_UPGRADE.get()), RecipeTypes.CRAFTING); + registration.addRecipeCatalyst(new ItemStack(ModItems.STONECUTTER_UPGRADE.get()), RecipeTypes.STONECUTTING); + additionalCatalystRegistrar.accept(registration); } @Override