diff --git a/RebornCore/src/main/java/reborncore/common/crafting/RebornRecipe.java b/RebornCore/src/main/java/reborncore/common/crafting/RebornRecipe.java index 0c5b17539..5cf2cc7f1 100644 --- a/RebornCore/src/main/java/reborncore/common/crafting/RebornRecipe.java +++ b/RebornCore/src/main/java/reborncore/common/crafting/RebornRecipe.java @@ -34,15 +34,14 @@ import net.minecraft.recipe.Recipe; import net.minecraft.recipe.RecipeSerializer; import net.minecraft.util.Identifier; import net.minecraft.util.collection.DefaultedList; +import net.minecraft.util.registry.Registry; import net.minecraft.world.World; +import reborncore.RebornCore; import reborncore.api.recipe.IRecipeCrafterProvider; import reborncore.common.crafting.ingredient.RebornIngredient; import reborncore.common.util.DefaultedListCollector; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.List; +import java.util.*; public class RebornRecipe implements Recipe, CustomOutputRecipe { private final RebornRecipeType type; @@ -62,6 +61,16 @@ public class RebornRecipe implements Recipe, CustomOutputRecipe { this.time = time; } + @Override + public ItemStack createIcon() { + Optional catalyst = Registry.ITEM.getOrEmpty(type.name()); + if (catalyst.isPresent()) + return new ItemStack(catalyst.get()); + else + RebornCore.LOGGER.warn("Missing toast icon for {}!", type.name()); + return Recipe.super.createIcon(); + } + @Override public Identifier getId() { return name; @@ -166,7 +175,7 @@ public class RebornRecipe implements Recipe, CustomOutputRecipe { // Done to try and stop the table from loading it @Override public boolean isIgnoredInRecipeBook() { - return true; + return false; } @Override diff --git a/src/main/java/techreborn/api/recipe/recipes/CentrifugeRecipe.java b/src/main/java/techreborn/api/recipe/recipes/CentrifugeRecipe.java new file mode 100644 index 000000000..7facb7c98 --- /dev/null +++ b/src/main/java/techreborn/api/recipe/recipes/CentrifugeRecipe.java @@ -0,0 +1,23 @@ +package techreborn.api.recipe.recipes; + +import net.minecraft.item.ItemStack; +import net.minecraft.util.Identifier; +import reborncore.common.crafting.RebornRecipe; +import reborncore.common.crafting.RebornRecipeType; +import reborncore.common.crafting.ingredient.RebornIngredient; +import techreborn.init.TRContent; + +import java.util.List; + +public class CentrifugeRecipe extends RebornRecipe { + + public CentrifugeRecipe(RebornRecipeType type, Identifier name, List ingredients, List outputs, int power, int time) { + super(type, name, ingredients, outputs, power, time); + } + + @Override + public ItemStack createIcon() { + return new ItemStack(TRContent.Machine.INDUSTRIAL_CENTRIFUGE); + } + +} diff --git a/src/main/java/techreborn/api/recipe/recipes/FusionReactorRecipe.java b/src/main/java/techreborn/api/recipe/recipes/FusionReactorRecipe.java index 767b6d5e6..bc0a1ed1e 100644 --- a/src/main/java/techreborn/api/recipe/recipes/FusionReactorRecipe.java +++ b/src/main/java/techreborn/api/recipe/recipes/FusionReactorRecipe.java @@ -31,6 +31,7 @@ import reborncore.common.crafting.RebornRecipe; import reborncore.common.crafting.RebornRecipeType; import reborncore.common.crafting.ingredient.RebornIngredient; import techreborn.blockentity.machine.multiblock.FusionControlComputerBlockEntity; +import techreborn.init.TRContent; import java.util.List; @@ -47,6 +48,11 @@ public class FusionReactorRecipe extends RebornRecipe { this.minSize = minSize; } + @Override + public ItemStack createIcon() { + return new ItemStack(TRContent.Machine.FUSION_CONTROL_COMPUTER); + } + public int getStartEnergy() { return startE; } diff --git a/src/main/java/techreborn/init/ModRecipes.java b/src/main/java/techreborn/init/ModRecipes.java index 1bee7fbfd..5d248de8c 100644 --- a/src/main/java/techreborn/init/ModRecipes.java +++ b/src/main/java/techreborn/init/ModRecipes.java @@ -30,6 +30,7 @@ import reborncore.common.crafting.RebornRecipe; import reborncore.common.crafting.RebornRecipeType; import reborncore.common.crafting.RecipeManager; import reborncore.common.crafting.serde.RebornFluidRecipeSerde; +import reborncore.common.crafting.serde.RebornRecipeSerde; import techreborn.api.recipe.recipes.*; import techreborn.api.recipe.recipes.serde.BlastFurnaceRecipeSerde; import techreborn.api.recipe.recipes.serde.FusionReactorRecipeSerde; @@ -42,11 +43,12 @@ public class ModRecipes { public static final RebornFluidRecipeSerde FLUID_REPLICATOR_RECIPE_SERDE = RebornFluidRecipeSerde.create(FluidReplicatorRecipe::new); public static final FusionReactorRecipeSerde FUSION_REACTOR_RECIPE_SERDE = new FusionReactorRecipeSerde(); public static final RollingMachineRecipeSerde ROLLING_MACHINE_RECIPE_SERDE = new RollingMachineRecipeSerde(); + public static final RebornRecipeSerde CENTRIFUGE_RECIPE_SERDE = RebornRecipeSerde.create(CentrifugeRecipe::new); public static final RebornRecipeType ALLOY_SMELTER = RecipeManager.newRecipeType(new Identifier("techreborn:alloy_smelter")); public static final RebornRecipeType ASSEMBLING_MACHINE = RecipeManager.newRecipeType(new Identifier("techreborn:assembling_machine")); public static final RebornRecipeType BLAST_FURNACE = RecipeManager.newRecipeType(BLAST_FURNACE_RECIPE_SERDE, new Identifier("techreborn:blast_furnace")); - public static final RebornRecipeType CENTRIFUGE = RecipeManager.newRecipeType(new Identifier("techreborn:centrifuge")); + public static final RebornRecipeType CENTRIFUGE = RecipeManager.newRecipeType(CENTRIFUGE_RECIPE_SERDE, new Identifier("techreborn:centrifuge")); public static final RebornRecipeType CHEMICAL_REACTOR = RecipeManager.newRecipeType(new Identifier("techreborn:chemical_reactor")); public static final RebornRecipeType COMPRESSOR = RecipeManager.newRecipeType(new Identifier("techreborn:compressor")); public static final RebornRecipeType DISTILLATION_TOWER = RecipeManager.newRecipeType(new Identifier("techreborn:distillation_tower"));