More Recipe fixes.

This commit is contained in:
Flanks255 2024-03-04 15:03:46 -06:00
parent c866a404ea
commit 610bf044ee
10 changed files with 101 additions and 113 deletions

View file

@ -3,6 +3,7 @@ package de.ellpeck.actuallyadditions.data;
import de.ellpeck.actuallyadditions.mod.ActuallyAdditions; import de.ellpeck.actuallyadditions.mod.ActuallyAdditions;
import de.ellpeck.actuallyadditions.mod.blocks.ActuallyBlocks; import de.ellpeck.actuallyadditions.mod.blocks.ActuallyBlocks;
import de.ellpeck.actuallyadditions.mod.crafting.ColorChangeRecipe; import de.ellpeck.actuallyadditions.mod.crafting.ColorChangeRecipe;
import de.ellpeck.actuallyadditions.mod.util.NoAdvRecipeOutput;
import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.core.registries.BuiltInRegistries;
import net.minecraft.data.PackOutput; import net.minecraft.data.PackOutput;
import net.minecraft.data.recipes.RecipeOutput; import net.minecraft.data.recipes.RecipeOutput;
@ -25,22 +26,18 @@ public class ColorChangeGenerator extends RecipeProvider {
return "Color Change " + super.getName(); return "Color Change " + super.getName();
} }
// @Override //TODO: Flanks do your RecipeOutput wrapper thingy ;)
// protected @Nullable CompletableFuture<?> saveAdvancement(CachedOutput stack, FinishedRecipe finishedRecipe, JsonObject advancementJson) {
// return null;
// //Nope... maybe later...
// }
@Override @Override
protected void buildRecipes(@Nonnull RecipeOutput consumer) { protected void buildRecipes(@Nonnull RecipeOutput output) {
buildWool(consumer); var recipeOutput = new NoAdvRecipeOutput(output);
buildStainedGlass(consumer);
buildStainedGlassPane(consumer); buildWool(recipeOutput);
buildTerracotta(consumer); buildStainedGlass(recipeOutput);
buildGlazedTerracotta(consumer); buildStainedGlassPane(recipeOutput);
buildCarpet(consumer); buildTerracotta(recipeOutput);
buildLamps(consumer); buildGlazedTerracotta(recipeOutput);
buildDye(consumer); buildCarpet(recipeOutput);
buildLamps(recipeOutput);
buildDye(recipeOutput);
} }
private void buildWool(@Nonnull RecipeOutput c) { private void buildWool(@Nonnull RecipeOutput c) {

View file

@ -2,6 +2,7 @@ package de.ellpeck.actuallyadditions.data;
import de.ellpeck.actuallyadditions.mod.ActuallyAdditions; import de.ellpeck.actuallyadditions.mod.ActuallyAdditions;
import de.ellpeck.actuallyadditions.mod.crafting.CrushingRecipe; import de.ellpeck.actuallyadditions.mod.crafting.CrushingRecipe;
import de.ellpeck.actuallyadditions.mod.util.NoAdvRecipeOutput;
import net.minecraft.data.PackOutput; import net.minecraft.data.PackOutput;
import net.minecraft.data.recipes.RecipeOutput; import net.minecraft.data.recipes.RecipeOutput;
import net.minecraft.data.recipes.RecipeProvider; import net.minecraft.data.recipes.RecipeProvider;
@ -10,6 +11,8 @@ import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Items; import net.minecraft.world.item.Items;
import net.minecraft.world.item.crafting.Ingredient; import net.minecraft.world.item.crafting.Ingredient;
import javax.annotation.Nonnull;
public class CrushingRecipeGenerator extends RecipeProvider { public class CrushingRecipeGenerator extends RecipeProvider {
public CrushingRecipeGenerator(PackOutput packOutput) { public CrushingRecipeGenerator(PackOutput packOutput) {
super(packOutput); super(packOutput);
@ -20,15 +23,12 @@ public class CrushingRecipeGenerator extends RecipeProvider {
return "Crushing " + super.getName(); return "Crushing " + super.getName();
} }
// @Override //TODO: Flanks do your RecipeOutput wrapper thingy ;)
// protected @Nullable CompletableFuture<?> saveAdvancement(CachedOutput stack, FinishedRecipe finishedRecipe, JsonObject advancementJson) {
// return null;
// //Nope... maybe later...
// }
@Override @Override
protected void buildRecipes(RecipeOutput consumer) { protected void buildRecipes(@Nonnull RecipeOutput output) {
var recipeOutput = new NoAdvRecipeOutput(output);
CrushingRecipe recipe = new CrushingRecipe(Ingredient.of(Items.BONE), new ItemStack(Items.BONE_MEAL, 6), 1.0f, ItemStack.EMPTY, 0.0f); CrushingRecipe recipe = new CrushingRecipe(Ingredient.of(Items.BONE), new ItemStack(Items.BONE_MEAL, 6), 1.0f, ItemStack.EMPTY, 0.0f);
consumer.accept(new ResourceLocation(ActuallyAdditions.MODID, "crushing/iron_crusher"), recipe, null); recipeOutput.accept(new ResourceLocation(ActuallyAdditions.MODID, "crushing/iron_crusher"), recipe, null);
} }
} }

View file

@ -9,6 +9,7 @@ import net.minecraft.tags.DamageTypeTags;
import net.neoforged.neoforge.common.data.ExistingFileHelper; import net.neoforged.neoforge.common.data.ExistingFileHelper;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
import javax.annotation.Nonnull;
import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;
public class DamageTypeTagsGenerator extends DamageTypeTagsProvider { public class DamageTypeTagsGenerator extends DamageTypeTagsProvider {
@ -17,7 +18,7 @@ public class DamageTypeTagsGenerator extends DamageTypeTagsProvider {
} }
@Override @Override
protected void addTags(HolderLookup.Provider pProvider) { protected void addTags(@Nonnull HolderLookup.Provider pProvider) {
tag(DamageTypeTags.BYPASSES_ARMOR).add( tag(DamageTypeTags.BYPASSES_ARMOR).add(
ActuallyDamageTypes.ATOMIC_RECONSTRUCTOR ActuallyDamageTypes.ATOMIC_RECONSTRUCTOR
); );

View file

@ -5,6 +5,7 @@ import de.ellpeck.actuallyadditions.mod.blocks.ActuallyBlocks;
import de.ellpeck.actuallyadditions.mod.crafting.EmpowererRecipe; import de.ellpeck.actuallyadditions.mod.crafting.EmpowererRecipe;
import de.ellpeck.actuallyadditions.mod.items.ActuallyItems; import de.ellpeck.actuallyadditions.mod.items.ActuallyItems;
import de.ellpeck.actuallyadditions.mod.items.metalists.Crystals; import de.ellpeck.actuallyadditions.mod.items.metalists.Crystals;
import de.ellpeck.actuallyadditions.mod.util.NoAdvRecipeOutput;
import net.minecraft.core.NonNullList; import net.minecraft.core.NonNullList;
import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.core.registries.BuiltInRegistries;
import net.minecraft.data.PackOutput; import net.minecraft.data.PackOutput;
@ -30,85 +31,81 @@ public class EmpoweringRecipeGenerator extends RecipeProvider {
return "Empowering " + super.getName(); return "Empowering " + super.getName();
} }
// @Override //TODO: Flanks do your RecipeOutput wrapper thingy ;)
// protected @Nullable CompletableFuture<?> saveAdvancement(CachedOutput stack, FinishedRecipe finishedRecipe, JsonObject advancementJson) {
// return null;
// //Nope... maybe later...
// }
@Override @Override
protected void buildRecipes(RecipeOutput consumer) { protected void buildRecipes(RecipeOutput output) {
var recipeOutput = new NoAdvRecipeOutput(output);
EmpoweringBuilder.builder(ActuallyItems.EMPOWERED_RESTONIA_CRYSTAL.get(), ActuallyItems.RESTONIA_CRYSTAL.get(), 5000, 50, Crystals.REDSTONE.conversionColorParticles) EmpoweringBuilder.builder(ActuallyItems.EMPOWERED_RESTONIA_CRYSTAL.get(), ActuallyItems.RESTONIA_CRYSTAL.get(), 5000, 50, Crystals.REDSTONE.conversionColorParticles)
.addModifier(Tags.Items.DYES_RED) .addModifier(Tags.Items.DYES_RED)
.addModifier(Items.NETHER_BRICK) .addModifier(Items.NETHER_BRICK)
.addModifier(Tags.Items.DUSTS_REDSTONE) .addModifier(Tags.Items.DUSTS_REDSTONE)
.addModifier(Items.BRICK).save(consumer, "restonia"); .addModifier(Items.BRICK).save(recipeOutput, "restonia");
EmpoweringBuilder.builder(ActuallyBlocks.EMPOWERED_RESTONIA_CRYSTAL.get(), ActuallyBlocks.RESTONIA_CRYSTAL.get(), 50000, 500, Crystals.REDSTONE.conversionColorParticles) EmpoweringBuilder.builder(ActuallyBlocks.EMPOWERED_RESTONIA_CRYSTAL.get(), ActuallyBlocks.RESTONIA_CRYSTAL.get(), 50000, 500, Crystals.REDSTONE.conversionColorParticles)
.addModifier(Tags.Items.DYES_RED) .addModifier(Tags.Items.DYES_RED)
.addModifier(Items.NETHER_BRICK) .addModifier(Items.NETHER_BRICK)
.addModifier(Tags.Items.DUSTS_REDSTONE) .addModifier(Tags.Items.DUSTS_REDSTONE)
.addModifier(Items.BRICK).save(consumer, "restonia_block"); .addModifier(Items.BRICK).save(recipeOutput, "restonia_block");
EmpoweringBuilder.builder(ActuallyItems.EMPOWERED_PALIS_CRYSTAL.get(), ActuallyItems.PALIS_CRYSTAL.get(), 5000, 50, Crystals.LAPIS.conversionColorParticles) EmpoweringBuilder.builder(ActuallyItems.EMPOWERED_PALIS_CRYSTAL.get(), ActuallyItems.PALIS_CRYSTAL.get(), 5000, 50, Crystals.LAPIS.conversionColorParticles)
.addModifier(Tags.Items.DYES_CYAN) .addModifier(Tags.Items.DYES_CYAN)
.addModifier(Items.PRISMARINE_SHARD) .addModifier(Items.PRISMARINE_SHARD)
.addModifier(Items.PRISMARINE_SHARD) .addModifier(Items.PRISMARINE_SHARD)
.addModifier(Items.PRISMARINE_SHARD).save(consumer, "palis"); .addModifier(Items.PRISMARINE_SHARD).save(recipeOutput, "palis");
EmpoweringBuilder.builder(ActuallyBlocks.EMPOWERED_PALIS_CRYSTAL.get(), ActuallyBlocks.PALIS_CRYSTAL.get(), 50000, 500, Crystals.LAPIS.conversionColorParticles) EmpoweringBuilder.builder(ActuallyBlocks.EMPOWERED_PALIS_CRYSTAL.get(), ActuallyBlocks.PALIS_CRYSTAL.get(), 50000, 500, Crystals.LAPIS.conversionColorParticles)
.addModifier(Tags.Items.DYES_CYAN) .addModifier(Tags.Items.DYES_CYAN)
.addModifier(Items.PRISMARINE_SHARD) .addModifier(Items.PRISMARINE_SHARD)
.addModifier(Items.PRISMARINE_SHARD) .addModifier(Items.PRISMARINE_SHARD)
.addModifier(Items.PRISMARINE_SHARD).save(consumer, "palis_block"); .addModifier(Items.PRISMARINE_SHARD).save(recipeOutput, "palis_block");
EmpoweringBuilder.builder(ActuallyItems.EMPOWERED_DIAMATINE_CRYSTAL.get(), ActuallyItems.DIAMATINE_CRYSTAL.get(), 5000, 50, Crystals.DIAMOND.conversionColorParticles) EmpoweringBuilder.builder(ActuallyItems.EMPOWERED_DIAMATINE_CRYSTAL.get(), ActuallyItems.DIAMATINE_CRYSTAL.get(), 5000, 50, Crystals.DIAMOND.conversionColorParticles)
.addModifier(Tags.Items.DYES_LIGHT_BLUE) .addModifier(Tags.Items.DYES_LIGHT_BLUE)
.addModifier(Items.CLAY_BALL) .addModifier(Items.CLAY_BALL)
.addModifier(Items.CLAY_BALL) .addModifier(Items.CLAY_BALL)
.addModifier(Items.CLAY).save(consumer, "diamatine"); .addModifier(Items.CLAY).save(recipeOutput, "diamatine");
EmpoweringBuilder.builder(ActuallyBlocks.EMPOWERED_DIAMATINE_CRYSTAL.get(), ActuallyBlocks.DIAMATINE_CRYSTAL.get(), 50000, 500, Crystals.DIAMOND.conversionColorParticles) EmpoweringBuilder.builder(ActuallyBlocks.EMPOWERED_DIAMATINE_CRYSTAL.get(), ActuallyBlocks.DIAMATINE_CRYSTAL.get(), 50000, 500, Crystals.DIAMOND.conversionColorParticles)
.addModifier(Tags.Items.DYES_LIGHT_BLUE) .addModifier(Tags.Items.DYES_LIGHT_BLUE)
.addModifier(Items.CLAY_BALL) .addModifier(Items.CLAY_BALL)
.addModifier(Items.CLAY_BALL) .addModifier(Items.CLAY_BALL)
.addModifier(Items.CLAY).save(consumer, "diamatine_block"); .addModifier(Items.CLAY).save(recipeOutput, "diamatine_block");
EmpoweringBuilder.builder(ActuallyItems.EMPOWERED_ENORI_CRYSTAL.get(), ActuallyItems.ENORI_CRYSTAL.get(), 5000, 50, Crystals.IRON.conversionColorParticles) EmpoweringBuilder.builder(ActuallyItems.EMPOWERED_ENORI_CRYSTAL.get(), ActuallyItems.ENORI_CRYSTAL.get(), 5000, 50, Crystals.IRON.conversionColorParticles)
.addModifier(Tags.Items.DYES_GRAY) .addModifier(Tags.Items.DYES_GRAY)
.addModifier(Items.SNOWBALL) .addModifier(Items.SNOWBALL)
.addModifier(Items.STONE_BUTTON) .addModifier(Items.STONE_BUTTON)
.addModifier(Tags.Items.COBBLESTONE).save(consumer, "enori"); .addModifier(Tags.Items.COBBLESTONE).save(recipeOutput, "enori");
EmpoweringBuilder.builder(ActuallyBlocks.EMPOWERED_ENORI_CRYSTAL.get(), ActuallyBlocks.ENORI_CRYSTAL.get(), 50000, 500, Crystals.IRON.conversionColorParticles) EmpoweringBuilder.builder(ActuallyBlocks.EMPOWERED_ENORI_CRYSTAL.get(), ActuallyBlocks.ENORI_CRYSTAL.get(), 50000, 500, Crystals.IRON.conversionColorParticles)
.addModifier(Tags.Items.DYES_GRAY) .addModifier(Tags.Items.DYES_GRAY)
.addModifier(Items.SNOWBALL) .addModifier(Items.SNOWBALL)
.addModifier(Items.STONE_BUTTON) .addModifier(Items.STONE_BUTTON)
.addModifier(Tags.Items.COBBLESTONE).save(consumer, "enori_block"); .addModifier(Tags.Items.COBBLESTONE).save(recipeOutput, "enori_block");
EmpoweringBuilder.builder(ActuallyItems.EMPOWERED_VOID_CRYSTAL.get(), ActuallyItems.VOID_CRYSTAL.get(), 5000, 50, Crystals.COAL.conversionColorParticles) EmpoweringBuilder.builder(ActuallyItems.EMPOWERED_VOID_CRYSTAL.get(), ActuallyItems.VOID_CRYSTAL.get(), 5000, 50, Crystals.COAL.conversionColorParticles)
.addModifier(Tags.Items.DYES_BLACK) .addModifier(Tags.Items.DYES_BLACK)
.addModifier(ItemTags.COALS) .addModifier(ItemTags.COALS)
.addModifier(Items.FLINT) .addModifier(Items.FLINT)
.addModifier(Tags.Items.STONE).save(consumer, "void"); .addModifier(Tags.Items.STONE).save(recipeOutput, "void");
EmpoweringBuilder.builder(ActuallyBlocks.EMPOWERED_VOID_CRYSTAL.get(), ActuallyBlocks.VOID_CRYSTAL.get(), 50000, 500, Crystals.COAL.conversionColorParticles) EmpoweringBuilder.builder(ActuallyBlocks.EMPOWERED_VOID_CRYSTAL.get(), ActuallyBlocks.VOID_CRYSTAL.get(), 50000, 500, Crystals.COAL.conversionColorParticles)
.addModifier(Tags.Items.DYES_BLACK) .addModifier(Tags.Items.DYES_BLACK)
.addModifier(ItemTags.COALS) .addModifier(ItemTags.COALS)
.addModifier(Items.FLINT) .addModifier(Items.FLINT)
.addModifier(Tags.Items.STONE).save(consumer, "void_block"); .addModifier(Tags.Items.STONE).save(recipeOutput, "void_block");
EmpoweringBuilder.builder(ActuallyItems.EMPOWERED_EMERADIC_CRYSTAL.get(), ActuallyItems.EMERADIC_CRYSTAL.get(), 5000, 50, Crystals.EMERALD.conversionColorParticles) EmpoweringBuilder.builder(ActuallyItems.EMPOWERED_EMERADIC_CRYSTAL.get(), ActuallyItems.EMERADIC_CRYSTAL.get(), 5000, 50, Crystals.EMERALD.conversionColorParticles)
.addModifier(Tags.Items.DYES_LIME) .addModifier(Tags.Items.DYES_LIME)
.addModifier(Items.TALL_GRASS) .addModifier(Items.TALL_GRASS)
.addModifier(ItemTags.SAPLINGS) .addModifier(ItemTags.SAPLINGS)
.addModifier(Tags.Items.SLIMEBALLS).save(consumer, "emeradic"); .addModifier(Tags.Items.SLIMEBALLS).save(recipeOutput, "emeradic");
EmpoweringBuilder.builder(ActuallyBlocks.EMPOWERED_EMERADIC_CRYSTAL.get(), ActuallyBlocks.EMERADIC_CRYSTAL.get(), 50000, 500, Crystals.EMERALD.conversionColorParticles) EmpoweringBuilder.builder(ActuallyBlocks.EMPOWERED_EMERADIC_CRYSTAL.get(), ActuallyBlocks.EMERADIC_CRYSTAL.get(), 50000, 500, Crystals.EMERALD.conversionColorParticles)
.addModifier(Tags.Items.DYES_LIME) .addModifier(Tags.Items.DYES_LIME)
.addModifier(Items.TALL_GRASS) .addModifier(Items.TALL_GRASS)
.addModifier(ItemTags.SAPLINGS) .addModifier(ItemTags.SAPLINGS)
.addModifier(Tags.Items.SLIMEBALLS).save(consumer, "emeradic_block"); .addModifier(Tags.Items.SLIMEBALLS).save(recipeOutput, "emeradic_block");
EmpoweringBuilder.builder(ActuallyItems.EMPOWERED_CANOLA_SEED.get(), ActuallyItems.CRYSTALLIZED_CANOLA_SEED.get(), 1000, 30, 0xFF5B4C) EmpoweringBuilder.builder(ActuallyItems.EMPOWERED_CANOLA_SEED.get(), ActuallyItems.CRYSTALLIZED_CANOLA_SEED.get(), 1000, 30, 0xFF5B4C)
.addModifier(ActuallyItems.CANOLA_SEEDS.get()) .addModifier(ActuallyItems.CANOLA_SEEDS.get())
.addModifier(ActuallyItems.CANOLA_SEEDS.get()) .addModifier(ActuallyItems.CANOLA_SEEDS.get())
.addModifier(ActuallyItems.CANOLA_SEEDS.get()) .addModifier(ActuallyItems.CANOLA_SEEDS.get())
.addModifier(ActuallyItems.CANOLA_SEEDS.get()).save(consumer, "empowered_canola"); .addModifier(ActuallyItems.CANOLA_SEEDS.get()).save(recipeOutput, "empowered_canola");
} }

View file

@ -5,6 +5,7 @@ import de.ellpeck.actuallyadditions.mod.ActuallyAdditions;
import de.ellpeck.actuallyadditions.mod.crafting.LiquidFuelRecipe; import de.ellpeck.actuallyadditions.mod.crafting.LiquidFuelRecipe;
import de.ellpeck.actuallyadditions.mod.crafting.SolidFuelRecipe; import de.ellpeck.actuallyadditions.mod.crafting.SolidFuelRecipe;
import de.ellpeck.actuallyadditions.mod.fluids.InitFluids; import de.ellpeck.actuallyadditions.mod.fluids.InitFluids;
import de.ellpeck.actuallyadditions.mod.util.NoAdvRecipeOutput;
import net.minecraft.data.PackOutput; import net.minecraft.data.PackOutput;
import net.minecraft.data.recipes.RecipeOutput; import net.minecraft.data.recipes.RecipeOutput;
import net.minecraft.data.recipes.RecipeProvider; import net.minecraft.data.recipes.RecipeProvider;
@ -27,31 +28,27 @@ public class FuelRecipeGenerator extends RecipeProvider {
return "Fuel " + super.getName(); return "Fuel " + super.getName();
} }
// @Override //TODO: Flanks do your RecipeOutput wrapper thingy ;)
// protected @Nullable CompletableFuture<?> saveAdvancement(CachedOutput stack, FinishedRecipe finishedRecipe, JsonObject advancementJson) {
// return null;
// //Nope... maybe later...
// }
@Override @Override
protected void buildRecipes(@Nonnull RecipeOutput consumer) { protected void buildRecipes(@Nonnull RecipeOutput output) {
addSolid(consumer, "coal", Items.COAL, 32000, 1600); var recipeOutput = new NoAdvRecipeOutput(output);
addSolid(consumer, "stick", Items.STICK, 2000, 100);
addSolid(consumer, "tiny-coal", ActuallyTags.Items.TINY_COALS, 4000, 200);
addSolid(consumer, "charcoal", Items.CHARCOAL, 32000, 1600);
addSolid(consumer, "coal-block", Items.COAL_BLOCK, 320000, 16000);
addSolid(consumer, "lava", Items.LAVA_BUCKET, 400000, 20000);
consumer.accept(new ResourceLocation(ActuallyAdditions.MODID, "liquid_fuel/canola_oil"), new LiquidFuelRecipe( addSolid(recipeOutput, "coal", Items.COAL, 32000, 1600);
addSolid(recipeOutput, "stick", Items.STICK, 2000, 100);
addSolid(recipeOutput, "tiny-coal", ActuallyTags.Items.TINY_COALS, 4000, 200);
addSolid(recipeOutput, "charcoal", Items.CHARCOAL, 32000, 1600);
addSolid(recipeOutput, "coal-block", Items.COAL_BLOCK, 320000, 16000);
addSolid(recipeOutput, "lava", Items.LAVA_BUCKET, 400000, 20000);
recipeOutput.accept(new ResourceLocation(ActuallyAdditions.MODID, "liquid_fuel/canola_oil"), new LiquidFuelRecipe(
new FluidStack(InitFluids.CANOLA_OIL.get(), 50), 4000, 100), null); new FluidStack(InitFluids.CANOLA_OIL.get(), 50), 4000, 100), null);
consumer.accept(new ResourceLocation(ActuallyAdditions.MODID, "liquid_fuel/refined_canola_oil"), new LiquidFuelRecipe( recipeOutput.accept(new ResourceLocation(ActuallyAdditions.MODID, "liquid_fuel/refined_canola_oil"), new LiquidFuelRecipe(
new FluidStack(InitFluids.REFINED_CANOLA_OIL.get(), 50), 9600, 120), null); new FluidStack(InitFluids.REFINED_CANOLA_OIL.get(), 50), 9600, 120), null);
consumer.accept(new ResourceLocation(ActuallyAdditions.MODID, "liquid_fuel/crystallized_canola_oil"),new LiquidFuelRecipe( recipeOutput.accept(new ResourceLocation(ActuallyAdditions.MODID, "liquid_fuel/crystallized_canola_oil"),new LiquidFuelRecipe(
new FluidStack(InitFluids.CRYSTALLIZED_OIL.get(), 50), 28000, 280), null); new FluidStack(InitFluids.CRYSTALLIZED_OIL.get(), 50), 28000, 280), null);
consumer.accept(new ResourceLocation(ActuallyAdditions.MODID, "liquid_fuel/empowered_canola_oil"), new LiquidFuelRecipe( recipeOutput.accept(new ResourceLocation(ActuallyAdditions.MODID, "liquid_fuel/empowered_canola_oil"), new LiquidFuelRecipe(
new FluidStack(InitFluids.EMPOWERED_OIL.get(), 50), 48000, 400), null); new FluidStack(InitFluids.EMPOWERED_OIL.get(), 50), 48000, 400), null);
} }

View file

@ -33,7 +33,7 @@ public class ItemRecipeGenerator extends RecipeProvider {
} }
@Override @Override
protected void buildRecipes(RecipeOutput output) { protected void buildRecipes(@Nonnull RecipeOutput output) {
var recipeOutput = new NoAdvRecipeOutput(output); var recipeOutput = new NoAdvRecipeOutput(output);
generatePaxels(recipeOutput); generatePaxels(recipeOutput);

View file

@ -10,6 +10,7 @@ import net.minecraft.data.tags.TagsProvider;
import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Block;
import net.neoforged.neoforge.common.data.ExistingFileHelper; import net.neoforged.neoforge.common.data.ExistingFileHelper;
import javax.annotation.Nonnull;
import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;
public class ItemTagsGenerator extends ItemTagsProvider { public class ItemTagsGenerator extends ItemTagsProvider {
@ -19,7 +20,7 @@ public class ItemTagsGenerator extends ItemTagsProvider {
} }
@Override @Override
protected void addTags(HolderLookup.Provider provider) { protected void addTags(@Nonnull HolderLookup.Provider provider) {
tag(ActuallyTags.Items.COFFEE_BEANS) tag(ActuallyTags.Items.COFFEE_BEANS)
.add(ActuallyItems.COFFEE_BEANS.get()); .add(ActuallyItems.COFFEE_BEANS.get());
tag(ActuallyTags.Items.TINY_COALS) tag(ActuallyTags.Items.TINY_COALS)

View file

@ -4,6 +4,7 @@ import de.ellpeck.actuallyadditions.mod.ActuallyAdditions;
import de.ellpeck.actuallyadditions.mod.blocks.ActuallyBlocks; import de.ellpeck.actuallyadditions.mod.blocks.ActuallyBlocks;
import de.ellpeck.actuallyadditions.mod.crafting.LaserRecipe; import de.ellpeck.actuallyadditions.mod.crafting.LaserRecipe;
import de.ellpeck.actuallyadditions.mod.items.ActuallyItems; import de.ellpeck.actuallyadditions.mod.items.ActuallyItems;
import de.ellpeck.actuallyadditions.mod.util.NoAdvRecipeOutput;
import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.core.registries.BuiltInRegistries;
import net.minecraft.data.PackOutput; import net.minecraft.data.PackOutput;
import net.minecraft.data.recipes.RecipeOutput; import net.minecraft.data.recipes.RecipeOutput;
@ -17,6 +18,8 @@ import net.minecraft.world.item.crafting.Ingredient;
import net.minecraft.world.level.ItemLike; import net.minecraft.world.level.ItemLike;
import net.neoforged.neoforge.common.Tags; import net.neoforged.neoforge.common.Tags;
import javax.annotation.Nonnull;
public class LaserRecipeGenerator extends RecipeProvider { public class LaserRecipeGenerator extends RecipeProvider {
public LaserRecipeGenerator(PackOutput packOutput) { public LaserRecipeGenerator(PackOutput packOutput) {
super(packOutput); super(packOutput);
@ -27,49 +30,45 @@ public class LaserRecipeGenerator extends RecipeProvider {
return "Laser " + super.getName(); return "Laser " + super.getName();
} }
// @Override //TODO: Flanks do your RecipeOutput wrapper thingy ;)
// protected @Nullable CompletableFuture<?> saveAdvancement(CachedOutput stack, FinishedRecipe finishedRecipe, JsonObject advancementJson) {
// return null;
// //Nope... maybe later...
// }
@Override @Override
protected void buildRecipes(RecipeOutput consumer) { protected void buildRecipes(@Nonnull RecipeOutput output) {
var recipeOutput = new NoAdvRecipeOutput(output);
//Crystal Blocks //Crystal Blocks
laserCrystalizeRecipe(consumer, ActuallyBlocks.RESTONIA_CRYSTAL.getItem(), Tags.Items.STORAGE_BLOCKS_REDSTONE, 400); laserCrystalizeRecipe(recipeOutput, ActuallyBlocks.RESTONIA_CRYSTAL.getItem(), Tags.Items.STORAGE_BLOCKS_REDSTONE, 400);
laserCrystalizeRecipe(consumer, ActuallyBlocks.PALIS_CRYSTAL.getItem(), Tags.Items.STORAGE_BLOCKS_LAPIS, 400); laserCrystalizeRecipe(recipeOutput, ActuallyBlocks.PALIS_CRYSTAL.getItem(), Tags.Items.STORAGE_BLOCKS_LAPIS, 400);
laserCrystalizeRecipe(consumer, ActuallyBlocks.DIAMATINE_CRYSTAL.getItem(), Tags.Items.STORAGE_BLOCKS_DIAMOND, 600); laserCrystalizeRecipe(recipeOutput, ActuallyBlocks.DIAMATINE_CRYSTAL.getItem(), Tags.Items.STORAGE_BLOCKS_DIAMOND, 600);
laserCrystalizeRecipe(consumer, ActuallyBlocks.EMERADIC_CRYSTAL.getItem(), Tags.Items.STORAGE_BLOCKS_EMERALD, 1000); laserCrystalizeRecipe(recipeOutput, ActuallyBlocks.EMERADIC_CRYSTAL.getItem(), Tags.Items.STORAGE_BLOCKS_EMERALD, 1000);
laserCrystalizeRecipe(consumer, ActuallyBlocks.VOID_CRYSTAL.getItem(), Tags.Items.STORAGE_BLOCKS_COAL, 600); laserCrystalizeRecipe(recipeOutput, ActuallyBlocks.VOID_CRYSTAL.getItem(), Tags.Items.STORAGE_BLOCKS_COAL, 600);
laserCrystalizeRecipe(consumer, ActuallyBlocks.ENORI_CRYSTAL.getItem(), Tags.Items.STORAGE_BLOCKS_IRON, 800); laserCrystalizeRecipe(recipeOutput, ActuallyBlocks.ENORI_CRYSTAL.getItem(), Tags.Items.STORAGE_BLOCKS_IRON, 800);
//Crystal Items //Crystal Items
laserCrystalizeRecipe(consumer, ActuallyItems.RESTONIA_CRYSTAL.get(), Tags.Items.DUSTS_REDSTONE, 40); laserCrystalizeRecipe(recipeOutput, ActuallyItems.RESTONIA_CRYSTAL.get(), Tags.Items.DUSTS_REDSTONE, 40);
laserCrystalizeRecipe(consumer, ActuallyItems.PALIS_CRYSTAL.get(), Tags.Items.GEMS_LAPIS, 40); laserCrystalizeRecipe(recipeOutput, ActuallyItems.PALIS_CRYSTAL.get(), Tags.Items.GEMS_LAPIS, 40);
laserCrystalizeRecipe(consumer, ActuallyItems.DIAMATINE_CRYSTAL.get(), Tags.Items.GEMS_DIAMOND, 60); laserCrystalizeRecipe(recipeOutput, ActuallyItems.DIAMATINE_CRYSTAL.get(), Tags.Items.GEMS_DIAMOND, 60);
laserCrystalizeRecipe(consumer, ActuallyItems.EMERADIC_CRYSTAL.get(), Tags.Items.GEMS_EMERALD, 100); laserCrystalizeRecipe(recipeOutput, ActuallyItems.EMERADIC_CRYSTAL.get(), Tags.Items.GEMS_EMERALD, 100);
laserCrystalizeRecipe(consumer, ActuallyItems.VOID_CRYSTAL.get(), ItemTags.COALS, 60); laserCrystalizeRecipe(recipeOutput, ActuallyItems.VOID_CRYSTAL.get(), ItemTags.COALS, 60);
laserCrystalizeRecipe(consumer, ActuallyItems.ENORI_CRYSTAL.get(), Tags.Items.INGOTS_IRON, 80); laserCrystalizeRecipe(recipeOutput, ActuallyItems.ENORI_CRYSTAL.get(), Tags.Items.INGOTS_IRON, 80);
//Lenses //Lenses
laserRecipe(consumer, ActuallyItems.LENS_OF_COLOR.get(), ActuallyItems.LENS.get(), 5000); laserRecipe(recipeOutput, ActuallyItems.LENS_OF_COLOR.get(), ActuallyItems.LENS.get(), 5000);
laserRecipe(consumer, ActuallyItems.LENS_OF_DETONATION.get(), ActuallyItems.LENS_OF_COLOR.get(), 5000); laserRecipe(recipeOutput, ActuallyItems.LENS_OF_DETONATION.get(), ActuallyItems.LENS_OF_COLOR.get(), 5000);
laserRecipe(consumer, ActuallyItems.LENS_OF_CERTAIN_DEATH.get(), ActuallyItems.LENS_OF_DETONATION.get(), 5000); laserRecipe(recipeOutput, ActuallyItems.LENS_OF_CERTAIN_DEATH.get(), ActuallyItems.LENS_OF_DETONATION.get(), 5000);
laserRecipe(consumer, ActuallyItems.LENS.get(), ActuallyItems.LENS_OF_CERTAIN_DEATH.get(), 5000); laserRecipe(recipeOutput, ActuallyItems.LENS.get(), ActuallyItems.LENS_OF_CERTAIN_DEATH.get(), 5000);
//Relays //Relays
laserRecipe(consumer, ActuallyBlocks.LASER_RELAY_FLUIDS.getItem(), ActuallyBlocks.LASER_RELAY.getItem(), 2000); laserRecipe(recipeOutput, ActuallyBlocks.LASER_RELAY_FLUIDS.getItem(), ActuallyBlocks.LASER_RELAY.getItem(), 2000);
laserRecipe(consumer, ActuallyBlocks.LASER_RELAY_ITEM.getItem(), ActuallyBlocks.LASER_RELAY_FLUIDS.getItem(), 2000); laserRecipe(recipeOutput, ActuallyBlocks.LASER_RELAY_ITEM.getItem(), ActuallyBlocks.LASER_RELAY_FLUIDS.getItem(), 2000);
laserRecipe(consumer, ActuallyBlocks.LASER_RELAY.getItem(), ActuallyBlocks.LASER_RELAY_ITEM.getItem(), 2000); laserRecipe(recipeOutput, ActuallyBlocks.LASER_RELAY.getItem(), ActuallyBlocks.LASER_RELAY_ITEM.getItem(), 2000);
//Misc //Misc
laserRecipe(consumer, Items.SOUL_SAND, Tags.Items.SAND, 20000); laserRecipe(recipeOutput, Items.SOUL_SAND, Tags.Items.SAND, 20000);
laserRecipe(consumer, Items.LEATHER, Items.ROTTEN_FLESH, 20000); laserRecipe(recipeOutput, Items.LEATHER, Items.ROTTEN_FLESH, 20000);
laserRecipe(consumer, Items.NETHER_WART, Items.RED_MUSHROOM, 150000); laserRecipe(recipeOutput, Items.NETHER_WART, Items.RED_MUSHROOM, 150000);
laserRecipe(consumer, Items.PRISMARINE_SHARD, Items.QUARTZ, 30000); laserRecipe(recipeOutput, Items.PRISMARINE_SHARD, Items.QUARTZ, 30000);
laserRecipe(consumer, ActuallyItems.CRYSTALLIZED_CANOLA_SEED.get(), ActuallyItems.CANOLA_SEEDS.get(), 2000); laserRecipe(recipeOutput, ActuallyItems.CRYSTALLIZED_CANOLA_SEED.get(), ActuallyItems.CANOLA_SEEDS.get(), 2000);
laserRecipe(consumer, ActuallyBlocks.ETHETIC_WHITE_BLOCK.getItem(), Items.QUARTZ_BLOCK, 10); laserRecipe(recipeOutput, ActuallyBlocks.ETHETIC_WHITE_BLOCK.getItem(), Items.QUARTZ_BLOCK, 10);
laserRecipe(consumer, ActuallyBlocks.ETHETIC_GREEN_BLOCK.getItem(), Items.CHISELED_QUARTZ_BLOCK, 10); laserRecipe(recipeOutput, ActuallyBlocks.ETHETIC_GREEN_BLOCK.getItem(), Items.CHISELED_QUARTZ_BLOCK, 10);
} }

View file

@ -2,6 +2,7 @@ package de.ellpeck.actuallyadditions.data;
import de.ellpeck.actuallyadditions.mod.ActuallyAdditions; import de.ellpeck.actuallyadditions.mod.ActuallyAdditions;
import de.ellpeck.actuallyadditions.mod.crafting.MiningLensRecipe; import de.ellpeck.actuallyadditions.mod.crafting.MiningLensRecipe;
import de.ellpeck.actuallyadditions.mod.util.NoAdvRecipeOutput;
import net.minecraft.data.PackOutput; import net.minecraft.data.PackOutput;
import net.minecraft.data.recipes.RecipeOutput; import net.minecraft.data.recipes.RecipeOutput;
import net.minecraft.data.recipes.RecipeProvider; import net.minecraft.data.recipes.RecipeProvider;
@ -13,6 +14,8 @@ import net.minecraft.world.item.crafting.Ingredient;
import net.minecraft.world.level.ItemLike; import net.minecraft.world.level.ItemLike;
import net.neoforged.neoforge.common.Tags; import net.neoforged.neoforge.common.Tags;
import javax.annotation.Nonnull;
public class MiningLensGenerator extends RecipeProvider { public class MiningLensGenerator extends RecipeProvider {
public MiningLensGenerator(PackOutput packOutput) { public MiningLensGenerator(PackOutput packOutput) {
super(packOutput); super(packOutput);
@ -23,15 +26,9 @@ public class MiningLensGenerator extends RecipeProvider {
return "Mining Lens " + super.getName(); return "Mining Lens " + super.getName();
} }
// @Override //TODO: Flanks do your RecipeOutput wrapper thingy ;)
// protected @Nullable CompletableFuture<?> saveAdvancement(CachedOutput stack, FinishedRecipe finishedRecipe, JsonObject advancementJson) {
// return null;
// //Nope... maybe later...
// }
@Override @Override
protected void buildRecipes(RecipeOutput consumer) { protected void buildRecipes(@Nonnull RecipeOutput recipeOutput) {
buildMiningLens(consumer); buildMiningLens(new NoAdvRecipeOutput(recipeOutput));
} }
// private String getItemName(ItemLike item) { // private String getItemName(ItemLike item) {

View file

@ -5,6 +5,7 @@ import de.ellpeck.actuallyadditions.mod.crafting.FermentingRecipe;
import de.ellpeck.actuallyadditions.mod.crafting.PressingRecipe; import de.ellpeck.actuallyadditions.mod.crafting.PressingRecipe;
import de.ellpeck.actuallyadditions.mod.fluids.InitFluids; import de.ellpeck.actuallyadditions.mod.fluids.InitFluids;
import de.ellpeck.actuallyadditions.mod.items.ActuallyItems; import de.ellpeck.actuallyadditions.mod.items.ActuallyItems;
import de.ellpeck.actuallyadditions.mod.util.NoAdvRecipeOutput;
import net.minecraft.data.PackOutput; import net.minecraft.data.PackOutput;
import net.minecraft.data.recipes.RecipeOutput; import net.minecraft.data.recipes.RecipeOutput;
import net.minecraft.data.recipes.RecipeProvider; import net.minecraft.data.recipes.RecipeProvider;
@ -12,6 +13,8 @@ import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.item.crafting.Ingredient; import net.minecraft.world.item.crafting.Ingredient;
import net.neoforged.neoforge.fluids.FluidStack; import net.neoforged.neoforge.fluids.FluidStack;
import javax.annotation.Nonnull;
public class MiscMachineRecipeGenerator extends RecipeProvider { public class MiscMachineRecipeGenerator extends RecipeProvider {
public MiscMachineRecipeGenerator(PackOutput packOutput) { public MiscMachineRecipeGenerator(PackOutput packOutput) {
super(packOutput); super(packOutput);
@ -22,18 +25,14 @@ public class MiscMachineRecipeGenerator extends RecipeProvider {
return "Misc " + super.getName(); return "Misc " + super.getName();
} }
// @Override //TODO: Flanks do your RecipeOutput wrapper thingy ;)
// protected @Nullable CompletableFuture<?> saveAdvancement(CachedOutput stack, FinishedRecipe finishedRecipe, JsonObject advancementJson) {
// return null;
// //Nope... maybe later...
// }
@Override @Override
protected void buildRecipes(RecipeOutput consumer) { protected void buildRecipes(@Nonnull RecipeOutput output) {
consumer.accept(folderRecipe("pressing", "canola"), new PressingRecipe( var recipeOutput = new NoAdvRecipeOutput(output);
recipeOutput.accept(folderRecipe("pressing", "canola"), new PressingRecipe(
Ingredient.of(ActuallyItems.CANOLA.get()), new FluidStack(InitFluids.CANOLA_OIL.get(), 80)), null); Ingredient.of(ActuallyItems.CANOLA.get()), new FluidStack(InitFluids.CANOLA_OIL.get(), 80)), null);
consumer.accept(folderRecipe("fermenting", "refined_canola"), new FermentingRecipe( recipeOutput.accept(folderRecipe("fermenting", "refined_canola"), new FermentingRecipe(
new FluidStack(InitFluids.CANOLA_OIL.get(), 80), new FluidStack(InitFluids.REFINED_CANOLA_OIL.get(), 80), 100), null); new FluidStack(InitFluids.CANOLA_OIL.get(), 80), new FluidStack(InitFluids.REFINED_CANOLA_OIL.get(), 80), 100), null);
} }